31 lines
1.2 KiB
Markdown
31 lines
1.2 KiB
Markdown
# PR-O1.3 - PBS Executable Lowering Fidelity
|
|
|
|
## Briefing
|
|
|
|
Elevar fidelidade do lowering executavel no frontend PBS para garantir classificacao correta de callsites e eliminacao de heuristicas que possam produzir `callee` ambiguo (`<unknown>`) no `IRBackend`.
|
|
|
|
## Target
|
|
|
|
- `prometeu-compiler/frontends/prometeu-frontend-pbs` (`PbsFrontendCompiler`).
|
|
- Coleta/travessia de callsites em blocos/expressoes compostas.
|
|
- Integracao com metadado reservado host/intrinsic.
|
|
|
|
## Method
|
|
|
|
- Revisar travessia de AST para callsites com foco em completude e null-safety.
|
|
- Substituir fallback ambiguo por rejeicao diagnostica deterministica quando identidade nao puder ser resolvida.
|
|
- Garantir ordenacao deterministica de instrucoes coletadas para o mesmo AST admitido.
|
|
|
|
## Acceptance Criteria
|
|
|
|
- Frontend nao emite callsite executavel com callee ambiguo.
|
|
- Chamadas host/intrinsic sao classificadas sem heuristica textual fragil.
|
|
- Coleta de callsites em `if/switch/handle/block expr` permanece deterministica.
|
|
- Casos sem resolucao de identidade falham com diagnostico estavel.
|
|
|
|
## Tests
|
|
|
|
- Novos testes em `PbsFrontendCompilerTest` para callsites complexos.
|
|
- Regressao para `handle/switch` com blocos terminais.
|
|
- Fixture negativa para callee nao-resolvido no lowering executavel.
|