Compiladores/Pautas 2015-2016/Pauta do Projecto: Entrega "zero"

From Wiki**3

< Compiladores‎ | Pautas 2015-2016
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: 2016/03/18 17:00 (inicial); 2016/04/15 17:00 (intercalar); 2016/05/20 17:00 (final); 2016/05/20-2016/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

Os resultados da entrega inicial podem ser revistos, nos horários de dúvidas, até à data da entrega intermédia.

Critérios de Avaliação

LER COM ATENÇÃO

A avaliação é realizada sobre a versão existente no CVS no final do prazo para a entrega inicial. Projectos que não apresentem alterações relativamente ao conteúdo inicial do repositório CVS não serão considerados.

Considerando que é um passo crucial na concepção do projecto, a não realização desta entrega conduz automaticamente a uma classificação de 0 (zero) na componente de avaliação relativa ao Projecto e consequente exclusão da avaliação da disciplina no ano lectivo 2015/2016.

A entrega "zero" vale 2 valores em 20.

A avaliação da entrega inicial considera a execução de intervenções em duas regiões do código do compilador em desenvolvimento, assim como a gestão do projecto correspondente.

Advertem-se os alunos sobre a consulta de colegas de anos anteriores. Estas consultas podem ser positivas, mas comportam algum risco, pois o processo e critérios de avaliação podem ter mudado. Além disso, a proficiência do colega pode majorar negativamente o resultado da avaliação em curso. Não são admitidas quaisquer justificações com base na história da disciplina.

Estas condições são aplicáveis à data da entrega inicial.

Em caso de dúvidas suscitadas por qualquer elemento neste texto, no projecto, ou na disciplina em geral, os alunos são fortemente encorajados a consultar o corpo docente.

VALORAÇÕES

Existem 2 valores (dos 20 disponíveis para o projecto) associados a esta entrega:

  • gestão do projecto: 0.5 valores
    • projecto com a estrutura correcta no repositório CVS: 0.25 valores (i.e., código que não apresente a estrutura canónica de um compilador desenvolvido com a CDK é considerado sem a estrutura correcta -- consultar estas páginas sobre o desenvolvimento do projecto com base no repositório CVS)
    • projecto compila e produz compilador "zu" ("zu", com letras minúsculas: variações correspondem a "não compilação"): 0.25 valores

Se o projecto compilar, poderão ser atribuídos mais 1.5 valores (desenvolvimento do compilador), distribuídos como se segue:

  • Classes dos nós do compilador (completo): 1.0 valores
    • Reutilização dos nós da CDK (simples ajuste do Simple)
    • Definição ou extensão de elementos existentes (simples ajuste do Simple)
    • Definição de novas declarações/definições (variáveis/funções) (completo)
    • Definição de novas instruções (completo)
    • Definição de novas expressões (completo)
    • Definição de outros elementos (completo)
    • Sugere-se (por simplicidade de gestão do código) a separação das várias classes de nós em namespaces coerentes (à la Simple)
    • Não é necessário criar as regras no BYACC para criar os nós (se for feito, é conveniente para o progresso do projecto, mas não é avaliado nesta entrega)
  • Métodos dos "visitors" (completo): 0.5 valores
    • Reutilização de métodos já definidos (simples ajuste do Simple)
    • Definição de todos os métodos do_X (correspondentes ao nó da class X) em todos os visitors (simples extensão do Simple)
    • Métodos novos podem estar vazios, mas devem existir
    • Métodos correspondentes a acções semelhantes às existentes devem ser modelados nos existentes (exemplo, do_program_node -> do_function_definition_node) (mesmo que não modificados numa primeira instância)
    • A presença de implementações de semântica no postfix_writer (tabela de símbolos, validação de tipos, etc.) não é penalizada, mas não será avaliada nesta entrega
PENALIZAÇÕES

Existem penalizações relativas à (deficiente) execução do projecto.

São considerados os seguintes aspectos preliminares:

  1. A linguagem do projecto contém a linguagem Simple, pelo que não há razão para não utilizar completamente o compilador Simple, eventualmente com pequenas alterações.
  2. A semântica da linguagem do projecto contém a da linguagem Simple, pelo que a implementação de alguns aspectos da linguagem do projecto não requer qualquer reimplementação relativamente ao Simple.
  • O compilador Simple foi fornecido completamente funcional, assim como a versão inicial do compilador do projecto no respositório CVS (igual ao Simple e apenas alterado, para ter um nome apropriado).
  • A criação de novos nós não apresenta quaisquer dificuldades (são classes muito simples).
  • Os métodos (na sua maioria, vazios) dos "visitors" são simples paralelos com as classes dos nós e os que não estão vazios são quase 100% reutilizáveis na nova linguagem.
  • O compilador é obrigatoriamente desenvolvido em C++, fazendo-se uso do material de apoio.

Considerando os aspectos 1. a 6., são aplicadas as seguintes penalizações:

  • Destruição de funcionalidade do compilador Simple sem substituição por funcionalidade equivalente do compilador do projecto: 2 valores
  • Utilização de funções e estruturas C, quando existem alternativas directas C++ (malloc em lugar de new, por exemplo; strcmp, etc. em lugar da classe std::string; e outras): penalização máxima de 1 valor
  • Não utilização de qualquer material obrigatório ou não satisfação dos critérios mínimos: 2 valores e considera-se entrega não realizada (implica exclusão da avaliação)

Legenda

RELATIVAMENTE A NÃO COMPILAR

A existência do nó identifier_node em alguns compiladores foi manualmente validada e os projectos correspondentes foram testados novamente. As outras situações de não compilação correspondem a problemas de programação ou de ausência de código (e, num caso, correspondem a duplicação inválida de código da CDK). Todos os problemas de compilação podem e devem ser resolvidos (perdendo-se 0.25 pontos, relativos à componente de compilação).

Os alunos são encorajados a compreender/verificar/corrigir os problemas reportados, especialmente nos casos em que exista anotação explícita na pauta.

Anotações da tabela
  • dups: cópia de código que já está disponível na CDK (não devem existir estar cópias: devem ser usadas as classes da CDK)
  • program node: o program_node não existe (devia ser function_definition_node ou semelhante)
  • while node, pointer node: estes nós não existem
  • lvals: faltam nós correspondentes a alguns left-values ou têm problemas (um left-value é uma entidade que pode estar do lado esquerdo de uma atribuição)
  • index: problemas com o nó de indexação (e.g. não é um lvalue, faltam expressões)
  • funcs: faltam nós correspondentes a funções ou têm problemas: e.g. faltam tipos, têm relações com lvalues (não devem existir)
  • decls: faltam nós correspondentes a declarações ou têm problemas (e.g. confundidas com expressões, problemas com tipos, etc.)
  • exprs: faltam expressões (tipicamente, faltam operadores, chamadas a funções)
  • file/const/import/local: nós que não devem existir
  • read_node: é uma expressão e não uma instrução; ao contário do que acontece no Simple, não tem um left-value associado
  • types: não foi usada a estrutura basic_type da CDK para representar os tipos de dados da linguagem
  • [outras anotações específicas]: contactar o professor responsável

Pauta

<runphp> echo<<<___EOT___

<colgroup width="44"></colgroup> <colgroup span="2" width="43"></colgroup> <colgroup width="48"></colgroup> <colgroup width="108"></colgroup> <colgroup width="48"></colgroup> <colgroup width="108"></colgroup> <colgroup width="48"></colgroup> <colgroup width="252"></colgroup> <colgroup width="174"></colgroup> <tbody> </tbody>
  Nota Total Pontos Positivos Obs.
  CVS Compilação
logs diários: <a href="https://goo.gl/sbNVII">https://goo.gl/sbNVII</a>
Nós, Métodos de Visita
Grupo 2.00 2.00 0.25 Problemas 0.25 Problemas 1.50 Problemas
001 1.25 1.25 1.00   1.00   0.50 fundef_node, new, read_node, variable_node, lvals  
002 1.63 1.63 1.00   1.00   0.75 read_node, lvals  
003 1.63 1.63 1.00   1.00   0.75 read_node  
004 1.25 1.25 1.00   1.00   0.50 dups, real_node, read_node, lvals, return_node  
005 1.63 1.63 1.00   1.00   0.75 id_node, lvals, read_node  
006 1.25 1.25 1.00   1.00   0.50 decls, lvalue_declaration_node, read_node, lvals  
007 1.25 1.25 1.00   1.00   0.50 decls, external_declaration_node  
008 1.00 1.00 1.00   0.00 (cvs ok) 0.50 while_node, lvals, pointer_node, float_node, precedence_node, primary_expression_node, dups, read_node, decls  
009 1.19 1.19 0.75 lixo no repositório 1.00   0.50 read_node, lvals, decls, vars  
010 1.63 1.63 1.00   1.00   0.75 id_node, lvals, read_node  
011 1.63 1.63 1.00   1.00   0.75 read_node, lvals  
012 1.25 1.25 1.00   1.00   0.50 program_node, while_node, decls, import_node, types, functype_node, read_node, lvals, return_node  
013 1.25 1.25 1.00   1.00   0.50 read_node, lvals, decls, funcs, vars  
014 1.63 1.63 1.00   1.00   0.75 program_node, read_node, lvals, return_node  
015 1.25 1.25 1.00   1.00   0.50 pointer node, priority_node, read_node, lvals, return_node  
016 1.63 1.63 1.00   1.00   0.75 read_node, lvals, return_node  
017 1.25 1.25 1.00 README.md 1.00   0.50 lvals, pointer_node, read_node, variable_node  
018 1.25 1.25 1.00   1.00   0.50 while_node, zuidentifier_node, lvals, read_node, return_node, variable_node, decls, vars  
019 1.25 1.25 1.00   1.00   0.50 while_node, zuidentifier_node, lvals, read_node, return_node, decls, variable_node, vars  
020 1.00 1.00 1.00   0.00 (cvs ok) 0.50 priority_node, lvals, id_node, read_node, variable_node  
021 1.25 1.25 1.00   1.00   0.50 program_node, while_node, pointer_node, decls, extDefinition_node, global_node, exprs, read_node, lvals, ret_node  
022 1.25 1.25 1.00   1.00   0.50 parentheses_node, primary_expression_node, brackets_node, read_node, lvals, return_node  
023 1.25 1.25 1.00   1.00   0.50 lvals, parenthesis_node, read_node, lvals, decls, vars  
024 1.25 1.25 1.00   1.00   0.50 read_node, lvals, decls, vars, funcs  
025 1.63 1.63 1.00   1.00   0.75 id_node, lvals, read_node, return_node  
026 1.63 1.63 1.00   1.00   0.75 exprs, read_node, lvals  
027 1.63 1.63 1.00   1.00   0.75 lvals, read_node  
028 0.25 0.25 1.00   0.00 não compila, ast, targets   missing nodes, program_node, while_node, exprs, decls, read_node, lvals, funcs  
029 1.63 1.63 1.00   1.00   0.75 read_node, lvals, return_node  
030 1.00 1.00 1.00   0.00 (cvs ok) 0.50 nullptr, break_node, continue_node, new, read_node, lvals  
031 1.25 1.25 1.00   1.00   0.50 program_node, pointer_node, read_node, lvals  
032 1.63 1.63 1.00   1.00   0.75 lvals, identifier_lvalue_node, read_node, return_node  
033 1.25 1.25 1.00   1.00   0.50 pointer_node, read_node, lvals, decls, funcs  
034 1.63 1.63 1.00   1.00   0.75 read_node, lvals  
035 1.63 1.63 1.00   1.00   0.75 read_node, lvals, var_node  
036 1.25 1.25 1.00   1.00   0.50 read_node, lvals, exprs, missing nodes  
037 1.63 1.63 1.00   1.00   0.75 lvals, return_zero_node, read_node, return_node  
038 1.63 1.63 1.00   1.00   0.75 read_node  
039 1.25 1.25 1.00   1.00   0.50 program_node, while_node, lvals, dups, pointer_node, float_node, comment_node, read_node  
040 0.63 0.63 1.00   0.00 (cvs ok) 0.25 missing nodes, program_node, exprs, decls, read_node, lvals, funcs, return_node  
041 1.25 1.25 1.00   1.00   0.50 read_node, lvals, decls, vars  
042 1.25 1.25 1.00   1.00   0.50 leftval_node, lvals, continue_node, new, read_node  
043 1.63 1.63 1.00   1.00   0.75 read_node, lvals  
044 1.63 1.63 1.00   1.00   0.75 lvals, read_node, return_node  
045 1.00 1.00 1.00   0.00 (cvs ok) 0.50 ident_node, lvals, read_node  
046 1.25 1.25 1.00 TODO 1.00   0.50 program_node, dups, pointer_node, real_node, read_node, lvals  
047 1.63 1.63 1.00   1.00   0.75 read_node, lvals, return_node  
048 1.25 1.25 1.00   1.00   0.50 read_node, lvals, indexing_values, variable_node, decls  
049 1.25 1.25 1.00   1.00   0.50 exclamation_node, dups, identify_node, lvals, read_node  
050 1.63 1.63 1.00   1.00   0.75 lvals, read_node, return_node  
051 1.63 1.63 1.00   1.00   0.75 read_node, lvals  
052 1.63 1.63 1.00   1.00   0.75 read_node  
053 1.63 1.63 1.00   1.00   0.75 comma_node, exit_node, read_node  
054 1.63 1.63 1.00   1.00   0.75 id_node, lvals, read_node, variable_node  
055 1.25 1.25 1.00   1.00   0.50 pointer node, float_node, dups, exprs, read_node, lvals  
056 1.63 1.63 1.00   1.00   0.75 identifier_l_node, lvals, read_node  
057 1.63 1.63 1.00   1.00   0.75 read_node, lvals  
058 1.63 1.63 1.00   1.00   0.75 lvals, read_node, return_node  
059 1.63 1.63 1.00   1.00   0.75 lvals, read_node  
060 1.25 1.25 1.00   1.00   0.50 curved_brackets_node, read_node, lvals, decls, variable_node  
061 1.63 1.63 1.00   1.00   0.75 read_node, lvals, variable_node  
062 1.63 1.63 1.00   1.00   0.75 read_node, lvals  
063 1.25 1.25 1.00   1.00   0.50 program_node, pointer_node, read_node, lvals, decls, funcs, vars  
064 1.63 1.63 1.00   1.00   0.75 read_node, lvals, return_node  
065 1.25 1.25 1.00   1.00   0.50 name_identifier_node, lvals, read_node, return_node, decls  
066 1.63 1.63 1.00   1.00   0.75 program_node, body_node, read_node, lvals, return_node  
067 NA sem entrega inicial
068 NA sem entrega inicial
069 0.25 0.25 1.00   0.00 não compila, ast, targets   program_node, missing nodes, bad names, read_node, lvals  
070 1.25 1.25 1.00   1.00   0.50 program_node, while_node, pointer_node, read_node, lvals, return_node, variable_node, decls, funcs pointers_node??
071 0.63 0.63 1.00   0.00 (cvs ok) 0.25 missing nodes, pub_dec_node, priv_dec_node, decls, extern_dec_node, id_node, lvals, read_node, return_node, decls  
072 1.25 1.25 1.00   1.00   0.50 while_node, zu_identifier_node, lvals, read_node, return_node, decls, variable_node  
073 1.25 1.25 1.00   1.00   0.50 lvals, read_node, return_node, decls, vars  
074 1.63 1.63 1.00   1.00   0.75 program_node, while_node, id_node, lvals, read_node, return_node  
075 1.63 1.63 1.00   1.00   0.75 read_node, lvals, return_node, decls  
076 1.25 1.25 1.00   1.00   0.50 read_node, lvals, decls, funcs, vars  
077 1.63 1.63 1.00   1.00   0.75 read_node, lvals  
078 1.63 1.63 1.00   1.00   0.75 file_node, lvals, pointer_node, curve_parentheses_node, read_node, func_return_node  
079 1.25 1.25 1.00   1.00   0.50 program_node, while_node, file_node, exprs, read_node, lvals, decls, variable_node  
080 1.63 1.63 1.00   1.00   0.75 lvals, read_node  
081 0.25 0.25 1.00   0.00 não compila, ast   read_node, lvals, decls, funcs, vars  
082 1.25 1.25 1.00   1.00   0.50 program_node, read_node, lvals, return_node, decls, funcs, vars  
083 1.63 1.63 1.00   1.00   0.75 suffix_node, read_node, lvals  
084 1.63 1.63 1.00   1.00   0.75 read_node, lvals  
085 1.63 1.63 1.00   1.00   0.75 lvals, expression_sequence_node, read_node, variable_node  
086 NA sem entrega inicial
087 1.25 1.25 1.00   1.00   0.50 while_node, pointer_node, read_node, lvals, decls, funcs  
088 1.25 1.25 1.00   1.00   0.50 id_node, leftvalue_node, lvals, read_node, define_var_node, decls  
089 1.25 1.25 1.00   1.00   0.50 lvals, visibility, new, read_node, return_node, decls, funcs, vars  
090 1.25 1.25 1.00   1.00   0.50 zu_identifier_node, lvals, exprs, read_node, return_node, decls, variable_node  
091 1.19 1.19 0.75 lixo no repositório 1.00   0.50 identifier_l_node, lvals, read_node, decls  
092 2.00 2.00 1.00   1.00   1.00    
093 1.63 1.63 1.00   1.00   0.75 lvals, read_node  
094 1.63 1.63 1.00   1.00   0.75 lvals, left_value_node, break_node, continue_node, new, read_node  
095 1.25 1.25 1.00   1.00   0.50 read_node, decls, lvals, declaration_lvalue_node  
096 1.63 1.63 1.00   1.00   0.75 read_node, lvals  
097 1.63 1.63 1.00   1.00   0.75 id_node, lvals, read_node, return_node  
098 1.63 1.63 1.00   1.00   0.75 lvals, read_node, malloc_node, return_node, terminator_node  
099 1.25 1.25 1.00   1.00   0.50 read_node, lvals, index_node, variables  
100 1.25 1.25 1.00   1.00   0.50 null_node (pointer node), variable_node, decls  
101 1.25 1.25 1.00   1.00   0.50 read_node, lvals, decls, funcs, vars  
102 1.25 1.25 1.00   1.00   0.50 program_node, read_node, lvals, decls, funcs, exprs, missing nodes  
103 1.63 1.63 1.00   1.00   0.75 lvals, read_node  
104 0.94 0.94 0.75 lixo no repositório 0.00 (cvs ok) 0.50 second_for_node, read_node, lvals, return_node, decls  
105 1.25 1.25 1.00   1.00   0.50 read_node, lvals, position_node, return_node, decls, funcs  
106 1.63 1.63 1.00   1.00   0.75 read_node, lvals  
107 1.63 1.63 1.00   1.00   0.75 while_node, zu_identifier_node, lvals, read_node, return_node  
108 1.00 1.00 1.00   0.00 (cvs ok) 0.50 missing nodes, read_node, lvals, return_node, decls, variable_node  
109 1.25 1.25 1.00   1.00   0.50 program_node, lvals, pointer_node, read_node, decls, vars  
110 1.25 1.25 1.00   1.00   0.50 program_node, exprs, read_node, lvals, decls, funcs  
111 2.00 2.00 1.00   1.00   1.00    
112 1.63 1.63 1.00   1.00   0.75 lvals  
113 1.63 1.63 1.00   1.00   0.75 void return  
114 1.25 1.25 1.00   1.00   0.50 decls, vars  
115 1.19 1.19 0.75 lixo no repositório 1.00   0.50 lvals, decls, external_declaration_node, read_node  
116 1.63 1.63 1.00   1.00   0.75 read_node, lvals  
117 1.25 1.25 1.00   1.00   0.50 lvals, exprs, read_node  
118 1.63 1.63 1.00   1.00   0.75 while_node, read_node, lvals, sequence_expression_node, return_node  
119 1.63 1.63 1.00   1.00   0.75 read_node, lvals, termination_node  
120 1.63 1.63 1.00   1.00   0.75 program_node, while_node  
121 1.63 1.63 1.00   1.00   0.75 while_node, file_node, read_node, lvals  
122 1.63 1.63 1.00   1.00   0.75 read_node, lvals, return_node  
123 1.25 1.25 1.00   1.00   0.50 read_node, lvals, decls, funcs, vars  
124 1.63 1.63 1.00   1.00   0.75 file_node, lvals, pointer_node, read_node  
125   sem inscrição
126 1.25 1.25 1.00   1.00   0.50 types, functiontype_node, read_node, lvals, decls, vars, return_node  
127 1.25 1.25 1.00   1.00   0.50 read_node, lvals, return_node, decls, funcs, vars  
128 1.00 1.00 1.00   0.00 (cvs ok) 0.50 exprs, read_node, lvals, return_node  
129 1.25 1.25 1.00   1.00   0.50 lvals, read_node, variable_node, return_node, decls, funcs  
130 1.25 1.25 1.00   1.00   0.50 program_node, while_node, read_node, lvals, variable_node, decls, funcs, vars, return_node  
131 1.38 1.38 1.00   0.00 (cvs ok) 0.75 while_node, exprs, read_node, lvals  
132 1.63 1.63 1.00   1.00   0.75 read_node, lvals, funcs  
133 NA sem entrega inicial
134 1.25 1.25 1.00   1.00   0.50 program_node, while_node, lvals, dups, real_node, read_node  
135 1.38 1.38 1.00   0.00 (cvs ok) 0.75 program_node, read_node, lvals, return_node  
136 1.63 1.63 1.00   1.00   0.75 read_node  
137 1.63 1.63 1.00   1.00   0.75 read_node, return_node  
138 1.25 1.25 1.00   1.00   0.50 read_node, lvals, decls, exprs, funcs  
139 1.25 1.25 1.00   1.00   0.50 program_node, read_node, lvals, return_node, decls, funcs, vars  
140 1.63 1.63 1.00   1.00   0.75 read_node, lvals  
141 1.25 1.25 1.00   1.00   0.50 missing nodes, program_node, while_node, do_hexa_node, read_node, lvals, decls, exprs, funcs  
142   sem inscrição
143 1.25 1.25 1.00   1.00   0.50 read_node, decls, vars std::string*
144 1.25 1.25 1.00   1.00   0.50 read_node, define_variable_node, decls, lvals, vars  
145 NA sem entrega inicial
146 1.19 1.19 0.75 lixo no repositório 1.00   0.50 program_node, while_node, exprs, read_node, lvals, decls, funcs, return_node  
147 1.00 1.00 1.00   0.00 (cvs ok) 0.50 file_node, pointer_node, read_node, lvals, return_node, decls, funcs  
148 1.25 1.25 1.00   1.00   0.50 program_node, while_node, pointer_node, public_node, private_node, zu_identifier_node, lvals, read_node, lvals, decls, variable_node  
149 1.25 1.25 1.00   1.00   0.50 program_node, types, func_type_node, read_node, lvals, return_node  
150 1.25 1.25 1.00   1.00   0.50 dups, real_node, curved_par_node, read_node, lvals, return_node  
151 1.25 1.25 1.00   1.00   0.50 program_node, while_node, read_node, lvals, decls, variable_node, decls, funcs, return_node  
152 1.38 1.38 1.00   0.00 (cvs ok) 0.75 read_node, lvals  
153 1.25 1.25 1.00   1.00   0.50 read_node, var_init_node, decls, lvals, return_node, funcs  
154 1.00 1.00 1.00   0.00 (cvs ok) 0.50 program_node, while_node, read_node, lvals  
155 1.25 1.25 1.00   1.00   0.50 program_node, while_node, body_node, read_node, lvals, exprs  
156 1.63 1.63 1.00   1.00   0.75 read_node, lvals, var_node  
157 1.00 1.00 1.00   0.00 (cvs ok) 0.50 program_node, decls, export_node, import_node, exprs, read_node, lvals  
158 NA sem entrega inicial
159 NA sem entrega inicial
160 1.63 1.63 1.00   1.00   0.75 read_node, lvals  
161 1.38 1.38 1.00   0.00 (cvs ok) 0.75 lvals, read_node, return_node  
162 1.38 1.38 1.00   0.00 (cvs ok) 0.75 read_node, lvals, return_node  
163 1.63 1.63 1.00   1.00   0.75 read_node, lvals  
164 1.63 1.63 1.00   1.00   0.75 my_identifier_node, lvals, read_node  
165 0.88 0.88 1.00   1.00   0.25 program_node, while_node, dups, markers, operators, etc., lvals, decls, funcs, exprs read_node  
166   sem inscrição
167 1.25 1.25 1.00   1.00   0.50 program_node, while_node, read_node, lvals, var_node, decls, funcs, vars  
168 1.00 1.00 1.00   0.00 (cvs ok) 0.50 read_node, lvals  
169 0.25 0.25 1.00   0.00 não compila, targets   program_node, while_node, exprs, read_node, lvals, return_node  
170 NA sem entrega inicial
171 0.25 0.25 1.00   0.00 não compila, ast, targets   missing nodes, program_node, while_node, dups (sequence, neg, real_node), read_node, lvals, decls, exprs, funcs  
172 0.63 0.63 1.00   0.00 (cvs ok) 0.25 missing nodes, program_node, pointer_node, exprs, read_node, lvals  
173 1.25 1.25 1.00   1.00   0.50 read_node, decls  
174 1.63 1.63 1.00   1.00   0.75 read_node, lvals  
175 1.25 1.25 1.00   1.00   0.50 while_node, def_func_node, makeDeclaration, new, read_node, assignment_node, lvals bad code design
176 NA sem entrega inicial
177 1.63 1.63 1.00   1.00   0.75 lvaluexp_node, lvals, read_node identifier_node vs. variable_node
178   sem inscrição
179 1.63 1.63 1.00   1.00   0.75 read_node, lvals  
180 1.56 1.56 0.75 lixo no repositório 1.00   0.75 read_node, lvals, return_node  
181 1.63 1.63 1.00   1.00   0.75 read_node, lvals  
182 1.25 1.25 1.00   1.00   0.50 while_node, read_node, lvals, return_node, decls, vars  
183 NA sem entrega inicial
184 1.25 1.25 1.00   1.00   0.50 program_node, while_node, exprs, read_node, lvals, decls, funcs  
185 1.63 1.63 1.00   1.00   0.75 program_node, while_node, read_node, lvals  
186 NA sem entrega inicial
187 1.25 1.25 1.00   1.00   0.50 program_node, while_node, read_node, lvals, decls, funcs, exprs, return_node  
188 1.25 1.25 1.00   1.00   0.50 program_node, while_node, file_node, body_node, exprs, read_node, lvals, return_node, decls, variable_node  
189 0.88 0.88 1.00   1.00   0.25 program_node, read_node, lvals, missing nodes  
190 1.25 1.25 1.00   1.00   0.50 read_node, lvals, decls, funcs, vars, exprs  
191 1.63 1.63 1.00   1.00   0.75 exprs, read_node, lvals  
192 0.25 0.25 1.00   0.00 não compila, targets   missing nodes, incomplete visitors, exprs, read_node, lvals  
193 0.25 0.25 1.00   0.00 não compila, ast, targets   missing nodes, program_node, while_node, incomplete visitors, exprs, decls, read_node, lvals, funcs  
194 1.25 1.25 1.00   1.00   0.50 program_node, pointer_node, float_node, dups, read_node, lvals, decls, exprs, funcs, return_node  
195 1.63 1.63 1.00   1.00   0.75 read_node, lvals, return_node  
196 1.00 1.00 1.00   0.00 (cvs ok) 0.50 read_node, lvals, indexation_node, decls, vars  
197 0.88 0.88 1.00   1.00   0.25 missing_nodes, program_node, while_node, exprs, read_node, lvals, decls, funcs, return_node  
198 0.25 0.25 1.00   0.00 não compila, ast   missing nodes, program_node, while_node, exprs, decls, read_node, lvals, funcs  
199 1.25 1.25 1.00   1.00   0.50 read_node, lvals, decls, variable_node  
200 1.25 1.25 1.00   1.00   0.50 read_node, lvals, decls, funcs, vars  
201 NA sem inscrição
202 NA sem inscrição
203 NA sem entrega inicial

___EOT___; </runphp>