2025/2

Informações gerais da disciplina, bem como links para materiais e etc., estão na página do GitHub.

Sala de aula: PC-18; ensalamento


Ferramentas

Analisador léxico: Flex

Analisador sintático: Bison


Avaliação

Nota = Prova 1 * 30% + Prova 2 * 30% + Trabalho * 40%

Datas importantes

  • Prova 1: ??/??
  • Prova 2: ??/??
  • Trabalho: ??/?? até 23h59min

Conteúdo Teórico (Analisador sintático - parser)

Os capítulos de interesse do livro do dragão (primeira edição) são os seguintes:

  • Cap 4.1 - O papel do analisador sintático (pode ignorar tratamento de erros)
  • Cap 4.2 - Gramáticas Livre de contexto
  • Cap 4.3 - Escrevendo uma gramática (especialmente: eliminar ambiguidade, eliminar recursão a esquerda e fatoração a esquerda
  • Cap 4.4 - Análise sintática top-down (pode ignorar a recuperação de erros)
  • Cap 4.5 - Análise sintática bottom-up (serve mais para ajudar no entendimento geral)
  • Cap 4.7 - Analisadores sintáticos LR (até "contrução de tabelas sintáticas LR canônicas", LALR não será cobrado na prova)

Caso esteja com a segunda edição do livro, aparentemente a única mudança é que o Cap 4.7 foi dividido em dois capítulos: 4.6 e 4.7. No caso, seria o capítulo sobre parsers LR. O que precisa ser estudado é o SLR e LR canônico ( ou LR(1) ), e analisadores de precedência podem ser ignorados.

As principais fórmulas/procedimentos/operações/algoritmos estão disponíveis nesta cheat sheet.

Uma lista de exercícios pode ser encontrada aqui.

Geradores LL(1), SLR e LR(1) podem ser encontrados aqui: jsmachines, github (mesma máquina, porém salvos no github).


Cronograma

Data Aula Descrição
05/08 Aula 1 Introdução
07/08 Aula 2 Analisador léxico (Flex)
12/08 Aula 3 Análise sintática Top-down (LL) - Intro, ambiguidade, recursão, fatoração a esquerda
14/08 Aula 4 Análise sintática Top-down (LL) - Implementação manual
19/08 Aula 5 Análise sintática Top-down (LL) - Implementação manual (Lab)
21/08 Aula 6 Análise sintática Top-down (LL) - Implementação via pilha
26/08 Aula 7 Análise sintática Top-down (LL) - Implementação via pilha
28/08 Aula 8 Análise sintática Bottom-up - SLR
02/09 Aula 9 Análise sintática Bottom-up - SLR
04/09 Aula 10 Exercícios
09/09 Aula 11 Prova 1
11/09 Aula 12 Analisador sintático (Bison)
16/09 Aula 13 LLVM-IR
18/09 Aula 14 LLVM-IR
23/09 SACI
25/09 SACI
30/09 Aula 15 Análise sintática Bottom-up - LR canônico
02/10 Aula 16 Análise sintática Bottom-up - LR canônico
07/10 Aula 17 Exercícios
09/10 Aula 18 Análise sintática Bottom-up - LALR
14/10 Aula 19 Análise sintática Bottom-up - LALR
16/10 Aula 20 Exercícios
21/10 SIEPE
23/10 SIEPE
28/10 Aula 21 Exercícios
30/10 Aula 22 Prova 2
04/11 Aula 23 Tira-dúvidas Trabalho
06/11 Aula 24 Tira-dúvidas Trabalho
11/11 Aula 25 Tira-dúvidas Trabalho
13/11 Aula 26 Tira-dúvidas Trabalho
18/11 Aula 27 Apresentação Trabalho
20/11 Feriado: Dia Nacional de Zumbi e da Consciência Negra
25/11 Aula 28 Apresentação Trabalho
27/11 Aula 29 Apresentação Trabalho
02/12 Aula 30 Apresentação Trabalho
04/12
09/12
11/12 Reservado para Segunda Chamada
16/12 Exame Final