Compiladores/Pautas 2014-2015/Pauta do Projecto: Entrega Final

From Wiki**3

< Compiladores‎ | Pautas 2014-2015
Revision as of 12:52, 2 November 2018 by Root (talk | contribs)
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: 2015/03/25 12:00 (inicial); 2015/04/14 12:00 (intercalar); 2015/05/20 12:00 (final); 2015/05/20-2015/05/27 (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 FECHADA A entrega final pode ser revista nos horários de dúvidas até 4ª feira, 2015/06/10.

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 entregas intermédia e final: 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 - problemas na definição dos símbolos
  • stack - problemas na definição do stack das funções
  • types - problemas na verificação de tipos
  • 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

<runphp> echo<<<___EOT___

<colgroup width="44"></colgroup> <colgroup span="2" width="42"></colgroup> <colgroup width="47"></colgroup> <colgroup width="38"></colgroup> <colgroup width="91"></colgroup> <colgroup width="38"></colgroup> <colgroup width="83"></colgroup> <colgroup width="38"></colgroup> <colgroup width="70"></colgroup> <colgroup width="38"></colgroup> <colgroup width="70"></colgroup> <colgroup width="38"></colgroup> <colgroup width="81"></colgroup> <colgroup width="38"></colgroup> <colgroup width="81"></colgroup> <colgroup width="100"></colgroup> <colgroup width="86"></colgroup> <colgroup width="74"></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 <a href="http://goo.gl/4GBmav">http://goo.gl/4GBmav</a> Problemas Descontos
Grupo 12 12 100% 0.75
0.75
0.75
0.75
0.5
0.5
100%
01 10.35 10.35 95.31 0.75 ints, floats 1.00
1.00 access 1.00
1.00
1.00
73.63
0.00
02 6.72 6.72 78.13 0.50 strings, ints, floats 0.75 lvals 1.00
0.75 types 0.75
1.00
25.00
0.00
03 6.94 6.94 73.44 0.75 ints, floats 0.50 precs, lvals 0.75 decls 0.75 alloc 0.75
1.00
35.90
0.00
04 5.17 5.17 56.25 0.50 strings, ints, floats, comments 0.50 precs, syntax, exprs, lvals 0.50 lvals, memres 0.50 types, symbol, empty methods 0.50 symbol, types 1.00
24.62
0.00
05 7.73 7.73 68.75 0.50 strings, ints, floats 0.50 precs, syntax 1.00
0.50 types 0.75
1.00
58.39
0.00
06 3.94 3.94 56.25 0.50 comments, keywords, operators, ints 0.50 precs, lvals 0.50 instruction_node, var_init, lvals 0.50 symbol, stack, types 0.50
1.00
0.00
0.00
07 7.04 7.04 75.00 0.75 floats 0.75 precs 1.00 lvalue_abstract_node 0.50 stack, types, postfix 0.50 empty methods 1.00
35.90
0.00
08 8.43 8.43 87.50 0.75 strings, ints 1.00
1.00
0.75 types, postfix 0.75
1.00
46.15
0.00
09 6.94 6.94 64.06 0.75 ints, floats 0.75 lvals 0.75 EAI 0.50 types, postfix
empty methods, types 1.00
49.03
0.00
10 5.50 5.50 60.94 0.75 ints 0.50 precs, syntax, exprs, lvals 0.75 symmetric_node, rvalue_node, decls 0.25 symbol, stack, types, postfix 0.50 empty methods 1.00
24.67
0.00
11 4.78 4.78 51.56 0.50 strings, ints, floats 0.50 precs, syntax, lvals 0.50 lvals, decls 0.25 symbol, stack, types, postfix 0.50 empty methods, types 1.00
23.46
0.00
12 5.42 5.42 60.94 0.50 strings, ints, floats 0.50 syntax, lvals, exprs 0.75 EAI 0.50 stack, types, postfix 0.50
1.00
23.08
0.00
13 5.13 5.13 56.25 0.50 chars, strings, ints, floats 0.75 lvals 0.50 EAI, lvals, noob, repeat 0.25 symbol, stack, types, postfix 0.50 types 1.00
23.95
0.00
14 6.19 6.19 60.94 0.50 comments, ints, floats 0.50 precs, lvals 0.75 EAI 0.50 types, postfix 0.50 bad code, types 1.00
38.51
0.00
15 5.35 5.35 57.81 0.75 ints, floats 0.50 precs, lvals 0.50 symmetric_node, lvals, address node, decls 0.50 symbol, types, postfix 0.25 bad code, int 0, load 1.00
26.09
0.00
16 9.81 9.81 82.81 0.75 strings, ints, floats 0.50 precs, syntax 1.00 symmetric_node 1.00
0.75 bad code 1.00
80.22
0.00
17 7.86 7.86 73.44 0.75 ints, floats 0.75 syntax 0.75 decls 0.50 stack, types, postfix 0.75 bad code 1.00
54.48
0.00
18 7.27 7.27 70.31 0.75 ints 0.50 precs, syntax, exprs, lvals 1.00
0.50 stack, types, postfix 0.50 empty methods 1.00
47.01
0.00
19 11.14 11.14 95.31 0.75 strings, floats 1.00
1.00 funcs args 1.00 strings 1.00
1.00
89.38 (corrigido) 0.00
20 11.18 11.18 95.31 0.75 ints, floats 1.00 exprs, lvals 1.00 expression_sequence_node, symmetric_node 1.00
1.00
1.00
90.11 (corrigido) 0.00
21 NA sem entrega final (excluído da avaliação em época normal)
22 6.83 6.83 56.25 0.25 strings, ints, floats 0.50 precs, exprs, lvals, syntax 0.75 lvalue_abstract_node, decls 0.50 types, postfix 0.50 empty methods, types 1.00
57.93
0.00
23 6.40 6.40 73.44 0.50 strings, ints, floats 0.75 precs 0.75 EAI, suffixo 0.75 types, postfix 0.75
1.00
25.19
0.00
24 5.09 5.09 56.25 0.50 strings, ints, floats 0.50 exprs, lvals 0.50 EAI, lvals, exprs 0.50 stack, types, postfix 0.50 empty methods 1.00
23.08
0.00
25 5.14 5.14 73.44 0.50 keywords, comments, strings, ints, floats 0.75 precs, lvals, syntax 1.00
0.50 types, postfix, stack 0.75 empty methods 1.00
0.00
0.00
26 7.73 7.73 60.94 0.50 ints, floats 0.50 conflicts, precs, lvals 0.50 decls 0.75 stack 0.50
1.00
69.23
0.00
27 10.24 10.24 90.63 0.75 floats 0.75 precs 1.00 reference_node, decls 1.00
1.00
1.00
78.02
0.00
28 6.43 6.43 65.63 0.75 ints, floats 0.75 precs 0.50 lvals, memory_loc_node 0.50 symbol, types, postfix 0.50 lvals, empty methods, types 1.00
36.75
0.00
29 5.30 5.30 60.94 0.75 ints, floats 0.50 syntax, lvals, exprs 0.50 lvals, decls 0.50 symbol, stack, types, postfix 0.50 empty methods 1.00
20.79
0.00
30 5.74 5.74 51.56 0.25 comments, keywords, strings, ints, floats 0.50 conflicts, exprs, lvals, syntax 0.50 comment_node, lvals, fun call 0.50 stack, types, postfix 0.50 empty methods, types 1.00
42.56
0.00
31 5.42 5.42 60.94 0.50 keywords, chars, strings, ints, floats 0.75 syntax 0.50 decls 0.50 stack, types, postfix 0.50 empty methods, types 1.00
23.08
0.00
32 4.88 4.88 51.56 0.50 strings, ints, floats, memory 0.50 conflicts, precs, exprs, lvals 0.50 atrib_node, instruction_node, lvals, fun call 0.25 symbol, stack, types, postfix 0.50 memory, infinite recursion, types 1.00
25.38
0.00
33 5.49 5.49 51.56 0.25 comments, keywords, types, strings, ints, floats 0.50 syntax, lvals, exprs 0.50 instruction_node, leftvalue_node, lvals, decls, fun call 0.50 types, postfix 0.50 empty methods 1.00
37.63
0.00
35 10.96 10.96 95.31 0.75 ints 1.00 precs 1.00 identifierrr_node, scope 1.00
1.00 código redundante, inits 1.00
85.71 não compila (corrigido) 0.00
36 NA sem entrega final (excluído da avaliação em época normal)
37 6.60 6.60 56.25 0.50 strings, ints, floats 0.50 precs, syntax, exprs, lvals 0.50 decls, lvals 0.50 stack, types, postfix 0.50 infinite recursion, types 1.00
53.31
0.00
38 6.40 6.40 56.25 0.50 strings, ints, floats 0.50 exprs, lvals 0.50 lvals, decls 0.50 symbol, stack, types, postfix 0.50 empty methods, types 1.00
49.23
0.00
39 4.50 4.50 46.88 0.25 strings, ints, floats, EOF, .* 0.50 conflicts, precs, exprs, lvals 0.50 decls 0.25 symbol, stack, types, postfix 0.50 empty methods 1.00
24.36
0.00
40 7.62 7.62 60.94 0.50 keywords, strings, ints, floats, negative literals 0.50 precs, syntax, lvals 0.50 lvals, address node, unary expr, decls, _main 0.75 postfix 0.50 empty methods 1.00
67.04
0.00
41 5.66 5.66 56.25 0.50 strings, ints, floats 0.50 syntax, lvals, exprs 0.50 decls 0.50 types, postfix 0.50 empty methods 1.00
34.36
0.00
42 6.05 6.05 51.56 0.25 strings, ints, floats 0.50 precs, exprs, lvals 0.50 lvals, mem alloc 0.50 stack, postfix 0.50 empty methods 1.00
48.72
0.00
43 3.61 3.61 51.56 0.25 comments, keywords, bases, strings, ints, floats 0.50 syntax, lvals 0.50 leftvalue_node, lvals 0.50 symbols, types, postfix 0.50 empty methods 1.00
0.00
0.00
44 4.83 4.83 46.88 0.25 keywords, types, strings, ints, floats 0.50 precs, exprs, lvals, syntax 0.50 lvals, decls, fun call 0.25 symbol, stack, types, postfix 0.50 empty methods, types 1.00
30.90
0.00
45 6.49 6.49 60.94 0.25 strings, ints, floats, .* 0.75 precs 0.75 symmetric_node, decls 0.50 symbol, stack, types, postfix 0.50 empty methods 1.00
44.42
0.00
46 5.34 5.34 60.94 0.75 keywords, ints 0.50 conflicts, syntax 0.50 decls 0.50 stack, types, postfix 0.50
1.00
21.40
0.00
47 7.82 7.82 78.13 0.75 keywords, ints, floats 0.50 precs, exprs, lvals 1.00
0.75 postfix 0.75
1.00
47.01
0.00
48 9.61 9.61 90.63 0.75 ints, floats 0.75 precs 1.00 fun call 1.00
1.00
1.00 *.sh 65.38
0.00
49 5.09 5.09 56.25 0.50 comments, strings, ints, floats 0.50 precs, exprs, lvals 0.50 decls 0.50 symbol, stack, types, postfix 0.50 types 1.00
23.08
0.00
50 3.28 3.28 46.88 0.25 comments, keywords, types, strings, ints, floats 0.50 conflicts, syntax, exprs, lvals 0.50 instruction_node, lvals, decls 0.25 symbol, stack, types, postfix 0.50 infinite recursion, types 1.00
0.00 não compila 0.00
51 9.21 9.21 68.75 0.25 strings, ints, floats 1.00
0.50 lvals, decls 0.75 types 0.75
1.00
87.91
0.00
52 6.09 6.09 51.56 0.25 comments, strings, ints, floats 0.50 precs, lvals 0.50 qualifier_node, lvals, decls 0.50 types, postfix 0.50 empty methods, types 1.00
49.57
0.00
53 5.73 5.73 65.63 0.75 strings, ints 0.50 precs, lvals 0.50 lvals, decls 0.75 types 0.50 empty methods, types 1.00
22.74
0.00
54 8.29 8.29 78.13 0.50 strings, ints 0.50 conflicts, precs, exprs, lvals 1.00
1.00
0.75
1.00
56.46
0.00
55 6.71 6.71 65.63 0.75 ints 0.50 precs, exprs 0.75 types, decls 0.50 types, postfix 0.50
1.00
42.31
0.00
56 4.94 4.94 51.56 0.25 strings, ints, floats 0.50 precs, lvals 0.50 program_node, lvals, ids, decls 0.50 stack, types, postfix 0.50 program_node, empty methods 1.00
26.67
0.00
57 NA (sem teste prático)
58 10.19 10.19 90.63 0.50 ints, floats 1.00
1.00
1.00
1.00
1.00
76.92
0.00
59 6.62 6.62 60.94 0.25 strings, ints, floats 0.50 precs, exprs, lvals 1.00
0.50 stack, types, postfix 0.50 empty methods 1.00
47.01
0.00
60 6.94 6.94 46.88 0.25 keywords, types, strings, ints, floats 0.50 precs, syntax, exprs, lvals, nomenc 0.50 decarg_node, pointer_node, lvals, decls, fun call 0.25 postfix, bad code 0.50 nomenc, infinite recursion, empty methods 1.00
73.08
0.00
61 5.73 5.73 56.25 0.25 keywords, .*, strings, ints 0.75 lvals 0.50 decls 0.50 types, postfix 0.50 postfix, bad code 1.00
35.90
0.00
62 5.48 5.48 60.94 0.75 strings, ints, floats 0.50 precs, exprs, lvals 0.50 EAI, lvalue_expression_node, lvals 0.50 stack, types, postfix 0.50
1.00
24.36
0.00
63 5.14 5.14 51.56 0.25 types, ints, floats, strings 0.50 conflicts, lvals, syntax 0.50 lvals, unary expr 0.50 stack, types, postfix 0.50 empty methods 1.00
30.60
0.00
64 5.48 5.48 60.94 0.75 strings, ints 0.50 syntax, lvals, exprs 0.50 EAI, lvalue_expression_node, lvals 0.50 stack, types, postfix 0.50 empty methods 1.00
24.36
0.00
65 NA sem entrega final (excluído da avaliação em época normal)
66 4.88 4.88 51.56 0.25 strings, ints, floats 0.50 precs, syntax, exprs, lvals 0.50 import_node, local_node, lvals, decls 0.50 stack, types, postfix 0.50 empty methods, types 1.00
25.38
0.00
67 6.95 6.95 81.25 0.50 strings, ints, floats 0.75 precs, lvals 0.75 null nodes 1.00
1.00
1.00
25.21
0.00
68 3.94 3.94 56.25 0.25 keywords, strings, ints, floats, EOF 0.75 precs, lvals 0.75 symmetric_node, decls 0.25 symbol, stack, types, postfix 0.50 empty methods, types 1.00
0.00
0.00
69 6.39 6.39 60.94 0.75 ints 0.50 precs, exprs, lvals 0.50 lvals 0.50 symbol, stack, types, postfix 0.50
1.00
42.44
0.00
70 11.02 11.02 85.94 0.75 ints 1.00
0.50 expression_sequence_node, delcs 1.00
1.00
1.00
100.00
0.00
71 6.33 6.33 56.25 0.75 strings, ints, floats 0.50 precs, syntax, exprs, lvals 0.50 type_node, lvals 0.25 symbol, stack, types, postfix 0.50 empty methods, types 1.00
47.86
0.00
73 NA (sem teste prático)
74 NA (sem teste prático)
75 5.72 5.72 56.25 0.50 strings, ints, floats 0.50 precs, syntax, exprs, lvals 0.50 arg_node, lvals, fun call, decls 0.50 symbol, stack, types, postfix 0.50 empty methods, types 1.00
35.64
0.00
76 5.16 5.16 56.25 0.50 comments, keywords, strings, ints, floats 0.50 conflicts, precs, syntax, exprs, lvals 0.50 EAI, lvals 0.50 symbol, stack, types, postfix 0.50 empty methods, types 1.00
24.36
0.00
77 NA sem entrega final (excluído da avaliação em época normal)
78 NA (sem teste prático)
79 5.73 5.73 65.63 0.50 comments, strings, ints, floats 0.50 precs, exprs 0.75 EAI, decls 0.75 types 0.50 bad code, empty methods, types 1.00
22.74
0.00
81 NA sem entrega final (excluído da avaliação em época normal)
82 6.36 6.36 60.94 0.50 comments, strings, ints, floats 0.50 precs, syntax, exprs, lvals 0.75 symmetric_node, fun call 0.50 symbol, types, postfix 0.50 var node, do_node, empty methods, types 1.00 *.o 41.79
0.00
83 5.48 5.48 60.94 0.50 keywords, strings, ints, floats 0.50 syntax, lvals, exprs 1.00 decls 0.25 stack, types, postfix 0.50 empty methods 1.00
24.36
0.00
84 4.73 4.73 51.56 0.50 comments, strings, ints, floats 0.50 conflicts, syntax, exprs, lvals 0.50 EAI, lvals, decls 0.25 symbol, stack, types, postfix 0.50 empty methods, types 1.00
22.35
0.00
85 4.44 4.44 46.88 0.25 comments, .*, strings, ints, floats 0.50 precs, types, lvals, exprs 0.50 program_node, qualifier_node, lvals 0.25 symbol, stack, types, postfix 0.50 empty methods, types 1.00
23.08
0.00
86 NA sem entrega final (excluído da avaliação em época normal)
87 5.44 5.44 56.25 0.50 comments, strings, ints, floats 0.50 precs, lvals 0.50 decls 0.50 symbol, stack, types, postfix 0.50 empty methods 1.00
30.09
0.00
89 6.63 6.63 75.00 0.50 strings, ints, floats 0.75 precs, lvals 1.00
0.75 types, postfix 0.50 empty methods 1.00
27.52
0.00
91 NA (sem teste prático)
93 3.61 3.61 51.56 0.25 comments, strings, ints, floats 0.50 conflicts, precs, lvals, syntax 0.50 import_node, real_node, lvals, and_node, or_node, decls 0.50 symbol, stack, types, postfix 0.50 empty methods 1.00
0.00
0.00
94 5.09 5.09 56.25 0.75 ints, floats 0.50 syntax, lvals 0.50 EAI, lvalue_expression_node, lvals 0.25 symbol, stack, types, postfix 0.50 empty methods 1.00
23.08 não compila (corrigido) 0.00
96 NA sem entrega final (excluído da avaliação em época normal)

___EOT___; </runphp>