Compiladores/Projecto de Compiladores: Difference between revisions
From Wiki**3
< Compiladores
Line 4: | Line 4: | ||
== Avaliação do Projecto == | == Avaliação do Projecto == | ||
* [[Compiladores/Projecto de Compiladores/Avaliação do Projecto|Avaliação do Projecto]] | * [[Compiladores/Projecto de Compiladores/Avaliação do Projecto (Época Normal)|Avaliação do Projecto (Época Normal)]] | ||
* [[Compiladores/Projecto de Compiladores/Projecto 2014-2015/Calendário do Teste Prático (Época Normal)|Calendário do Teste Prático (Época Normal)]] - realizou-se nos dias 20, 21 e 22 de Maio de 2015 | * [[Compiladores/Projecto de Compiladores/Projecto 2014-2015/Calendário do Teste Prático (Época Normal)|Calendário do Teste Prático (Época Normal)]] - realizou-se nos dias 20, 21 e 22 de Maio de 2015 | ||
Revision as of 18:40, 5 July 2015
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 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
- Avaliação do Projecto (Época Normal)
- Calendário do Teste Prático (Época Normal) - realizou-se nos dias 20, 21 e 22 de Maio de 2015
- Pauta do Projecto: Entrega "zero" FECHADA
- Pauta do Projecto: Entrega Intermédia FECHADA
- Pauta do Projecto: Entrega Final FECHADA
- Pauta Global do Projecto FECHADA
As pautas são acompanhadas pelos critérios de avaliação.
Introdução ao Desenvolvimento
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).
- Fases de Desenvolvimento
- Compiladores Exemplo - Simple, Compact, pf2asm
Manual de Referência da Linguagem
- Manual de Referência da Linguagem "pwn" (enunciado)
Material de Apoio e Testes
- Repositório CVS - informações de localização e acesso
- Material de Apoio ao Desenvolvimento - CDK10, RTS3, outras ferramentas (flex, byacc)
- Testes Automáticos
Material Diverso
- Máquina Virtual - imagem de máquina virtual contendo todo o material de apoio
- Postfix Reference Guide
Quick-and-Dirty Guide to Transforming Compact into your Compiler(obsolete) (use at your own risk)- "Construção de Compiladores em C++ usando Objectos e Padrões" PDF (outdated) (CDK3)
- Tópicos Rápidos sobre C++ - A Guide for the Perplexed (with examples)
- Quick topics on compiling and linking in C/C++
- Tools and Development Environment (small guide to practical tools: make and cvs)
Using xml2dot to draw ASTs
The xml2dot JAR can be Googled and used as shown below:
Example for the Compact language:
compact myprog.cpt -target xml java -cp xml2dot.jar xml2dot.xml2dot myprog.xml
Note that compact is assumed to be available in the PATH. Otherwise, the explicit path must be provided, e.g., ./compact or other specification.