A disciplina consistirá de aulas expositivas sobre as etapas da compilação. O foco será na apresentação dos algoritmos para cada fase, analisando as vantagens e desvantagens de cada solução. Além de exercícios teóricos, atividades de implementação serão utilizadas para fixar os conceitos. Dada a necessidade de adaptação da disciplina para a modalidade remota, iremos adotar os seguintes métodos: 1. Vídeos semanais, não ao vivo, totalizando duas horas de duração. 2. Um encontro coletivo para tirar dúvidas de uma hora de duração. 3. Uma hora para encontros individuais também para tirar dúvidas.
Os alunos serão avaliados por atividades escritas. As atividades serão liberadas semanalmente. A frequência da semana será dada pela entrega da atividade. A cada 5 ou 6 atividades, uma nota será definida. Ao total, teremos três notas (ou três conjuntos de atividades), valendo de 0 a 10. A média será definida pela média aritmética das três notas.
Data | Assunto | Comentários | Vídeos | Atividades | Notas |
---|---|---|---|---|---|
13/05/2021 | Introdução a Disciplina | Conteúdo, Avaliação, Ambiente no Slack e GitHub | https://youtu.be/sApvcAzNtDc | Atividade 01 | Primeira Nota |
14/05/2021 | Introdução a Compiladores | Fluxograma geral do processo de compilação | |||
20/05/2021 | Análise Léxica | Processo de Varredura, Expressões Regulares (ER) | https://youtu.be/bm6TPa1cRkM | Atividade 02 | |
21/05/2021 | Autômatos | ||||
27/05/2021 | Das Expressões Regulares para os Autômatos Finitos | https://youtu.be/tz_QzTNziJk | Atividade 03 | ||
28/05/2021 | Analisador Léxico para TINY e a Ferramenta Lex | ||||
03/06/2021 | Gramáticas Livres de Contexto | Análise Sintática e Gramáticas Livres de Contexto | https://youtu.be/xulYU5zVINs | Atividade 04 | |
04/06/2021 | Árvores | ||||
10/06/2021 | Ambiguidade | https://youtu.be/q2SHogNYvaA | Atividade 05 | ||
11/06/2021 | Sintaxe da Linguagem TINY | ||||
17/06/2021 | Análise Sintática Descendente | Análise Sintática Descendente Recursiva | https://youtu.be/L32vTpA3ZRY | Atividade 06 | Segunda Nota |
18/06/2021 | |||||
24/06/2021 | Algoritmo LL(1) | https://youtu.be/ECm_Ml7iJoA | Atividade 07 | ||
25/06/2021 | Remoção de Recursão à Esquerda e Fatoração | ||||
01/07/2021 | Conjuntos Primeiro e de Sequência | https://youtu.be/rr-MTvqHUIs | Atividade 08 | ||
02/07/2021 | Construção da Tabela | ||||
08/07/2021 | Análise Sintática Ascendente | Introdução a Análise Sintática Ascendente | https://youtu.be/zzqY1GuKG6Y | Atividade 09 | |
09/07/2021 | Itens LR(0) e Análise LR(0) | ||||
15/07/2021 | Análise Sintática SLR(1) | https://youtu.be/DqqhJs0jGQQ | Atividade 10 | ||
16/07/2021 | Análise LR(1) e LALR(1) | https://youtu.be/HFBC1_dRBow | |||
22/07/2021 | YACC Parte Um, até depuração. | https://youtu.be/GqtvMObijFc | Atividade 11 | ||
23/07/2021 | YACC Parte Dois e Tratamento de Erros. | https://youtu.be/SiHhTxGwreg | |||
29/07/2021 | Análise Semântica | Introdução à Análise Semântica. | https://youtu.be/_sffSs1i1O8 | Atividade 12 | Terceira Nota |
30/07/2021 | |||||
05/08/2021 | Ordenação Topológica do Grafo de Dependências | https://youtu.be/qohHoOHWkKw | Atividade 13 | ||
06/08/2021 | Atributos herdados e sintetizados. | ||||
12/08/2021 | Introdução aos Algoritmos para Cálculo de Atributos Herdados e Sintetizados | https://youtu.be/16Ixg5ahC-U | Atividade 14 | ||
13/08/2021 | Finalizando Algoritmos para Cálculo de Atributos e iniciando Tabela de Símbolos | https://youtu.be/IPAkJ9qD--4 | |||
19/08/2021 | Continuação sobre Tabela de Símbolos, falando de Escopo e Declarações. | https://youtu.be/DmbCIZ1Q2ig | Atividade 15 | ||
20/08/2021 | Finalizando Tabela de Símbolos usando Regras Semânticas. | https://youtu.be/pyh6xDWpaMg | |||
26/08/2021 | Tipos de Dados Primitivos e Estruturados na Tabela de Símbolos | https://youtu.be/tBEsFQU3clM | Atividade 16 | ||
27/08/2021 | Equivalência de Tipos | https://youtu.be/QLG9PdvuIxQ |