Compiladores
Calendário de final de ano:
15/11 - 2ªf - feriado, haverá aula das 8:00 às 10:00hs
19/11 - 6ªf - não haverá aula
22/11 - 2ªf - aula normal
26/11 - 6ªf - aula normal
29/11 - 2ªf - aula normal
03/12 - 6ªf - aula normal
06/12 - 2ªf - prova P2
10/12 - 6ªf - não haverá aula, apenas segunda chamada
11/12 - sábado - entrega do trabalho (até meio-dia no colegiado)
13/12 - 2ªf - prova final
Período letivo 2010.2:
Projeto:
Avaliações:
Slides:
Exemplo completo:
Site do livro:
Literatura complementar:
Mini-Triangle:
Outras referências:
Aulas ministradas:
Aula 01 - 06/08 - Apresentação da disciplina. Conceitos básicos. terminologia.
Aula 02 - 09/08 - Especificação de linguagens de programação. Alto-nível x baixo-nível. Fonte x objeto. Compilação x interpretação.
Aula 03 - 13/08 - Processadores de linguagens. Diagramas-T.
Aula 04 - 16/08 - Fases e passos de compilação.
Aula 05 - 20/08 - Conceitos básicos de análise sintática. micro-English.
Aula 06 - 23/08 - Análise descendente x ascendente. Gramáticas e linguagens LL(k) e LR(k).
Aula 07 - 27/08 - Manipulação gramatical. Exemplos e exercícios.
Aula 08 - 30/08 - Reconhecimento e classificaçao de tokens. Gramática léxica.
Aula 09 - 03/09 - Método recursivo descendente. Exemplos e exercícios.
Aula 10 - 10/09 - Implementação do analisador sintático.
Aula 11 - 13/09 - Implementação do analisador léxico. Apresentação do projeto.
Aula 12 - 17/09 - Representação e montagem da árvore de sintaxe abstrata
Aula 13 - 20/09 - Visitor. Exemplo completo.
Aula 14 - 27/09 - Dúvidas sobre o projeto
Aula 15 - 01/10 - Análise de contexto - identificação
Aula 16 - 04/10 - Prova 1
Aula 17 - 08/10 - Análise de contexto - verificação de tipos
Aula 18 - 15/10 - Representação de dados - tipos simples
Aula 19 - 18/10 - Representação de dados - agregados heterogêneos e homogêneos
Aula 20 - 22/10 - Exercícios sobre representação de dados
Aula 21 - 25/10 - Avaliação de expressões
Aula 22 - 29/10 - Alocação estática e automática. Frames. SB, LB, ST, link dinâmico, link estático e endereço de retorno.
Aula 23 - 08/11 - Exercícios sobre frames e endereços de variáveis. Passagem de parâmetros e retorno de função.
Aula 24 - 12/11 - Exemplo completo de passagem de parâmetros e retorno de valor de função.
Aula 25 - 15/11 - Passagem de parâmetros por endereço. Cálculo do link estático. Alocação dinâmica e gerenciamento do heap.
Aula 26 - 22/11 - Exemplo completo.
Aula 27 - 26/11 - Supervisão de projeto.
Aula 28 - Geração de código: funções e templates.
Aula 29 - Implementação do gerador de código.
Aula 30 - 06/12 - Prova 2.
10/12 - Segunda chamada.
13/12 - Prova final.