Fundamentos dos compiladores
Tradutores:
Tipos:
Compiladores
fases:
-
... de análise;
Subfases:
Sintática:
Semântica:
Léxica:
se os comandos estão corretos.
se os valores envolvidos nos
comandos estão compatíveis.
... de síntese.
Subfases:
Gerenciamento da tabela de símbolos:
informações (nomes, tipos, atributos).
Geração do código intermediário:
as instruções serão representadas em,
não mais que, três endereços.
Otimização
do código:
melhora o tempo de execução, o
consumo de memória ou o tamanho do código.
se os nomes das entidades estão
corretos.
Transformam um código (programa) em outro.
LD, Página 15, Figura 1.1
Montadores
visa gerar o código alvo.
Interpretadores
Regulares:
Híbridos:
traduzem um código intermediário (assembly) em código de máquina.
é feita em um ou dois passos.
fazem o mesmo que o compilador mas, linha-a-linha, já as executa.
é usado todas as vezes que se deseja executar.
traduzem o código fonte, de uma linguagem de alto nível, em código intermediário.
é complexo e requer várias fases.
realizam o processo de compilação, mas não geram o código executável,
geram um código intermediário que será executado por uma máquina virtual, visando portabilidade.
visa verificar se o programa foi escrito corretamente
Introdução
Acesse o esquema: https://is.gd/Tradutores
Geração
do código:
gera o código alvo.