Nome da Atividade
PROJETO DE COMPILADORES
CÓDIGO
1110189
Carga Horária
68 horas
Tipo de Atividade
DISCIPLINA
Periodicidade
Semestral
Unidade responsável
CARGA HORÁRIA TEÓRICA
3
CARGA HORÁRIA PRÁTICA
1
FREQUÊNCIA APROVAÇÃO
75%
CARGA HORÁRIA OBRIGATÓRIA
4
CRÉDITOS
4

Ementa

Estrutura de um compilador/interpretador: módulos componentes, interfaces, análise léxica, análise sintática, análise semântica e geração de código. Ambientes de execução.

Objetivos

Objetivo Geral:

Esta disciplina tem o objetivo de propiciar ao aluno a oportunidade de aprender e compreender os vários aspectos relacionados ao projeto de compiladores de linguagens. O aluno deverá aprender as principais técnicas e algoritmos usados na implementação de compiladores e ferramentas relacionadas, e.g., interpretadores, formatadores de textos, etc. Na construção destes conhecimentos são largamente usados os conceitos relacionados às linguagens de programação e às linguagens formais, particularmente a construção e a transformação de gramáticas, bem como as definições de sintaxe, semântica e ambiente de execução. A disciplina prevê a implementação de parte de um compilador simples, com o objetivo de consolidar os conceitos apresentados.

Conteúdo Programático

1. Modelo de um Compilador
• Análise léxica
• Análise sintática
• Análise semântica
• Gerador de código intermediário
• Otimizador de código
• Gerador de código objeto
2. Análise Léxica.
• Autômatos finitos e análise léxica
• Uso do LEX
3. Análise Sintática.
• Árvore sintática
• Análise top-down e bottom-up
• Analisador descendente recursivo
• Analisadores preditivos
• Transformações de gramáticas
• Analisador shift-reduce
• Gramáticas de operadores
• Precedência de operadores
• Parser preditivo não-recursivo
• Analisadores LR
• Uso do YACC/Javacc
4. Análise Semântica.
5. Tradução Dirigida por sintaxe
6. Geração de Código Intermediário.
7. Otimização de Código.
8. Geração de Código Objeto
9. Ambientes de execução

Bibliografia

Bibliografia Básica:

  • HEUSER, C. A. Projeto de banco de dados, Porto Alegre: Sagra Luzzato, 2004.

Bibliografia Complementar:

  • ADRIAANS, P., Data Mining, Addison-Wesley, 1997.

Página gerada em 18/03/2024 23:11:34 (consulta levou 0.183352s)