Compiladores


Período letivo 2026.1:


Avaliações:


Slides:


Projeto:

Exemplo completo:


Site do livro:

Literatura complementar:

Outras referências:


Aulas ministradas:


Aula 01 - 11/03/2026 - Apresentação e motivação. Linguagens de alto e baixo-nível. Linguagens fonte e objeto. Tipos de processadores. Compilação e interpretação. Métodos para especificação de linguagens. Sintaxe e semântica.
Aula 02 - 16/03/2026 - Especificação de linguagens de alto-nível.
Aula 03 - 18/03/2026 - Diagramas-T.
Aula 04 - 23/03/2026 - Fases de compliação.
Aula 05 - 25/03/2026 - Passos de compilação. Análise léxica.
Aula 06 - 30/03/2026 - Análise léxica (teoria e implementação).
Aula 07 - 01/04/2026 - Análise sintática. Derivações, reduções, análise descendente.
Aula 08 - 06/04/2026 - Análise ascendente e comparações LL(k) x LR(k).
Aula 09 - 08/04/2026 - Gramáticas e linguagens LL(1). Casos particulares, maanipulação gramatical, exemplos, exercícios.
Aula 10 - 13/04/2026 - Recursão à esquerda. Implementação do analisador sintático.
Aula 11 - 15/04/2026 - Montagem da AST. Exemplo completo.
Aula 12 - 22/04/2026 - Visitor. Identificação (programas com blocos monolíticos).
Aula 13 - 27/04/2026 - Identificação (programas com blocos planos e aninhados). Verificação de tipos.
Aula 14 - 29/04/2026 - Representação de tipos simples e agregados homogêneos.
Aula 15 - 04/05/2026 - Agregados homogêneos e heterogêneos.
Aula 16 - 06/05/2026 - Prova 1.
Aula 17 - 13/05/2026 - Avaliação de expressões. Alocação estática.
Aula 18 - 18/05/2026 - Alocação automática (locais e não locais).
Aula 19 - 20/05/2026 - Subrotinas (retorno de valor e argumentos/parâmetros).
Aula 20 - 25/05/2026 - Alocação dinâmica. Exemplos.
Aula 21 - 27/05/2026 - Heap. Instruções CALL e RETURN.
Aula 22 - 01/06/2026 - Orientação à objetos.
Aula 23 - 03/06/2026 - Geração de código - teoria.
Aula 24 - 08/06/2026 - Geração de código - implementação.
Aula 25 - 10/06/2026 - Interpretação. Conclusões.
Aula 26 - 15/06/2026 - Supervisão de projetos.
Aula 27 - 17/06/2026 - Supervisão de projetos.
Aula 28 - 29/06/2026 - Supervisão de projetos.
Aula 29 - 01/07/2026 - Dúvidas para a prova.
Aula 30 - 08/07/2026 - Prova 2.