APOSTILA DE COMPILADORES
15502 palavras
63 páginas
COMPILADORESSÃO LEOPOLDO, FEVEREIRO DE 1999.
1. COMPILADORES - CONCEITOS BÁSICOS
Um compilador é um programa que traduz um outro programa de uma linguagem (de mais alto nível) para outra (de mais baixo nível). A linguagem original é chamada de fonte e a final de destino. Durante o processo de compilação, vários tipos de erros podem ser identificados, devendo ser notificados ao usuário do compilador. Os compiladores constituem-se em uma categoria de programas tradutores. As outras categorias são apresentadas a seguir:
• montadores (assemblers): traduzem programas codificados em linguagem simbólica (Assembly) para instruções em linguagem de máquina. Normalmente, a relação de instruções é de uma para uma.
• macro-assemblers: traduzem instruções macro, codificadas em linguagem simbólica para um conjunto de instruções na mesma linguagem.
• processadores ou filtros: traduzem instruções codificadas em uma linguagem de alto nível estendida para instruções da linguagem de programação original. Ou seja, a tradução é feita entre duas linguagens de alto nível.
• decompiladores e desmontadores (disassemblers): programas que realizam o processo inverso ao normalmente realizado pelos outros tipos de tradutores. A partir do código objeto, é obtido o código simbólico.
• interpretadores: programas que traduzem programas codificados em linguagens de programação de alto nível para um código intermediário, que realiza a execução do algoritmo original, sem traduzi-lo para a linguagem de máquina. Alguns interpretadores analisam um comando fonte cada vez que este deve ser executado, o que consome muito tempo e é raramente utilizado. A forma mais utilizada de interpretação envolve os seguintes processos:
• o programa fonte é submetido ao tradutor, que gera o código intermediário;
• o programa intermediário é executado, com os dados de entrada, gerando os resultados.
Os interpretadores geralmente são mais lentos do que os compiladores,