2025/1

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

Sala de aula: ANFI-B; 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: 29/04
  • Prova 2: 05/06
  • Trabalho: 16/06 até 23h59min

Apresentação do trabalho será obrigatória apenas para quem tirar menos que 70 na média das provas: (P1 + P2) / 2


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
11/03 Aula 1 Introdução
13/03 Aula 2 Analisador léxico (Flex) e sintático (Bison)
18/03 Aula 3 LLVM-IR
20/03 Aula 4 LLVM-IR
25/03 Aula 5 Primeiras regras sintáticas
27/03 Aula 6 Expressões (análise semântica)
01/04 Aula 7 Comando while
03/04 Aula 8 Comando if
08/04 Aula 9 Chamadas de Procedimento
10/04 Aula 10 Chamadas de Procedimento
15/04 Aula 11 Funções
17/04 Aula 12 Aula de lab?
22/04 Aula 13 Aula de lab?
24/04 Aula 14 Dúvidas
29/04 Aula 15 Prova 1
01/05 Feriado: Dia do trabalho
06/05 Aula 16 Revisão de Gramáticas, linguagens, ambiguidades
08/05 Aula 17 Análise Sintática Descendente (Top-Down)
13/05 Aula 18 Análise Sintática Ascendente (Botton-up)
15/05 Aula 19 Construção das tabelas e exercício SLR(0)
20/05 Aula 20 Análise SLR(1)
22/05 Aula 21 Análise LR(1)
27/05 Aula 22 Análise LR(1)
29/05 Aula 23 Análise LR(1)
03/06 Aula 24 Conclusão - Terminologia
05/06 Aula 25 Prova 2
10/06 Aula 26 Tira dúvidas trabalho
12/06 Aula 27 Tira dúvidas trabalho
17/06 Aula 28 Apresentação de Trabalho
19/06 Feriado: Corpus Christi
24/06 Aula 29 Apresentação de Trabalho
26/06 Aula 30 Apresentação de Trabalho
01/07 Reservado para Segunda Chamada
08/07 Exame Final

Notas

GRR Prova 1 Prova 2 Trabalho Média Exame Final Nota Final Apresentar Trabalho?
GRR20196993 90.0 90.0 54.0 nao
GRR20203913 85.0 55.0 42.0 nao
GRR20196474 95.0 45.0 42.0 nao
GRR20224386 90.0 45.0 40.5 sim
GRR20171593 5.0 1.5 sim
GRR20206686 85.0 90.0 52.5 nao
GRR20211791 90.0 100.0 57.0 nao
GRR20211775 95.0 28.5 sim
GRR20223831 100.0 25.0 37.5 sim
GRR20203953 100.0 35.0 40.5 sim
GRR20211761 95.0 100.0 58.5 nao
GRR20224758 90.0 85.0 52.5 nao
GRR20206149 85.0 40.0 37.5 sim
GRR20224890 100.0 80.0 54.0 nao
GRR20171849 0.0 sim
GRR20211792 95.0 90.0 55.5 nao
GRR20224169 95.0 90.0 55.5 nao
GRR20197161 85.0 40.0 37.5 sim
GRR20211779 100.0 90.0 57.0 nao
GRR20197157 50.0 10.0 18.0 sim
GRR20190482 100.0 100.0 60.0 nao
GRR20205675 95.0 90.0 55.5 nao
GRR20205648 90.0 75.0 49.5 nao
GRR20203891 90.0 65.0 46.5 nao
GRR20224379 95.0 80.0 52.5 nao
GRR20190425 95.0 25.0 36.0 sim
GRR20191284 100.0 45.0 43.5 nao
GRR20203965 85.0 80.0 49.5 nao
GRR20221234 90.0 70.0 48.0 nao
GRR20205104 100.0 100.0 60.0 nao
GRR20190158 100.0 30.0 sim
GRR20200183 75.0 45.0 36.0 sim
GRR20210574 100.0 100.0 60.0 nao
GRR20205105 90.0 30.0 36.0 sim
GRR20206144 95.0 85.0 54.0 nao
GRR20211766 95.0 85.0 54.0 nao
GRR20211798 95.0 100.0 58.5 nao
GRR20211772 80.0 85.0 49.5 nao
GRR20190360 90.0 20.0 33.0 sim

Agenda da apresentação do trabalho

Dia Hora GRR

17/06

15:30

GRR20224386

17/06

15:55

GRR20171593

17/06

16:20

GRR20211775

17/06

16:45

GRR20223831

17/06

17:10

GRR20203953

24/06

15:30

GRR20206149

24/06

15:50

GRR20190360

24/06

16:20

GRR20197161

24/06

16:40

GRR20197157

24/06

17:10

GRR20190425

26/06

15:30

GRR20190158

26/06

15:50

GRR20200183

26/06

16:20

GRR20205105

26/06

16:40

GRR20171849