Compiladores/Projecto de Compiladores/Repositório CVS: Difference between revisions
From Wiki**3
No edit summary |
|||
| (37 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
{{ | {{PRJCompiladoreAvisosEN20222023}} | ||
{{ | <!--{{PRJCompiladoreAvisosEE20222023}}--> | ||
{{ | {{PRJCOMandatory20222023}} | ||
{{TOCright}} | {{TOCright}} | ||
'''<font color="red">THIS PAGE IS OBSOLETE</font>''' | |||
'''<font color="red">MATERIAL OBSOLETO E NÂO UTILIZADO A PARTIR DE 2023</font>''' | |||
{{ | '''Esta página contém informação tanto para a LEIC-A como para a LEIC-T.''' | ||
Os repositórios CVS para os projectos (um por grupo) já contêm versões iniciais do projecto. | |||
{{Suggestion|Guia para leitores perplexos: [[CVS Crash Course]].}} | |||
== Localização == | == Localização == | ||
Os repositórios estão disponíveis no AFS em: | |||
* '''<nowiki>/afs/ist.utl.pt/groups/leic-co/ | * LEIC-A: '''<nowiki>/afs/ist.utl.pt/groups/leic-co/co23/a/cvs</nowiki>''' | ||
* LEIC-T: '''<nowiki>/afs/ist.utl.pt/groups/leic-co/co23/t/cvs</nowiki>''' | |||
O conteúdo do repositório pode ser manipulado com o comando '''cvs''' ou com qualquer outro cliente compatível (e.g. | 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.}} | {{Aviso|Esta directoria não deve ser utilizada directamente.}} | ||
== Acesso == | == Modo de Acesso == | ||
No texto que se segue: | No texto que se segue: | ||
* '''<nowiki> | * '''<nowiki>###</nowiki>''' designa o número de grupo com três dígitos, e.g., '''012''' | ||
* '''<nowiki>ISTID</nowiki>''' designa o identificador de aluno, | * '''<nowiki>ISTID</nowiki>''' designa o identificador de aluno, e.g. '''ist123456''' | ||
Assim, os valores possíveis para a variável de ambiente '''CVSROOT''' (ou pela opção '''-d''' do comando "cvs") são | Assim, os valores possíveis para a variável de ambiente '''CVSROOT''' (ou pela opção '''-d''' do comando "cvs") são como indicado. | ||
Estes exemplos são para a LEIC-A. Para a LEIC-T os valores são análogos. | |||
* '''<nowiki>/afs/ist.utl.pt/groups/leic-co/ | * '''<nowiki>/afs/ist.utl.pt/groups/leic-co/co23/a/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/ | * '''<nowiki>:ext:ISTID@sigma.ist.utl.pt:/afs/ist.utl.pt/groups/leic-co/co23/a/cvs/###</nowiki>''' (disponível via SSH; verificar que CVS_RSH=ssh) | ||
{{Aviso|Alunos que ainda não visitaram o [https:// | {{Aviso|Alunos que não compreendam os conceitos de AFS e token devem usar a segunda forma de acesso.}} | ||
{{Aviso|Alunos que ainda não visitaram o [https://selfservice.dsi.tecnico.ulisboa.pt/ self-service da 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 == | == Conteúdo e Estrutura do Repositório == | ||
| Line 38: | Line 45: | ||
A makefile pode precisar de ser adaptada (variáveis indicadas), mas não deve ser substancialmente alterada. | 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 ''' | Breve descrição da estrutura de directórios (abaixo de '''l22'''): | ||
* '''ast''' (directoria que contém as classes dos nós da árvore sintáctica abstracta - padrão Composite) | * '''ast''' (directoria que contém as classes dos nós da árvore sintáctica abstracta - padrão Composite) | ||
| Line 48: | Line 55: | ||
== Cuidados a ter na Utilização do Repositório CVS == | == Cuidados a ter na Utilização do Repositório CVS == | ||
Exemplos para a LEIC-A (LEIC-T é análoga). | |||
=== <font color="red">NÃO FAZER</font> === | === <font color="red">NÃO FAZER</font> === | ||
| Line 53: | Line 62: | ||
* '''cvs init''' (não é necessário: o repositório já existe) | * '''cvs init''' (não é necessário: o repositório já existe) | ||
* '''cvs import''' (não é necessário: o projecto já existe) | * '''cvs import''' (não é necessário: o projecto já existe) | ||
* '''cd /afs/ist.utl.pt/groups/leic-co/ | * '''cd /afs/ist.utl.pt/groups/leic-co/co22/a/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> === | === <font color="forestgreen">FAZER</font> === | ||
| Line 61: | Line 70: | ||
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: | 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 | # '''cvs co l22''' (permite criar localmente uma directoria controlada pelo CVS, com o nome '''l22''' ("L" minúsculo), com a estrutura apresentada acima, contendo os ficheiros do projecto); | ||
# Editar/adicionar material do/ao projecto; | # Editar/adicionar material do/ao projecto; | ||
# Caso sejam criados ficheiros ou directórios novos, fazer '''cvs add ficheiro1 ficheiro2 ... | # Caso sejam criados ficheiros ou directórios novos, fazer '''cvs add ficheiro1 ficheiro2 ... ficheiroN''' (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 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) | # '''cvs commit -m "Mensagem de commit."''' (enviar alterações para o repositório) | ||
Latest revision as of 19:25, 3 May 2023
| 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):
|
| 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. |
THIS PAGE IS OBSOLETE
MATERIAL OBSOLETO E NÂO UTILIZADO A PARTIR DE 2023
Esta página contém informação tanto para a LEIC-A como para a LEIC-T.
Os repositórios CVS para os projectos (um por grupo) já contêm versões iniciais do projecto.
Localização
Os repositórios estão disponíveis no AFS em:
- LEIC-A: /afs/ist.utl.pt/groups/leic-co/co23/a/cvs
- LEIC-T: /afs/ist.utl.pt/groups/leic-co/co23/t/cvs
O conteúdo do repositório pode ser manipulado com o comando cvs ou com qualquer outro cliente compatível (e.g. eclipse).
Modo de Acesso
No texto que se segue:
- ### designa o número de grupo com três dígitos, e.g., 012
- ISTID designa o identificador de aluno, e.g. ist123456
Assim, os valores possíveis para a variável de ambiente CVSROOT (ou pela opção -d do comando "cvs") são como indicado. Estes exemplos são para a LEIC-A. Para a LEIC-T os valores são análogos.
- /afs/ist.utl.pt/groups/leic-co/co23/a/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/co23/a/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 l22):
- 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
Exemplos para a LEIC-A (LEIC-T é análoga).
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/co22/a/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 l22 (permite criar localmente uma directoria controlada pelo CVS, com o nome l22 ("L" minúsculo), 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 ... ficheiroN (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.