CompiladoresVisão geral
Visão Geral da Compilação
Um compilador é um tradutor: lê o programa-fonte por completo e emite um artefato independente — código de máquina ou objeto — antes da primeira execução. A tradução congela-se nesse artefato.
As fases e a partição front end / back end deste tópico — e análise léxica, sintática, semântica, otimização e geração de código nos seguintes — partem desse pipeline.
As páginas se agrupam em três blocos. O primeiro distingue o modelo de execução: traduzir o fonte inteiro e depois rodar o binário, interpretar passo a passo sem artefato separado, ou traduzir trechos enquanto o programa já corre.
O segundo encadeia as seis fases: as três primeiras classificam lexemas, montam a árvore e conferem tipos e escopo; as três últimas geram a forma intermediária, otimizam e emitem código.
O terceiro agrupa as mesmas fases em arquitetura, para portabilidade: o front end analisa a linguagem-fonte; a representação intermediária é o contrato independente de máquina; o back end emite para uma ISA.
Compiladores vs Interpretadores decide se a tradução congela num artefato ou mistura-se à execução. Fases do Compilador nomeia as seis etapas internas dessa tradução.
Qual fase recusa — lexema inválido, sequência fora da gramática, tipo ou escopo — está em Fases do Compilador. Um front end por linguagem, vários back ends por processador, e a RI que cruza a fronteira, estão em Processo de Compilação.
Gerar a forma intermediária como quarta fase do pipeline está em Fases do Compilador. A RI como contrato independente de máquina entre front end e back end está em Processo de Compilação.
Páginas deste tópico
Compiladores vs Interpretadores
Baixa incidência no POSCOMP10 min de leitura · 21ª mais cobrada em Compiladores
Traduz-depois-executa vs interpreta-ao-correr; híbrido/JIT em uma frase.
Abrir páginaFases do Compilador
ProAlta incidência no POSCOMP11 min de leitura · 3ª mais cobrada em Compiladores
Seis fases: léxico, sintaxe, semântica, RI, otimização, código; tríade palavra/estrutura/significado.
Processo de Compilação
ProAlta incidência no POSCOMP9 min de leitura · 6ª mais cobrada em Compiladores
Front end = análise; RI independente de máquina; back end = selecionar/alocar/emitir.