1. Definição de Compilador

Um compilador é um programa de software que traduz, de forma organizada e eficiente, código-fonte escrito em uma linguagem de alto nível para código de máquina, bytecode ou outra forma intermediária que possa ser executada por um computador1.

Diferentemente de um interpretador, que lê e executa o código linha a linha, o compilador processa todo o programa antes da execução, produzindo um artefato (executável ou bytecode) que pode ser executado repetidamente sem nova tradução2.

2. Visão Geral de Funcionamento

O processo de compilação é dividido em três grandes etapas: Front End, Middle End e Back End. Cada etapa corresponde a um conjunto de fases com funções específicas na conversão do programa3.

Etapa Principais Fases Resultado
Front End Análise léxica; Análise sintática; Análise semânticaGeração de IR Verificação de erros e IR não otimizada
Middle End Otimização de código intermediário IR otimizada
Back End Geração de código alvo (assembly ou máquina)Otimizador de baixo nível Código executável

Diagrama do processo de compilação mostrando as etapas desde o código fonte até o código de máquina

Compilador vs Interpretador

Compilador

Um compilador possui as seguintes características principais24:

Exemplos de linguagens compiladas: C, C++, Rust, Go, Java (para bytecode)25

Interpretador

Um interpretador apresenta características diferentes24: