nes-pascal

Pipeline do compilador

English Português (Brasil)

O pipeline do compilador é deliberadamente separado:

.nsp source + optional CHR-ROM, metasprite JSON, and nametable assets
  -> lexer
  -> parser
  -> AST
  -> semantic validation, name resolution, and type checking
  -> resolved AST
  -> validated CPU memory layout
  -> ca65 backend
  -> ca65
  -> ld65
  -> ROM

Componentes

A configuração do linker é gerada a partir do mesmo objeto de layout imutável utilizado pelo backend e pelo gerador do mapa. Não existe um arquivo de linker estático de NROM mantido separadamente ou cálculo duplicado de endereços de RAM.

O texto-fonte não é traduzido diretamente para Assembly com substituição de strings. O compilador utiliza nós explícitos de AST analisados e resolvidos entre a análise sintática e a geração de código.

Erros comuns do código-fonte são exibidos sem rastreamento de pilha (stack trace) do Python e incluem código de erro, arquivo, linha, coluna, trecho do fonte e dica de correção quando útil. Consulte a referência de diagnósticos.