Difference between revisions of "Compiladores"

From Wiki**3

(Pautas)
(Aulas Práticas)
 
(16 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{NAVCompiladores}}
 
{{NAVCompiladores}}
 
__NOTOC__
 
__NOTOC__
 +
{{Suggestion|https://bit.ly/co-wiki}}
 
== Tópicos Teóricos ==
 
== Tópicos Teóricos ==
  
Line 10: Line 11:
  
 
== Aulas Práticas ==
 
== Aulas Práticas ==
 +
Plano das aulas: https://bit.ly/co24-plano
  
* [[Compiladores/Aula Prática 01|Aula Prática 01]] - Revisões sobre programação em C++.
+
* [[Compiladores/Aula Prática 01|Semana 1.1]] - Revisões sobre programação em C++.
* [[Compiladores/Aula Prática 02|Aula Prática 02]] - Revisões sobre padrões de desenho.
+
* [[Compiladores/Aula Prática 02|Semana 1.2]] - Modelação de conceitos da linguagem do projecto. Revisões sobre padrões de desenho.
* [[Compiladores/Aula Prática 03|Aula Prática 03]] - Análise lexical. Analisadores lexicais.
+
* [[Compiladores/Aula Prática 03|Semana 2.1]] - Análise lexical. Analisadores lexicais.
* [[Compiladores/Aula Prática 04|Aula Prática 04]] - Análise lexical com a ferramenta Flex.
+
* [[Compiladores/Aula Prática 04|Semana 2.2]] - Análise lexical com a ferramenta Flex.
* [[Compiladores/Aula Prática 05|Aula Prática 05]] - Gramáticas. Conjuntos FIRST e FOLLOW. Análise sintáctica descendente LL(1).
+
* [[Compiladores/Aula Prática 05|Semana 3.1]] - Gramáticas. Conjuntos FIRST e FOLLOW. Análise sintáctica descendente LL(1).
* [[Compiladores/Aula Prática 06|Aula Prática 06]] - Gramáticas atributivas. Atributos herdados e atributos sintetizados.
+
* [[Compiladores/Aula Prática 06|Semana 3.2]] - Gramáticas atributivas. Atributos herdados e atributos sintetizados. YACC.
* [[Compiladores/Aula Prática 07|Aula Prática 07]] - Ferramenta YACC.
+
<!--* [[Compiladores/Aula Prática 07|Aula Prática 07]] - Ferramenta YACC.-->
* [[Compiladores/Aula Prática 08|Aula Prática 08]] - Análise ascendente LR(0) e SLR(1). Items LR(0).
+
* [[Compiladores/Aula Prática 08|Semana 4.1]] - Análise ascendente LR(0) e SLR(1). Items LR(0).
* [[Compiladores/Aula Prática 09|Aula Prática 09]] - Análise sintáctica ascendente LALR(1). Lookaheads. Items LR(1).
+
* [[Compiladores/Aula Prática 09|Semana 4.2]] - Análise sintáctica ascendente LALR(1). Lookaheads. Items LR(1).
* [[Compiladores/Aula Prática 10|Aula Prática 10]] - Processamento semântico.  
+
* Semana 5.1: (apoio ao projecto)
* [[Compiladores/Aula Prática 11|Aula Prática 11]] - Processamento semântico e geração de código Postfix (não optimizado).
+
* [[Compiladores/Aula Prática 10|Semana 5.2]] - Processamento semântico. Verificação de tipos.
* [[Compiladores/Aula Prática 12|Aula Prática 12]] - Processamento semântico e geração de código Postfix (não optimizado).
+
* [[Compiladores/Aula Prática 11|Semana 6.1]] - Processamento semântico e geração de código Postfix (não optimizado).
* [[Compiladores/Aula Prática 13|Aula Prática 13]] - Processamento semântico e geração de código Postfix. Optimização.
+
* [[Compiladores/Aula Prática 12|Semana 6.2]] - Processamento semântico e geração de código Postfix (não optimizado).
 +
* [[Compiladores/Aula Prática 13|Semana 7.1]] - Processamento semântico e geração de código Postfix. Optimização.
 +
* Semana 7.2: (apoio ao projecto)
  
 
[[category:Compiladores]]
 
[[category:Compiladores]]
Line 30: Line 34:
 
== Pautas ==
 
== Pautas ==
  
* {{PautaAberta}} [[Compiladores/Pautas 2018-2019|Pautas 2018-2019]]
+
* {{PautaAberta}} [[Compiladores/Pautas 2023-2024|Pautas 2023-2024]]
* {{PautaFechada}} Pautas de anos anteriores: [[Compiladores/Pautas 2017-2018|2017-2018]] [[Compiladores/Pautas 2016-2017|2016-2017]] [[Compiladores/Pautas 2015-2016|2015-2016]] [[Compiladores/Pautas 2014-2015|2014-2015]]
+
* {{PautaFechada}} Pautas de anos anteriores: [[Compiladores/Pautas 2022-2023|2022-2023]] [[Compiladores/Pautas 2021-2022|2021-2022]] [[Compiladores/Pautas 2020-2021|2020-2021]] [[Compiladores/Pautas 2019-2020|2019-2020]] [[Compiladores/Pautas 2018-2019|2018-2019]] [[Compiladores/Pautas 2017-2018|2017-2018]] [[Compiladores/Pautas 2016-2017|2016-2017]] [[Compiladores/Pautas 2015-2016|2015-2016]] [[Compiladores/Pautas 2014-2015|2014-2015]]
  
== Testes de Avaliação (por data)  ==
+
<!--== Testes de Avaliação (por data)  ==
 
Note-se que alguns enunciados cont&ecirc;m quest&otilde;es que n&atilde;o s&atilde;o abordadas no ano lectivo corrente.
 
Note-se que alguns enunciados cont&ecirc;m quest&otilde;es que n&atilde;o s&atilde;o abordadas no ano lectivo corrente.
  
Line 46: Line 50:
 
[https://dspace.ist.utl.pt/bitstream/2295/160423/1/co01e1.pdf E3 2001],
 
[https://dspace.ist.utl.pt/bitstream/2295/160423/1/co01e1.pdf E3 2001],
 
[https://dspace.ist.utl.pt/bitstream/2295/160420/1/co00e1.pdf T1 2000]
 
[https://dspace.ist.utl.pt/bitstream/2295/160420/1/co00e1.pdf T1 2000]
 
+
-->
 
[[category:Compiladores]]
 
[[category:Compiladores]]
 
[[category:Ensino]]
 
[[category:Ensino]]
 
[[en:Compilers]]
 
[[en:Compilers]]

Latest revision as of 12:10, 9 February 2024

Compiladores
Introdução ao Desenvolvimento de Compiladores
Aspectos Teóricos de Análise Lexical
A Ferramenta Flex
Introdução à Sintaxe
Análise Sintáctica Descendente
Gramáticas Atributivas
A Ferramenta YACC
Análise Sintáctica Ascendente
Análise Semântica
Geração de Código
Tópicos de Optimização

Tópicos Teóricos

Projecto

Aulas Práticas

Plano das aulas: https://bit.ly/co24-plano

  • Semana 1.1 - Revisões sobre programação em C++.
  • Semana 1.2 - Modelação de conceitos da linguagem do projecto. Revisões sobre padrões de desenho.
  • Semana 2.1 - Análise lexical. Analisadores lexicais.
  • Semana 2.2 - Análise lexical com a ferramenta Flex.
  • Semana 3.1 - Gramáticas. Conjuntos FIRST e FOLLOW. Análise sintáctica descendente LL(1).
  • Semana 3.2 - Gramáticas atributivas. Atributos herdados e atributos sintetizados. YACC.
  • Semana 4.1 - Análise ascendente LR(0) e SLR(1). Items LR(0).
  • Semana 4.2 - Análise sintáctica ascendente LALR(1). Lookaheads. Items LR(1).
  • Semana 5.1: (apoio ao projecto)
  • Semana 5.2 - Processamento semântico. Verificação de tipos.
  • Semana 6.1 - Processamento semântico e geração de código Postfix (não optimizado).
  • Semana 6.2 - Processamento semântico e geração de código Postfix (não optimizado).
  • Semana 7.1 - Processamento semântico e geração de código Postfix. Optimização.
  • Semana 7.2: (apoio ao projecto)

Pautas