Este curso explora os princípios, algoritmos, e estruturas de dados envolvidos na teoria e implementação de compiladores. O conteúdo planejado inclui uma introdução aos princípios e técnicas de construção de compiladores, conceitos básicos da teoria de linguagens, análise léxica, análise sintática, análise semântica, representação de código intermediário, ambientes de execução, análise estática, otimização de código, geração de código.
O objetivo da disciplina é fornecer fundamentos para desenvolvimento da compreensão da teoria e prática de compiladores, e de questões envolvidas na implementação de linguagens.
Na disciplina, utilizaremos uma mistura de aulas tradicionais com exercícios e tarefas de programação em sala de aula e para casa.
Nota
= (Atividades
x 5 + Prova
x 5) / 10
Atividades
= Atividades de programaçãoProva
= Exercício escolarFinal
Este plano de ensino está sujeito a alterações durante o semestre, visite frequentemente a página para obter a versão mais atualizada, ou acompanhe os updates no repositório.
Data | Dia da Semana | Conteúdo Programático | Atividades Associadas |
---|---|---|---|
06.05.25 | terça | Introdução, admin | Pesquisa inicial da disciplina (Google Classroom) |
08.05.25 | quinta | Análise Léxica | |
13.05.25 | terça | Implementando Analisadores Léxicos | Exercício 1 - Análise Léxica |
15.05.25 | quinta | Análise Sintática | |
20.05.25 | terça | Análise Sintática | Exercício 2 - Recursive-descent parsing |
22.05.25 | quinta | Análise Sintática | |
27.05.25 | terça | Análise Sintática | Exercício 3 - LL(1) parsing |
29.05.25 | quinta | Análise Semântica | |
03.06.25 | terça | APS - Análise Sintática (ANTLR) | Exercício 4 - ANTLR |
05.06.25 | quinta | Análise Semântica | |
10.06.25 | terça | Análise Semântica | |
12.06.25 | quinta | Análise Semântica | |
17.06.25 | terça | Análise Semântica | Exercício 5 - Type-Checking |
19.06.25 | quinta | Corpus Christi | |
24.06.25 | terça | São João | |
26.06.25 | quinta | Representações Intermediárias de Código | |
01.07.25 | terça | Representações Intermediárias de Código | |
03.07.25 | quinta | Representações Intermediárias de Código | Exercício 6 - Interpretador |
08.07.25 | terça | Análise e Otimização de Código | |
10.07.25 | quinta | Análise e Otimização de Código | |
15.07.25 | terça | Análise e Otimização de Código | |
17.07.25 | quinta | Análise e Otimização de Código | Exercício 7 |
22.07.25 | terça | APS | |
24.07.25 | quinta | Ambientes de Execução | |
29.07.25 | terça | Ambientes de Execução | |
31.07.25 | quinta | Geração de Código | Exercício 8 |
05.08.25 | terça | Geração de Código | |
07.08.25 | quinta | Geração de Código | |
12.08.25 | terça | Exercício Escolar | |
14.08.25 | quinta | Segunda Chamada | |
19.08.25 | terça | Prova final |