|
|
Line 36: |
Line 36: |
| * <s>[[Quick-and-Dirty Guide to Transforming Compact into your Compiler]]</s> ('''obsolete''') (use at your own risk) | | * <s>[[Quick-and-Dirty Guide to Transforming Compact into your Compiler]]</s> ('''obsolete''') (use at your own risk) |
| * <s>[[Construção de Compiladores em C++ usando Objectos e Padrões]]</s> <s>[http://www.l2f.inesc-id.pt/~david/ist/docencia/compiladores/howto.pdf PDF]</s> ('''outdated''') (CDK3) (use at your own risk) | | * <s>[[Construção de Compiladores em C++ usando Objectos e Padrões]]</s> <s>[http://www.l2f.inesc-id.pt/~david/ist/docencia/compiladores/howto.pdf PDF]</s> ('''outdated''') (CDK3) (use at your own risk) |
− | * C++ reference: http://cppreference.com | + | * C++ reference: http://cppreference.com http://cplusplus.com |
− | * C++ reference: http://cplusplus.com
| |
| * ISO C++: http://isocpp.org | | * ISO C++: http://isocpp.org |
| * C++ tutorial: https://learncpp.com | | * C++ tutorial: https://learncpp.com |
Revision as of 13:54, 15 February 2021
[Expand] 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: 2021/03/22 17:00 (inicial); 2021/04/30 17:00 (intercalar); 2021/05/28 17:00 (final); 2021/06/01-04 (teste prático).
- Todas as entregas são cruciais para o bom desenvolvimento do projecto, sendo obrigatórias: a não realização de uma entrega 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.
- Apenas se consideram para avaliação os projectos existentes no repositório 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.
- 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.
|
[Expand] 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.
|
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 FIR (é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 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.