Compiladores/Projecto de Compiladores/Repositório GIT

From Wiki**3

< Compiladores‎ | Projecto de Compiladores
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.

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:

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.

Apenas é considerado para avaliação o ramo master. Alunos que não coloquem o projecto neste ramo serão excluídos da avaliação.
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 til):

  • 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-co24/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 teste prático: 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.