Geração e Otimização de Código

1592 palavras 7 páginas
Introdução

A Geração e Otimização de Código é a última etapa na parte de compilação. É nessa etapa onde código de alto nível é transformada em uma linguagem que o computador entende.

Geração de Código

Em geral a geração de código não se dá diretamente para a linguagem Assembly do processador alvo, ela é dividida em duas partes:

1º O analisador sintático gera código para uma máquina abstrata, com uma linguagem próxima a Assembly, porem independente de processadores específicos.
2º O código intermediário é traduzido para a linguagem Assembly desejada.

Dessa forma, grande parte do compilador é reaproveitada para trabalhar com diferentes tipos de processadores.

Código Intermediário

A linguagem utilizada para a geração de um código em formato intermediário entre a linguagem de alto nível e a linguagem Assembly deve representar, de forma Independente do processador para o qual o programa será gerado, todas as expressões do programa original.
Duas formas usuais para esse tipo de representação são a notação pós fixa e o código de três endereços.

Como Faze-la?

São criadas regras baseadas na arvore de derivação sintática. Conhecida como: Geração dirigida sintaticamente.

Exemplo: Obter o resultado para 3*4+5*2:

A introdução dos valores na pilha deve ser feita através da instrução LoadCon, onde será o valor imediato das constantes da expressão. Além disso temos que executar duas multiplicações e uma soma, através dos comandos Multiply e Add respectivamente.
Entretanto, temos ainda que alterar a expressão dada para a notação posfixa, que é a que se adequa ao uso da pilha e a estrutura do analisador sintático. Assim, temos:

3*4+5*2 --> 3 4 * 5 2 * +

Código de três Endereços

O código de três endereços é composto por uma sequência de instruções envolvendo operação binaria ou unárias e uma atribuição. É dado o nome de Três Endereços, pois são usados no

Relacionados

  • Slides compiladores
    490 palavras | 2 páginas
  • Aula Comp 03
    1746 palavras | 7 páginas
  • Compiladores
    946 palavras | 4 páginas
  • COMPILADORES
    757 palavras | 4 páginas
  • compiladores
    4026 palavras | 17 páginas
  • Compiladores
    970 palavras | 4 páginas
  • Processos Compilação
    617 palavras | 3 páginas
  • GERAÇÃO DE CÓDIGO INTERMEDIARIO
    529 palavras | 3 páginas
  • Resumo Cap 1 - Livro de Compiladores AHO
    2511 palavras | 11 páginas
  • Linguagem de programação
    1753 palavras | 8 páginas