Compiladores/Projecto de Compiladores/Repositório GIT

From Wiki**3

< Compiladores‎ | Projecto de Compiladores
Revision as of 20:30, 29 April 2023 by Root (talk | contribs) (FAZER)

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: 2023/05/15 17:00 (inicial); 2023/05/30 17:00 (intercalar); 2023/06/16 17:00 (final); 2023/06/16-19 (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.

EM PREPARAÇÃO

Esta página contém informação tanto para a LEIC-A como para a LEIC-T.

Os repositórios GIT para os projectos (um por grupo) já contêm versões iniciais do projecto.

Localização

Os repositórios estão disponíveis no Gitlab da RNL em:

  • LEIC-A: https://gitlab.rnl.tecnico.ulisboa.pt/leic-a-co23/prj
  • LEIC-T: https://gitlab.rnl.tecnico.ulisboa.pt/leic-t-co23/prj

O conteúdo do repositório pode ser manipulado com o comando git ou com qualquer outro cliente compatível.

Modo de Acesso

O acesso ao serviço GitLab da RNL é realizado com as credenciais IST (à la Fénix)

Todos os alunos do IST têm de ter credenciais válidas para poderem ser avaliados na disciplina.

Para realização do teste prático é ainda necessário activar os serviços AFS e Shell no self-service da DSI. Sem isso, não conseguirão completar a avaliação do projecto, reprovando à disciplina.

Conteúdo e Estrutura do Repositório

Cada projecto no repositório contém inicialmente o compilador da linguagem Simple, superficialmente transformado para permitir o início do desenvolvimento do compilador da linguagem a implementar (isto significa que a linguagem é ainda a original, embora o compilador e as suas estruturas usem o novo nome em lugar de "simple").

A makefile pode precisar de ser adaptada (variáveis indicadas), mas não deve ser substancialmente alterada.

Breve descrição da estrutura de directórios (abaixo de mml):

  • ast (directoria que contém as classes dos nós da árvore sintáctica abstracta - padrão Composite)
  • targets (directoria que contém as classes de processamento semântico - padrão Visitor)

Note-se que todo o projecto é compilado pela Makefile na directoria de base.

A estrutura de directórios do repositório não pode ser alterada. Os ficheiros fornecidos não podem ser renomeados ou removidos (excepto na directoria "ast").

Cuidados a ter na Utilização do Repositório GIT

Exemplos para a LEIC-A (LEIC-T é análoga).

NÃO FAZER

  • git init (não é necessário: o repositório já existe)

FAZER

O repositório já contém uma versão preliminar do projecto e devem ser dados os seguintes passos, para continuar a desenvolver o projecto:

  1. git clone git@gitlab.rnl.tecnico.ulisboa.pt:leic-a-co23/prj/000.git (permite obter uma cópia local contendo os ficheiros, no exemplo, do projecto do grupo 000);
  2. Editar/adicionar material do/ao projecto;
  3. Caso sejam criados ficheiros ou directórios novos, fazer git add ficheiro1 ficheiro2 ... ficheiroN (adicionar novos ficheiros/directorias ao projecto);
  4. git pull (antes de enviar alteração locais para o repositório, verificar se há actualizações remotas a incorporar na cópia local e que não foi esquecido nenhum ficheiro importante: voltar a 3 até terem sido todos adicionados)
  5. git status (verificar a situação na cópia local)
  6. git commit -am "Mensagem de commit." (registar alterações na cópia local)
  7. git push (enviar alterações para o GitLab -- sem este passo, não é realizada a entrega do projecto)

Observações importantes

  • Não adicionar cópias do material de apoio (CDK e RTS) ao projecto (serão removidas e quaisquer alterações perdidas -- além disso, lixo no repositório é penalizado).
  • Pessoas sem área no AFS, ou sem login activado, não poderão aceder ao conteúdo do repositório: para activar estes acessos, consultar o self-service do CIIST (DSI). Em caso de dificuldade, consultar o corpo docente.
  • A estrutura do projecto no GIT deve ser mantida como apresentado.
  • Em caso de dúvidas, consultar o corpo docente.

Agradece-se a comunicação de eventuais problemas.