Compiladores - 2024-1
parser error UnB-\(\gamma\)

Table of Contents

Table of Contents

1. Plano de aulas

1.1. Aula 1   19_mar PdA2024

1.2. Aula 2   21_mar

  • Introdução
    • Objetivos da disciplina
    • Método de avaliação
    • conceitos gerais

1.3. Aula 3   26_mar

  • Expressões Regulares

1.4. Aula 4   28_mar

1.5. Aula 5   02_abr

1.6. Aula 6   04_abr

1.7. Aula 7   09_abr

1.8. Aula 8   11_abr

  • REGEX -> AFN -> AFNG -> REGEX

1.9. Aula 9   16_abr ICPC

  • Finais Mundiais 46 e 47 do ICPC

1.10. Aula 10   18_abr ICPC

  • Finais Mundiais 46 e 47 do ICPC

1.11. Aula 11   23_abr

1.12. Aula 12   25_abr

1.13. Aula 13   30_abr

1.14. Aula 14   02_mai PROVA

  • Prova 1

1.15. Aula 15   07_mai

1.16. Aula 16   09_mai

1.18. Aula 18   16_mai

  • Professor em viagem, exercícios no MOJ.

1.19. Aula 19   21_mai

  • professor doente 😵‍💫

1.20. Aula 20   23_mai

1.21. Aula 21   28_mai

  • Análise Sintática Descendente

1.22. Aula 22   30_mai FERIADO

1.23. Aula 23   04_jun

1.25. Aula 25   11_jun

1.26. Aula 26   13_jun

  • Continuação de Tradução MEPA

1.27. Aula 27   18_jun

  • Aula sem encontro, professor em viagem.
  • Os alunos devem trabalhar nas implementações do trabalho
    • A lista do MOJ sobre o trabalho terá iniciado nesta etapa
  • Resolva os EXERCÍCIOS DESTA LISTA

1.28. Aula 28   20_jun PROVA

  • Prova 2

1.29. Aula 29   25_jun

  • Tempo dedicado para a implementação do trabalho

1.30. Aula 30   27_jun

  • Tempo dedicado para a implementação do trabalho

1.31. Aula 31   02_jul

  • Entrega do trabalho final
  • Tempo dedicado para a implementação do trabalho

1.32. Aula 32   04_jul

  • Prova repositiva

1.33. Aula 33   09_jul

  • Finalização da disciplina
  • Data final do Trabalho

1.34. Aula 34   11_jul

  • Finalização da disciplina

2. Plano de Aulas

O plano de ensino e plano de aulas é um PLANO e pode sofrer modificações ao longo do semestre de acordo com o rendimento da turma.

Curso: Engenharia de Software Período Letivo 2024/1
Disciplina: Compiladores Código  
Carga Horária: 60 horas Créditos 04

2.1. Ementa

  • Autômatos
  • Organização e estrutura de compiladores e interpretadores
  • Análise Léxica
  • Expressões Regulares
  • Análise Sintática
  • Geração de Código

2.2. Horários das aulas e atendimento

  • Aulas:
    • {terça,quinta}-feira, das 10:00 às 11:50
  • Atendimento:
    • por e-mail nos dias e horário das aulas
      • caso necessário será aberto uma CALL para sanar as dúvidas
  • E-mail:
    • bruno.ribas EM unb.br
  • Página:

2.3. Método

Aula expositiva por meio de aula síncronas em Sala de Aula, quadro branco, lista de exercícios e, material de apoio disponibilizado no Youtube (gravados ou em live stream).

2.4. Critérios de Avaliação

  • As notas serão compostas por um número inteiro no intervalo \([0,100]\);
  • A avaliação será feita por um conjunto de provas, trabalhos e listas, com pesos variáveis.
    • As provas serão realizadas presencialmente na FGA
    • As listas serão feitas e entregues pelo sistema MOJ
    • O trabalho será feito e entregue pelo sistema MOJ
  • As avaliações serão compostas por questões, podendo ser, a critério do professor, teóricas e/ou práticas
  • Qualquer tentativa de fraude nas provas implicará em média ZERO no semestre para todos os envolvidos.

2.4.1. Presença

  • Em atividades presenciais será passada uma lista de presença;
  • Para atividades a distância uma atividade específica de presença será passada com um prazo determinado pelo professor.

A entrega DENTRO do prazo é obrigatória para todos os alunos.

2.4.2. Menção Final

As notas serão calculadas conforme a equação abaixo:

\begin{align} M_F = \frac{(\frac{ 5*P1 + 7*P2 }{12})*7 + Listas*1 + T1*2}{10} \end{align}

2.4.3. Critérios de aprovação

Obterá aprovação no curso o aluno que cumprir todas as exigências listadas abaixo:

  1. \(M_F >= 50\); e
  2. Presença em \(75\%\) ou mais das aulas.

Por fim, a menção final do curso é dada de acordo com a tabela abaixo:

\(M_F\) Menção Descrição
\(0\) SR Sem rendimento
\([1,29]\) II Inferior
\([30,49]\) MI Médio Inferior
\([50,69]\) MM Médio
\([70,89]\) MS Médio Superior
\([90,100]\) SS Superior

2.5. Bibliografia

2.5.1. Literatura principal

  • Implementação de Linguagens de Programação - Tomasz Kowaltowski - Guanabara Dois, disponível no site do Autor http://www.ic.unicamp.br/~tomasz/ilp/
  • Linguagens Formais e Autômatos - Volume 3 - 6ª Edição - Série Livros Didáticos Informática UFRGS. ISBN: 9788577807659

2.5.2. Literatura auxiliar

3. Monitor

  • Leonardo Machado - leonardogm2003 EM gmail.com / (61)983807447
  • Igor Penha - Igor.penharol EM gmail.com / @igorpenhaa / (61) 984236604
  • Bruno Ribeiro - bbrunoo EM icloud.com / @brunoriibeiro / (61) 999067943

4. Presença

  • Publicado diretamente no SIGAA

5. Notas

5.1. Listas que valem nota

O acesso nas listas abaixo foi enviado para o e-mail institucional do aluno.

Todas as listas podem ser vistar no sistema MOJ

  • [UnB-Gama/Compiladores-1 2024-1] 1a Lista - /RE/gex
    • Início: Fri Apr 12 08:00:00 -03 2024
    • Término: Sat Apr 27 23:59:00 -03 2024
  • [UnB-Gama/Compiladores-1 2024-1] 2a Lista - AFD e AFN
    • Início: Fri May 3 11:00:00 -03 2024
    • Término: Sat May 18 23:59:00 -03 2024
  • [UnB-Gama/Compiladores-1 2024-1] 3a Lista - Introdução ao PASCAL
    • Início: Thu May 23 10:00:00 -03 2024
    • Término: Wed Jun 12 23:34:58 -03 2024

5.1.1. Notas individualizadas das listas de exercícios

matrícula nome lista1-regex lista2-afsimples lista3-afsimples feitos nota
202045624 ** 93% 100% 100% 24 97
221007789 ** 68% 66% 100% 19 78
221007813 ** 100% 100% 100% 25 100
180098080 ** 100% 100% 100% 25 100
221007850 ** 93% 100% 100% 24 97
221038785 ** 93% 100% 100% 24 97
221007869 ** 100% 100% 100% 25 100
211030943 ** 81% 100% 83% 21 88
221007902 ** 81% 0% 100% 19 60
190134275 ** 93% 66% 100% 23 86
190025581 ** 75% 0% 33% 14 36
200072854 ** 100% 100% 100% 25 100
211061494 ** 81% 33% 0% 14 38
180144979 ** 0% 0% 0% 0 0
221021868 ** 87% 100% 100% 23 95
221007920 ** 100% 100% 100% 25 100
221022248 ** 100% 100% 100% 25 100
221031265 ** 100% 100% 100% 25 100
221021901 ** 93% 100% 100% 24 97
190011611 ** 93% 0% 0% 15 31
190104821 ** 68% 66% 100% 19 78
221031149 ** 100% 100% 100% 25 100
180015311 ** 50% 66% 100% 16 72
221022515 ** 100% 66% 100% 24 88
221007690 ** 100% 100% 100% 25 100
221008570 ** 75% 0% 66% 16 47
222014984 ** 0% 66% 100% 8 55
221008024 ** 100% 100% 100% 25 100
202042927 ** 100% 100% 100% 25 100
180100271 ** 100% 100% 0% 19 66
170141179 ** 50% 0% 0% 8 16
222032810 ** 100% 66% 100% 24 88
221022275 ** 100% 100% 100% 25 100
221031158 ** 75% 66% 100% 20 80
190086971 ** 100% 66% 100% 24 88
200017772 ** 100% 100% 100% 25 100
221022533 ** 100% 100% 100% 25 100
190087439 ** 100% 100% 100% 25 100
221008060 ** 87% 100% 100% 23 95
190107243 ** 100% 100% 100% 25 100
190028122 ** 100% 0% 100% 22 66
221021975 ** 75% 100% 100% 21 91
221022570 ** 100% 66% 100% 24 88
202016328 ** 100% 33% 66% 21 66
190055006 ** 0% 0% 0% 0 0
190108088 ** 100% 66% 100% 24 88
221021984 ** 93% 100% 100% 24 97
221008098 ** 100% 100% 100% 25 100
180113569 ** 93% 66% 100% 23 86
200019520 ** 93% 100% 100% 24 97
221021993 ** 100% 100% 100% 25 100
211039484 ** 75% 100% 100% 21 91
221008150 ** 100% 100% 100% 25 100
190109599 ** 93% 66% 100% 23 86
200058525 ** 100% 66% 100% 24 88
221008196 ** 12% 0% 0% 2 4
221022014 ** 87% 100% 100% 23 95
211039546 ** 50% 66% 100% 16 72
202044144 ** 81% 100% 100% 22 93
221029249 ** 100% 100% 100% 25 100
221022041 ** 93% 66% 100% 23 86
170107574 ** 93% 100% 100% 24 97
221022060 ** 50% 0% 33% 10 27
200040201 ** 81% 0% 100% 19 60
202016767 ** 100% 100% 100% 25 100
221008267 ** 81% 100% 100% 22 93
190091703 ** 81% 100% 100% 22 93
180125974 ** 18% 0% 100% 9 39
221007653 ** 100% 33% 100% 23 77
190033681 ** 100% 66% 100% 24 88
221008294 ** 81% 100% 100% 22 93
190047348 ** 37% 0% 0% 6 12
221039497 ** 100% 66% 100% 24 88
221008300 ** 100% 100% 100% 25 100
180145231 ** 0% 0% 0% 0 0
211043683 ** 100% 66% 100% 24 88
202016945 ** 100% 66% 100% 24 88
200041606 ** 100% 100% 100% 25 100
221022687 ** 0% 0% 0% 0 0
221008703 ** 93% 100% 100% 24 97
170111059 ** 87% 0% 100% 20 62
222007021 ** 100% 100% 83% 24 94
200025058 ** 100% 0% 100% 22 66
211039635 ** 81% 0% 100% 19 60
202023968 ** 100% 100% 100% 25 100
190129221 ** 0% 0% 0% 0 0
221037975 ** 75% 66% 100% 20 80
221008679 ** 18% 100% 100% 12 72
221037993 ** 75% 100% 100% 21 91
221031229 ** 56% 0% 100% 15 52
221008768 ** 0% 0% 0% 0 0
211039662 ** 93% 100% 100% 24 97
190115548 ** 0% 0% 0% 0 0
221008688 ** 93% 33% 100% 22 75
190036761 ** 0% 66% 100% 8 55
222021817 ** 100% 100% 100% 25 100
221008436 ** 18% 33% 100% 10 50
190118555 ** 87% 66% 100% 22 84
200044559 ** 100% 100% 100% 25 100
231032121 ** 81% 66% 100% 21 82
190101091 ** 75% 100% 0% 15 58
160149410 ** 93% 100% 100% 24 97
212002907 ** 100% 100% 100% 25 100
total ** % % % 25  

Legenda:

5.2. Trabalhos que valem nota

5.2.1. Trabalho 1 - Construção de um Compilador PASCAL

  • O trabalho possui peso 2, conforme definição de cálculo da menção final
  • As notas variam no intervalo inteiro de \([0,100]\)
  • Este trabalho pode ser feito em tuplas de até 4 componentes, sendo aplicadas algumas modificações na nota, a saber:
    • 4-upla: \(\lfloor T*0.8 \rfloor\)
    • 3-upla: \(\lfloor T*0.9 \rfloor\)
    • 2-upla: \(\lfloor T*1 \rfloor\)
    • 1-upla: \(\lfloor T*1+10 \rfloor\)
  • A marcação das tuplas serão feitas em 2 passos:
    • primeiramente serão marcadas o primeiro par por meio do sistema parieitor
    • após, será feita uma segunda rodada para a segunda marcação
  • O trabalho consiste na construção de um Compilador PASCAL, conforme especificação do livro do Tomasz, e será divido nas seguintes etapas:
    • Analisador Léxico - \(20\) %
      • divide a entrada em tokens
    • Analisador Sintático - \(40\) %
      • identifica as estruturas dentro da gramática
    • Gerador de código - \(40\) %
      • traduz os comandos da linguagem de entrada em linguagem de saída
  • A avaliação do trabalho será composta por meio de lista no sistema MOJ, onde as equipes poderão enviar os códigos referentes a cada uma das etapas definidas acima.

5.3. Consolidadas

matricula P1 P2 TO LS MF SIT nome
202045624 059 060 103 097 072 MS **
221007789 093 065 000 078 061 MM **
221007813 100 075 155 100 100 SS **
180098080 046 070 000 100 052 MM **
221007850 096 063 000 097 063 MM **
221038785 031 031 058 097 043 MI **
221007869 097 036 000 100 052 MM **
211030943 078 065 051 088 068 MM **
221007902 081 065 046 060 065 MM **
190134275 060 030 061 086 050 MM **
190025581 069 049 060 036 055 MM **
200072854 076 055 055 100 065 MM **
180144979 032 012 000 000 014 II **
221021868 075 080 000 095 064 MM **
221007920 096 076 075 100 084 MS **
221022248 082 090 097 100 090 SS **
221031265 100 061 043 100 072 MS **
221021901 080 088 059 097 080 MS **
190011611 053 060 050 031 053 MM **
190104821 044 065 042 078 055 MM **
221031149 080 064 057 100 070 MS **
180015311 041 056 060 072 054 MM **
221022515 098 050 037 088 065 MM **
221007690 082 066 115 100 083 MS **
221008570 080 051 058 047 060 MM **
222014984 057 041 057 055 050 MM **
221008024 080 065 000 100 059 MM **
202042927 028 025 000 100 028 II **
180100271 021 ** 000 066 012 II **
170141179 ** ** 000 016 001 II **
222032810 078 041 041 088 056 MM **
221022275 078 081 083 100 082 MS **
221031158 089 051 007 080 056 MM **
190086971 084 055 041 088 063 MM **
200017772 055 045 051 100 054 MM **
221022533 041 035 061 100 048 MI **
190087439 037 046 055 100 050 MM **
221008060 091 051 063 095 069 MM **
190107243 093 061 103 100 082 MS **
190028122 075 055 050 066 060 MM **
221021975 042 051 056 091 053 MM **
221022570 092 055 083 088 074 MS **
202016328 050 043 073 066 053 MM **
190108088 064 065 055 088 065 MM **
221021984 064 050 042 097 057 MM **
221008098 048 065 035 100 057 MM **
180113569 066 050 013 086 050 MM **
200019520 078 039 061 097 060 MM **
221021993 100 055 059 100 073 MS **
211039484 070 066 035 091 063 MM **
221008150 096 063 155 100 094 SS **
190109599 047 055 061 086 056 MM **
200058525 085 061 046 088 067 MM **
221008196 054 045 000 004 034 MI **
221022014 095 085 000 095 071 MS **
211039546 073 062 054 072 064 MM **
202044144 073 090 051 093 077 MS **
221029249 062 065 007 100 056 MM **
221022041 088 061 042 086 067 MM **
170107574 040 025 061 097 043 MI **
221022060 049 063 043 027 051 MM **
200040201 094 055 001 060 056 MM **
202016767 034 063 048 100 055 MM **
221008267 056 060 055 093 061 MM **
190091703 074 090 097 093 087 MS **
180125974 018 042 032 039 032 MI **
221007653 055 080 034 077 063 MM **
190033681 040 061 048 088 054 MM **
221008294 080 044 055 093 061 MM **
221039497 062 041 046 088 052 MM **
221008300 065 053 115 100 073 MS **
180145231 ** ** 000 000 000 II **
211043683 073 051 034 088 057 MM **
202016945 074 060 046 088 064 MM **
200041606 019 045 055 100 044 MI **
221022687 ** ** 000 000 000 II **
221008703 070 075 075 097 075 MS **
170111059 074 051 057 062 060 MM **
222007021 085 031 037 094 054 MM **
200025058 072 055 001 066 050 MM **
211039635 062 065 000 060 050 MM **
202023968 057 055 012 100 051 MM **
190129221 ** ** 000 000 000 II **
221037975 080 025 056 080 052 MM **
221008679 065 075 000 072 056 MM **
221037993 038 065 020 091 050 MM **
221031229 080 047 043 052 056 MM **
221008768 073 055 000 000 043 MI **
211039662 073 043 048 097 058 MM **
221008688 067 037 049 075 051 MM **
222021817 100 063 072 100 079 MS **
221008436 082 049 041 050 057 MM **
190118555 036 026 043 084 038 MI **
200044559 050 039 060 100 052 MM **
231032121 065 051 032 082 054 MM **
190101091 073 055 012 058 051 MM **
160149410 072 063 065 097 069 MM **
212002907 094 065 103 100 084 MS **
média 067 055 045 079 058 ** Média da turma
  • Aprovados: 83 = 84% / 84%
  • Reprovados: 15/15 = 15% / 15%
  • Por menção:
    • SS: 3 = 3% / 3%
    • MS: 17 = 17% / 17%
    • MM: 63 = 64% / 64%
    • MI: 8 = 8% / 8%
    • II: 7 = 7% / 7%
    • SR: 0 = 0%
  • P1 é prova1
  • P2 é prova2
  • TO é trabalho
  • LS é listas

Author: Bruno Ribas

Created: 2024-07-10 Wed 13:08

Validate