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

From Wiki**3

< Compiladores‎ | Pautas 2016-2017
Revision as of 17:56, 10 April 2017 by Root (talk | contribs) (→‎Legenda)
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: 2017/03/24 17:00 (inicial); 2017/04/21 17:00 (intercalar); 2017/05/22 17:00 (final); 2017/05/22-2017/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

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 actual.

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 "xpl" ("xpl", 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

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)
  • 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/public/use/qualifier: 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
  • alloc_node: este nó tem de ser uma expressão unária (qualquer outra versão está errada)
  • address_of_node: este nó é uma expressão aplicável a um left-value (tem várias implementações possíveis)
  • 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="71"></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="214"></colgroup> <tbody> </tbody>
  Nota Total CVS Compilação <a href="https://goo.gl/c8ukbL">https://goo.gl/c8ukbL</a> Nós, Métodos de Visita Obs.
Número 2.00 2.00 0.25 Problemas 0.25 Problemas 1.50 Problemas
36897 NA sem entrega inicial
44126 NA sem entrega inicial
50724 NA sem entrega inicial
52327 NA sem entrega inicial
55428 0.25 0.25 1.00   0.00 (não compila)   program_node, file_node, dups, relops, arithops, etc., missing nodes, call_node, decls, funcs, block_node, next_node, stop_node, return_node, read_node, address_of_node, identity_node, null_node, index_node, lvals, curvedP_node, set_val_node, dups, variable_node, lvals, alloc_node  
58727 0.88 0.88 1.00   1.00   0.25 read_node, address_of_node, identity_node, null_node, missing nodes, call_node, decls, vars, index_node, block_node, decls, funcs, sweep_node  
62892 1.25 1.25 1.00   1.00   0.50 read_node, null_node, missing nodes, dups, lvals, identifier_node, decls, funcs, vars, call_node, lvals, sweep_node  
63572 1.25 1.25 1.00   1.00   0.50 read_node, address_of_node, identity_node, null_node, missing nodes, call_node, index_node, block_node, decls, vars, lvals, sweep_node, body  
63916 NA sem entrega inicial
64722 0.88 0.88 1.00   1.00   0.25 program_node, read_node, address_of_node, identity_node, null_node, missing nodes, vars, call_node, index_node, block_node, decls, funcs, lvals, sweep_node  
64738 0.88 0.88 1.00   1.00   0.25 read_node, address_of_node, identity_node, null_node, index_node, lvals, missing nodes, call_node, decls, funcs  
67045 NA sem entrega inicial
67056 1.25 1.25 1.00   1.00   0.50 program_node, next_node, stop_node, dups, arithops, read_node, null_node, index_node, variable_node, decls, funcs, vars, call_node, lvals, alloc_node, sweep_node  
67075 0.25 0.25 1.00   0.00 (não compila)   program_node, missing nodes, next_node, lvals, return_node, read_node, address_of_node, null_node, missing nodes, sweep_node, index_node, block_node  
68168 0.25 0.25 1.00   0.00 (não compila)   program_node, dups, int_node, use_node, public_node, read_node, address_of_node, identity_node, null_node, index_node, lvals, pointer_node, block_node, sweep_node, missing nodes, call_node, decls, funcs, procedure_node  
68199 1.25 1.25 1.00   1.00   0.50 if_node, if_else_node, elsif, read_node, identity_node, null_node, sweep_node não deve existir nó para elsif
69405 1.25 1.25 1.00   1.00   0.50 return_node, read_node, address_of_node, index_node, decls, alloc_node, lvals, call_node, block_node, sweep_node  
69720 1.25 1.25 1.00   1.00   0.50 next_node, read_node, identity_node, null_node, sweep_node  
69814 1.25 1.25 1.00   1.00   0.50 program_node, read_node, address_of_node, identity_node, null_node, index_node, decls, funcs, vars, lvals, alloc_node, sweep_node, missing nodes, call_node  
70012 1.25 1.25 1.00   1.00   0.50 decls, funcs, vars, call_node, lvals  
70087 0.63 0.63 1.00   0.00 (cvs ok) 0.25 program_node, read_node, address_of_node, identity_node, null_node, missing nodes, index_node, dups, variable_invocation_node, decls, funcs, vars, call_node, lvals, sweep_node  
70315 0.88 0.88 1.00   1.00   0.25 next_node, stop_node, read_node, null_node, index_node, lvals, block_node, sweep_node, call_node, decls, funcs  
70652 0.88 0.88 1.00   1.00   0.25 program_node, dups, type_node, int_node, str_node, use_node, public_node, qualifier_node, read_node, address_of_node, identity_node, null_node, index_node, lvals, ptr_node, readprint_node, vector_node, block_node, decls, funcs, vars, lvals, missing nodes, call_node  
70939 NA sem entrega inicial
71003 1.19 1.19 0.75 test_touch, object files 1.00   0.50 read_node, address_of_node, identity_node, null_node, memory_node, sweep_node, decls, funcs, vars  
72619 1.25 1.25 1.00   1.00   0.50 read_node, identity_node, null_node, index_node, alloc_node, sweep_node, decls, vars  
72843 0.88 0.88 1.00   1.00   0.25 program_node, next_node, stop_node, return_node, read_node, address_of_node, identity_node, null_node, index_node, lvals, block_node, call_node, decls, funcs, vars, alloc_node, block_node, sweep_node  
72984 NA sem entrega inicial
73046 NA sem entrega inicial
73155 0.25 0.25 1.00   0.00 (não compila)   program_node, next_node (nomenc), stop_node (nomenc), return_node (nomenc), read_node, address_of_node, identity_node, null_node, missing nodes, call_node, index_node, block_node, sweep_node, xpl_node, missing decls, funcs, vars  
73311 NA sem entrega inicial
73422 1.25 1.25 1.00   1.00   0.50 read_node, address_of_node, identity_node, null_node, index_node, block_node, call_node, var_id_node  
73438 0.25 0.25 1.00   0.00 (não compila)   program_node, next_node, stop_node, read_node, address_of_node, identity_node, null_node, decls, vars, lvals, block_node, alloc_node, function_node  
73507 1.25 1.25 1.00   1.00   0.50 program_node, dups, arithops, missing nodes, read_node, address_of_node, null_node, index_node, decls, vars, lvals, sweep_node  
73522 0.25 0.25 1.00   0.00 (não compila)   if_node, if_else_node, elsif, read_node, address_of_node, identity_node, null_node, missing nodes, index_node, sweep_node, call_node não deve existir nó para elsif
73611 1.25 1.25 1.00   1.00   0.50 if_node, if_else_node, while_node, next_node, dups, arithops, address_of_node, sweep_node  
73727 1.63 1.63 1.00   1.00   0.75 read_node, address_of_node, alloc_node, decls, funcs  
73751 1.00 1.00 1.00   0.00 (cvs ok) 0.50 program_node, read_node, address_of_node, identity_node, null_node, dups, lvals, alloc_node, sweep_node, missing nodes, call_node, decls, funcs, vars  
73861 1.25 1.25 1.00   1.00   0.50 program_node, return_node, read_node, address_of_node, identity_node, null_node, missing nodes, decls, funcs, vars, index_node, block_node, sweep_node, call_node  
73974 NA sem entrega inicial
75255 1.25 1.25 1.00   1.00   0.50 return_node, read_node, address_of_node, identity_node, index_node, block_node, missing nodes, call_node, decls, funcs, vars pointer_node
75334 1.63 1.63 1.00   1.00   0.75 next_node, stop_node, return_node, sweep_node  
75455 NA sem entrega inicial
75736 1.63 1.63 1.00   1.00   0.75 next_node, stop_node, return_node, sweep_node  
75788 1.25 1.25 1.00   1.00   0.50 read_node, address_of_node, dups, var_node, decls, vars, lvals, call_node  
75805 1.25 1.25 1.00   1.00   0.50 null_node, decls, funcs, vars, call_node, lvals  
75874 0.88 0.88 1.00   1.00   0.25 read_node, identity_node, null_node, index_node, missing nodes, call_node, decls, vars sweep_node
75948 1.25 1.25 1.00   1.00   0.50 program_node, next_node, read_node, address_of_node, null_node, index_node, lvals  
76062 1.25 1.25 1.00   1.00   0.50 qualifier, node names, next_node, stop_node, dups, arithops, sign_node, read_node, identity_node, null_node, index_node, lvals, qualify_node, call_node  
76120 0.63 0.63 1.00   0.00 (cvs ok) 0.25 program_node, address_of_node, identity_node, null_node, missing nodes, call_node, index_node, type_node, block_node, decls, funcs, vars, lvals, sweep_node  
76175 1.25 1.25 1.00   1.00   0.50 read_node, index_node, lvals, call_node, decls, funcs  
76196 1.25 1.25 1.00   1.00   0.50 read_node, null_node, index_node, block_node, lvals, sweep_node, call_node, decls, funcs void*, lvals
76218 1.25 1.25 1.00   1.00   0.50 program_node, missing nodes, read_node, null_node, variable_call_node, dups sweep_node
76219 1.63 1.63 1.00   1.00   0.75 next_node, null_node, call_node, decls, funcs  
76273 0.88 0.88 1.00   1.00   0.25 program_node, read_node, address_of_node, identity_node, null_node, index_node, lvals, dups, minus_node, sweep_node, call_node, decls, funcs mem_node
76404 0.88 0.88 1.00   1.00   0.25 program_node, use_node, public_node, read_node, address_of_node, identity_node, null_node, missing nodes, index_node, block_node, decls, funcs, vars, lvals, sweep_node, call_node  
76497 0.88 0.88 1.00   1.00   0.25 read_node, address_of_node, null_node, missing nodes, vars, call_node, index_node, block_node, sweep_node  
76588 NA sem entrega inicial
77062 1.63 1.63 1.00   1.00   0.75 block_node, decls, vars, call_node, lvals  
78076 2.00 2.00 1.00   1.00   1.00    
78117 1.25 1.25 1.00   1.00   0.50 program_node, dups, arithops, null_node, index_node, decls, funcs, vars, call_node, alloc_node, lvals, sweep_node  
78149 1.25 1.25 1.00   1.00   0.50 address_of_node, null_node, decls, vars, lvals, alloc_node, call_node  
78198 0.63 0.63 1.00   0.00 (cvs ok) 0.25 dups, next_node, lvals, read_node, address_of_node, identity_node, null_node, missing nodes, index_node, decls, funcs, call_node, lvals, sweep_node  
78230 NA sem entrega inicial
78271 0.88 0.88 1.00   1.00   0.25 program_node, file_node, use_node, public_node, read_node, address_of_node, identity_node, null_node, dups, variable_node, decls, funcs, vars, call_node, lvals, sweep_node  
78280 1.25 1.25 1.00   1.00   0.50 program_node, read_node, address_of_node, identity_node, null_node, index_node, sweep_node, decls, funcs, call_node  
78302 0.88 0.88 1.00   1.00   0.25 program_node, next_node, read_node, identity_node, null_node, sweep_node, missing nodes, decls, vars alloc_node
78304 1.63 1.63 1.00   1.00   0.75 call_node, decls, funcs  
78307 2.00 2.00 1.00   1.00   1.00    
78317 1.19 1.19 0.75 noob_node 1.00   0.50 return_node, read_node, identity_node, null_node, decls, funcs, vars, call_node, lvals  
78445 1.63 1.63 1.00   1.00   0.75 call_node  
78457 0.88 0.88 1.00   1.00   0.25 program_node, int_node, next_node, stop_node, return_node, dups, arithops, read_node, address_of_node, identity_node, null_node, missing nodes, decls, vars, call_node, index_node, block_node, alloc_node, sweep_node, function_node  
78503 1.63 1.63 1.00   1.00   0.75 null_node, alloc_node, sweep_node  
78614 0.25 0.25 1.00   0.00 (não compila)   next_node, null_node, index_node, lvals, sweep_node return_node, read_node
78674 NA sem entrega inicial
78682 1.25 1.25 1.00   1.00   0.50 read_node, null_node, index_node, decls, funcs, lvals, sweep_node, missing nodes, call_node  
78688 0.88 0.88 1.00   1.00   0.25 program_node, dups, arithops, int_node, next_node, stop_node, return_node, read_node, address_of_node, identity_node, null_node, index_node, lvals, block_node, sweep_node, missing nodes, decls, vars, call_node  
78690 1.25 1.25 1.00   1.00   0.50 read_node, identity_node, null_node, index_node, lvals, block_node, decls, funcs, call_node, lvals, sweep_node, procedure_node int*, memory_node
78742 1.63 1.63 1.00   1.00   0.75 read_node, null_node  
78785 2.00 2.00 1.00   1.00   1.00    
78791 NA sem entrega inicial
78876 1.25 1.25 1.00   1.00   0.50 dups, read_node, null_node, index_node, decls, vars, lvals, decls, funcs sweep_node
78960 0.88 0.88 1.00   1.00   0.25 read_node, identity_node, null_node, end_node, fich_node, publico_node, qual_node, uso_node, dups, var_node, decls, funcs, vars, call_node, lvals, block_node, sweep_node, procedure_node pont_node
78973 1.63 1.63 1.00   1.00   0.75 sweep_node  
78974 1.25 1.25 1.00   1.00   0.50 identity_node, block_node, decls, funcs, vars, call_node, lvals, alloc_node, sweep_node  
78982 1.63 1.63 1.00   1.00   0.75 index_node, lvals, decls, funcs  
79075 1.25 1.25 1.00   1.00   0.50 null_node, decls, funcs, vars, call_node, lvals, block_node int*
79114 NA sem entrega inicial
79120 1.25 1.25 1.00   1.00   0.50 program_node, dups, arithops, read_node, null_node, dups, expression_as_instruction_node brackets_node
79175 1.63 1.63 1.00   1.00   0.75 null_node, sweep_node, call_node  
79197 1.25 1.25 1.00   1.00   0.50 read_node, address_of_node, identity_node, null_node, index_node, decls, funcs, vars, call_node, lvals, block_node, alloc_node  
79210 1.25 1.25 1.00   1.00   0.50 read_node, address_of_node, identity_node, null_node, index_node, decls, funcs, vars, lvals, block_node, alloc_node, sweep_node, call_node  
79457 0.88 0.88 1.00   1.00   0.25 read_node, address_of_node, identity_node, null_node, index_node, block_node, sweep_node, missing nodes, decls, funcs, vars, call_node  
79601 1.63 1.63 1.00   1.00   0.75 block_node, decls, funcs, vars, call_node, lvals  
79633 1.25 1.25 1.00   1.00   0.50 address_of_node, null_node, decls, funcs, vars, call_node, lvals  
79674 0.25 0.25 1.00   0.00 (não compila)   program_node, dups, read_node, null_node, index_node, decls, funcs sweep_node
79679 1.25 1.25 1.00   1.00   0.50 dups, arithops, null_node, decls, funcs  
79690 NA sem entrega inicial
79702 1.25 1.25 1.00   1.00   0.50 read_node, address_of_node, identity_node, null_node, sweep_node, call_node, missing nodes, decls, funcs, vars  
79714 1.25 1.25 1.00   1.00   0.50 program_node, read_node, address_of_node, identity_node, pointer_node, call_node  
79758 1.25 1.25 1.00   1.00   0.50 program_node, dups, arithops, read_node, sweep_node  
79770 1.25 1.25 1.00   1.00   0.50 read_node, identity_node, null_node, alloc_node, lvals, block_node, call_node  
80763 1.63 1.63 1.00   1.00   0.75 identity_node, decls, vars read_node, sweep_node
80770 1.63 1.63 1.00   1.00   0.75 return_node, address_of_node, identity_node, decls, vars sweep_node
80774 1.63 1.63 1.00   1.00   0.75 read_node, address_of_node, null_node, alloc_node, call_node  
80777 1.63 1.63 1.00   1.00   0.75 address_of_node, identity_node, block_node  
80789 2.00 2.00 1.00   1.00   1.00    
80805 1.25 1.25 1.00   1.00   0.50 dups, arithops, read_node, null_node, type, index_node, lvals, block_node, call_node  
80818 1.63 1.63 1.00   1.00   0.75 decls, funcs, vars, call_node, lvals  
80831 1.63 1.63 1.00   1.00   0.75 read_node, address_of_node, identity_node, call_node malloc_node
80845 NA sem entrega inicial
80858 1.63 1.63 1.00   1.00   0.75 decls, funcs, call_node, lvals memory_node
80866 1.25 1.25 1.00   1.00   0.50 read_node, address_of_node, identity_node, null_node, index_node, mem_access_node, alloc_node, decls, funcs, vars, call_node, lvals  
80915 1.63 1.63 1.00   1.00   0.75 null_node, sweep_node  
80934 1.63 1.63 1.00   1.00   0.75 null_node, block_node, call_node  
80937 1.25 1.25 1.00   1.00   0.50 read_node, address_of_node, null_node, index_node, lvals, alloc_node, call_node  
80945 1.63 1.63 1.00   1.00   0.75 dups, arithops, priority_node, call_node suffix_node
80946 0.94 0.94 0.75 ROOT 0.00 (cvs ok) 0.50 read_node, null_node, index_node, decls, funcs, call_node, lvals, sweep_node, decls, vars  
80950 2.00 2.00 1.00   1.00   1.00    
80952 1.63 1.63 1.00   1.00   0.75 dups, arithops, simetric_node  
80967 1.63 1.63 1.00   1.00   0.75 read_node, call_node  
80970 1.63 1.63 1.00   1.00   0.75 read_node, address_of_node, alloc_node  
80975 1.00 1.00 1.00   0.00 (cvs ok) 0.50 program_node, read_node, decls, funcs, vars, call_node, lvals  
80980 1.63 1.63 1.00   1.00   0.75 while_node, print_node, alloc_node, lvals, sweep_node, call_node, decls, funcs  
80990 1.63 1.63 1.00   1.00   0.75 identity_node, decls, vars  
80996 1.63 1.63 1.00   1.00   0.75 null_node  
81002 1.63 1.63 1.00   1.00   0.75 null_node  
81016 1.19 1.19 0.75 noob_node 1.00   0.50 next_node, stop_node, dups, arithops, read_node, identity_node, null_node, sweep_node  
81026 NA sem entrega inicial
81041 1.25 1.25 1.00   1.00   0.50 next_node, return_node, dups, arithops, null_node, decls, funcs, vars, lvals, call_node  
81045 1.38 1.38 1.00   0.00 (cvs ok) 0.75 dups, decls, funcs, vars, call_node, lvals  
81057 1.63 1.63 1.00   1.00   0.75 dups, index_node, block_node, decls, funcs, vars, call_node, lvals  
81061 2.00 2.00 1.00   1.00   1.00   read_node
81066 1.63 1.63 1.00   1.00   0.75 dups, lvals, null_node, decls, funcs, vars, call_node suffix_node
81082 2.00 2.00 1.00   1.00   1.00    
81083 1.63 1.63 1.00   1.00   0.75 identity_node, decls, vars  
81105 2.00 2.00 1.00   1.00   1.00    
81115 1.63 1.63 1.00   1.00   0.75 null_node  
81121 1.00 1.00 1.00   0.00 (cvs ok) 0.50 program_node, read_node, address_of_node, identity_node, index_node, lvals, block_node, decls, funcs, vars, call_node, alloc_node, lvals indexof_node
81130 1.63 1.63 1.00   1.00   0.75 read_node, decls, funcs, vars, call_node, lvals  
81149 1.25 1.25 1.00   1.00   0.50 print_node, index_node, block_node, decls, funcs, vars, lvals, sweep_node, missing nodes, call_node  
81151 2.00 2.00 1.00   1.00   1.00    
81155 1.56 1.56 0.75 identity.h, object files 1.00   0.75 read_node, null_node, index_node, call_node, lvals, sweep_node, decls, vars memory_node
81159 1.25 1.25 1.00   1.00   0.50 dups, arithops, priority_node, null_node, sweep_node, missing nodes, call_node suffix_node, nomenc
81172 1.63 1.63 1.00   1.00   0.75 read_node  
81173 1.63 1.63 1.00   1.00   0.75 alloc_node, call_node  
81183 1.25 1.25 1.00   1.00   0.50 dups, arithops, read_node, address_of_node, identity_node, null_node, index_node, decls, funcs, vars, call_node, alloc_node, lvals, sweep_node  
81186 1.63 1.63 1.00   1.00   0.75 read_node  
81191 2.00 2.00 1.00   1.00   1.00    
81196 1.63 1.63 1.00   1.00   0.75 decls, funcs, vars, call_node, lvals  
81197 1.63 1.63 1.00   1.00   0.75 address_of_node, call_node, lvals  
81201 1.63 1.63 1.00   1.00   0.75 call_node  
81205 2.00 2.00 1.00   1.00   1.00    
81209 2.00 2.00 1.00   1.00   1.00    
81268 1.63 1.63 1.00   1.00   0.75 dups, read_node, null_node, index_node, decls, funcs  
81271 2.00 2.00 1.00   1.00   1.00    
81273 1.38 1.38 1.00   0.00 (cvs ok) 0.75 if_node, if_else_node, while_node, address_of_node, block_node block_node, sequences, sweep_node
81283 1.25 1.25 1.00   1.00   0.50 read_node, null_node, memory_node, decls, vars, lvals  
81306 1.25 1.25 1.00   1.00   0.50 alloc_node, decls, funcs, call_node, lvals, block_node  
81328 1.63 1.63 1.00   1.00   0.75 read_node  
81329 1.63 1.63 1.00   1.00   0.75 read_node, null_node, index_node, lvals, alloc_node, call_node  
81338 1.25 1.25 1.00   1.00   0.50 program_node, read_node, address_of_node, index_node, mem_access_node, block_node, decls, funcs, vars, call_node, alloc_node, lvals, sweep_node  
81345 0.88 0.88 1.00   1.00   0.25 program_node, dups, arithops, read_node, address_of_node, identity_node, null_node, missing nodes, decls, funcs, vars, call_node, index_node, alloc_node, symmetric_node  
81354 1.63 1.63 1.00   1.00   0.75 identity_node, sweep_node  
81365 2.00 2.00 1.00   1.00   1.00    
81380 1.63 1.63 1.00   1.00   0.75 program_node, dups, arithops, null_node, alloc_node, sweep_node  
81423 1.63 1.63 1.00   1.00   0.75 null_node, block_node, call_node  
81428 2.00 2.00 1.00   1.00   1.00    
81440 1.25 1.25 1.00   1.00   0.50 read_node, identity_node, null_node, index_node, lvals, position_node, alloc_node, call_node  
81467 1.63 1.63 1.00   1.00   0.75 program_node, null_node, sweep_node  
81470 1.63 1.63 1.00   1.00   0.75 read_node, sweep_node  
81478 2.00 2.00 1.00   1.00   1.00    
81491 1.63 1.63 1.00   1.00   0.75 identity_node, decls, vars  
81500 2.00 2.00 1.00   1.00   1.00    
81505 1.63 1.63 1.00   1.00   0.75 sweep_node  
81513 NA sem entrega inicial
81530 1.63 1.63 1.00   1.00   0.75 read_node  
81534 1.63 1.63 1.00   1.00   0.75 address_of_node, expression_index_node, decls, funcs  
81538 2.00 2.00 1.00   1.00   1.00    
81543 1.63 1.63 1.00   1.00   0.75 read_node, identity_node, null_node, block_node, decls, funcs, vars, lvals  
81577 1.25 1.25 1.00   1.00   0.50 read_node, identity_node, null_node, decls, funcs, vars, call_node, lvals, alloc_node  
81596 1.63 1.63 1.00   1.00   0.75 read_node, alloc_node, call_node  
81609 0.88 0.88 1.00   1.00   0.25 program_node, next_node, stop_node, read_node, address_of_node, identity_node, null_node, index_node, decls, funcs, lvals, missing nodes, call_node  
81620 2.00 2.00 1.00   1.00   1.00    
81630 1.25 1.25 1.00   1.00   0.50 dups, arithops, read_node, null_node, decls, funcs, vars, call_node, lvals, sweep_node  
81633 1.25 1.25 1.00   1.00   0.50 read_node, decls, funcs, vars, call_node, lvals  
81647 2.00 2.00 1.00   1.00   1.00    
81651 0.88 0.88 1.00   1.00   0.25 int_declaration_node, string_declaration_node, real_declaration_node, use_node, public_node, dups, arithops, priority_node, read_node, null_node, pointer_declaration_node, decls, funcs, lvals, block_node, alloc_node, call_node void*
81654 1.25 1.25 1.00   1.00   0.50 identity_node, missing nodes, decls, vars  
81657 1.63 1.63 1.00   1.00   0.75 identity_node  
81670 1.25 1.25 1.00   1.00   0.50 program_node, read_node, index_node, alloc_node, lvals, block_node, decls, funcs, vars, call_node, sweep_node  
81676 1.25 1.25 1.00   1.00   0.50 dups, arithops, null_node, print_node, index_node, decls, funcs, call_node, lvals, sweep_node void*
81700 1.25 1.25 1.00   1.00   0.50 address_of_node, block_node, decls, funcs, vars, call_node, lvals  
81703 2.00 2.00 1.00   1.00   1.00    
81714 1.63 1.63 1.00   1.00   0.75 null_node, block_node, call_node read_node
81719 1.63 1.63 1.00   1.00   0.75 block_node, decls, vars, lvals call_node
81726 2.00 2.00 1.00   1.00   1.00    
81749 2.00 2.00 1.00   1.00   1.00    
81756 1.25 1.25 1.00   1.00   0.50 read_node, call_node, lvals, block_node, decls, funcs, vars, lvals, types, alloc_node, missing nodes, call_node  
81757 NA sem entrega inicial
81785 1.63 1.63 1.00   1.00   0.75 read_node, call_node  
81796 1.25 1.25 1.00   1.00   0.50 read_node, address_of_node, identity_node, null_node, index_node, lvals, dups, block_node, call_node  
81805 2.00 2.00 1.00   1.00   1.00   use_node
81811 1.63 1.63 1.00   1.00   0.75 address_of_node, call_node  
81824 1.25 1.25 1.00   1.00   0.50 program_node, read_node, identity_node, null_node, sweep_node, call_node  
81845 1.63 1.63 1.00   1.00   0.75 read_node, identity_node, index_node, lvals  
81853 1.63 1.63 1.00   1.00   0.75 program_node, read_node, null_node  
81861 2.00 2.00 1.00   1.00   1.00    
81878 1.63 1.63 1.00   1.00   0.75 address_of_node, block_node subscript_node, block_node, sequences
81888 2.00 2.00 1.00   1.00   1.00    
82009 0.19 0.19 0.75 address.h, object files 0.00 (não compila)   program_node, read_node, address_of_node, null_node, index_node, alloc_node (assignment_node), lvals, dups, block_node, function_body_node, instruction_block_node, call_node, decls, funcs, vars  
82034 1.25 1.25 1.00   1.00   0.50 read_node, index_node, lvals, sweep_node, decls, funcs, body  
82145 1.63 1.63 1.00   1.00   0.75 null_node, block_node, call_node  
82259 1.19 1.19 0.75 object files 1.00   0.50 dups, null_node, index_node, decls, funcs, vars, call_node, lvals  
82343 1.63 1.63 1.00   1.00   0.75 read_node, decls, funcs, vars, call_node, lvals  
82403 1.00 1.00 1.00   0.00 (cvs ok) 0.50 read_node, dups, ident_node, lvals, null_node, missing nodes, sweep_node  
82406 0.25 0.25 1.00   0.00 (não compila)   read_node, dups, idt_node, lvals, null_node, missing nodes  
82433 1.25 1.25 1.00   1.00   0.50 read_node, identity_node, index_node, decls, funcs, vars, call_node, lvals, alloc_node  
82448 1.25 1.25 1.00   1.00   0.50 read_node, address_of_node, identity_node, null_node, index_node, block_node, decls, funcs, vars, call_node, lvals, alloc_node  
82457 1.25 1.25 1.00   1.00   0.50 program_node, next_node, stop_node, return_node, read_node, address_of_node, identity_node, null_node, index_node, decls, funcs, vars, call_node, lvals, block_node, alloc_node  
82468 1.25 1.25 1.00   1.00   0.50 read_node, identity_node, decls, funcs, vars, call_node, lvals, alloc_node  
82502 1.63 1.63 1.00   1.00   0.75 read_node, decls, funcs, vars, lvals  
82506 1.25 1.25 1.00   1.00   0.50 address_of_node, identity_node, null_node, block_node, call_node, missing nodes, vars  
82507 1.25 1.25 1.00   1.00   0.50 next_node, stop_node, return_node, missing accept methods, read_node, identity_node, null_node, call_node  
82517 1.25 1.25 1.00   1.00   0.50 next_node, stop_node, read_node, identity_node, decls, funcs, vars, call_node, lvals, alloc_node  

___EOT___; </runphp>