Compiladores/Pautas 2015-2016/Pauta do Projecto: Entrega Intermédia

From Wiki**3

< Compiladores‎ | Pautas 2015-2016
Revision as of 18:40, 30 April 2016 by Root (talk | contribs) (→‎Pauta)
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 EM ACTUALIZAÇÃO

A entrega intermédia pode ser revista até à data da entrega final do projecto.

Critérios de Avaliação

LER COM ATENÇÃO

A entrega intermédia vale 6 valores em 20.

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

A avaliação da entrega intermédia considera a execução de intervenções em várias 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 intermédia.

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 6 valores (dos 20 disponíveis para o projecto) associados a esta entrega:

  • gestão do projecto: 1 valor
    • projecto com a estrutura correcta no repositório CVS: 0.5 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.5 valores

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

  • Flex (completo): 1.5 valores
    • Tokens correspondentes aos símbolos e palavras chave (simples ajuste do Simple)
    • Identificadores (simples ajuste do Simple)
    • Inteiros (deve estar implementada a base 16 -- a base 10 já está implementada no Simple)
    • Reais (extensão dos inteiros)
    • Strings (extensão do Simple)
    • O Flex deve retornar os tokens ao byacc (sobre DEBUG, ver abaixo) -- o não retorno de tokens penaliza fortemente toda a componente Flex (ver penalizações)
  • BYACC (completo): 1 valor
    • Regras correspondentes a literais de reais e strings (simples extensão do Simple)
    • Regras correspondentes a ciclos, etc. (simples extensão e adaptação do Simple)
    • Regras correspondentes a declarações de variáveis
    • Regras correspondentes a declarações/definições de funções
    • As acções correspondentes às regras definidas no BYACC devem estar implementadas (simples criação de nós) -- a não implementação corresponde a penalizações (var abaixo)
  • Nós (nodes) (completo): 1 valor
    • Todos os nós necessários para a linguagem (utilizados na especificação BYACC e em passos subsequentes) devem ser criados
    • A não criação de nós motivada pela ausência de definição de acções no BYACC é penalizada (ver abaixo)
  • Semântica (visitors) (xml_writer completo; postfix_writer ver a seguir): 1.5 valores
    • O "visitor" xml_writer deve estar completamente implementado (ver também DEBUG abaixo)
    • O "visitor" type_checker deve ter todos os métodos (correspondentes aos nós, tal como o xml_writer), embora alguns possam estar ainda vazios (i.e., podem não executar qualquer acção)
    • O "visitor" postfix_writer deve ter todos os métodos (correspondentes aos nós, tal como o xml_writer), embora alguns possam estar ainda vazios (i.e., podem não executar qualquer acção)
    • Métodos correspondentes a acções semelhantes às existentes devem ser modelados nos existentes (exemplo, do_while_node -> do_repeat_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.
  3. 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 o nome apropriado).
  4. A criação de novos nós não apresenta quaisquer dificuldades (são classes muito simples)
  5. O código dos métodos do visitor xml_writer corresponde a uma simples impressão dos atributos dos nós, através de uma travessia da árvore que formam e que os contém.
  6. O compilador é obrigatoriamente desenvolvido em C++.

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: 4 valores

Não definição dos nós para regras BYACC em avaliação (ver acima) ou não utilização de nós definidos para a escrita dessas acções: 2 valores

  • A 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) terá uma penalização máxima de 1 valor
  • Não utilização de qualquer material obrigatório: 6 valores (e considera-se projecto não realizado)

DEBUG

O despiste de problemas em especificações Flex pode ser realizado de forma simples utilizando os métodos descritos em How to Debug a Flex Specification.

O visitor xml_writer foi concebido para produzir uma representação textual hierárquica (árvore XML) correspondente ao programa em compilação. É muito útil para inspeccionar a contrução da árvore de nós por parte do BYACC, permitindo, inclusivamente, a apresentação gráfica.

Legenda

RELATIVAMENTE A NÃO COMPILAR

Todos os problemas de compilação podem e devem ser resolvidos (perdendo-se 0.50 pontos, relativos à componente de compilação).

Os alunos são fortemente encorajados 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.

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

Problemas na análise lexical
  • .* - uso indevido do padrão
  • bases - problemas com bases (em falta)
  • chars - definição indevida (não existem na linguagem)
  • comments - problemas com comentários (em excesso ou em falta)
  • delims - problemas com delimitadores
  • floats - problemas com vírgula flutuante (definições incompletas)
  • ids - problems com identificadores
  • ints - problemas com inteiros (definições incompletas ou excessivas)
  • keywords - problemas com palavras chave (a mais ou a menos)
  • negative literals - problemas com valores negativos (não existem)
  • ops - problemas com operadores e afins
  • patterns - problemas genéricos com escrita de padrões lexicais
  • strings - problemas na definição de strings (composição, concatenação indevida, etc.)
  • type tokens - problemas com definição de tipos (e.g., uso do mesmo token dos literais)
  • [outros] - casos específicos (contactar professor responsável)
Problemas na análise sintáctica
  • conflicts - conflitos no analisador LALR(1) (não avaliado nesta entrega)
  • decls - problemas nas declarações (e.g. mistura com expressões ou com instruções)
  • empty rules - regras sem semântica associada
  • exprs - problemas nas expressões (em falta ou com inclusão de casos errados)
  • funcalls - problemas nas chamadas a funções (e.g. não estão definidos como expressões)
  • funcs - problemas (vários) nas declarações/definições de funções
  • 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)
  • read - problemas na definição da expressão de leitura (verificar manual de referência)
  • semantics - problemas na definição de acções semânticas
  • (simple) - contém apenas a definição original (linguagem Simple)
  • strings - problemas na definção de cadeias de caracteres
  • syntax - problemas na definição da gramática (verificar manual de referência)
  • [outras anotações] - casos específicos (contactar professor responsável)
Problemas na análise semântica e na geração de código (nós e XML)

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
  • read_node - uso de left-value no read_node (não é uma atribuição, pelo que não tem left-values); ou derivação de basic_node (mas deve ser uma expressão); ou derivação de unary_expression (mas não tem argumentos); ou remoção do nó
  • [outros nós] - nós com problemas (excedentários ou com problemas na definição)
  • [outras anotações] - casos específicos (contactar professor responsável)

No visitor xml_writer:

  • ast - o método "ast" do compilador não foi chamado no parser (.y), pelo que a AST está indefinida
  • empty methods - métodos vazios ou funcionalmente vazios
  • [outras anotações] - casos específicos (contactar professor responsável)

Pauta

PAUTA EM ACTUALIZAÇÃO

<runphp> echo<<<___EOT___

<colgroup width="44"></colgroup> <colgroup span="2" width="43"></colgroup> <colgroup width="37"></colgroup> <colgroup width="87"></colgroup> <colgroup width="37"></colgroup> <colgroup width="90"></colgroup> <colgroup width="37"></colgroup> <colgroup width="134"></colgroup> <colgroup width="38"></colgroup> <colgroup width="119"></colgroup> <colgroup width="38"></colgroup> <colgroup width="104"></colgroup> <colgroup width="38"></colgroup> <colgroup width="85"></colgroup> <colgroup width="82"></colgroup> <tbody> </tbody>
  Nota Total CVS Compilação
<a href="https://goo.gl/jtNDjN">https://goo.gl/jtNDjN</a>
Análise Lexical Análise Sintáctica Nós Semântica OBS.
Grupo 6.00 6.00 0.50 Problemas 0.50 Problemas 1.50 Problemas 1.00 Problemas 1.00 Problemas 1.50 Problemas
001 1.75 1.75 1.00   1.00   0.50 ints, floats              
002 2.13 2.13 1.00   1.00   0.75 ints              
003 2.13 2.13 1.00   1.00   0.75 floats   conflicts          
004 2.13 2.13 1.00   1.00   0.75 ints, comments   conflicts          
005 1.63 1.63 1.00   0.00 (cvs ok) 0.75 ints   conflicts          
006 2.13 2.13 1.00   1.00   0.75 floats              
007 2.50 2.50 1.00   1.00   1.00         summon_node      
008 1.75 1.75 1.00   1.00   0.50 strings, comments, keywords, floats   conflicts   read_node      
009 1.75 1.75 1.00   1.00   0.50 strings, ints, floats, concat       not_node      
010 2.13 2.13 1.00   1.00   0.75 strings   conflicts          
011 2.13 2.13 1.00   1.00   0.75 strings, floats   conflicts   read_node      
012 1.75 1.75 1.00   1.00   0.50 strings, floats   conflicts   program_node, while_node, not_node, import_node      
013 2.13 2.13 1.00   1.00   0.75 ints, floats              
014 2.13 2.13 1.00   1.00   0.75 comments, strings   conflicts   program_node      
015 1.75 1.75 1.00 README.md 1.00   0.50 strings, concat, ints, floats   conflicts   symmetry_node vs not_node      
016 2.13 2.13 1.00   1.00   0.75 comments, ints   conflicts   symmetry_node vs not_node, read_node      
017 2.13 2.13 1.00   1.00   0.75 strings, ints, floats   conflicts   read_node      
018 NA   excluído
019 NA   excluído
020 1.75 1.75 1.00   1.00   0.50 strings, floats, concat   conflicts          
021 1.38 1.38 1.00   1.00   0.25 comments, keywords, strings, ints, floats, tMAIN       program_node, while_node, read_node      
022 1.75 1.75 1.00   1.00   0.50 ints, floats, strings   conflicts   if_node      
023 1.75 1.75 1.00   1.00   0.50 strings, concat, ints, floats       read_node      
024 1.75 1.75 1.00   1.00   0.50 strings, ints, floats, ops   conflicts   not_node, read_node      
025 2.50 2.50 1.00   1.00   1.00 strings   conflicts          
026 2.50 2.50 1.00   1.00   1.00                
027 1.75 1.75 1.00   1.00   0.50 keywords, floats   conflicts   read_node      
028 0.00 0.00 sem entrega intermédia
029 1.25 1.25 1.00   0.00 (cvs ok) 0.50 strings, ints, floats   conflicts   not_node      
030 1.75 1.75 1.00   1.00   0.50 strings, types, ops, floats              
031 1.75 1.75 1.00   1.00   0.50 strings, floats   conflicts   not_node      
032 1.75 1.75 1.00   1.00   0.50 ints, floats, strings              
033 0.00 0.00 sem entrega intermédia
034 1.75 1.75 1.00   1.00   0.50 comments, floats, ints, keywords   conflicts          
035 1.75 1.75 1.00   1.00   0.50 strings, concat, etc., floats              
036 2.13 2.13 1.00   1.00   0.75 keywords, float, ints              
037 1.75 1.75 1.00   1.00   0.50 comments, strings, ints, floats, pointers   conflicts          
038 2.13 2.13 1.00   1.00   0.75 ints, floats              
039 2.13 2.13 1.00   1.00   0.75 comments, strings, floats   conflicts   read_node      
040 1.38 1.38 1.00   1.00   0.25 comments, keywords, strings, types, floats       program_node, not_node, or_node, read_node      
041 2.50 2.50 1.00   1.00   1.00                
042 1.75 1.75 1.00   1.00   0.50 keywords, strings, ints, floats   conflicts          
043 2.50 2.50 1.00   1.00   1.00 strings   conflicts          
044 2.13 2.13 1.00   1.00   0.75 comments, negative literals   conflicts          
045 1.25 1.25 1.00   0.00 (cvs ok) 0.50 strings, concat, ints, floats   conflicts   read_node      
046 1.38 1.38 1.00 TODO 1.00   0.25 strings, ints, floats   conflicts   not_node      
047 2.13 2.13 1.00   1.00   0.75 strings, ints, floats              
048 1.75 1.75 1.00   1.00   0.50 strings, ints, floats   conflicts          
049 1.75 1.75 1.00 settings 1.00   0.50 strings, concat, ints   conflicts          
050 1.75 1.75 1.00   1.00   0.50 strings, floats   conflicts          
051 1.75 1.75 1.00   1.00   0.50 strings, floats, patterns, actions   conflicts          
052 2.13 2.13 1.00   1.00   0.75 strings, floats              
053 2.50 2.50 1.00   1.00   1.00 strings, floats              
054 1.75 1.75 1.00   1.00   0.50 comments, strings, .*, floats   conflicts          
055 0.50 0.50 1.00   0.00 não compila   strings, ints, floats       not_node, read_node     contactar prof. responsável
056 2.13 2.13 1.00   1.00   0.75 strings, ints, floats       read_node      
057 1.75 1.75 1.00   1.00   0.50 comments, strings, ints, floats   conflicts          
058 2.13 2.13 1.00   1.00   0.75 strings, floats   conflicts          
059 2.13 2.13 1.00   1.00   0.75 floats   conflicts          
060 1.75 1.75 1.00   1.00   0.50 strings, concat, floats   conflicts   read_node      
061 1.75 1.75 1.00   1.00   0.50 comments, floats, ints, strings   conflicts   read_node      
062 2.13 2.13 1.00   1.00   0.75 strings, ints              
063 1.38 1.38 1.00   1.00   0.25 comments, strings, ints, floats, keywords, (simple)   conflicts   program_node, not_node, read_node      
064 1.75 1.75 1.00   1.00   0.50 keywords, patterns, strings, floats       not_node, read_node      
065 1.75 1.75 1.00   1.00   0.50 strings, floats, ints       read_node      
066 1.75 1.75 1.00   1.00   0.50 keywords, ints, floats       not_node, read_node      
067 NA                            
068 NA                            
069 0.00 0.00 sem entrega intermédia
070 1.75 1.75 1.00   1.00   0.50 strings, floats, keywords   conflicts   not_node      
071 1.75 1.75 1.00   1.00   0.50 strings, floats   conflicts   read_node      
072 NA   excluído
073 1.75 1.75 1.00   1.00   0.50 comments, strings, patterns, ints, actions   conflicts          
074 1.75 1.75 1.00   1.00   0.50 comments, strings, floats, ints   conflicts   program_node, while_node, not_node      
075 1.75 1.75 1.00   1.00   0.50 comments, strings, ints, actions       read_node      
076 1.75 1.75 1.00   1.00   0.50 keywords, floats              
077 1.75 1.75 1.00   1.00   0.50 strings, ops, floats, ints   conflicts   read_node      
078 1.75 1.75 1.00   1.00   0.50 strings, concat, floats   conflicts   symmetry_node vs not_node      
079 1.38 1.38 1.00   1.00   0.25 comments, keywords, ints, floats   conflicts   read_node      
080 2.13 2.13 1.00   1.00   0.75 strings,floats              
081 0.50 0.50 1.00   0.00 não compila   (simple)   (entrega 0)   read_node     contactar prof. responsável
082 1.75 1.75 1.00   1.00   0.50 strings, ids, ints, floats   conflicts          
083 1.75 1.75 1.00   1.00   0.50 comments, strings, ints, floats   conflicts   read_node      
084 2.13 2.13 1.00   1.00   0.75 strings, floats              
085 2.13 2.13 1.00   1.00   0.75 strings, floats   conflicts          
086 NA                            
087 2.13 2.13 1.00   1.00   0.75 strings, floats, ints   conflicts   read_node      
088 1.75 1.75 1.00   1.00   0.50 comments, keywords, strings, ints, floats   conflicts          
089 1.75 1.75 1.00   1.00   0.50 strings, floats, ints   conflicts          
090 2.13 2.13 1.00   1.00   0.75 strings, ints   conflicts   read_node      
091 1.75 1.75 1.00 targets 1.00   0.50 comments, keywords, strings, ints, floats       read_node      
092 2.13 2.13 1.00   1.00   0.75 strings, floats, negative literals              
093 1.75 1.75 1.00   1.00   0.50 keywords, strings, floats              
094 1.75 1.75 1.00   1.00   0.50 strings, floats, ints              
095 1.75 1.75 1.00   1.00   0.50 keywords, floats, ints   conflicts          
096 1.75 1.75 1.00   1.00   0.50 strings, ints, floats   conflicts          
097 1.75 1.75 1.00   1.00   0.50 strings, ops, floats, ints              
098 1.75 1.75 1.00   1.00   0.50 comments, strings, ints, floats   conflicts          
099 1.75 1.75 1.00   1.00   0.50 comments, keywords, floats, ints   conflicts   read_node      
100 1.63 1.63 1.00   0.00 (cvs ok) 0.75 floats   conflicts          
101 2.13 2.13 1.00   1.00   0.75 floats   conflicts   read_node      
102 1.75 1.75 1.00   1.00   0.50 strings, floats, .*   conflicts   read_node      
103 2.13 2.13 1.00   1.00   0.75 floats              
104 1.75 1.75 1.00   1.00   0.50 strings, ints   conflicts          
105 1.75 1.75 1.00   1.00   0.50 strings, floats, ints   conflicts          
106 1.75 1.75 1.00   1.00   0.50 floats, ints   conflicts          
107 1.75 1.75 1.00   1.00   0.50 comments, keywords, floats, ints   conflicts          
108 0.50 0.50 1.00 conflicts 0.00 não compila   ids, types, strings, ints, etc.       read_node     contactar prof. responsável
109 1.38 1.38 1.00   1.00   0.25 comments, floats, ints, keywords, (simple)   conflicts   if_node, not_node      
110 0.88 0.88 1.00   0.00 (cvs ok) 0.25 comments, floats, keywords, (simple)   conflicts   program_node, not_node, read_node      
111 2.13 2.13 1.00   1.00   0.75 floats              
112 1.75 1.75 1.00   1.00   0.50 keywords, floats              
113 2.13 2.13 1.00   1.00   0.75 floats, negative literals   conflicts          
114 1.63 1.63 1.00 conflicts 0.00 (cvs ok) 0.75 ints   conflicts          
115 1.75 1.75 1.00   1.00   0.50 comments, strings, floats, ops       read_node      
116 1.75 1.75 1.00   1.00   0.50 strings, floats, negative literals              
117 2.13 2.13 1.00   1.00   0.75 floats              
118 2.13 2.13 1.00   1.00   0.75 floats   conflicts          
119 1.75 1.75 1.00   1.00   0.50 strings, floats   conflicts          
120 1.75 1.75 1.00   1.00   0.50 strings, patterns, floats, ops   conflicts          
121 1.75 1.75 1.00   1.00   0.50 strings, floats       while_node, file_node, nilexpr_node      
122 1.25 1.25 1.00   0.00 (cvs ok) 0.50 strings, floats   conflicts   read_node      
123 1.75 1.75 1.00   1.00   0.50 strings, ints, floats   conflicts   read_node      
124 2.13 2.13 1.00   1.00   0.75 strings, floats              
125 NA                            
126 0.50 0.50 1.00   0.00 não compila   strings, ids, ints, floats, comments, ops, etc.       read_node     contactar prof. responsável
127 1.25 1.25 1.00   0.00 (cvs ok) 0.50 strings, ints, ops   conflicts          
128 1.75 1.75 1.00   1.00   0.50 comments, floats   conflicts   read_node      
129 1.38 1.38 1.00   1.00   0.25 comments, patterns, floats, strings   conflicts   if_node, read_node      
130 0.75 0.75 1.00   0.00 (cvs ok) 0.00 (simple) 0.25 (entrega 0)   program_node, while_node, not_node, read_node      
131 1.75 1.75 1.00   1.00   0.50 comments, ints, floats              
132 2.13 2.13 1.00 readme.txt 1.00   0.75 floats   conflicts          
133 NA                            
134 1.75 1.75 1.00   1.00   0.50 strings, floats, ints              
135 0.00 0.00 sem entrega intermédia
136 1.75 1.75 1.00   1.00   0.50 strings, floats   conflicts       basic_qualifier  
137 1.75 1.75 1.00   1.00   0.50 zu, keywords, ints, floats, strings   conflicts          
138 1.75 1.75 1.00   1.00   0.50 strings, floats   conflicts   not_node, read_node      
139 0.50 0.50 1.00   0.00 não compila   (simple)   (simple)   (entrega 0)   (entrega 0) contactar prof. responsável
140 1.25 1.25 1.00   0.00 (cvs ok) 0.50 strings, floats, macros, overflow   conflicts          
141 1.75 1.75 1.00   1.00   0.50 comments, keywords, floats, ints, strings       program_node, while_node, for_node, decls, lvals, read_node      
142 NA                            
143 2.13 2.13 1.00   1.00   0.75 ints, floats              
144 1.75 1.75 1.00   1.00   0.50 comments, strings, ints, floats, negative literals   conflicts   read_node      
145 NA                            
146 1.75 1.75 1.00   1.00   0.50 comments, strings, floats, ints, keywords       (entrega 0)      
147 1.75 1.75 1.00   1.00   0.50 ints, floats, ops       file_node, pointer_node, not_node, read_node      
148 1.75 1.75 1.00   1.00   0.50 comments, strings   conflicts          
149 1.75 1.75 0.75 project.tar 1.00   0.50 keywords, floats, strings, concat   conflicts   not_node      
150 1.63 1.63 1.00   1.00   0.50 comments, keywords, floats, ints, strings, ops   conflicts   if_node, read_node      
151 1.75 1.75 1.00   1.00   0.50 comments, ops, types, strings, concat, ints, floats, keywords       program_node, while_node, array_node, not_node, read_node      
152 1.25 1.25 1.00   0.00 (cvs ok) 0.50 comments, keywords, floats, ints   conflicts   read_node      
153 1.75 1.75 1.00   1.00   0.50 strings, floats, ints   conflicts          
154 2.13 2.13 1.00   1.00   0.75 floats       read_node      
155 0.88 0.88 1.00   0.00 não compila 0.25 strings, comments, ints, flioats, (simple)   conflicts   not_node, read_node      
156 2.50 2.50 1.00   1.00   1.00     conflicts          
157 1.75 1.75 1.00   1.00   0.50 keywords, floats, strings, ints   conflicts   extern_node, not_node, read_node      
158 NA                            
159 NA                            
160 1.75 1.75 1.00   1.00   0.50 strings, floats   conflicts   newline_node, read_node      
161 1.75 1.75 1.00   1.00   0.50 strings, ints, floats   conflicts          
162 1.75 1.75 1.00   1.00   0.50 keywords, strings, ints, floats   conflicts          
163 1.75 1.75 1.00   1.00   0.50 comments, strings, ints, floats   conflicts          
164 1.75 1.75 1.00   1.00   0.50 strings, .*, floats, ints   conflicts          
165 1.38 1.38 1.00   1.00   0.25 keywords, strings, floats, bases, ints, ops, (simple)   conflicts   while_node, for_node, read_node      
166 NA                            
167 2.13 2.13 1.00   1.00   0.75 strings, floats   conflicts   program_node, while_node, read_node      
168 1.38 1.38 1.00   1.00   0.25 comments, strings, keywords, ints, floats, bases, (simple)   conflicts          
169 0.50 0.50 1.00   0.00 não compila   floats, strings, ints   conflicts   program_node, while_node     contactar prof. responsável
170 NA                            
171 0.00 0.00 sem entrega intermédia
172 1.75 1.75 1.00   1.00   0.50 strings, floats, ints   conflicts   program_node, type_node      
173 1.25 1.25 1.00   0.00 (cvs ok) 0.50 comments, strings, floats, ints              
174 1.75 1.75 1.00   1.00   0.50 keywords, float, ints, strings       (entrega 0)      
175 2.13 2.13 1.00   1.00   0.75 strings, floats   conflicts          
176 NA                            
177 2.13 2.13 1.00   1.00   0.75 floats       read_node      
178 NA                            
179 2.13 2.13 1.00   1.00   0.75 strings, floats   conflicts          
180 1.75 1.75 1.00   1.00   0.50 strings, floats, patterns, ops   conflicts          
181 1.75 1.75 1.00   1.00   0.50 comments, strings, floats, ops   conflicts          
182 1.75 1.75 1.00   1.00   0.50 strings, floats, ints   conflicts   read_node      
183 NA                            
184 1.75 1.75 1.00   1.00   0.50 comments, strings, floats, ints       (entrega 0)      
185 1.75 1.75 1.00   1.00   0.50 strings, concat, floats, ints, ops   conflicts          
186 NA                            
187 1.38 1.38 1.00   1.00   0.25 strings, bases, floats, ints   conflicts   read_node      
188 1.38 1.38 1.00   1.00   0.25 comments, strings, floats, negative literals, ints, ops   conflicts   program_node, for_node, and_node, not_node, or_node      
189 1.75 1.75 1.00   1.00   0.50 keywords, ints, strings, concat, floats, ops       vars, decls, lvals, read_node      
190 1.00 1.00 1.00   1.00   0.00 (simple) 0.00 (simple)   not_node, read_node      
191 1.75 1.75 1.00   1.00   0.50 comments, keywords, strings, floats, ints   conflicts          
192 0.00 0.00 sem entrega intermédia
193 0.00 0.00 sem entrega intermédia
194 1.75 1.75 1.00   1.00   0.50 comments, ids, ints, floats, strings       read_node      
195 1.75 1.75 1.00   1.00   0.50 strings, floats, negative literals, ops   conflicts          
196 1.00 1.00 1.00   1.00   0.00 (simple)       (entrega 0)      
197 1.75 1.75 1.00   1.00   0.50 comments, strings, keywords, ints, floats       program_node, extern_node, not_node      
198 0.50 0.50 1.00   0.00 não compila   ints, floats, strings, comments, keywords, (simple)   (entrega 0)   (entrega 0)   (entrega 0) contactar prof. responsável
199 1.38 1.38 1.00   1.00   0.25 keywords, types, strings, floats, bases       read_node      
200 1.75 1.75 1.00   1.00   0.50 keywords, strings, floats, ints   conflicts          
201 NA                            
202 NA                            
203 NA                            

___EOT___; </runphp>