MCPcopy Create free account
hub / github.com/MirrowApp/mirrow / parseVariableDeclarations

Method parseVariableDeclarations

packages/core/src/compiler/parser.ts:358–392  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

356 }
357
358 private parseVariableDeclarations(): VariableDeclaration[] {
359 const declarations: VariableDeclaration[] = [];
360 const seen = new Set<string>();
361
362 while (!this.check(TokenType.EOF)) {
363 const nameToken = this.consume(
364 TokenType.IDENTIFIER,
365 "Expected variable name"
366 );
367
368 if (seen.has(nameToken.value)) {
369 throw new ParserError(
370 `Variable '${nameToken.value}' is already declared`,
371 nameToken.position
372 );
373 }
374
375 this.consume(
376 TokenType.COLON,
377 "Expected ':' after variable name"
378 );
379
380 const value = this.parseVariableValue();
381
382 declarations.push({
383 name: nameToken.value,
384 value,
385 position: nameToken.position,
386 });
387
388 seen.add(nameToken.value);
389 }
390
391 return declarations;
392 }
393
394 private parseVariableValue(): LiteralValue {
395 const token = this.peek();

Callers 1

parseVarsBlockMethod · 0.95

Calls 3

checkMethod · 0.95
consumeMethod · 0.95
parseVariableValueMethod · 0.95

Tested by

no test coverage detected