Sei sulla pagina 1di 2

Ministério da Educação

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ


Campus Curitiba

PLANO DE ENSINO
CURSO Engenharia de Computação – Curso 212 MATRIZ 544 / 721

Regido pela Lei nº 9.394, de 20 de dezembro de 1996; pela Resolução CNE/CES n° 11,
FUNDAMENTAÇÃO
de 11 de março de 2002; e a pela Resolução CONFEA/CREA n° 1010, de 22 de agosto
LEGAL
de 2005. Aprovado pela Resolução Nº 84/06 COEPP de 17 de novembro de 2006.

DISCIPLINA/UNIDADE CURRICULAR CÓDIGO PERÍODO CARGA HORÁRIA horas)


AT AP APS Total
Compiladores IF6BV OPT
68 0 4 72
AT: Atividades Teóricas, AP: Atividades Práticas, APS: Atividades Práticas Supervisionadas.

PRÉ-REQUISITO IF65C – Teoria da Computação


EQUIVALÊNCIA

OBJETIVOS
Conceituar compiladores, montadores e interpretadores. Entender o funcionamento interno de um compilador e
expor as principais dificuldades da construção de um compilador, estudando detalhadamente cada uma das
fases de compilação.

EMENTA
Organização e estrutura de compiladores, interpretadores e analisadores. Análise e síntese; Análise léxica –
expressões regulares e reconhecedores; Análise sintática – gramáticas livres de contexto, reconhecedores:
parsers top-down e bottom-up; conjuntos First e Follow; tabelas preditivas e LR. Análise semântica; atributos
semânticos herdados e sintetizados; esquemas S e L atribuídos. Geração de código intermediário. Otimização de
código intermediário. Geração e otimização de código objeto.

CONTEÚDO PROGRAMÁTICO
ITEM EMENTA CONTEÚDO
Organização e estrutura de compiladores, Processadores de linguagens. Estrutura de um compilador.
1
interpretadores e analisadores Reconhecedores.
Autômatos finitos (AFD e AFND). Análise sintática. Gramáticas livres
Análise e síntese; Análise léxica – expressões de contexto. Autômatos de pilha (APD e APND). Árvores de análise
regulares e reconhecedores; Análise sintática – sintática e ambiguidades. Análise sintática descendente recursiva.
2 gramáticas livres de contexto, reconhecedores: Análise sintática LL(1). Conjuntos primeiros e de sequência. Análise
parsers top-down e bottom-up; conjuntos First e sintática ascendente. Autômatos finitos de Itens LR(0). Análise
Follow; tabelas preditivas e LR sintática LR(0). Análise sintática SLR(1). Análise sintática LR(1).
Análise sintática LALR(1).
Análise semântica; atributos semânticos herdados Atributos e gramáticas de atributos. Algoritmos para computação de
3
e sintetizados; esquemas S e L atribuídos atributos. Tabela de símbolos.
Variantes das árvores sintáticas. Códigos de três endereços. Tipos e
4 Geração de código intermediário
declarações. Tradução de expressões. Verificação de tipo.
Principais fontes de otimização. Introdução à análise de fluxo de
5 Otimização de código intermediário
dados. Fundamentos da análise de fluxo de dados.
6 Geração e otimização de código objeto Geração e otimização de código objeto.

REFERÊNCIAS
Referencias Básicas:
1. AHO, A. V. et al. Compilers: Principles, techniques and tools. Addison-Wesley, 1986.
2. LOUDEN, Kenneth C. Compiladores: Princípios e práticas. São Paulo: Pioneira Thomson Learning,
2004. 569p.
3. JOSÉ NETO, João. Introdução à compilação. Rio de Janeiro: LTC, 1987. 222p.
4. PRICE, Ana M. de A.; TOSCANI, Simão S. Implementação de linguagens de programação:
Compiladores. 3.ed. Porto Alegre: Editora Sagra Luzzatto, 2005. 212 p.
Referências Complementares:
1. DELAMARO, Márcio E. Como construir um compilador utilizando ferramentas Java. São Paulo:
Novatec, 2004. 307 p.
2. FISCHER, Charles N.; LEBLANC JUNIOR, Richard J. Crafting a compiler with C. Redwood City:
Benjamin/Cummings, 1991. 812p.
3. MAK, Ronald. Writing compilers and interpreters: An applied approach using C++, 2. ed. New York:
John Wiley & Sons, 1996. 838 p.
4. MACHADO, Francis B.; MAIA, Luiz P. Arquitetura de sistemas operacionais, 4. ed. Rio de Janeiro:
LTC, 2007. 308 p.
5. PEREIRA, Silvio do L. Estrutura de dados fundamentais: Conceitos e aplicações, 9. ed. São Paulo:
Érica, 2006. 238p.
ORIENTAÇÕES GERAIS
Sistema de Avaliação: Conforme previsto no Regulamento da Organização Didático-Pedagógica dos Cursos
de Graduação da UTFPR, capítulo VII, artigo 34, parágrafo 4º: “Considerar-se-á aprovado na disciplina, o aluno
que tiver frequência igual ou superior a 75% (setenta e cinco por cento) e Nota Final igual ou superior a 6,0
(seis), consideradas todas as avaliações previstas no Plano de Ensino”.

Potrebbero piacerti anche