|
|
(One intermediate revision by the same user not shown) |
Line 1: |
Line 1: |
| {{PRJCompiladoreAvisosEN20172018}}
| | #REDIRECT [[ist:Compiladores/Projecto de Compiladores]] |
| {{PRJCompiladoreAvisosEE20172018}}
| |
| {{PRJCOMandatory20172018}}
| |
| {{TOCright}}
| |
| == Avaliação do Projecto ==
| |
| | |
| * [[Compiladores/Projecto de Compiladores/Avaliação do Projecto (Época Normal)|Avaliação do Projecto (Época Normal)]]
| |
| * [[Compiladores/Projecto de Compiladores/Calendário do Teste Prático (Época Normal)|Calendário do Teste Prático (Época Normal)]] <!--'''<font color="red">IMPORTANTE</font>''' -->
| |
| | |
| 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) ==
| |
| | |
| * '''<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) ==
| |
| * [[Compiladores/Projecto de Compiladores/Projecto 2017-2018/Manual de Referência da Linguagem GR8|Manual de Referência da Linguagem GR8]] (enunciado)
| |
| * [[Compiladores/Projecto de Compiladores/Projecto 2017-2018/Perguntas e respostas sobre GR8|Perguntas e respostas sobre GR8]] (FAQ)
| |
| | |
| == 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).
| |
| | |
| * [[Compiladores/Projecto de Compiladores/Etapas de Análise de uma Linguagem|Etapas de Análise de uma Linguagem]] (e ferramentas associadas)
| |
| * [[Compiladores/Projecto de Compiladores/Fases Desenvolvimento|Fases de Desenvolvimento]]
| |
| * [[Compiladores/Projecto de Compiladores/Compiladores Exemplo|Compiladores Exemplo]] - Simple, Compact, pf2asm
| |
| * [[Compiladores/Projecto de Compiladores/Perguntas e Respostas sobre o Desenvolvimento (FAQ)|Perguntas e Respostas sobre o Desenvolvimento (FAQ)]] - como compilar, etc.
| |
| | |
| == 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]] - CDK13, RTS4, outras ferramentas (flex, byacc)
| |
| * [[Compiladores/Projecto de Compiladores/Testes Automáticos 2017-2018|Testes Automáticos]]
| |
| * [[Compiladores/Projecto de Compiladores/Máquina Virtual|Máquina Virtual]] - imagem de máquina virtual contendo todo o material de apoio
| |
| | |
| == Material Diverso ==
| |
| | |
| * [[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)
| |
| * C++ reference: http://cppreference.com
| |
| * C++ reference: http://cplusplus.com
| |
| * ISO C++: http://isocpp.org
| |
| * [[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]]
| |