104258-Compiladores

Resumo da Ementa:

UCP-Logo-2

  • Tradutores, processos de compilação, análise léxica, análise sintática, recuperação de erros durante a análise sintática, tradução dirigida por sintaxe, geração de código intermediário e geradores automáticos de analisadores estruturais de código.

Objetivo:

  • Apresentar algoritmos e técnicas para a implementação de tradutores de linguagens de programação.

Planejamento das Aulas:

1) Introdução    
1.1) Compiladores e Teoria das Linguagens Formais.         
2) Gramáticas         
2.1) Motivação.
2.2) Definição.
2.3) Derivação e redução.
2.4) Linguagens.
2.5) Tipos de gramáticas e linguagens.
2.6) Sentença vazia.         
3)Linguagens de Programação        
3.1) Conceitos.
3.2) Paradigmas.
3.3) Critérios para avaliação e projeto.
3.4) Especificação.
3.5) Ferramentas para utilização.         
4) Análise Léxica         
4.1) Autômatos Finitos Determinísticos e Não-Determinísticos
4.2) Determinização e Minimização
4.3) Relação entre AF e GR.
4.4) Conjuntos regulares e Expressões Regulares.
4.5) Aspectos Léxicos de Linguagens de Programação.
4.6) Especificação e implementação de um Analisador Léxico.         
5) Análise Sintática        
5.1) Gramáticas Livre de Contexto (GLC)
5.1.1) Árvore de derivação, ambigüidade, transformações e simplificações.
5.2) Técnicas de Análise Sintática Ascendentes e Descendentes.
5.3) Aspectos Sintáticos de Ling. de Programação.
5.4) Especificação e implementação de um Analisador Sintático.       
6)Análise Semântica         
6.1) Aspectos semânticos de linguagens de programação.
6.2) Modelos de Especificação.
6.3) Regras e Ações Semânticas.
6.4) Especificação e implementação de um Analisador Semântico.         
7) Geração de código Intermediário, Otimização e Interpretação.

Bibliografia Básica

  1. PRICE, A. M., TOSCANI, S. S., Implementação de linguagens de programação: Compiladores, Ed. Sagra-Luzzato, 2001;
  2. LOUDEN, K. C., Compiladores: Princípios e Práticas, Ed. Thomson.

Bibliografia Complementar

  1. MENEZES, P. B., Linguagens formais e autômatos, Ed. Sagra-Luzzato, 2000;
  2. Aho, A. V., Compiladores – Principios Tecnicas e Ferramentas, Ed. LTC.

Estudo Dirigido

Material de Aula

.