Introdução a compiladores informática
Por: Carolina234 • 14/11/2018 • 806 Palavras (4 Páginas) • 288 Visualizações
...
A saída do analisador léxico é uma sequencia de simbolos fase, o analisador sintático.
O analisador sintático
Agrupa os símbolos recebidos do analisador léxico em estrutura sintáticas. Os três símbolos representando A + B poderiam ser agrupados em uma estrutura sintática chamada expressão. Expressões poderiam ser posteriormente agrupadas para formar comandos, e assim por diante.
O gerador de código intermediário
Usa a estrutura produzidas pelo analisador sintático para criar uma sequência de instruções simples dita código intermediário (está entre a linguagem de alto nível e a linguagem de baixo nível)
O otimizador de código
É um modulo opcional que objetiva melhorar o código intermediário de modo que o programa objeto produzido ao fim da compilação seja menor(ocupe menos espaço de memoria) e/ou mais rápido(tenha tempo de execução menor). A saída do otimizador de código é um novo código intermediário
O gerador de código
Produz o código objeto final tomando a decisões com relação à a locação de espaço para os dados do programa, selecionando a forma de acessá-los, definindo que registradores da UCP serão usados, etc.
A maioria dos compiladores atuais tem, como parte integrante de seu gerador de código, um modulo adicional de otimizador de código dependente de maquina que tem por objetivo melhorar o cogido de maquina produzido para melhor aproveitar os recursos específicos da arquitetura para o qual foi gerado.
Um tradutor é um programa que recebe como dado de entrada um programa escrito em uma linguagem de programação (a linguagem fonte) e produz como saída de seu processamento um programa escrito em outra linguagem (a linguagem objeto).
Interpretadores são, em geral menores que compiladores e facilitam a implementação de construções complexas em LP’s entretanto, o tempo de execução de um programa interpretado é geralmente maior que o tempo de execução desse mesmo programa compilado.
________________________________________________________________________________
Preprocessadores
Preprocessadores traduzem programa escritos em linguagem de alto nível em outros programas escrito também em linguagem de alto nível.
Macroprocessadores
Semelhantes aos preprocessadores, traduzem programas escrito em linguagem de alto nível em linguagem em outros programas também escritos em linguagem de alto nível , tendo também a capacidade de processamento de macroinstruções.
...