| 
				     | 
				
| (38 intermediate revisions by the same user not shown) | 
| Line 1: | 
Line 1: | 
 | {{PRJCompiladoreAvisos|co15@l2f.inesc-id.pt|2015/03/25 12:00|2015/04/14 12:00|2015/05/20 12:00|2015/05/20-2015/05/27}}
  |  | #REDIRECT [[ist:Compiladores/Projecto de Compiladores/Repositório CVS]]  | 
 | {{CDKRTS|CDK10|libcdk10-201502141815.tar.bz2|RTS3|librts3-201502141815.tar.bz2}}
  |  | 
 | {{TOCright}}
  |  | 
 | <!-- '''<font color="red">A DISPONIBILIZAR BREVEMENTE</font>''' -->
  |  | 
 |    |  | 
 | == Localização e Acesso ==
  |  | 
 |    |  | 
 | Os repositórios CVS para os projectos (um por grupo) 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/co15/cvs</nowiki>''' -- '''<font color="brown">esta directoria não deve ser utilizada directamente</font>'''
  |  | 
 |    |  | 
 | No texto que se segue:
  |  | 
 | * '''<nowiki>###</nowiki>''' designa o número do grupo sempre com três dígitos
  |  | 
 | * '''<nowiki>#####</nowiki>''' designa o número de aluno, sempre com cinco dígitos
  |  | 
 |    |  | 
 | 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/co15/cvs/##</nowiki>''' (disponível em qualquer máquina com AFS e utilizador com token válido para a célula ist.utl.pt)
  |  | 
 | * '''<nowiki>:ext:ist1#####@sigma.ist.utl.pt:/afs/ist.utl.pt/groups/leic-co/co15/cvs/##</nowiki>''' (disponível via SSH; verificar que CVS_RSH=ssh)
  |  | 
 |    |  | 
 | '''<font color="brown">Os 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.</font>'''
  |  | 
 |    |  | 
 | == 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").
  |  | 
 |    |  | 
 | Embora possam (e devam) ser acrescentados ficheiros ao projecto do compilador durante o desenvolvimento, '''<font color="brown">a estrutura de directórios não pode ser alterada</font>'''.
  |  | 
 |    |  | 
 | 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 '''project'''):
  |  | 
 |    |  | 
 | * '''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 ==
  |  | 
 |    |  | 
 | === <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/co15/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 project''' (permite criar localmente uma directoria controlada pelo CVS, com o nome '''project''', 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''' (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]]
  |  |