Compiladores
Introdução …
Dia, Hora e Local
Objetivo
Tópicos
Bibliografia
Avaliação
Exercícios
Cronograma
Ferramentas
Dia, Hora e Local
3as e 5as, 16-18h
Objetivo
O objetivo desta disciplina é apresentar conceitos fundamentais da implementação de Compiladores para linguagens de programação. Esta terá um enfoque teórico-prático onde, ao final, deseja-se que o(a) aluno(a) seja capaz de implementar um compilador completo. Como efeito-colateral, espera-se que o aluno obtenha insights em técnicas avançadas de análise e síntese de strings em geral.
Tópicos
- Análise Léxica
- Análise Sintática
- Geradores Automáticos de Parsers
- Análise Semântica (Tipos e Escopo)
- Plataformas de Execução
- Geração de Código
- Otimização de Código
Bibliografia
- A Practical Approach to Compiler Construction, Des Watson, Springer
- Modern Compiler Implementation in (Java|C|ML), Andrew Appel, Cambridge
- Compiler Engineering Using Pascal, P. C. Capon and P. J. Jinks, Macmillan
Avaliação
Média final = (Prova1 + Média-Trabalhos) / 2
Exercícios
Cronograma
| Assunto | Dia |
|---|---|
| Apresentação e Critérios de Avaliação | 10/mar |
| COOL | 12/mar |
| Análise Léxica | 17/mar |
| Geração Automática de Parser Léxico | 19/mar |
| Análise Sintática | 24/mar |
| Geração Automática de Parser Sintático | 26/mar |
| Check Point (An. Léxico) | 31/mar |
| Análise Semântica - Escopo | 02/abr |
| Análise Semântica - Escopo | 07/abr |
| Análise Semântica - Tipo | 09/abr |
| Análise Semântica - Tipo | 14/abr |
| Geração de Código | 16/abr |
| Feriado | 21/abr |
| Feriado | 23/abr |
| Check Point (An. Sintático) | 28/abr |
| Bril | 30/abr |
| 05/mai | |
| 07/mai | |
| 12/mai | |
| 14/mai | |
| 19/mai | |
| 21/mai | |
| 26/mai | |
| Check Point (An. Semântico) | 28/mai |
| 02/jun | |
| Feriado | 04/jun |
| 09/jun | |
| 11/jun | |
| 16/jun | |
| 18/jun | |
| 23/jun | |
| Check Point (Geração de Código) | 25/jun |
| 30/jun | |
| 02/jul | |
| 07/jul | |
| 09/jul |
Ferramentas
- Linguagem Alvo: COOL
- Editor online de COOL
- Documentação de Bril
- GitHub de Bril
26/01/2026 ∙