Compiladores
CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS
Compiladores
Profa. Juliana Herbert
Sã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: 6. o programa fonte é submetido ao tradutor, que gera o código intermediário;