1.7 KiB
1.7 KiB
PR-004 - PBS Parser Statements and Control Flow
Briefing
O parser atual cobre apenas let, return e expression statement.
Este PR implementa o bloco de statements exigido pela spec para viabilizar semantica de fluxo e validacoes posteriores.
Target
- Specs:
docs/pbs/specs/3. Core Syntax Specification.md(secao 9)docs/pbs/specs/11. AST Specification.md(secao 9)
- Codigo:
prometeu-compiler/frontends/prometeu-frontend-pbs/src/main/java/p/studio/compiler/pbs/parser/PbsParser.javaprometeu-compiler/frontends/prometeu-frontend-pbs/src/main/java/p/studio/compiler/pbs/ast/PbsAst.javaprometeu-compiler/frontends/prometeu-frontend-pbs/src/main/java/p/studio/compiler/pbs/parser/ParseErrors.java
Method
- Adicionar parser para
assign,if,for,while,break,continue. - Introduzir
let conste modelagem deLValue(sem call chain em alvo de atribuicao). - Implementar validacao sintatica de forma de
for(from/until/step). - Marcar uso invalido de
break/continuefora de loop como erro deterministico. - Preservar recovery por fronteira de statement (
;e fechamento de bloco).
Acceptance Criteria
- AST de bloco representa todas as formas de
Stmtda secao 9. - Atribuicao e statement, nao expressao.
break/continuefora de loop emite diagnostico estavel.forewhileparseiam com estrutura e spans corretos.- Targets de atribuicao invalidos sao rejeitados no parser.
Tests
PbsParserStatementsTestnovo cobrindo:let,let const,assignsimples e composta;if/else,forcom e semstep,while;break/continuevalido e invalido;- recovery apos statements malformados.