Compiladores


Período letivo 2022.1:


Slides:


Projeto:

Exemplo completo:


Site do livro:

Literatura complementar:

Outras referências:


Avaliações:


Aulas ministradas:


Aula 01 - 19/05/2022 - Apresentação e motivação.
Aula 02 - 24/05/2022 - Linguagens de alto e baixo-nível. Linguagens fonte e objeto. Tipos de processadores.
Aula 03 - 26/05/2022 - Compilação e interpretação. Métodos para especificação de linguagens. Sintaxe e semântica.
Aula 04 - 31/05/2022 - Especificação de linguagens de alto-nível.
Aula 05 - 02/06/2022 - Diagramas-T.
Aula 06 - 07/06/2022 - Fases de compilação.
Aula 07 - 09/06/2022 - Passos de compilação.
Aula 08 - 14/06/2022 - Análise léxica - teoria.
Aula 09 - 21/06/2022 - Análise léxica - implementação.
Aula 10 - 23/06/2022 - Análise sintática - derivações, reduções, descendente e ascendente.
Aula 11 - 28/06/2022 - Análise sintática - first_k, LL(k) e LR(k). Exemplos.
Aula 12 - 30/06/2022 - Análise sintática - verificação da condição LL(k). Exemplos.
Aula 13 - 05/07/2022 - Análise sintática - gramáticas LL(k) simples. Exemplos.
Aula 14 - 07/07/2022 - Análise sintática - gramáticas LL(k) sem regras vazias. Exemplos e exercícios.
Aula 15 - 12/07/2022 - Prova 1
Aula 16 - 14/07/2022 - Análise sintática - follow_k e gramáticas com regras vazias. Exemplos e exercícios.
Aula 17 - 19/07/2022 - Análise sintática - recursão à esquerda, exemplos e exercícios. Método recursivo descendente.
Aula 18 - 21/07/2022 - Análise sintática - exemplo de uso do método recursivo descendente com a linguagem mini-Triangle.
Aula 19 - 26/07/2022 - Montagem da AST.
Aula 20 - 28/07/2022 - Exemplo completo. Visitor. Visualização da AST.
Aula 21 - 02/08/2022 - Supervisão de projeto
Aula 22 - 04/08/2022 - Análise de contexto. Identificação. Bloco monolitico.
Aula 23 - 09/08/2022 - Blocos planos e aninhados.
Aula 24 - 11/08/2022 - Verifcação de tipos.
Aula 25 - 16/08/2022 - Implementação do analisador de contexto. Exemplos.
Aula 26 - 18/08/2022 - Representação de dados. Princípios.
Aula 27 - 23/08/2022 - Tipos simples.
Aula 28 - 25/08/2022 - Tipos agregados. Registros e vetores.
Aula 29 - 30/08/2022 - Matrizes.
Aula 30 - 01/09/2022 - Prova 2.