Programa - Faculdade de Informática

Propaganda
PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO GRANDE DO SUL
FACULDADE DE INFORMÁTICA
DEPARTAMENTO: Fundamentos da Computação
CURSO: Bacharelado em Ciência da Computação
DISCIPLINA: Compiladores I
CÓDIGO: 46187
CRÉDITOS: 04
CARGA HORÁRIA: 60 horas-aula
VALIDADE: a partir de 2001/II
OBJETIVOS:O cumprimento da disciplina busca dar ao aluno, ao final do semestre,
condições de:
1. Descrever, formalmente, os componentes de um compilador;
2. Definir características de linguagens de programação necessárias à compilação;
3. Elaborar rotinas para análise lexicográfica, gerenciamento de tabelas de símbolos, análise
sintática e análise semântica;
4. Implementar as principais técnicas de analise gramatical de um compilador
EMENTA:
Tradução e compilação, etapas da compilação. Análise Léxica : tabela de símbolos. Análise
Sintática: construção e geração de analisadores, precedência de operadores, LR. Tradução
dirigida por sintaxe : translação, definições, gramática de atributos. Análise semântica estática :
verificação de tipos, escopo, equivalência e compatibilidade, coerção, sobrecarga e
polimorfismo.
N DA UNIDADE: 01
CONTEÚDO: Introdução a Compilação
1.1. Introdução : Fases de um compilador
1.2. Fase de Análise
1.3. Fase de Síntese
1.4. Tabela de símbolos
1.5. Detecção de erros
Emitido em: 26/06/17 - 06:11
Página 1 de 3
Carimbo e Assinatura da Unidade:
N DA UNIDADE: 02
CONTEÚDO: Análise Léxica
2.1. Funções do Analisador Léxico
2.2. A relação: Analisadores Léxicos x Autômatos Finitos x Expressões Regulares
2.3. Implementação de Analisadores Léxicos
2.4. Tabela de símbolos
2.5. Ferramentas para construção de Analisadores Léxicos
N DA UNIDADE: 03
CONTEÚDO: Análise Sintática
3.1. Funções do Analisador Sintático
3.2. A relação : Analisadores Sintáticos x Gramáticas Livres de Contexto
3.3. Analisadores Sintáticos Descendentes
3.3.1. Analisador Preditivo
3.3.2. Analisador Sintático Descendente Recursivo
3.4. Analisadores Sintáticos Ascendentes
3.4.1. Precedência de Operadores
3.4.2. Técnicas LR
3.5. Ferramentas para construção de Analisadores Sintáticos
N DA UNIDADE: 04
CONTEÚDO: Tradução dirigida por Sintaxe
4.1. Introdução a Tradução Dirigida por Sintaxe
4.2. Definição Dirigida por Sintaxe
4.3. Esquemas de Tradução
N DA UNIDADE: 05
CONTEÚDO: Verificação Semântica
5.1. Sistemas de tipos
5.2. Sub-linguagem de tipos genérica
5.3. Verificação de tipos estática x dinâmica
5.4. Verificação de tipos simples: expressões e comandos
5.5. Equivalência de tipos
5.6. Coerção, Sobrecarga, Polimorfismo
Emitido em: 26/06/17 - 06:11
Página 2 de 3
Carimbo e Assinatura da Unidade:
BIBLIOGRAFIA

LIVRO(S) TEXTO
1. AHO, A.V. ; SETHI, S. & ULMMAN, J. D.
and Tools. Reading, Addison-Wesley, 1986

Compilers; Principles, Techiniques
LIVRO(S) REFERENCIADO(S)
1. APPEL, A. W.. Modern Compiler Implementation in Java. Cambridge University Press,
1997.
2. SETZER, V. W. & MELO, I. S. H. A construção de um compilador. Rio de Janeiro,
Campus, 1983.

OUTRAS REFERENCIAS
1. CALINGAERT, P. Assemblers, Compilers and Program Translation. Computer Science
Press, Rockville, 1979.
2. HOLUB, A. I. COMPILER DESING IN"C", Prentice-Hall Intrernational Editions.
3. KOWALTOWSKY, T. Implementação de linguagens de programação. Rio de Janeiro,
Guanabara Dois, 1983.
4. MELO, J. J. Introdução à compilação. LTC, RJ, 1987.
5. PREMBLEY, J. P. 8 SORENSON, P. G. The Theory and Practice of Compiler Writing.
Mc Graw-Hill, International Editions, 1989.
6. LEVINE, J. R. ; MASON, T. ; BROWN, D. Lex & yacc. Cambridge : O'Reilly, 1998. 3

SOFTWARE DE APOIO
1.
LEX & YACC
Emitido em: 26/06/17 - 06:11
Página 3 de 3
Carimbo e Assinatura da Unidade:
Download