Compiladores e interpretadores: tipos, fases da análise e erros de compilação
Compilador vs. Interpretador
- Compilador: Traduz o código-fonte para código de máquina.
- Interpretador: Executa o código-fonte "diretamente".
Tipos de Compiladores
Compiladores de Uma Passagem
Realizam varredura de símbolos, análise gramatical, verificação de símbolos e fim de arquivo. O programa alvo está completo ao término da leitura do programa-fonte.
Compiladores de Múltiplas Passagens
As fases são "programas" separados, executados sequencialmente. Cada fase lê de um arquivo e escreve em um novo arquivo.
Compiladores de Duas Passagens
Vantagens:
- Melhor portabilidade.
- Possibilidade de muitas combinações entre front-ends e back-ends.
- Otimizações são mais fáceis na representação intermediária do que no código-fonte.