Projeto do Compilador - Arquitetura
Um compilador pode ser dividido em duas fases com base na forma como são compilados.
Fase de Análise
Conhecido como front-end do compilador, o analysis fase do compilador lê o programa fonte, divide-o em partes centrais e, em seguida, verifica se há erros lexicais, gramaticais e de sintaxe. A fase de análise gera uma representação intermediária do programa fonte e da tabela de símbolos, que deve ser alimentada para a fase de síntese como entrada .
Fase de Síntese
Conhecido como back-end do compilador, o synthesis fase gera o programa de destino com a ajuda da representação do código-fonte intermediário e tabela de símbolos.
Um compilador pode ter muitas fases e passos.
Pass : Uma passagem refere-se à passagem de um compilador por todo o programa.
Phase: Uma fase de um compilador é um estágio distinguível, que recebe a entrada do estágio anterior, processa e produz saída que pode ser usada como entrada para o próximo estágio. Um passe pode ter mais de uma fase.