Você está na página 1de 2

Disciplina Compiladores

Carga horária: 3 horas por semana

Objectivo
Um dos objectivos desta cadeira é levar os estudantes a entender o
funcionamento desse tradutor e seu processo evolutivo, que o tornou
complexo, eficiente; estudaremos todas as fases envolvidas na construção
de um compilador e sua importância para o projecto, e estudaremos quanto
é determinante uma especificação da linguagem formal detalhada e correta
para construir um compilador rápido e eficiente.

Capitulo I Introdução ao Compilador


1.1- História do compilador
1.2- Estrutura de um Compilador
1.3- Análise do programa fonte
1.4- Plano para a construção de um compilador
1.5- Ferramenta para a construção de compiladores
Capitulo II Compilador Simples
2.1- Definição de sintaxe
2.2- Tradução de sintaxe
2.3- Análise gramatical
2.4- Tradutor para expressão simples
2.5- O papel do analisador léxico
2.6- Tabela de símbolos
2.7- Máquinas de pilha abstrata
Capitulo III Análise léxica
3.1- Análise léxica
3.2- Construção de um analisador léxico
3.3- Análise sintática
3.4- Linguagem para especificação de analisadores léxicos
3.5- Tradução dirigida pela sintaxe
3.6- Tabela de símbolos, análise semântica e tradução dirigida por sintaxe
Capitulo IV Análise Sintática
4.1- Papel do analisador sintático
4.2- Gramaticas de contexto
4.3- Criando uma gramatica
4.5- Análise sintática top-down
4.6- Análise sintática bottom-up
4.7- Análise sintática de precedência de operadores
Capitulo V Geração de código intermediário do código do alvo e
otimização
5.1- Geração de código intermediário
5.2- Geração de código e otimização de código
5.3- Especificação de una linguagem inovadora
Capitulo VI Trabalho prático (projeto cientifico)

Bibliografia

Engel, Joshua (1999). Programming for the Java Virtual Machine (em inglês). Reading,
Massachusetts: Addison & Wesley. p. 355. 488 páginas.
Louden, Kenneth C. (2004). Compiladores. Princípios e Práticas. São Paulo: Pioneira
Thompson Learning. p. 5. 569 páginas.
Levine, John R. (2000). Linkers & Loaders (em inglês). San Francisco: Morgan
Kaufmann Publishers. p. 1-3. 256 páginas.
Alfred V.; Ullman, Jeffrey D. (1972). The Theory of Parsing, Translation, and
Compiling, Vol. 1, Parsing (em inglês). 1. Englewood Cliffs, Nova Jersey, EUA: Prentice
Hall. p. 59. 542 páginas.
Price, Ana M. A.; Toscano, Simão Sirineo (2000). Implementação de Linguagens de
Programação: Compiladores. Série de Livros Didáticos Número 9. Porto Alegre: Sagra
Luzzatto. 195 páginas.
Appel, Andrew W. (1997). Modern Compiler Implementation in C. Basic Techiques (em
inglês). [S.l.]: Cambridge University Press. 398 páginas.
Brown, P. J. (1979). Writing Interactive Compilers and Interpreters (em inglês).
Chichester: John Wiley & Sons. 265 páginas.
Kaplan, Randy M. (1994). Constructing Language Processors for Little Languages (em
inglês). Nova Iorque: John Wiley & Sons. 452 páginas.
Lee, John A. N. (1967). The Anatomy of a Compiler (em inglês). Nova Iorque: Reinhold
Publishing Company. 275 páginas. Library of Congress Catalog Card Number: 67-29207
Metsker, Steven John (2001). Building Parsers with Java (em inglês). Boston: Addison-
Wesley. 371 páginas.
Ricarte, Ivan (2008). Introdução à Compilação. Rio de Janeiro: Campus, Elsevier.
264 páginas.
Terry, Patrick D. (1986). Programming Language Translation. A Practical Approach (em
inglês). Wokingham: Addison-Wesley. 443 páginas.
Wirth, Niklaus (1996). Compiler Construction (em inglês). [S.l.]: Addison-
Wesley. ISBN 0-201-40353-6. Consultado em 17 de março de 2007 . Arquivado
do original em 5 de fevereiro de 2007

Você também pode gostar