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.