Profª Katia C. Lage dos Santos · Interpretador O programa conversor recebe a primeira instrução...
Transcript of Profª Katia C. Lage dos Santos · Interpretador O programa conversor recebe a primeira instrução...
Tópicos da disciplina
Introdução a CompiladoresAnálise LéxicaAnálise SintáticaFerramentas para construção de compiladoresAnálise SemânticaGeração de Código Intermediário
Sobre a disciplina
O material com todas as informações da disciplina serão postados em:
http://www.slideshare.net/katialageDatas importantes:
Prova 1: 26/04Entrega do trabalho individual: 26/04Entrega e apresentação do trabalho em grupo: 14/06Prova 2: 21/06
Bibliografia
Compiladores: Princípios, Técnicas e Ferramentas. A. V. Aho, R. Sethi e J. D. Ullman. Editora Livros Técnicos e Científicos, 2007.Implementação de Linguagens de Programação: Compiladores. Ana M. de A. Price & Simão S. Toscani. Série Livros Didáticos No. 9. Editora Sagra Luzzatto, 2000.Compiladores: Princípios e Práticas. Kenneth C. Louden. Pioneira Thomson Learning, 2004.
Interpretador x Compilador
O computador deve converter os comandos dados em linguagem de alto nível para linguagem de máquina (códigos binários)Existem dois métodos básicos de abordagem na tradução de linguagem de alto nível para linguagem de máquina:
INTERPRETADORCOMPILADOR
Interpretador
O programa conversor recebe a primeira instrução do programa fonte, confere para ver se está escrita corretamente, converte-a em linguagem de máquina e então ordena ao computador que execute esta instrução. Depois repete o processo para a segunda instrução, e assim sucessivamente, até a última instrução do programa fonte. Quando a segunda instrução é trabalhada, a primeira é perdida, isto é, apenas uma instrução fica na memória em cada instante.
Interpretador
Se este programa fonte for executado uma segunda vez, novamente haverá uma nova tradução, comando por comando, pois os comandos em linguagem de máquina não ficam armazenados para futuras execuções.
O que é um compilador?
Principais Compiladores:Java
Principais Compiladores:C/C++
Diferenças entre Compiladores e Interpretadores
Definindo um compilador
Filtro (Conversor de Linguagem)
Pré-processador
Bibliotecas
Funções do Compilador
Diagrama da Compilação
Gerenciador da Tabela de Símbolos
Tratador de Erros
Fases da Compilação
Fases da Compilação
Front-end ou Análise
Análise Léxica
Análise Léxica
Análise Sintática(Parsing)
Análise Sintática
Análise Semântica
Análise Semântica
Geração de Código Intermediário
Geração de Código Intermediário
Back-end ou síntese
Otimização de códigointermediário
Otimização de códigointermediário
Geração de Código Alvo
Geração de Código Alvo
Ferramentas para Construção de Compiladores
Ferramentas para Construção de Compiladores
Ferramentas para Construção de Compiladores
Aplicações