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.