Compiladores/Pautas 2017-2018/Pauta do Projecto: Entrega Final

From Wiki**3

< Compiladores‎ | Pautas 2017-2018
AVISOS - Avaliação em Época Normal

Esclarecimento de dúvidas:

  • Consultar sempre o corpo docente atempadamente: presencialmente ou através do endereço oficial da disciplina [1].
  • Não utilizar fontes de informação não oficialmente associadas ao corpo docente (podem colocar em causa a aprovação à disciplina).
  • Não são aceites justificações para violações destes conselhos: quaisquer consequências nefastas são da responsabilidade do aluno.

Requisitos para desenvolvimento, material de apoio e actualizações do enunciado (ver informação completa em Projecto de Compiladores):

  • O material de apoio é de uso obrigatório e não pode ser alterado.
  • Verificar atempadamente (mínimo de 48 horas antes do final de cada prazo) os requisitos exigidos pelo processo de desenvolvimento.

Processo de avaliação (ver informação completa em Avaliação do Projecto):

  • Datas: 2018/03/23 17:00 (inicial); 2018/04/20 17:00 (intercalar); 2018/05/21 17:00 (final); 2018/05/21-2018/05/25 (teste prático).
  • A entrega inicial, sendo crucial para o projecto, é obrigatória e sua não realização implica a exclusão da avaliação do projecto e, por consequência, da avaliação da disciplina.
  • Verificar atempadamente (até 48 horas antes do final de cada prazo) os requisitos exigidos pelo processo de avaliação, incluindo a capacidade de acesso ao repositório CVS.
  • Apenas se consideram para avaliação os projectos existentes no repositório CVS oficial.
  • Trabalhos não presentes no repositório no final do prazo têm classificação 0 (zero) (não são aceites outras formas de entrega). Não são admitidas justificações para atrasos em sincronizações do repositório. A indisponibilidade temporária do repositório, desde que inferior a 24 horas, não justifica atrasos na submissão de um trabalho.
  • A avaliação do projecto pressupõe o compromisso de honra de que o trabalho correspondente foi realizado pelos alunos correspondentes ao grupo de avaliação.
  • Fraudes na execução do projecto terão como resultado a exclusão dos alunos implicados do processo de avaliação em curso.
Material de Uso Obrigatório
As bibliotecas CDK e RTS de apoio ao desenvolvimento do projecto são de uso obrigatório:
A máquina virtual, fornecida para desenvolvimento do projecto, já contém todo o material de apoio.
Uso Obrigatório: Repositório CVS
Apenas se consideram para avaliação os projectos existentes no repositório CVS oficial.

Trabalhos não presentes no repositório no final do prazo têm classificação 0 (zero) (não são aceites outras formas de entrega). Não são admitidas justificações para atrasos em sincronizações do repositório. A indisponibilidade temporária do repositório, desde que inferior a 24 horas, não justifica atrasos na submissão de um trabalho.

Prazo de Revisão

PAUTA EM ACTUALIZAÇÃO

A entrega final pode ser revista nos horários de dúvidas até 4ª feira, 2018/06/06.

Critérios de Avaliação

São considerados os das entregas anteriores (adaptados).

A entrega final é obrigatória.

Legenda

A entrega final vale 12 valores em 20.

Os alunos são encorajados a compreender/verificar os problemas reportados. Todos os alunos podem proceder a correcções pequenas (contactar responsável) para resolver algum problema. Haverá penalizações por efectuar correcções a código entregue.

Quaisquer dúvidas ou sugestões, relativas a esta informação, devem ser enviadas ao responsável pela disciplina ou esclarecidas presencialmente nos horários de dúvidas.

Recorda-se que a classificação global do projecto não se limita à soma das classificações das várias entregas: a classificação final é ainda influenciada pela classificação do teste prático. Este teste é obrigatório e eliminatório (i.e., a classificação deve ser maior que zero).

Descrição dos problemas assinalados na pauta

Problemas na análise lexical

  • .* - uso indevido do padrão
  • chars - definição indevida (não existem na linguagem)
  • comments - problemas com comentários (em excesso ou em falta)
  • floats - problemas com vírgula flutuante (definições incompletas)
  • ints - problemas com inteiros (definições incompletas ou excessivas)
  • keywords - problemas com palavras chave (a mais ou a menos)
  • strings - problemas na definição de strings (composição, concatenação indevida, etc.)
  • [outras anotações] - casos específicos (contactar professor responsável)

Problemas na análise sintáctica

  • conflicts - conflitos no analisador LALR(1)
  • exprs - problemas nas expressões (em falta ou com inclusão de casos errados)
  • lvals - problemas na definição de left-values (e.g. ausência de definições ou incompletas)
  • precs - problemas na definição de precedências (tipicamente, em excesso ou sem correspondência com o manual)
  • strings - problemas na definção de cadeias de caracteres
  • syntax - problemas na definição da gramática (relativamente ao manual de referência)
  • [outras anotações] - casos específicos (contactar professor responsável)

Problemas nos nós

  • lvals - problemas na definição ou uso de left-values
  • decls - problemas na definição de declarações/definições de funções/variáveis
  • fun call - problemas na definição de chamadas a funções
  • [outras anotações] - casos específicos (contactar professor responsável)

Problemas na análise semântica e na geração de código

  • symbol/funsym - problemas na definição dos símbolos
  • stack - problemas na definição do stack das funções
  • types - problemas na verificação de tipos
  • code/postfix - problemas na geração de código
  • [outras anotações] - casos específicos (contactar professor responsável)

Outros problemas

  • empty methods - métodos vazios nos visitors (não deviam ser vazios)
  • types - problemas com o visitor de verificação de tipos
  • [outras anotações] - casos específicos (contactar professor responsável)

Pauta

EM ACTUALIZAÇÃO

<runphp> echo<<<___EOT___

<colgroup width="64"></colgroup> <colgroup span="2" width="41"></colgroup> <colgroup width="46"></colgroup> <colgroup width="37"></colgroup> <colgroup span="2" width="84"></colgroup> <colgroup width="89"></colgroup> <colgroup width="37"></colgroup> <colgroup span="2" width="84"></colgroup> <colgroup width="81"></colgroup> <colgroup width="37"></colgroup> <colgroup span="2" width="84"></colgroup> <colgroup width="69"></colgroup> <colgroup width="37"></colgroup> <colgroup width="69"></colgroup> <colgroup width="37"></colgroup> <colgroup width="79"></colgroup> <colgroup width="37"></colgroup> <colgroup width="79"></colgroup> <colgroup width="98"></colgroup> <colgroup width="84"></colgroup> <colgroup width="73"></colgroup> <tbody> </tbody>
  Nota Total Qual Análise Lexical Análise Sintáctica Nós Análise Semântica e Geração de Código Avaliação Global Repositório CVS Testes Automáticos https://goo.gl/NhxzHB Problemas Descontos
Número 12 12 100% 0.75 problemas a mais a menos 0.75 problemas a mais a menos 0.75 problemas a mais a menos 0.75   0.5   0.5   100%
001 6.93 6.93 40.63 0.50 ints, doubles, strings, string special ops           1.00               1.00   81.72    
002 2.52 2.52 35.94 0.50 doubles, idents, ints, strings, bad patterns, indent string concat     conflicts     0.75 again, stop, return, decls, funcs, qual             1.00   0.00    
003 5.15 5.15 50.00 1.00   \0           1.00               1.00   32.93    
004 NA sem teste prático
005 5.37 5.37 35.94 0.50 bad patterns, indent, idents, strings, string special, ints, doubles string special, ops           0.75 address, decls, funcs, vars, read             1.00   57.19    
006 5.22 5.22 35.94 0.50 elsifs, strings, string special, ints, doubles, idents, indent string concat           0.75 address, decls, vars, lvals, index, read             1.00   54.06    
007 1.86 1.86 26.56 0.25 strings, ints, idents, doubles, etc, (simple) ops, keywords, comments indent, comments         0.50 evaluation, read, address, again, stop, alloc, block, call, decls, funcs, identity, return             1.00   0.00    
008    
009 8.50 8.50 50.00 1.00 strings             1.00               1.00   100.00    
010 5.85 5.85 50.00 1.00 strings             1.00 decls, funcs             1.00   46.93    
011 3.86 3.86 40.63 0.75 doubles, strings, idents       conflicts     0.75 again, stop, call, lvals symmetric           1.00   20.39    
012 8.17 8.17 45.31 0.75 strings, string special             1.00               1.00   100.00    
013 3.12 3.12 40.63 0.50 strings, string special keywords, indent helper           1.00               1.00   5.52    
014 8.50 8.50 50.00 1.00               1.00 decls, vars, qual             1.00   100.00    
015 8.17 8.17 45.31 0.75   bad code, then, else           1.00               1.00   100.00    
016 7.17 7.17 35.94 0.50 doubles, strings, ints, idents             0.75 if, address             1.00   93.11    
017 2.84 2.84 40.63 0.50 doubles, strings, string special, idents ops, keywords, comments, string concat     conflicts     1.00   (sweep)           1.00   0.00    
018 4.74 4.74 45.31 0.75 doubles       conflicts     1.00               1.00   31.31    
019 4.54 4.54 45.31 1.00               0.75 identity, address, decls, funcs             1.00   27.29    
020 2.19 2.19 31.25 0.25 strings, string special, types, idents ops doubles, indent, string specials, ints         0.75 read, null, block, call (decls)           1.00   0.00    
021 8.17 8.17 45.31 0.75 idents             1.00 decls, vars, qual             1.00   100.00    
022 4.33 4.33 45.31 0.75 idents, strings, string ignore             1.00 alloc             1.00   23.08    
023 NA sem entrega final
024 5.12 5.12 45.31 1.00               0.75 decls, funcs, vars             1.00   39.01    
025 7.36 7.36 45.31 0.75 bad patterns, indent, doubles             1.00               1.00   83.76    
026 7.18 7.18 40.63 0.50 ints, doubles, idents, bad pattern, strings, keywords bad code, then, else, do           1.00               1.00   86.81    
027 4.87 4.87 40.63 0.50 ints, doubles, comments, strings string concat           1.00 read             1.00 dot git 40.56    
028 3.36 3.36 40.63 0.50 ints, doubles, comments, strings comments, ops, keywords, string special     conflicts     1.00 isTweet, isPost             1.00   10.41    
029 8.17 8.17 45.31 0.75 indent (check indent), doubles             1.00               1.00   100.00    
030 8.01 8.01 50.00 1.00               1.00               1.00   90.11    
031 4.59 4.59 45.31 0.75 bad patterns, indent, doubles, strings string concat           1.00 index, (use)             1.00   28.32    
032 2.52 2.52 35.94 0.50 strings, string special, doubles, ints ops string special, ints         0.75 call, lvals             1.00   0.00    
033 8.17 8.17 45.31 0.75 strings, string special, ints base7           1.00               1.00   100.00    
034 2.84 2.84 40.63 0.50 ints, strings, string special, bad patterns, indent keywords, ops, string special           1.00 address             1.00   0.00    
035 3.17 3.17 45.31 0.75 continue_marker, ints, indent, string ignore base16           1.00               1.00   0.00    
036 2.84 2.84 40.63 0.75 doubles, strings, string ignore ops     conflicts     0.75 again, stop, decls, funcs             1.00   0.00    
037 8.50 8.50 50.00 1.00               1.00               1.00   100.00    
038    
039 4.60 4.60 45.31 0.75 comments, indent             1.00 return             1.00   28.60    
040 5.82 5.82 50.00 1.00               1.00               1.00   46.33    
041 2.19 2.19 31.25 0.50 idents, strings, string special, doubles string special string special         0.50 decls, funcs, vars, call, alloc body           1.00   0.00    
042 1.31 1.31 18.75 0.50 ints, doubles, strings bellow, ops, string special string special   conflicts     0.00 decls, funcs, alloc (acrítico)         (acrítico) 0.75 o files 0.00    
043    
044 2.84 2.84 26.56 0.75 ints, strings, idents hex string special, ...         0.00 null, address (acrítico)         (acrítico) 1.00   19.63    
045 NA sem teste prático
046 5.21 5.21 35.94 0.75 strings, string special string special           0.50 decls, funcs, vars, lvals, qual, calls             1.00   53.85    
047 8.17 8.17 45.31 0.75 ints, strings             1.00               1.00   100.00    
048 3.77 3.77 31.25 0.25 bad code, indent, doubles, bad patterns, indent       conflicts     0.75 memory, decls, funcs, return             1.00   31.74    
049 NA eliminado por cópia
050 8.06 8.06 45.31 1.00               0.75 return, decls, types             1.00   97.80    
051 3.48 3.48 35.94 0.50 bad patterns, indent, idents, ints, doubles ops, keywords           0.75 read, address, decls, types, block             1.00   19.23    
052 NA eliminado por cópia
053 5.05 5.05 40.63 0.75 idents, ints             0.75 read, again, stop, null program, index_expression           1.00   44.21    
054 8.50 8.50 50.00 1.00               1.00               1.00   100.00    
055 3.17 3.17 45.31 0.75 doubles   string special   conflicts     1.00               1.00   0.00    
056 NA eliminado por cópia
057 NA eliminado por cópia
058 2.84 2.84 40.63 0.50 ints   indent         1.00               1.00   0.00    
059 7.46 7.46 45.31 0.75 strings comments, null, ops           1.00 (call)             1.00   85.71    
060 7.64 7.64 45.31 0.75 strings, string special, doubles, ints comments, sting special           1.00               1.00   89.38    
061 3.17 3.17 45.31 0.75 ints string concat           1.00 address             1.00   0.00    
062 NA sem entrega final
063 4.28 4.28 40.63 0.75 doubles, ints, strings, string ignore ops     conflicts     0.75 return, decls, funcs             1.00   28.75    
064 4.33 4.33 40.63 0.50 strings, string special, ints, comments bad code, do, assign, ops, string special           1.00 identity             1.00   29.70    
065 3.73 3.73 35.94 0.50 bad patterns, indent, strings, string special, ints, doubles ops, string special           0.75 read, null             1.00   24.28    
066 8.17 8.17 45.31 1.00 doubles             0.75   program           1.00   100.00    
067 3.65 3.65 45.31 0.75 bad patterns, indent, strings, string special, ints             1.00               1.00   9.55    
068 8.17 8.17 45.31 0.75 bad patterns, strings, string special, doubles, idents, indent             1.00 _funcName             1.00   100.00    
069 5.37 5.37 45.31 0.75 bad patterns, doubles, ints ops           1.00 identity             1.00   44.06    
070 8.17 8.17 45.31 0.75 ints, doubles             1.00               1.00   100.00    
071 NA eliminado por cópia
072 3.50 3.50 50.00 1.00 idents             1.00 decls, funcs             1.00   0.00    
073 2.19 2.19 31.25 0.25 (simple) ops, keywords (etc.)         0.75 decls, funcs, vars, types             1.00   0.00    
074 3.17 3.17 45.31 0.75 ints, doubles, strings, string ignore, string special       conflicts     1.00               1.00   0.00    
075 5.45 5.45 31.25 0.50 bad patterns, indent, doubles, strings, string special, idents, ints string special, ops, lastToken           0.50 address, read, call, lvals, decls, funca, types, (return)             1.00   65.27    
076 NA eliminado por cópia
077 7.07 7.07 45.31 0.75 strings, string special, indent ops           1.00               1.00   77.97    
078 NA eliminado por cópia
079 3.17 3.17 45.31 0.75 bad patterns, initially, idents             1.00               1.00   0.00    
080 7.93 7.93 64.06 0.75 doubles, strings, string ignore keywords   1.00       1.00               1.00   68.82    
081 2.84 2.84 40.63 0.50 bad patterns, doubles bad code, yywrap, ops           1.00               1.00   0.00    
082 6.58 6.58 50.00 1.00               1.00 objects             1.00   61.54    
083 3.80 3.80 40.63 0.50 bad patterns, idents, ints string concat, ops     conflicts     1.00               1.00   19.18    
084 6.07 6.07 45.31 0.75 strings, string special ops, string special     conflicts     1.00               1.00   57.96    
085 NA  
086 NA eliminado por cópia
087 3.41 3.41 40.63 0.50 ints, doubles, strings, string special string concat           1.00 call             1.00   11.37    
088 6.04 6.04 45.31 0.75   ops, string concat           1.00               1.00   57.26    
089 NA sem teste prático
090 5.58 5.58 45.31 0.75 ints, doubles             1.00               1.00   48.17    
091 8.12 8.12 45.31 0.75 bad patterns, ints string concat           1.00               1.00   98.90    
092 3.88 3.88 40.63 0.50 bad patterns, strings, string special, doubles, idents, indent string special, string ignore, ops           1.00 index             1.00   20.82    
093 NA sem entrega final
094 6.00 6.00 35.94 0.75 ints, doubles             0.50 ifs, decls, funcs, call, lvals, index, identity, null, read (index)           1.00   69.64    
095 4.25 4.25 40.63 0.50 ints, doubles, strings, string special ops, string special           1.00 identity             1.00   28.21    
096 6.16 6.16 45.31 0.75 eles, elsif, doubles             1.00               1.00   59.83    
097 NA sem entrega final
098 4.46 4.46 31.25 0.50 bad patterns, strings, string ignore, idents, comments, doubles             0.50 evaluation, ifs, tweet, post, read, again, stop, return, block, alloc, index, call, sweep             1.00   45.45    
099 7.59 7.59 50.00 1.00               1.00 set_as_main             1.00   81.75    
100 NA  
101 5.30 5.30 45.31 0.75 doubles             1.00               1.00   42.66    
102 3.41 3.41 35.94 0.50 idents, bad patterns, strings, string special, comments comments, ops string special   conflicts     0.75 read, address, decls, funcs, vars, qual             1.00   17.95    
103 7.99 7.99 45.31 0.75 strings, string ignore             1.00               1.00   96.40    
104 NA sem entrega final
105 3.49 3.49 35.94 0.50 ints keywords, ops, string concat indent         0.75 return, alloc, index             1.00   19.55    
106 3.17 3.17 45.31 0.75 ints             1.00               1.00   0.00    
107 2.52 2.52 35.94 0.50 strings, string special, ints, doubles, idents, indent keywords, ops, comments string special         0.75 read, sweep             1.00   0.00    
108 4.67 4.67 45.31 0.75 ints, idents ops           1.00 address             1.00   29.91    
109 2.52 2.52 35.94 0.50 idents, strings, string special, ints, doubles comments, ops, keywords, string special     conflicts     0.75 identity, address             1.00   0.00    
110 7.07 7.07 50.00 1.00               1.00               1.00   71.32    
111 NA eliminado por cópia
112 NA  
113 NA sem entrega final
114 3.32 3.32 45.31 0.75 strings, string ignore, ints, doubles             1.00 decls, funcs             1.00   2.99    
115 NA sem entrega final
116 4.07 4.07 40.63 0.50 ints bad code, tweet, etc. (stack checker), string special           1.00               1.00   24.48    
117 2.52 2.52 35.94 0.50 ints, doubles, bad patterns, strings, string special ops string special         0.75 decls, funcs, vars, calls, lvals qualifier           1.00   0.00    
118 3.40 3.40 31.25 0.50 ints, strings, string special ops, string special, keywords           0.50 again, stop   index, alloc, address, null, read         1.00   24.23    
119 NA sem entrega final
120 NA  
121 3.88 3.88 45.31 0.75 idents, strings, string special, doubles             1.00               1.00   14.23    
122 6.33 6.33 35.94 0.50 bad patterns, indent, strings, string special, ints, doubles convertSpecialChar, string concat           0.75 decls, funcs, vars, calls, lvals, index, alloc             1.00   76.22    
123 3.97 3.97 40.63 0.50 strings, string special, doubles, ints, bad patterns, indent             1.00 null, decls, qual             1.00   22.59    
124 NA  
125 NA sem entrega final
126 2.52 2.52 35.94 0.50 strings, bad patterns strings special string special, indent   conflicts     0.75 again, stop             1.00   0.00    
127 6.32 6.32 45.31 0.75 strings, string ignore, string special, doubles, ints string special           1.00               1.00   62.88    
128 8.17 8.17 45.31 0.75 ints, doubles             1.00               1.00   100.00    
129 3.64 3.64 35.94 0.50 ints, doubles, idents, strings, string special string concat     conflicts     0.75 again, stop, null             1.00   22.41    
130 4.44 4.44 35.94 0.75 strings, string special, ints, doubles keywords, string special string special         0.50 alloc, decls, index, read, sweep assignment, types null, identity, address, call         1.00   38.46    
131 4.23 4.23 45.31 0.75 ints, doubles             1.00               1.00   21.13    
132 3.97 3.97 35.94 0.50 comments, idents, ints, doubles string special, string concat, ops string special   conflicts     0.75 read, index, call             1.00   29.10    
133 4.96 4.96 40.63 0.50 ints, doubles string concat, string special, ops           1.00               1.00   42.32    
134 NA eliminado por cópia
135 NA sem teste prático
136 2.84 2.84 40.63 0.50 strings, string ignore, indent, bad patterns, doubles keywords, indent, if, then, else     conflicts     1.00               1.00   0.00    
137 8.50 8.50 50.00 1.00               1.00               1.00   100.00    
138 3.62 3.62 35.94 0.50 bad code, indent, idents, doubles, ints, strings, string special comments, keywords     conflicts     0.75 decls, funcs, sweep function           1.00   22.00    
139 2.52 2.52 35.94 0.50 idents, strings, string special, comments, doubles ops, comments, keywords string special   conflicts     0.75 null, read assignment           1.00   0.00    
140 NA sem teste prático
141 NA  
142 NA sem teste prático
143 7.05 7.05 45.31 0.75 doubles             1.00 if             1.00   77.60    
144 NA sem entrega final
145 8.50 8.50 50.00 1.00               1.00               1.00   100.00    
146 NA sem entrega final
147 NA sem entrega final
148 4.69 4.69 45.31 0.75 bad patterns, indent, strings, string special             1.00               1.00   30.46    
149 6.53 6.53 35.94 0.50 bad patterns, indent, strings, string ignore, string special, doubles             0.75 block, index, call, decls, funcs             1.00   80.22    
150 4.99 4.99 35.94 0.75 bad patterns, space, doubles, ints             0.50 sweep (bad code), index, call, decls, funcs, vars, lvals             1.00   49.57    
151 6.23 6.23 45.31 0.75 ints ops           1.00               1.00   61.15    
152 NA sem entrega final
153 5.30 5.30 31.25 0.50 bad patterns, indent, strings, string special, doubles string special           0.50 read, identity, call, decls, funcs, vars, lvals             1.00   62.24    
154 4.57 4.57 45.31 0.75 strings, string special, idents, doubles string special, ops           1.00               1.00   27.99    
155 3.74 3.74 40.63 0.75 doubles, idents   string special         0.75 call, decls, vars             1.00   17.89    
156 NA  
157 2.19 2.19 31.25 0.50 doubles, string ignore, ints, idents, indent   string special   conflicts     0.50 read, again, stop, null, call, index, decls, funcs, vars, lvals symmetric           1.00   0.00    
158 NA  
159 NA  
160 NA  
161 NA sem teste prático
162 NA  

___EOT___; </runphp>