Compiladores


Período letivo 2023.1:


Avaliações:


Slides:


Projeto:

Exemplo completo:


Site do livro:

Literatura complementar:

Outras referências:


Aulas ministradas:


Aula 01 - 04/04/2023 - 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 - 11/04/2023 - Especificação de linguagens de alto-nível.
Aula 03 - 13/04/2023 - Diagramas-T. Bootstrapping.
Aula 04 - 18/04/2023 - Fases de compliação.
Aula 05 - 20/04/2023 - Passos de compilação.
Aula 06 - 27/04/2023 - Análise léxica (teoria).
Aula 07 - 02/05/2023 - Análise léxica (implementação).
Aula 08 - 04/05/2023 - Análise sintática.
Aula 09 - 09/05/2023 - First e follow.
Aula 10 - 11/05/2023 - Método recursivo descendente.
Aula 11 - 16/05/2023 - Recursão à esquerda e manipulação gramatical.
Aula 12 - 18/05/2023 - Visitor.
Aula 13 - 23/05/2023 - Montagem da árvore de sintaxe.
Aula 14 - 25/05/2023 - Visualização da árvore de sintaxe.
Aula 15 - 30/05/2023 - Prova 1.
Aula 16 - 06/06/2023 - Identificação. Tabela de símbolos.
Aula 17 - 13/06/2023 - Verificação de tipos.
Aula 18 - 15/06/2023 - Representação de tipos simples.
Aula 19 - 20/06/2023 - Representação de tipos agregados.
Aula 20 - 22/06/2023 - Avaliação de expressões.
Aula 21 - 27/06/2023 - Alocação de memória estática.
Aula 22 - 29/06/2023 - Alocação de memória automática.
Aula 23 - 11/07/2023 - Alocação de memória dinâmica.
Aula 24 - 13/07/2023 - Passagem de parâmetros.
Aula 25 - 18/07/2023 - Retorno de valor de função.
Aula 26 - 20/07/2023 - Orientação à objetos.
Aula 27 - 25/07/2023 - Geração de código.
Aula 28 - 27/07/2023 - Conclusões.
Aula 29 - 01/08/2023 - Supervisão de projeto.
Aula 30 - 03/08/2023 - Prova 2.