Compiladores: Difference between revisions
From Wiki**3
Line 8: | Line 8: | ||
=== Enunciado, Material de Apoio e Testes === | === Enunciado, Material de Apoio e Testes === | ||
* [[Compiladores/Projecto 2014-2015/Manual de Referência da Linguagem "pwn"|Manual de Referência da Linguagem "pwn"]] | * [[Compiladores/Projecto 2014-2015/Manual de Referência da Linguagem "pwn"|Manual de Referência da Linguagem "pwn"]] | ||
* [[Compiladores/Projecto 2014-2015/Material de Apoio ao Desenvolvimento|Material de Apoio ao Desenvolvimento]] - '''uso obrigatório''' - CDK10, RTS3 | * [[Compiladores/Projecto 2014-2015/Material de Apoio ao Desenvolvimento|Material de Apoio ao Desenvolvimento]] - '''uso obrigatório''' - CDK10, RTS3 | ||
* [[Compiladores/Projecto 2014-2015/Testes Automáticos|Testes Automáticos]] | * [[Compiladores/Projecto 2014-2015/Testes Automáticos|Testes Automáticos]] | ||
* [[Compiladores Exemplo]] - Simple, Compact, pf2asm, tiny | |||
=== Tópicos de Apoio ao Desenvolvimento === | === Tópicos de Apoio ao Desenvolvimento === |
Revision as of 19:44, 14 February 2015
Tópicos Teóricos
- Tópicos sobre Construção de Compiladores (teoria e prática)
Projecto
Enunciado, Material de Apoio e Testes
- Manual de Referência da Linguagem "pwn"
- Material de Apoio ao Desenvolvimento - uso obrigatório - CDK10, RTS3
- Testes Automáticos
- Compiladores Exemplo - Simple, Compact, pf2asm, tiny
Tópicos de Apoio ao Desenvolvimento
- Postfix Reference Guide
- Material de apoio à construção de compiladores download
- Quick-and-Dirty Guide to Transforming Compact into your Compiler (use at your own risk)
Aulas Práticas
- Aula Prática 01 - Revisões sobre programação em C++.
- Aula Prática 02 - Revisões sobre padrões de desenho.
- Aula Prática 03 - Análise lexical. Analisadores lexicais.
- Aula Prática 04 - Análise lexical com a ferramenta Flex.
- Aula Prática 05 - Gramáticas. Conjuntos FIRST e FOLLOW. Análise sintáctica descendente LL(1).
- Aula Prática 06 - Gramáticas atributivas. Atributos herdados e atributos sintetizados.
- Aula Prática 07 - Ferramenta YACC.
- Aula Prática 08 - Análise ascendente LR(0) e SLR(1). Items LR(0).
- Aula Prática 09 - Análise sintáctica ascendente LALR(1). Lookaheads. Items LR(1).
- Aula Prática 10 - Processamento semântico.
- Aula Prática 11 - Processamento semântico e geração de código Postfix (não optimizado).
- Aula Prática 12 - Processamento semântico e geração de código Postfix (não optimizado).
- Aula Prática 13 - Processamento semântico e geração de código Postfix (optimizado).
Pautas
- Pautas 2014-2015: Pauta Global da Disciplina
- Pautas 2014-2015: Pauta Global do Projecto
- Pautas 2014-2015: Pauta do Projecto: Entrega "zero"
- Pautas 2014-2015: Pauta do Projecto: Entrega Intermédia
- Pautas 2014-2015: Pauta do Projecto: Entrega Final
- Pautas 2014-2015: Pauta das Aulas Práticas
- Pautas 2014-2015: Pauta do Teste 1
- Pautas 2014-2015: Pauta do Teste 2
- Pautas 2014-2015: Pauta do Teste 1 (recurso)
- Pautas 2014-2015: Pauta do Teste 2 (recurso)
Tópicos de Apoio
- 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)
Execução de xml2dot
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.
Testes de Avaliação (por data)
Note-se que alguns enunciados contêm questões que não são abordadas no ano lectivo corrente.
- 2013: Teste 1, Teste 2, Teste 1 (recurso), Teste 2 (recurso)
- 2012: os enunciados e soluções encontram-se enquadrados nos exercícios do wiki (secções correspondentes)
- 2011: Teste 1, Teste 2
- 2010: Teste 1(a), Teste 1(b), Teste 2(a)
- 2009: Teste 1, Teste 2
- 2008: Teste 1, Teste 1(repescagem), Teste 2 (repescagem)
- 2004: Teste 1
- 2003: Teste 1
- 2002: Teste 1
- 2001: Exame 3
- 2000: Teste 1