Compiladores

As aulas de reposição acontecerão nos dias abaixo, sempre às 14:00hs:


Período letivo 2012.2:


Projeto:


Avaliações:


Slides:

Exemplo completo:

Site do livro:

Literatura complementar:

Mini-Triangle:

Outras referências:


Aulas ministradas:

Aula 01 - 13/12 - Apresentação da disciplina. Conceitos básicos. Terminologia.

Aula 02 - 18/12 - Especificação de linguagens de programação.

Aula 03 - 20/12 - Processadores de linguagens.

Aula 04 - 22/01 - Fases de compilação.

Aula 05 - 24/01 - Passos de compilação. Introdução à análise sintática.

Aula 06 - 05/02 - Conceitos de análise sintática. LL(k), LR(k), first e follow.

Aula 07 - 07/02 - Continuação. Exemplos e exercícios.

Aula 08 - 12/02 - Implementação de analisadores sintáticos através do método recursivo descendente.

Aula 09 - 14/02 - Continuação. Exemplos e exercícios.

Aula 10 - 19/02 - Exercícios. Apresentação do projeto.

Aula 11 - 21/02 - Implementação de analisadores léxicos.

Aula 12 - 26/02 - Aula de projeto.

Aula 13 - 28/02 - Montagem da AST. Exemplos.

Aula 14 - 05/03 - Dúvidas e projeto.

Aula 15 - 07/03 - Prova 1.

Aula 16 - 09/03 - Visitor: conceitos e exemplos. Implementação. Impressão da AST.

Aula 17 - 12/03 - Análise de contexto: identificação; tabela de símbolos; escopo estático e dinâmico.

Aula 18 - 14/03 - Análise de contexto: verificação de tipos; tipos estáticos e dinâmicos.

Aula 19 - 19/03 - Ambientes de exercução: tipos simples e tipos agregados heterogêneos.

Aula 20 - 21/03 - Ambientes de execução: tipos agregados homogêneos.

Aula 21 - 26/03 - Avaliação de expressões. Tipos de alocação de memória.

Aula 22 - 02/04 - Acompanhamento e orientação de projetos.

Aula 23 - 04/04 - Alocação estática, automática e dinâmica. Estrutura de frames. Link dinâmico, link estático e endereço de retorno.

Aula 24 - 09/04 - Acesso à variáveis locais, não-locais e globais.

Aula 25 - 11/04 - Passagem de parâmetros por valor e retorno de valor de função. Exemplos e exercícios.

Aula 26 - 16/04 - Alocação dinâmica de memória. Gerenciamento e compactação do heap.

Aula 27 - 18/04 - Ambientes de execução para linguagens orientadas à objetos.

Aula 28 - 19/04 - Funções e padrões de geração de código. Exemplos e exercícios.

Aula 29 - 23/04 - Passagem de parâmetro por endereço. Exercícios. Aspectos de implementação do gerador de código.

Aula 30 - 25/04 - Prova 2.

02/05 - Apresentação dos projetos.

04/05 - Prova final.