Compiladores/Projecto de Compiladores: Difference between revisions

From Wiki**3

< Compiladores
Line 12: Line 12:
== Manual de Referência da Linguagem "bop" (época especial) ==
== Manual de Referência da Linguagem "bop" (época especial) ==


* '''<font color="red">ÉPOCA ESPECIAL</font>''' [[Compiladores/Projecto de Compiladores/Projecto 2017-2018/Manual de Referência da Linguagem "bop"|Manual de Referência da Linguagem "bop"]] (enunciado)
* '''<font color="red">ÉPOCA ESPECIAL</font>''' [[Compiladores/Projecto de Compiladores/Projecto 2017-2018/Manual de Referência da Linguagem "bop"|Manual de Referência da Linguagem BOP]] (enunciado)


== Manual de Referência da Linguagem GR8 (época normal) ==
== Manual de Referência da Linguagem GR8 (época normal) ==

Revision as of 18:55, 6 July 2018

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: 2018/03/23 17:00 (inicial); 2018/04/20 17:00 (intercalar); 2018/05/21 17:00 (final); 2018/05/21-2018/05/25 (teste prático).
  • A entrega inicial, sendo crucial para o projecto, é obrigatória e sua não realização 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 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.
  • 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.
AVISOS - Avaliação em Época Especial

Esclarecimento de dúvidas:

  • Consultar sempre o corpo docente atempadamente: presencialmente ou através do endereço oficial da disciplina [2].
  • 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: 2018/07/26 10:00 (entrega do projecto); 2018/07/26 11:00 (teste prático).
  • A não realização da entrega do projecto até à hora limite implica a exclusão da avaliação do projecto e, por consequência, da avaliação da disciplina no ano lectivo actual.
  • O teste prático é presencial e obrigatório. A sua não realização implica a exclusão da avaliação do projecto e, por consequência, da avaliação da disciplina no ano lectivo actual.
  • 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 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.
  • A avaliação do projecto pressupõe o compromisso de honra de que o trabalho correspondente foi realizado pelo aluno que o entrega.
  • Fraudes na execução do projecto terão como resultado a exclusão dos alunos implicados do processo de avaliação no ano lectivo actual.
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.

Avaliação do Projecto

As pautas são acompanhadas pelos critérios de avaliação. Os critérios e condições de Época Especial são parecidos com os da Época Normal. Em particular, o projecto e o teste prático são obrigatórios.

Manual de Referência da Linguagem "bop" (época especial)

Manual de Referência da Linguagem GR8 (época normal)

Introdução ao Desenvolvimento e Compiladores Exemplo

O projecto está dividido em duas partes: a definição do problema da criação do compilador e a definição da linguagem de programação em causa (esta secção) e corresponde a um problema de programação genérico para qualquer linguagem, devendo ser abordado como qualquer projecto de software. A segunda parte, mais importante no contexto da disciplina, implica a compreensão da semântica a realizar na linguagem suportada pelo compilador (ver manual de referência da linguagem, abaixo).

Material de Apoio e Testes

Material Diverso

Using xml2dot to draw ASTs

The xml2dot JAR can be Googled and used as shown below:

Example for the Compact language:

simple myprog.spl -o myprog.xml
java -cp xml2dot.jar xml2dot.xml2dot myprog.xml

Note that simple is assumed to be available in the PATH. Otherwise, the explicit path must be provided, e.g., ./simple or other specification.