Guia · Programação
Compilador e interpretador: dois caminhos de execução
Compilação traduz representações de um programa; interpretação organiza a execução de instruções. Um ambiente pode combinar as duas técnicas. Para entender o caminho real, observe a implementação e suas etapas, em vez de rotular a linguagem inteira.
Escrito pela equipe Compuzilla
Publicado em . Atualizado em .
Nesta leitura

Compilador e interpretador: dois caminhos de execução
- Código-fonte
- Transformações do ambiente
- Execução
A pergunta é sobre o caminho do programa
Você escreve um cálculo numa linguagem. Antes de obter o resultado, ferramentas precisam analisar e processar essa representação. O mesmo problema pode seguir caminhos diferentes conforme o ambiente usado.
Compilar e interpretar descrevem técnicas, não categorias exclusivas de linguagens. Uma linguagem pode ter várias implementações; uma implementação pode aplicar as duas técnicas em etapas diferentes.
Um caminho com ferramentas de compilação
No GCC, o comando que o usuário inicia pode organizar pré-processamento, compilação, montagem e ligação. A entrada passa por transformações. Um arquivo objeto ainda pode precisar ser combinado com outros componentes para formar um executável.
Mesmo quando o executável já existe, seu uso depende de compatibilidade com o sistema e de componentes necessários à execução. Traduzir o código não dispensa ambiente, dados e bibliotecas.
Um caminho com um interpretador
Numa sessão de Python, você fornece uma expressão como 2 + 3 e observa 5. O ambiente administra nomes e aplica as regras da linguagem. Um arquivo com um programa pode ser processado pelo mesmo tipo de ambiente sem interação manual a cada linha.
Essa explicação não exige leitura literal de uma linha de texto por vez. Implementações podem produzir representações intermediárias, como bytecode, e executá-las depois. Outras estratégias acrescentam tradução durante o uso.
O que os diagnósticos conseguem mostrar
Uma ferramenta pode rejeitar uma construção que viola regras da linguagem. Ainda assim, um programa aceito pode calcular o desconto errado ou usar a entrada inadequada. Validade de representação e correção da tarefa são perguntas diferentes.
Desempenho também exige observar a operação concreta. Custo de iniciar, tradução, bibliotecas e quantidade de trabalho influenciam a comparação. O nome da técnica não determina sozinho a velocidade.
Próxima leitura
Leia biblioteca para entender componentes reutilizados nesses ambientes.