2.7 KiB
2.7 KiB
PR-10.5 - PBS Parser Recovery Utilities and Regression Hardening
Briefing
As PRs anteriores reduzem a complexidade estrutural de PbsParser. Esta PR fecha a trilha com consolidacao de recovery/utilitarios e endurecimento de regressao, ainda sem alterar funcionalidade.
O objetivo e evitar que a decomposicao introduza pequenas divergencias em diagnosticos, spans ou pontos de reinicio.
Motivation
Dor atual que esta PR resolve
- Recovery e helpers de consumo sao sensiveis e podem ficar duplicados apos a extracao.
- Sem cobertura adicional, uma refatoracao estrutural grande pode preservar testes principais e ainda mudar detalhes de parser.
- O parser precisa terminar menor, mas tambem com fronteiras de manutencao claras.
Target
Consolidar a etapa final do refactor:
- recovery de topo e de atributos,
- helpers de consumo/report,
- regressao de spans/diagnosticos,
- limpeza final de
PbsParser.
Dependencies
Prerequisitos diretos:
PR-10.1PR-10.2PR-10.3PR-10.4
Scope
- Consolidar
consume,consumeForToken,consumeDeclarationTerminator,consumeBalancedBraces,synchronizeTopLevele recovery de atributo em utilitarios coesos. - Remover duplicacao residual entre subparsers.
- Adicionar ou endurecer testes de regressao para:
- spans,
- erros esperados,
- recovery em topo e em bloco,
- modos
ORDINARYeINTERFACE_MODULE.
Non-Goals
- Nao alterar taxonomia de
ParseErrors. - Nao introduzir novas construcoes sintaticas.
- Nao reescrever o lexer ou
PbsExprParser.
Method
O que deve ser feito explicitamente
- Fazer uma passada final de consolidacao estrutural.
- Eliminar helpers obsoletos ou duplicados apos as extracoes.
- Verificar equivalencia observavel com foco em spans e recovery.
- Encerrar a trilha com
PbsParsercomo fachada pequena e clara.
Acceptance Criteria
PbsParserfica restrito a composicao/orquestracao e nao volta a concentrar logica de parse pesado.- Recovery e consumo de token ficam centralizados e sem duplicacao relevante.
- Suite do frontend PBS passa integralmente.
- Nao ha mudanca funcional observavel em parse, AST ou diagnosticos.
Tests
:prometeu-compiler:frontends:prometeu-frontend-pbs:test --tests *PbsParserTest*:prometeu-compiler:frontends:prometeu-frontend-pbs:test --tests *PbsParserStatementsTest*:prometeu-compiler:frontends:prometeu-frontend-pbs:test --tests *PbsExprParserTest*:prometeu-compiler:frontends:prometeu-frontend-pbs:test
Affected Documents
- Nenhum documento normativo.
Open Questions
- Nenhuma de arquitetura. A partir desta PR, qualquer mudanca adicional deve ser tratada como evolucao funcional separada, nao como parte do refactor estrutural.