Compiladores/Projecto de Compiladores: Difference between revisions

From Wiki**3

< Compiladores
No edit summary
 
(35 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{PRJCompiladoreAvisosEE20152016}}
#REDIRECT [[ist:Compiladores/Projecto de Compiladores]]
{{PRJCompiladoreAvisosEN20152016}}
{{PRJCOMandatory20152016}}
<!--{{PRJCompiladoreAvisosEpocaEspecial|co15@l2f.inesc-id.pt|2015/07/16 12:00|2015/07/16 13:00}}-->
{{TOCright}}
== Avaliação do Projecto ==
 
As pautas são acompanhadas pelos critérios de avaliação.
 
* [[Compiladores/Projecto de Compiladores/Avaliação do Projecto (Época Normal)|Avaliação do Projecto (Época Normal)]]
* [[Compiladores/Projecto de Compiladores/Projecto 2015-2016/Calendário do Teste Prático (Época Normal)|Calendário do Teste Prático (Época Normal)]] <!--'''<font color="red">IMPORTANTE</font>''' -->
 
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.
 
== 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).
 
* [[Compiladores/Projecto de Compiladores/Fases Desenvolvimento|Fases de Desenvolvimento]]
* [[Compiladores/Projecto de Compiladores/Compiladores Exemplo|Compiladores Exemplo]] - Simple, Compact, pf2asm
 
== Manual de Referência da Linguagem "ook" (época especial) ==
 
* [[Compiladores/Projecto de Compiladores/Projecto 2015-2016/Manual de Referência da Linguagem "ook"|[ÉPOCA ESPECIAL] Manual de Referência da Linguagem "ook"]] (enunciado)
 
== Manual de Referência da Linguagem "zu" (época normal) ==
* [[Compiladores/Projecto de Compiladores/Projecto 2015-2016/Manual de Referência da Linguagem "zu"|[ÉPOCA NORMAL] Manual de Referência da Linguagem "zu"]] (enunciado)
* [[Compiladores/Projecto de Compiladores/Projecto 2015-2016/Perguntas e respostas sobre "zu"|Perguntas e respostas sobre "zu"]] (FAQ)
 
== Material de Apoio e Testes ==
* [[Compiladores/Projecto de Compiladores/Repositório CVS|Repositório CVS]] - informações de localização e acesso
* [[Compiladores/Projecto de Compiladores/Material de Apoio ao Desenvolvimento|Material de Apoio ao Desenvolvimento]] - CDK11, RTS4, outras ferramentas (flex, byacc)
* [[Compiladores/Projecto de Compiladores/Projecto 2015-2016/Testes Automáticos|Testes Automáticos]]
 
== Material Diverso ==
 
* [[Compiladores/Projecto de Compiladores/Máquina Virtual|Máquina Virtual]] - imagem de máquina virtual contendo todo o material de apoio
* [[Postfix Reference Guide]]
* <s>[[Quick-and-Dirty Guide to Transforming Compact into your Compiler]]</s> ('''obsolete''') (use at your own risk)
* "[[Construção de Compiladores em C++ usando Objectos e Padrões]]" [http://www.l2f.inesc-id.pt/~david/ist/docencia/compiladores/howto.pdf 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 (make & cvs)|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:
 
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.
 
[[category:Projecto de Compiladores]]
[[category:Compiladores]]
[[category:Ensino]]

Latest revision as of 18:47, 6 December 2018