|
|
(11 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
| {{PRJCompiladoreAvisosEN20162017}}
| | #REDIRECT [[ist:Compiladores/Projecto de Compiladores/Repositório CVS]] |
| {{PRJCompiladoreAvisosEE20162017}}
| |
| {{PRJCOMandatory20162017}}
| |
| {{TOCright}}
| |
| <!-- '''<font color="red">A DISPONIBILIZAR BREVEMENTE</font>''' -->
| |
| | |
| Guia para leitores perplexos: [[CVS Crash Course]].
| |
| | |
| {{Aviso|No texto abaixo, para época especial, deve ler-se "ook" em lugar de "xpl".}}
| |
| | |
| == 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:
| |
| | |
| * '''<nowiki>/afs/ist.utl.pt/groups/leic-co/co17/cvs</nowiki>''' -- '''<font color="brown">esta directoria não deve ser utilizada directamente</font>'''
| |
| | |
| O conteúdo do repositório pode ser manipulado com o comando '''cvs''' ou com qualquer outro cliente compatível (e.g. ''[http://www.eclipse.org/ eclipse]'').
| |
| | |
| {{Aviso|Esta directoria não deve ser utilizada directamente.}}
| |
| | |
| == Acesso ==
| |
| | |
| No texto que se segue:
| |
| * '''<nowiki>#####</nowiki>''' designa o número de aluno (cinco dígitos, e.g., 87654)
| |
| * '''<nowiki>ISTID</nowiki>''' 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:
| |
| | |
| * '''<nowiki>/afs/ist.utl.pt/groups/leic-co/co17/cvs/#####</nowiki>''' (disponível em clientes AFS e utilizador com token válido para a célula ist.utl.pt)
| |
| * '''<nowiki>:ext:ISTID@sigma.ist.utl.pt:/afs/ist.utl.pt/groups/leic-co/co17/cvs/#####</nowiki>''' (disponível via SSH; verificar que CVS_RSH=ssh)
| |
| | |
| {{Aviso|Alunos que ainda não visitaram o [https://ciist.ist.utl.pt/servicos/self_service/ self-service do CIIST (DSI)], devem fazê-lo, para activação dos serviços relevantes (AFS e Shell, pelo menos). Sem isso, não conseguirão desenvolver ou entregar o 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 '''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.
| |
| | |
| {{Aviso|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 CVS ==
| |
| | |
| === <font color="red">NÃO FAZER</font> ===
| |
| | |
| * '''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")
| |
| | |
| === <font color="forestgreen">FAZER</font> ===
| |
| | |
| 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.
| |
| | |
| [[category:Projecto de Compiladores]]
| |
| [[category:Compiladores]]
| |
| [[category:Ensino]]
| |