Seminários de Compiladores

Slides:



Advertisements
Apresentações semelhantes
Algoritmo e Programação
Advertisements

gerador de código intermediário
1.3.2 – Linguagem Assembly Um programa em linguagem de máquina sofre de total falta de clareza O programa é uma sequência de linhas numeradas Cada linha.
Introdução à Ciência da Computação Linguagens de Programação.
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Ambientais Ciência da Computação Aula 06: Funções.
FORTRAN FORmula TRANslation.
Linguagem de Montagem Visão geral.
ARQUITETURAS RISC E CISC
Introdução à Compilação Prof. Leandro Magno Slides adaptados a partir do material cedido pelos professores Heloise Manica Paris Teixeira, Yandre M. G.
Prof. Heloise Manica Paris Teixeira
CISC e RISC.
Aplicações de Pilhas Pilhas são fundamentais em diversas áreas da computação: Sistemas Operacionais Arquitetura de Computadores Compiladores Entre outros.
INTRODUÇÃO À PROGRAMAÇÃO
Curso Sistemas de Informação Disciplina: Arquitetura de Software
LINGUAGEM ESTRUTURADA TURBO C
Linguagem de Prog. e Programas
Construção de Compiladores
Tradutores de Linguagens
SIMULAÇÃO EM COMPUTADOR: O PENSAMENTO COMO PROCESSAMENTO DE INFORMÇÕES
Arquitetura de Computadores
Linguagens de Programação
Prof. Msc. Raul Paradeda Aula 2 Introdução
O Portal do Estudante de Computação
Professor Fernando Luís
PROGRAMAÇÃO I UNIDADE 1.
Representação de Algoritmos
Gramáticas Livres de Contexto
PCI- Introdução à Computação
Desenvolvimento de Jogos e Entretenimento Digital
Introdução a Programação
Laboratório I Mateus Raeder Material baseado nos originais da
Arquitetura de computadores
Linguagem de programação
Equipe: Fernando Calheiros Flavia Leite Eduardo Wagner
Organização e Arquitetura de Computadores
Java Bytecode Software Básico Mitsuo Takaki.
Geração de Código aula-12-geração-de-código.pdf.
Capítulo VIII Ambientes de Execução
Execução de programas Cap. VIII.
Analise Semântica aula-10-analise-semântica.pdf.
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Projeto de Linguagens de Programação
Primeiros Compiladores. Importante  Não foi possível encontrar uma fonte de informação confiante ou esclarecedora o suficiente para dar detalhes do surgimento.
Processadores de Linguagens
Sistemas da informação para processos produtivos Softwares e programação.
Compiladores Prof. Claudio Benossi.
Arquiteturas RISC x CISC
Back-End Compilação aula-11-back-end.pdf.
Algoritmos e Estrutura de Dados I
PCS - Departamento de Engenharia de Computação e Sistemas Digitais Projeto de Formatura – Turmas 2010 Integrantes: Professor Orientador: Co-orientador:
Faculdade Pernambucana - FAPE Setembro/2007
Algoritmos e Programação I
COMPILADORES 04 Prof. Marcos.
Fundamentos de linguagens de programação
Geração de Código Fase final do compilador
Sumário 1 SQL Embutida 2 Processamento de Consultas
Linguagens de Programação
SISTEMAS DE INFORMAÇÃO
Linguagem de Programação I PARTE i
Paradigmas de Programação
Introdução à lógica de programação
Curso Engenharia Química Modalidade Superior Instituto Federal do Sul de Minas, câmpus Pouso Alegre Professora Michelle Nery Programação de Computadores.
Compilador Software que traduz o texto (linguagem fonte) que representa um programa para código máquina(linguagem alvo) capaz de ser executado pelo.
INTRODUÇÃO THOBER CORADI DETOFENO, MSC. Aula 01 JOINVILLE 2015 Universidade do Estado de Santa Catarina – CCT/UDESC.
Influencias sobre o Projeto da Linguagem
LÓGICA DE PROGRAMAÇÃO Curso: Técnico em Informática Professor: Ronaldo Disciplina: Lógica de Programação.
Módulo I – Softwares: Linguagens de Programação Prof.: Rogério Morais.
COMPILADORES 02 Prof. Marcos. COMPILADORES Do Programa à Execução Computadores das mais variadas arquiteturas têm funcionamento:
 Evolução constante das linguagens de programação de alto nível (LAN) desde o Fortran (primeira LAN)  Surgimento de novos paradigmas como a OO, Orientação.
Transcrição da apresentação:

Seminários de Compiladores VII. Geração do Código Intermediário e Otimização Diego e Jaques

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.

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.

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.

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.

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?)

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