1.9 KiB
1.9 KiB
PR-19.3 - PBS Parser and AST for Globals, Barrel, and Lifecycle Markers
Briefing
Depois do corte normativo e do refactor estrutural do dependency graph, PBS precisa aceitar a nova surface da familia 19 no frontend sintatico e no AST:
declare global,- entradas
globalemmod.barrel, - atributos
[Init]e[Frame].
Esta PR faz o corte parser+AST, sem ainda fechar toda a semantica.
Target
Estender parser e AST para suportar:
- declaracoes
global, - barrel declarations
mod global/pub global, - markers
[Init]e[Frame]sobrefn name() -> void.
Dependencies
Prerequisitos diretos:
PR-19.1PR-19.2
Scope
- Atualizar lexer/parser/top-level declaration parsing conforme necessario.
- Atualizar AST model para representar globals e markers de lifecycle.
- Atualizar barrel AST para distinguir
globaldeconst. - Preservar spans e attribution adequados.
Non-Goals
- Nao validar ainda dependency graph de globals.
- Nao validar ainda
[InitAllowed]em host methods. - Nao implementar lowering.
- Nao implementar published wrapper.
Method
- Introduzir novos nodes/surfaces com identidade explicita no AST.
- Reusar padroes atuais de attributes/markers sem heuristicas textuais.
- Preservar recovery e diagnosticos sintaticos existentes.
Acceptance Criteria
- Parser aceita
declare global Name: T = expr;. - Parser aceita
mod global Name;epub global Name;. - AST distingue
globaldeconst. - AST registra
[Init]e[Frame]como markers explicitos. - Spans e recovery permanecem defensaveis.
Tests
- Fixtures positivas de parse para
declare global, barrelglobal,[Init]e[Frame]. - Fixtures negativas de parse para formas claramente malformed.
- Regressao do conjunto atual de parser/AST.
Affected Artifacts
- parser PBS
- AST model PBS
- testes de parser/AST
Open Questions
- Nenhuma. A semantica fina fica para as PRs 19.4 a 19.6.