Sei sulla pagina 1di 2

COMPILADORES CONCEITO Mquina virtual Anlise Lxica Anlise sinttica Anlise semntica Alocao de memria

Mdulo Front - End Mdulo Back End

*Ponteiro: a alocao feita em tempo de execuo. INTRODUO o processo de anlise de um programa escrito em linguagem de alto nvel, o programa fonte (ou cdigo fonte) e sua converso (ou traduo) em um programa equivalente, porm descrito em linguagem binria de mquina, o programa objeto (ou cdigo objeto). O programa que realizar essa tarefa denominado Compilador e o fluxo bsico do processo de compilao est mostrado na figura: Open file_entrada Read A, B, C While not eof(file_entrada)do X=A+B -C Print A, B, C, X Read A, B, C End while Close file_entrada

Cdigo fonte

Compilao

Programa compilador

0011 1100 0101

1111 1101 1101

1001 0001 0101 Cdigo objeto

Durante a compilao, o cdigo fonte analisado, comando por comando. Inicialmente, o compilador iniciar uma anlise do cdigo fonte (normalmente esta tarefa realizada por um mdulo de compilador denominado front-end), divididos em trs partes distintas, anlise lxica, anlise sinttica e anlise semntica. Aps essa tripla anlise gerado um cdigo intermedirio, e so construdas vrias tabelas, como a tabela de smbolos, que auxiliar a realizao da

segunda fase de efetiva criao do cdigo binrio de mquina, o cdigo objeto. Nessa segunda fase, o mdulo responsvel do compilador (usualmente conhecido como back-end) aloca memria para as variveis e realiza a atribuio dos registradores a serem utilizados na gerao do cdigo objeto final.

LIGAO OU LINKEDIO Programa fonte

Compilao Biblioteca A Cdigo objeto

Ligao

Ligador

Biblioteca B

Cdigo executvel Biblioteca C

Quando um programador escreve um programa ele no se preocupa em codificar algumas operaes, pois o cdigo binrio necessrio para realizar aquelas tarefas existe armazenado no sistema. preciso que apenas o cdigo binrio em questo seja buscado onde estiver e incorporado no programa. Um desses exemplos pode ser o de certas rotinas matemticas especiais, como o clculo de um seno ou outra operao trigonomtrica qualquer.

Potrebbero piacerti anche