Funcionamento de um Compilador
Por: Jean Santos • 1/5/2016 • Ensaio • 740 Palavras (3 Páginas) • 500 Visualizações
[pic 1]
Universidade Católica do Salvador
Curso Bacharel em Informática
Disciplina: Compiladores - 2016
Aluno: Jean S Jesus
Prof. Osvaldo Requião
Funcionamento de um compilador
Resumo
Para entendendimento do funcionamento de um compilador, uma breve síntese sobre o que é um compilador. Alfred V Aho (1995) “Um compilador é um programa que lê um programa escrito numa linguagem – a linguagem fonte – e o traduz num programa equivalente numa outra linguagem – a linguagem alvo”. Em geral, programas são escritos por pessoas para serem executados por computadores. Mas pessoas e computadores funcionam de forma diferente, o que leva à existência de linguagens de programação com diferentes níveis. Os processadores que executam os programas de computador normalmente executam instruções simples e elementares. Para executar programas escritos em uma linguagem de alto nível, entretanto, é preciso traduzir esses programas para uma linguagem de baixo nível a ser executada em máquina.
Funcionamento de um Compilador
Um compilador é um programa de computador escrito em uma linguagem L, para uma máquina M, cuja finalidade é converter um programa PM, denominado programa-fonte, escrito em uma linguagem LF, denominada linguagem-fonte, para uma máquina MF, para um programa PO, denominado programa-objeto, em uma linguagem LO, denominada linguagem-objeto, que será executado em uma máquina MO.
O compilador pode passar por de vários passos de compilação. Em cada passo, é usada uma linguagem-fonte (entrada) e uma linguagem-objeto (saída), próprias desse passo, original. No primeiro passo temos a linguagem-fonte a ser compilada, Lf, e no último passo a linguagem-objeto final desejada, Lo. As outras linguagens envolvidas são denominadas linguagens-intermediárias.
Em alguns casos a linguagem-objeto gerada pelo compilador é uma linguagem de montagem, todavia necessita de um passo adicional para montagem. Neste caso, o programa responsável por esta tarefa é denominado montador. A função deste programa é a tradução do código fonte Assembly para linguagem de máquina a ser executado o programa. A característica deste tipo de tradutor é, para cada instrução Assembly será gerado uma única instrução de máquina.
Fases de Compilação
Para um bom funcionamento de um compilador, o mesmo é dividido em fases, todavia fica compreensivo ao estudo.
Na análise, as peças constituintes e cria uma representação intermediaria do programa fonte e dividido em tarefas de fases de análise léxica cujo objetivo é agrupar esses caracteres em palavras significativas para a linguagem. Já o analisador sintático, conhecido também como parser tem a função de determinar se o programa de entrada representado pelo fluxo de tokens, assim possui as sentenças válidas à linguagem de programação, sendo a segunda etapa do processo de compilação e na maioria dos casos utiliza gramáticas livres de contexto para especificar a sintaxe
...