Legenda

A entrega intermédia vale 6 valores em 20.

Encoraja-se os alunos a compreender/verificar/corrigir os problemas reportados. Alunos cujo projecto não compile (e apenas esses), podem solicitar correcção de versão nova a partir do CVS (desconto aplicável). Não se considerarão outras alterações na avaliação intermédia.

A atribuição de pontos (positivos e negativos) é como já foi anunciado (resumido abaixo).

Existem 6 factores correspondentes a pontos positivos :

  • CVS: existência do projecto no repositório: 0.50 val.
  • Compilação: capacidade de produzir o executável 'pipoca': 0.50 val. (este factor condiciona a atribuição dos restantes)
  • Léxico: qualidade e nível de desenvolvimento da especificação do analisador lexical: 2.00 val.
  • Sintaxe: qualidade e nível de desenvolvimento da especificação do analisador sintáctico: 1.00 val.
  • Nós: qualidade e nível de desenvolvimento da família de nós da árvore produzida pelo analisador sintáctico: 1.00 val.
  • Semântica: qualidade e nível de desenvolvimento do gerador de código: 1.00 val.

Existem 2 factores correspondentes a pontos negativos :

  • Remoção da funcionalidade existente no Compact (até -4.00 val.)
  • Não implementação das acções do analisador sintáctico e correspondentes nós, etc. (até -2.00 val.)

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

As questões relativas às colunas "Problemas" devem ser resolvidas quanto antes (nos horários de dúvidas ou, sendo possível, por correio electrónico).

Pauta


Nota Total CVS Compilação Léxico Sintaxe Nós Semântica Compact Nós CVS comp
Grupo 6.00 6.00 0.50 Problemas 0.50 Problemas 2.00 Problemas 1.00 Problemas 1.00 Problemas 1.00 Problemas -4.00 -2.00 -1.00
001 5.55 5.55 0.50 Interpreter 0.50
1.75 Literais inteiros negativos; REPLACE_CHAR 0.80 conflitos; %precs; IdnVec; ExprLess; @, UPLUS=UMINUS 1.00
1.00



002 5.05 5.05 0.50 Cwriter & Interpreter 0.50
1.25 tokens (nomes); init, var, etc. a nível global (sintaxe); comentários 0.80 conflitos; %precs; litatoms; lvalues; exprlist (etc. epsilon) 1.00
1.00



003 3.90 3.90 0.50
0.50
1.00 Ids errados; comentários; valores numéricos; strings (especiais) 0.40 conflitos; %precs; lvalues; epsilons; strings; index 1.00
1.00


-0.50
004 5.05 5.05 0.50 Cwriter & Interpreter 0.50
1.25 valores numéricos; indent 0.80 conflitos; %precs; FunctionNode; UPLUS=UMINUS; lvalues 1.00
1.00



005 4.85 4.85 0.50 Cwriter & Interpreter 0.50
1.25 valores numéricos; strings (especiais); "program"; "start" 0.60 conflitos; "start"; %precs; FunctionNode; bloco 1.00
1.00



006 4.35 4.35 0.50 Cwriter & Interpreter 0.50
1.75 strings (especiais) 0.80 %precs; FuncNode; lvalues; index; exprs; binaryexpression 0.80 expressões 1.00

-1.00
007 0.50 0.50 0.50 Cwriter & Interpreter 0.00 yacc;Não compila
_main; "start"
não terminais; %precs; FunctionNode; "args"; "reserva"; UPLUS=UMINUS; lvalues






008 4.85 4.85 0.50
0.50
1.75 _main; "start" 0.60 conflitos; %precs; FunctionNode; UPLUS=UMINUS; lvalues; args 1.00 ArgumentNode? 1.00


-0.50
009 5.35 5.35 0.50 Interpreter 0.50
1.75 strings (especiais); "program" 0.60 conflitos; %precs; FunctionNode; args; lvalues 1.00 ArgNode? 1.00



010 4.90 4.90 0.50 Cwriter & Interpreter 0.50
1.50 Operadores +- ++ - 0.40 "var"; FunctionNode; function call, "args"; lvalues 1.00
1.00



011 1.15 1.15 0.50 Cwriter & Interpreter 0.50
1.75 "start" 0.40 %precs; semantics; lvalues; exprs 0.00 Compact 0.00 Compact
-2.00
012 5.05 5.05 0.50 Cwriter & Interpreter 0.50
1.75 valores inteiros; token names 0.80 conflitos; UPLUS=UMINUS;Function;lvalues 1.00
1.00


-0.50
013 0.00 0.00 0.50 Cwriter & Interpreter 0.50
0.25 Tokens (keywords); comentários; indent; strings; inteiros; "start" 0.20 conflitos; compact essencialmente 0.00 Compact 0.00 Compact
-2.00
014 5.40 5.40 0.50
0.50
2.00
0.60 %precs; semantics; FuncaoNode 0.80 expressões 1.00



015 5.10 5.10 0.50 Cwriter & Interpreter 0.50
1.50 tokens (keywords); strings (especiais); "start" 0.60 %precs; semantics; FuncaoNode; lvalues 1.00
1.00



016 5.35 5.35 0.50
0.50
1.75 "start" 0.60 conflitos; %precs; FuncaoNode; lvalues; reais 1.00
1.00



017 5.35 5.35 0.50
0.50
1.75 "end" (sintaxe) 0.60 strcmp;lvalues; nil exprs! Lvalues; FuncNode 1.00
1.00



018 5.35 5.35 0.50
0.50
1.75 tokens (keywords); blocos 0.60 conflitos; %precs; ArgumentsNode; FunctionNode; lvalues 1.00
1.00



019 5.80 5.80 0.50 Cwriter & Interpreter 0.50
2.00
0.80 conflitos; %precs; FuncaoNode; lvalues UPLUS=UMINUS 1.00
1.00



020 4.35 4.35 0.50
0.50
1.75 tokens (keywords); doubles; strings (especiais) 0.80 conflitos; %precs; FunctionNode; lvalues; ArgumentNode; exprs 0.80 expressões 1.00

-1.00
021 5.55 5.55 0.50 Interpreter 0.50
1.75 tokens (keywords); strings (especiais) 0.80 FunctionNode; lvalues 1.00
1.00



022 0.00 0.00 0.50 Cwriter & Interpreter 0.00 semantic processor; não compila
tokens (keywords); strings (especiais); indent; inteiros; "start"
conflitos; %precs; acções; exprs
expressões


-1.00
023 5.05 5.05 0.50
0.50
1.25 comentários; inteiros; strings; reais; tokens (keywords) 0.80 %precs; lvalues 1.00 tOR, etc. (nomenclartura) 1.00



024 4.40 4.40 0.50
0.50
2.00
0.60 %precs; lvalues; exprs 0.80 expressões 1.00

-1.00
025 3.90 3.90 0.50 Cwriter & Interpreter 0.50
1.50 tokens (keywords); strings (especiais); inteiros 0.40 %precs; LITER; incr/decr; acções; lvalues 1.00
1.00

-1.00
026 0.00 0.00 0.50 Cwriter & Interpreter 0.00 EOF error; não compila
comentários; tokens (keywords); strings (especiais); hexadecimais e octais; "start"
%precs; acções; lvalues
expressões


-1.00
027 4.15 4.15 0.50
0.50
1.75 literais inteiros negativos; "program"; "start" 0.60 conflitos; %precs; assignment; exprs; lvalues 0.80 expressões 1.00

-1.00
028 4.35 4.35 0.50 Cwriter & Interpreter 0.50
0.75 tokens (keywords); octais; strings (especiais); indent; "program" 0.60 conflitos; %precs; FunctionNode; RIGHT_BRACE; lvalues 1.00
1.00



029 5.35 5.35 0.50
0.50
1.75 _main; "start" 0.60 conflitos; %precs; FunctionNode and rules; lvalues 1.00
1.00



030 3.20 3.20 0.50 Cwriter & Interpreter 0.50
1.00 address of tmp;syntax of start conditions; strings (especiais); reais 0.40 undefs; %precs; litvecs; FunctionNode; exprs 0.80 expressões 1.00

-1.00
031 0.15 0.15 0.50 Cwriter & Interpreter 0.50
0.75 tokens (keywords); comentários; indent; "start" 0.40 conflitos; %precs; compact; sintaxe errada 0.00 Compact 0.00 Compact
-2.00
032 4.65 4.65 0.50
0.50
1.25 tokens (keywords); comentários; strings (especiais) 0.40 conflitos; %precs; funções; lvalues; expressões 1.00
1.00



033 4.65 4.65 0.50 Interpreter 0.50
1.25 literais inteiros e reais negativos; strings (especiais) 0.40 sintaxe do yacc; %precs; funções; lvalues; assignment 1.00
1.00



034 3.95 3.95 0.50
0.50
1.75 tokens (keywords); literais inteiros 0.40 %precs; lvalues; exprs 0.80 expressões 1.00

-1.00
035 2.50 2.50 0.50 Interpreter 0.50
0.50 tokens (keywords); comentários; strings (especiais); indent; "program" 0.20 conflitos; %precs; FunctionNode; assigment (errado); sintaxe errada (instrs); exprs; lvalues 0.80 expressões 1.00

-1.00
036 5.35 5.35 0.50 Cwriter & Interpreter 0.50
1.75 tokens (keywords); comentários 0.60 %precs; UPLUS=UMINUS; FunctionNode; assignment (errado); lvalues 1.00
1.00



037 3.95 3.95 0.50
0.50
1.75 reais 0.40 conflitos; %precs; UPLUS=UMINUS; FunctionNode; exprs como instrs (wrong assignments); lvalues; exprs 0.80 expressões 1.00 PrintNode & PrintNodeLn
-1.00
038 3.45 3.45 0.50 Cwriter & Interpreter 0.50
1.25 comentários; "start"; reais; "program" 0.40 %precs; %prec ELSE; NewFunctionNode; %prec WEAK; lvalues; exprs 0.80 expressões 1.00

-1.00
039 0.00 0.00 0.00 estrutura 0.00 mknodedecls.pl
"program"; indent (keywords: "if" etc.); OVERFLOW; strings (especiais)
conflitos; compact (mostly)
Compact
Compact
-2.00
040 5.80 5.80 0.50 Cwriter & Interpreter 0.50
2.00 tokens (keywords) 0.80 %precs; UPLUS=UMINUS; %prec A; lvalues 1.00
1.00



041 3.20 3.20 0.50 Cwriter & Interpreter 0.50
1.00 valores "mágicos"; nomes de definições ("Integer" etc.); tokens (keywords); strings (especiais); "program"; "start" 0.40 conflitos; %precs; acções; Composite; exprs; lvalues 0.80 expressões 1.00

-1.00
042 0.00 0.00 0.00 Compact 0.00 Compact 0.00 Compact 0.00 Compact 0.00 Compact 0.00 Compact
-2.00
043 5.10 5.10 0.50 Cwriter & Interpreter 0.50
1.50 tokens (keywords); indent 0.60 conflitos; %precs; lvalues; FuncaoNode 1.00
1.00



044 4.20 4.20 0.50 Interpreter 0.50
1.00 "program"; "start"; strings (especiais); reais; inteiros; indent 0.40 conflitos; %precs; tokens; ':' '='; FunctionNode; externs; lvalues; ":=" 0.80 expressões 1.00



045 0.00 0.00 0.50 Cwriter & Interpreter 0.50 mknodedecls.pl 0.50 "program"; "start"; strings (especiais); reais; inteiros; sintaxe no lex; comentários 0.20 conflitos; %precs; assignment (errado); sintaxe errada; if e whiles errados; exprs; lvalues 0.00 Compact 0.00 Compact
-2.00
046 1.25 1.25 0.50 Cwriter & Interpreter 0.50
0.25 rules not matched; "program"; tokens; strings (especiais); literiais reais negativos; indent; comentários 0.00 Compact 1.00 FunctionNode? 0.00 Compact
-1.00
047 0.00 0.00 0.50 Cwriter & Interpreter 0.00 não compila
tokens (keywords); comentários; strings; indent
%precs; FunctionNode; ArgumentNode; lvalues; assignment?





-0.50
048 3.90 3.90 0.50
0.50
1.50 "start"; tokens (keywords); reais 0.40 conflitos; %precs; assignment; exprs 0.80 expressões 1.00

-1.00
049 5.30 5.30 0.50
0.50 makefile vars 1.50 "program"; literais inteiros e reais; strings (especiais) 0.80 %precs; UPLUS=UMINUS; "do", "then", etc. (sintaxe errada); 1.00
1.00



050 5.10 5.10 0.50
0.50
2.00 tokens (keywords) 0.60 %precs; lvalues; decls & instrs mixed 1.00
1.00


-0.50
051 4.35 4.35 0.50
0.50
1.75 strings (especiais); comentários 0.60 %precs; FuncaoNode; exprs; lvalues; acções 1.00
1.00

-1.00
052 3.65 3.65 0.50 Cwriter & Interpreter 0.50
1.75 tokens (keywords); comentários 0.40 conflitos; %precs; FuncNode; args & AssignmentNode; reserva; lvalues; print 1.00
0.00 Compact

-0.50
053 0.00 0.00 0.50 Cwriter & Interpreter 0.50
0.75 "program"; strings (especiais); indent 0.20 conflitos; compact (mostly) 0.00 Compact 0.00 Compact
-2.00
054 0.00 0.00 0.50 Cwriter & Interpreter 0.50
0.00 Compact 0.00 Compact 0.00 Compact 0.00 Compact
-2.00
055 4.60 4.60 0.50 Interpreter 0.50
2.00
0.60 conflitos; %precs; lvalues; FunctionNode; exprs 1.00
0.00 Compact


056 5.55 5.55 0.50 Interpreter 0.50
1.75 tokens (keywords); reais 0.80 conflitos; %precs; indentA, literB, etc.; Function; lvalues 1.00
1.00



057 0.00 0.00 0.50 Cwriter & Interpreter 0.00 não compila; faltam nós
tokens (keywords); strings (especiais); indent
conflitos; %precs; FunctionNode; literals; assignment (errado); exprs; lvalues
expressões; falta código


-1.00
058 3.50 3.50 0.50
0.50 mknodedecls.pl 1.50 "start"; sintaxe e tokens 0.20 conflitos; %precs; exprs; funções; declarações 0.80 funções, declarações, etc. 1.00

-1.00
059 0.00 0.00 0.50 Cwriter & Interpreter 0.50
0.50 "program";"start"; tokens (keywords); strings (specials); reais; inteiros; indent 0.20 %precs; compact (mostly) 0.00 Compact 0.00 Compact
-2.00
060 0.00 0.00 0.00 sem commits 0.00











061 4.00 4.00 0.50
0.50
1.00 definições; indent; strings (especiais) 0.20 %precs; assignment (errado); lvalues; declarações; funções 0.80 funções, declarações, etc. 1.00



062 3.20 3.20 0.50
0.50
1.00 tokens (keywords); comentários; strings (especiais); indent 0.40 conflitos; %precs; FunctionNode; assignment (errado); exprs; lvalues 0.80 expressões 1.00

-1.00
063 5.00 5.00 0.50
0.50
2.00 hexadecimais em strings 0.80 %precs; FunctionNode; blockf_o; lvalues 1.00
0.20



064 3.00 3.00 0.50 Cwriter & Interpreter 0.50
1.00 comentários; hexadecimais em strings; indent; extra keywords 0.20 undefs; sintaxe errada; compact (mostly) 0.80 expressões; if nodes 1.00

-1.00
065 1.85 1.85 0.50 Cwriter & Interpreter 0.50
1.25 "program"; literais inteiros; tokens (keywords); indent 0.20 %precs; compact (mostly) 0.20 Compact (mostly) 0.20

-1.00
066 5.00 5.00 0.50
0.50
2.00 tokens (keywords) 1.00 %precs; semantics; FuncDeclNode 1.00
1.00

-1.00
067 0.00 0.00 0.50 Cwriter & Interpreter 0.50
0.75 literais inteiros; strings; comentários 0.20 conflitos; %precs; semantics; sintaxe errada; lvalues; declarações 0.00 Compact 0.00 Compact
-2.00
068 5.55 5.55 0.50 Cwriter & Interpreter 0.50
1.75 "indentation_lvl"; exp; tokens (keywords); strings (especiais); strings de 2k 0.80 conflitos; FunctionNode; lvalues 1.00
1.00



069 5.30 5.30 0.50
0.50
1.50 demasiadas definições; literais inteiros e reais; debug manual; strings (especiais) 0.80 undefs; %precs; UPLUS=UMINUS; epsilon semantics; FunctionNode; expressions 1.00
1.00



070 0.00 0.00 0.50 Cwriter & Interpreter 0.00 não compila
tokens (keywords); indent
Compact
Compact
Compact
-2.00
071 1.75 1.75 0.50 Cwriter & Interpreter 0.50
0.25 EOF trouble; tokens (keywords); reais; strings (especiais); indent; comentários; etc. 0.20 %precs; "export YYDEBUG=1"; assignment (usado como declaração); lvalues; sintaxe errada (stmt); declarações (função, etc.) 0.80 expressões 1.00

-1.00 -0.50
072 0.00 0.00 0.00 sem commits 0.00











073 2.50 2.50 0.50 Interpreter 0.50
0.50 "start"; literais inteiros e reais negativos; tokens (keywords); indent; strings (especiais) 0.20 %precs; semantics; sintaxe errada (stmt); assignments errados; exprs; lvalues 0.80 funções, declarações, etc. 1.00

-1.00
074 5.75 5.75 0.50
0.50
1.75 _main; "start";NEWLINE 1.00
1.00
1.00



075 0.00 0.00 0.00 sem commits 0.00











076 0.00 0.00 0.00 sem commits 0.00











077 0.00 0.00 0.25 estrutura 0.00 sem subdirs; não compila
"program"; tokens (keywords); strings (especiais); comentários; indent; literais inteiros e reais
Compact (mostly)
sem nós
sem semântica
-2.00
078 0.65 0.65 0.50 Cwriter & Interpreter 0.50
1.25 tokens (keywords); strings (especiais); inteiros e reais 0.40 conflitos; %precs; semantics; lvalues 0.00 Compact 0.00 Compact
-2.00
079 0.00 0.00 0.00 sem commits 0.00











080 0.00 0.00 0.00
0.00