Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Seminários de Compiladores
VII. Geração do Código Intermediário e Otimização Diego e Jaques
2
Ação Semântica É um trecho de algoritmo inserido na gramática.
Durante o processo da geração do código intermediário, podemos perceber em diversos momentos ações semânticas sendo executadas em conjunto com a gramática.
3
Esquema de Tradução A recomendação pelo formato POSFIXO é uma forma mais apropriada para o computador, pois permite tratar as expressões utilizando apenas um algoritmo simples acompanhado de uma estrutura do tipo PILHA. Para a geração do código intermediário, deve ser criada uma estrutura que possibilite armazenar a expressão. A partir do formato POSFIXO pronto, percebe-se durante a tradução a execução de gramáticas com ações semânticas.
4
Otimização de código É basicamente antecipar o trabalho do processador ao executar o seu programa. Parte do compilador que tenta tornar a execução mais eficiente. Por exemplo, a antecipação da resolução de partes de expressões compostas somente por constantes.
5
Gerador de Código É a etapa da compilação que escreve o código destino, sendo esta uma tarefa muito mais simplificada com a utilização do código intermediário. Simplificando: é a parte que transforma o programa que foi convertido na linguagem intermediária para a linguagem destino.
6
Notação POSFIXA como Código Intermediário
Simplificando o assunto, a utilização da notação POSFIXA, a partir da criação da estrutura para armazenar as expressões com base na sua gramática, já é um código intermediário! Observa-se também que a linguagem POSFIXA é mais próxima da linguagem tradicional de máquina. (Lembra-se do assembler?)
7
Linguagem Intermediária
A idéia é facilitar o processo de tradução da sua linguagem do formato original para um formato de mais baixo nível, criando “camadas de compilação”. É uma linguagem criada para facilitar o projeto do compilador, tornando-o de duas ou mais passagens. Por exemplo, as expressões infixas, que normalmente são aceitas pelas linguagem de programação conhecidas, podem ser transformadas em posfixas para facilitar a escrita do código destino em baixo nível
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.