(→Manual de Referência da Linguagem (época normal)) |
(→Manual de Referência da Linguagem (época normal)) |
||
(4 intermediate revisions by the same user not shown) | |||
Line 10: | Line 10: | ||
== Manual de Referência da Linguagem (época normal) == | == Manual de Referência da Linguagem (época normal) == | ||
− | * [[Compiladores/Projecto de Compiladores/Projecto | + | * [[Compiladores/Projecto de Compiladores/Projecto 2024-2025/Manual de Referência da Linguagem UDF|Manual de Referência da Linguagem UDF]] (2024-2025) |
− | + | * Linguagens de anos anteriores: [[Compiladores/Projecto de Compiladores/Projecto 2023-2024/Manual de Referência da Linguagem TIL|TIL]] (2023-2024), [[Compiladores/Projecto de Compiladores/Projecto 2022-2023/Manual de Referência da Linguagem MML|MML]] (2022-2023), [[Compiladores/Projecto de Compiladores/Projecto 2021-2022/Manual de Referência da Linguagem L22|L22]] (2021-2022), [[Compiladores/Projecto de Compiladores/Projecto 2020-2021/Manual de Referência da Linguagem FIR|FIR]] (2020-2021), [[Compiladores/Projecto de Compiladores/Projecto 2019-2020/Manual de Referência da Linguagem Og|Og]] (2019-2020), [[Compiladores/Projecto de Compiladores/Projecto 2018-2019/Manual de Referência da Linguagem M19|M19]] (2018-2019) | |
− | |||
− | [[Compiladores/Projecto de Compiladores/Projecto 2021-2022/Manual de Referência da Linguagem L22|L22]] (2021-2022), | ||
− | [[Compiladores/Projecto de Compiladores/Projecto 2020-2021/Manual de Referência da Linguagem FIR|FIR]] (2020-2021), | ||
− | [[Compiladores/Projecto de Compiladores/Projecto 2019-2020/Manual de Referência da Linguagem Og|Og]] (2019-2020), | ||
− | [[Compiladores/Projecto de Compiladores/Projecto 2018-2019/Manual de Referência da Linguagem M19|M19]] (2018-2019) | ||
<!--* [[Compiladores/Projecto de Compiladores/Projecto 2020-2021/Perguntas e respostas sobre FIR|Perguntas e respostas sobre FIR]] (FAQ)--> | <!--* [[Compiladores/Projecto de Compiladores/Projecto 2020-2021/Perguntas e respostas sobre FIR|Perguntas e respostas sobre FIR]] (FAQ)--> | ||
Line 37: | Line 32: | ||
* [[Postfix Reference Guide]] | * [[Postfix Reference Guide]] | ||
− | * C++ | + | * C++ references and tutorials: https://cppreference.com | https://cplusplus.com | https://isocpp.org | https://learncpp.com |
− | |||
− | |||
− | |||
* [[Quick topics on compiling and linking in C/C++]] | * [[Quick topics on compiling and linking in C/C++]] | ||
* [[Tools and Development Environment (make)|Tools and Development Environment]] ('''make''') | * [[Tools and Development Environment (make)|Tools and Development Environment]] ('''make''') |
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. |
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.
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).
The xml2dot JAR can be Googled and used as shown below:
Example for the Simple 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.