# PR-11.4 - PBS Expr Parser Literals, Patterns and Shared Token Utilities ## Briefing Depois de extrair control-flow e primary/postfix, restam em `PbsExprParser` alguns clusters menores mas sensiveis: parsing de literais/padroes, `error path`, consumo de tokens e utilitarios de parse numerico/string. Esta PR consolida esses pontos em utilitarios dedicados, ainda sem mudanca funcional. ## Motivation ### Dor atual que esta PR resolve 1. Parsing de literal aparece em mais de um lugar (`primary` e switch pattern). 2. `error path`, `consumeMemberName`, `parseLong/Int/DoubleOrDefault` e `unescapeString` sao infra compartilhada e hoje permanecem acoplados ao parser principal. 3. Sem consolidar essa base, o parser termina menor, mas ainda com detalhes mecanicos espalhados. ## Target Extrair infra compartilhada de expressao: 1. parsing de literais, 2. parsing de `error path`, 3. parsing de patterns simples, 4. token utilities e decode helpers. ## Dependencies Prerequisitos diretos: 1. `PR-11.1` 2. `PR-11.2` 3. `PR-11.3` ## Scope 1. Extrair `parseLiteralPatternExpression`, `parseErrorPath`, `parseHandlePattern` e helpers correlatos. 2. Consolidar `consume`, `consumeMemberName`, `span`, `report`. 3. Consolidar `parseLongOrDefault`, `parseIntOrDefault`, `parseDoubleOrDefault`, `unescapeString`. ## Non-Goals 1. Nao alterar as regras de literal recovery. 2. Nao alterar o decode de strings. 3. Nao alterar a estrutura de `PbsAst.ErrorPath`. ## Method ### O que deve ser feito explicitamente 1. Reunir parsing de literal/pattern em componente reutilizavel. 2. Mover utilitarios mecanicos para helpers claros e pequenos. 3. Garantir que toda chamada mantenha a mesma atribuicao de spans e diagnosticos. 4. Evitar criar uma util-class genérica demais; manter helpers focados no dominio de expression parsing. ## Acceptance Criteria 1. `PbsExprParser` deixa de concentrar parsing repetido de literais/padroes e utilitarios basicos. 2. Parsing de strings, numeros e `error path` permanece equivalente. 3. A suite de parser continua verde sem atualizar comportamento esperado. ## Tests 1. `:prometeu-compiler:frontends:prometeu-frontend-pbs:test --tests *PbsExprParserTest*` 2. `:prometeu-compiler:frontends:prometeu-frontend-pbs:test --tests *PbsParserTest*` 3. `:prometeu-compiler:frontends:prometeu-frontend-pbs:test --tests *PbsSemanticsDeclarationsTest*` ## Affected Documents 1. Nenhum documento normativo. ## Open Questions 1. Nenhuma de arquitetura. Esta PR e de consolidacao local.