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: 2024/04/29 17:00 (inicial); 2024/05/14 17:00 (intercalar); 2024/05/31 17:00 (final); 2024/05/31-2024/06/03-04 (teste prático).
- Todas as entregas são cruciais para o bom desenvolvimento do projecto, sendo obrigatórias: a não realização de uma entrega 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.
- Apenas se consideram para avaliação os projectos existentes no repositório oficial. Apenas se considera para avaliação o ramo 'main'.
- 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 GIT
|
Apenas se consideram para avaliação os projectos existentes no repositório GIT oficial. Apenas se considera para avaliação o ramo main.
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
Ver anúncio (Fénix).
Critérios de Avaliação
A entrega final é obrigatória.
São considerados os das entregas anteriores (adaptados).
Legenda
A entrega final vale 12 valores em 20 (7 qualidade; 5 automáticos).
- Qualidade (7 valores): análise lexical (0.75) + análise sintáctica (0.75) + nós (AST) (0.75) + análise semântica e geração de código (0.75) + avaliação global (0.50) + repositório e compilação (0.50). Os pesos são relativos ao total 4 (i.e., o valor final multiplica por 7/4).
- Testes automáticos (5 valores).
Os alunos são encorajados a compreender/verificar os problemas reportados.
Quaisquer dúvidas ou sugestões, relativas a esta informação, devem ser enviadas ao responsável pela disciplina ou esclarecidas nos horários de dúvidas.
Recorda-se que a classificação global do projecto não se limita à soma das classificações das várias entregas: a classificação final é ainda influenciada pela classificação do teste prático. Este teste é obrigatório e eliminatório (i.e., a classificação deve ser maior que zero).
Descrição dos problemas assinalados na pauta
|
Problemas na análise lexical
- .* - uso indevido do padrão
- chars - definição indevida (não existem na linguagem)
- comments - problemas com comentários (em excesso ou em falta)
- doubles - problemas com vírgula flutuante (definições incompletas)
- ints - problemas com inteiros (definições incompletas ou excessivas)
- keywords - problemas com palavras chave (a mais ou a menos)
- strings - problemas na definição de strings (composição, concatenação indevida, etc.)
- [outras anotações] - casos específicos (contactar professor responsável)
Problemas na análise sintáctica
- conflicts - conflitos no analisador LALR(1)
- exprs - problemas nas expressões (em falta ou com inclusão de casos errados)
- lvals - problemas na definição de left-values (e.g. ausência de definições ou incompletas)
- precs - problemas na definição de precedências (tipicamente, em excesso ou sem correspondência com o manual)
- strings - problemas na definção de cadeias de caracteres
- syntax - problemas na definição da gramática (relativamente ao manual de referência)
- [outras anotações] - casos específicos (contactar professor responsável)
Problemas nos nós
- [outras anotações] - casos específicos (contactar professor responsável)
Problemas na análise semântica e na geração de código
- symbol - problemas na definição dos símbolos (atributos em excesso ou em falta)
- stack - problemas na definição do stack das funções
- types - problemas na verificação de tipos
- postfix - problemas na geração de código
- [outras anotações] - casos específicos (contactar professor responsável)
Outros problemas
- empty methods - métodos vazios nos visitors (não deviam ser vazios)
- types - problemas com o visitor de verificação de tipos
- [outras anotações] - casos específicos (contactar professor responsável)
|
Pauta
Aqui: (ver Fénix)