Compiladores


Período letivo 2017.2:


Datas importantes:


Projeto:


Avaliações:


Slides:

Exemplo completo:

Site do livro:

Literatura complementar:

Mini-Triangle:

Outras referências:


Aulas ministradas:

Aula 01 - 21/11 - Apresentação e motivação.
Aula 02 - 23/11 - Especificação de linguagens.
Aula 03 - 28/11 - Processadores de linguagens.
Aula 04 - 30/11 - Fases e passos de compilação.
Aula 05 - 07/12 - Análise léxica (conceitos).
Aula 06 - 12/12 - Análise léxica (implemntação). Introdução à teoria da análise sintática.
Aula 07 - 14/12 - Análise descendente e ascendente. Gramáticas e linguagens LL(k) e LR(k).
Aula 08 - 19/12 - First e Follow. Verificação da condição LL(1). Exemplos.
Aula 09 - 21/12 - Exercícios. Método Recursivo Descendente. Exemplo e exercício.
Aula 10 - 18/01 - Acompanhamento e orientação de projeto.
Aula 11 - 23/01 - Montagem e visualização da AST.
Aula 12 - 25/01 - Visitor. Identificação na análise de contexto. Programas monolíticos e com blocos planos.
Aula 13 - 30/01 - Linguagens com blocos aninhados. Conceito de tipos, tipos estáticos/dinâmicos, fortes/fracos, simples/agregados.
Aula 14 - 01/02 - Tipos de operadores, inferência de tipos e verificação de tipos.
Aula 15 - 06/02 - Prova 1.
Aula 16 - 08/02 - Acompanhamento e orientação de projeto.
Aula 17 - 20/02 - Representação de dados. Tipos simples e tipos agregados heterogêneos.
Aula 18 - 22/02 - Tipos agregados homogêneos.
Aula 19 - 27/02 - Avaliação de expressões. Alocação de memória.
Aula 20 - 01/03 - Alocação de memória estática e automática. Link dinâmico e link estático.
Aula 21 - 06/03 - Rotinas. Passagem de parâmetros e retorno de valor de função.
Aula 22 - 08/03 - Alocação dinâmica de memória.
Aula 23 - 13/03 - Ambientes de execução para linguagens orientadas à objetos.
Aula 24 - 15/03 - Geração de código (conceitos).
Aula 25 - 20/03 - Exemplo. Instruções CALL e RETURN. Geração de código (implementação).
Aula 26 - 22/03 - Acompanhamento e orientação de projeto.
Aula 27 - 27/03 - Interpretação e conclusões finais.
Aula 28 - 03/04 - Revisão, exercícios e dúvidas.
Aula 29 - 05/04 - Prova 2.
Aula 30 - 12/04 - Apresentação e entrega dos projetos.