Compiladores/Projecto de Compiladores/Repositório CVS
From Wiki**3
< Compiladores | Projecto de Compiladores
AVISOS - Avaliação em Época Normal |
---|
Esclarecimento de dúvidas:
|
Requisitos para desenvolvimento, material de apoio e actualizações do enunciado (ver informação completa em Projecto de Compiladores):
|
Processo de avaliação (ver informação completa em Avaliação do Projecto):
|
AVISOS - Avaliação em Época Especial |
---|
Esclarecimento de dúvidas:
|
Requisitos para desenvolvimento, material de apoio e actualizações do enunciado (ver informação completa em Projecto de Compiladores):
|
Processo de avaliação (ver informação completa em Avaliação do Projecto):
|
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. |
No texto abaixo, para época especial, deve ler-se "ook" em lugar de "xpl".
Guia para leitores perplexos: CVS Crash Course.
Localização
Os repositórios CVS para os projectos (um por aluno) já contêm versões iniciais de todos os projectos (i.e., já foi feito o "import" inicial). Os repositórios estão disponíveis no AFS em:
- /afs/ist.utl.pt/groups/leic-co/co17/cvs -- esta directoria não deve ser utilizada directamente
O conteúdo do repositório pode ser manipulado com o comando cvs ou com qualquer outro cliente compatível (e.g. eclipse).
Acesso
No texto que se segue:
- ##### designa o número de aluno (cinco dígitos, e.g., 87654)
- ISTID designa o identificador de aluno, no formato "ist123456"
Assim, os valores possíveis para a variável de ambiente CVSROOT (ou pela opção -d do comando "cvs") são:
- /afs/ist.utl.pt/groups/leic-co/co17/cvs/##### (disponível em clientes AFS e utilizador com token válido para a célula ist.utl.pt)
- :ext:ISTID@sigma.ist.utl.pt:/afs/ist.utl.pt/groups/leic-co/co17/cvs/##### (disponível via SSH; verificar que CVS_RSH=ssh)
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 xpl):
- 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.
Cuidados a ter na Utilização do Repositório CVS
NÃO FAZER
- cvs init (não é necessário: o repositório já existe)
- cvs import (não é necessário: o projecto já existe)
- cd /afs/ist.utl.pt/groups/leic-co/co17/cvs (ou qualquer outra manipulação directa dos ficheiros do repositório: toda a interacção com o repositório deve ser limitada ao comando "cvs")
FAZER
Antes de tudo o mais, fazer cópias de segurança (vulgo "backups") de tudo o que já foi feito.
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:
- cvs co xpl (permite criar localmente uma directoria controlada pelo CVS, com o nome xpl, com a estrutura apresentada acima, contendo os ficheiros do projecto);
- Editar/adicionar material do/ao projecto;
- Caso sejam criados ficheiros ou directórios novos, fazer cvs add ficheiro1 ficheiro2 ... ficheiro3 (adicionar cada ficheiro novo ao projecto no CVS);
- cvs update (antes de enviar alteração locais para o repositório, verificar se há actualizações a incorporar na cópia local e que não foi esquecido nenhum ficheiro importante: voltar a 3 até terem sido todos adicionados)
- cvs commit -m "Mensagem de commit." (enviar alterações para o repositório)
Observações importantes
- No ponto 3 acima, é importante notar que quando se quer adicionar o conteúdo de uma (sub)directoria, deve ser primeiro adicionada a própria directoria e, só depois, o seu conteúdo.
- 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 CVS deve ser mantida como apresentado.
- Em caso de dúvidas, consultar o corpo docente.
Agradece-se a comunicação de eventuais problemas.