Vous êtes sur la page 1sur 2

Compiladores

Captulo I - Introduo
O que faz um compilador
H uma frase famosa que diz: Um programa uma sequncia de 0s e 1s armazenada na
memria. Essa sequncia de 0s e 1s pode representar dados tais como nmeros
inteiros, strings, registros, etc., ou pode ser uma instruo, que indica como o
computador deve se comportar. A memria dividida em palavras, cada qual possuindo
um endereo que a identifica de maneira nica.
Embora seja armazenado na memria, todo programa executado na CPU do
computador. A CPU possui registradores que guardam temporariamente dados sobre os
quais se desejam realizar operaes. Por exemplo, para somar um nmero armazenado
na memria no endereo 100 com o nmero armazenado no endereo 101 e colocar o
resultado no endereo 111, a CPU deveria executar operaes como:
Copiar o contedo da posio de memria 100 para o registrador A;
Copiar o contedo da posio de memria 101 para o registrador B;
Somar o contedo de B em A;
Copiar o contedo de A para a posio de memria 111.
Com o aumento da complexidade dos programas de computador, tornou-se necessrio
desenvolv-los num nvel de abstrao um pouco mais elevado, menos dependente das
instrues de uma determinada mquina. Foram criadas, assim, as linguagens de alto
nvel, que substituem as instrues dos computadores por comandos cuja utilizao e
compreenso so mais fceis. Por exemplo, o comando:
c= a+b;
Indica que queremos somar o contedo de uma posio de memria que foi camada
pelo programador de a com o contedo da posio de memria chamada de b e colocar
o resultado na posio de memria chamada de c.
Se as linguagens de programao mudaram radicalmente os computadores num certo
sentido permaneceram inalterados e s conseguem entender instrues simples e que
estejam em seu repertrio. Por isso, programas escritos em linguagens de alto nvel
precisam ser convertidos nessas instrues antes de serem executados. Essa a principal
atribuio de um compilador: transformar um programa escrito numa linguagem de alto
nvel que chamamos de linguagem fonte em instrues executveis por uma
determinada mquina que chamamos de cdigo objeto.

PROGRAM
A
FONTE

PROGRAM
A
CCOMPILAD
OR

Programa com um arquivo Fonte

OBJETO

FONTE
1
FONTE
2
FONTE
3

Obj 1
COMPILAD
OR

Obj 2

Linkeditor

Execut
vel

Obj2

Programa com mais de um arquivo Fonte


Bibliografia
DELAMARO, M. E. Como construir um compilador utilizando ferramentas JAVA.
Novatec, 2004.

Vous aimerez peut-être aussi