Compiladores
Introdução …
Dia, Hora e Local
Objetivo
Tópicos
Bibliografia
Avaliação
Notas
Cronograma
Ferramentas
Dia, Hora e Local
3as e 5as, 14-16h nas salas 9 e 3, respectivamente.
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
Notas
Cronograma
| Assunto | Dia |
|---|---|
| Apresentação e Critérios de Avaliação | 04/ago |
| COOL | 06/ago |
| Análise Léxica | 11/ago |
| Geração Automática de Parser Léxico | 13/ago |
| Análise Sintática | 18/ago |
| Geração Automática de Parser Sintático | 20/ago |
| Check Point (An. Léxico) | 25/ago |
| Análise Semântica - Escopo | 27/ago |
| Análise Semântica - Escopo | 01/set |
| Análise Semântica - Tipo | 03/set |
| Análise Semântica - Tipo | 08/set |
| Geração de Código | 10/set |
| Check Point (An. Sintático) | 15/set |
| 17/set | |
| 22/set | |
| Bril | 24/set |
| 29/set | |
| 01/out | |
| 06/out | |
| 08/out | |
| 13/out | |
| Feriado | 15/out |
| Check Point (An. Semântico) | 20/out |
| 22/out | |
| 27/out | |
| 29/out | |
| 03/nov | |
| 05/nov | |
| 10/nov | |
| 12/nov | |
| 17/nov | |
| Check Point (Geração de Código) | 19/nov |
| 24/nov | |
| 26/nov | |
| 01/dez | |
| 03/dez | |
| 08/dez | |
| 10/dez |
Ferramentas
- Linguagem Alvo: COOL
- Editor online de COOL
- Documentação de Bril
- GitHub de Bril
03/08/2026 ∙