Slides compiladores

Disponível somente no TrabalhosFeitos
  • Páginas : 2 (490 palavras )
  • Download(s) : 0
  • Publicado : 3 de dezembro de 2012
Ler documento completo
Amostra do texto
Compiladores
Geração de código

Geração de código é a fase final de um compilador.
Compiladores – geração de código
Programa Fonte front-end código intermediário
Otimizador de códigocódigo intermediário

Gerador de código

código objeto

O gerador mapeia a representação intermediaria produzida pelo front-end, ou, se houver uma parte de otimização realizada pelo otimizador decódigo, para o programa objeto

O gerador de código precisa mapear o programa na RI em uma sequencia que pode ser executada na arquitetura alvo. Esse mapeamento é determinado por fatores como: • Onível da RI • A natureza da arquitetura do conjunto das instruções • A qualidade desejada do código gerado

Compiladores – geração de código

Um grande problema na geração de código é decidir quevalores residirão em registradores e em quais registradores. O uso de registradores é subdividino em dois subproblemas: • Alocaçao de registradores, etapa na qual selecionamos o conjunto de variáveisque residirão nos registradores em cada ponto do programa. • Atribuiçao de registradores, etapa na qual determinamos um registrador especifico em que uma variavel residirá.

Compiladores – geraçãode código

Uma forma de representação do codigo intermediario é de grafo, que é util para discutir a geração de codigo mesmo que o grafo não seja construido explicitamente. A representaçao éconstruida da seguinte forma: 1. Particionando o codigo em blocos basicos 2. Os blocos basicos formam os nós de um grafo de fluxo

Compiladores – geração de código

• Um bloco básico é uma sequenciamáxima de comandos consecutivos de três endereços, em que o fluxo de controle só pode entrar no primeiro comando do bloco e sair no ultimo comando sem interromper ou desviar, exceto possivelmente noultimo comando do bloco básico • Um gafo de fluxo é uma representação gráfica de um programa, em que os nos do grafo são blocos básicos e as arestas mostram como o controle flui entre os blocos...
tracking img