Compiladores: Difference between revisions
From Wiki**3
No edit summary |
|||
Line 4: | Line 4: | ||
* [[Tópicos sobre Construção de Compiladores]] (teoria e prática) | * [[Tópicos sobre Construção de Compiladores]] (teoria e prática) | ||
== Aulas Práticas == | == Aulas Práticas == | ||
Line 81: | Line 66: | ||
Note that "compact" is assumed to be available in the PATH. Otherwise, the explicit path must be provided, e.g., ./compact or other specification. | 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: [https://fenix.ist.utl.pt/downloadFile/3779579650124 Teste 1], [https://fenix.ist.utl.pt/downloadFile/3779579731286 Teste 2], [https://fenix.ist.utl.pt/downloadFile/3779579756961 Teste 1 (recurso)], [https://fenix.ist.utl.pt/downloadFile/3779579756962 Teste 2 (recurso)] | |||
* 2012: os enunciados e soluções encontram-se enquadrados nos exercícios do wiki (secções correspondentes) | |||
* 2011: [https://dspace.ist.utl.pt/bitstream/2295/933775/1/201104020900-t1.pdf Teste 1], [https://dspace.ist.utl.pt/bitstream/2295/933774/1/201106031130-t2.pdf Teste 2] | |||
* 2010: [https://dspace.ist.utl.pt/bitstream/2295/642980/1/201004171100-t1a.pdf Teste 1(a)], [https://dspace.ist.utl.pt/bitstream/2295/642981/1/201004171100-t1b.pdf Teste 1(b)], [https://dspace.ist.utl.pt/bitstream/2295/680027/1/201006140900-t2a.pdf Teste 2(a)] | |||
* 2009: [https://dspace.ist.utl.pt/bitstream/2295/325068/1/200904281900-t1.pdf Teste 1], [https://dspace.ist.utl.pt/bitstream/2295/325070/1/200906121900-t2.pdf Teste 2] | |||
* 2008: [https://dspace.ist.utl.pt/bitstream/2295/303539/1/t1a.pdf Teste 1], [https://dspace.ist.utl.pt/bitstream/2295/303541/1/t1ra.pdf Teste 1](repescagem), [https://dspace.ist.utl.pt/bitstream/2295/318398/1/t2ra.pdf Teste 2] (repescagem) | |||
* 2004: [https://dspace.ist.utl.pt/bitstream/2295/160436/1/co04e1.pdf Teste 1] | |||
* 2003: [https://dspace.ist.utl.pt/bitstream/2295/160431/1/co03e1a.pdf Teste 1] | |||
* 2002: [https://dspace.ist.utl.pt/bitstream/2295/160426/1/co02e1a.pdf Teste 1] | |||
* 2001: [https://dspace.ist.utl.pt/bitstream/2295/160423/1/co01e1.pdf Exame 3] | |||
* 2000: [https://dspace.ist.utl.pt/bitstream/2295/160420/1/co00e1.pdf Teste 1] | |||
[[category:Compiladores]] | [[category:Compiladores]] | ||
[[category:Ensino]] | [[category:Ensino]] | ||
[[en:Compilers]] | [[en:Compilers]] |
Revision as of 17:58, 9 February 2015
Tópicos Teóricos
- Tópicos sobre Construção de Compiladores (teoria e prática)
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 Desenvolvimento
- Material de apoio à construção de compiladores download
- CDK (Compiler Development Kit)
- RTS (Run-Time Support), and
- Compact (simple but functional compiler)
- Quick-and-Dirty Guide to Transforming Compact into your Compiler (use at your own risk)
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