Compiladores: Difference between revisions

From Wiki**3

Root (talk | contribs)
Root (talk | contribs)
No edit summary
 
(21 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/co26-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.  
* [[Compiladores/Aula Prática 10|Semana 5.1]] - Processamento semântico. Verificação de tipos.
* [[Compiladores/Aula Prática 11|Aula Prática 11]] - Processamento semântico e geração de código Postfix (não optimizado).
* Semana 5.2: (apoio ao projecto)
* [[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 2025-2026|Pautas 2025-2026]]
* {{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 2024-2025|2024-25]] [[Compiladores/Pautas 2023-2024|2023-24]] [[Compiladores/Pautas 2022-2023|2022-23]] [[Compiladores/Pautas 2021-2022|2021-22]] [[Compiladores/Pautas 2020-2021|2020-21]] [[Compiladores/Pautas 2019-2020|2019-20]] [[Compiladores/Pautas 2018-2019|2018-19]] [[Compiladores/Pautas 2017-2018|2017-18]] [[Compiladores/Pautas 2016-2017|2016-17]] [[Compiladores/Pautas 2015-2016|2015-16]] [[Compiladores/Pautas 2014-2015|2014-15]]


== 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 16:16, 5 August 2025

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/co26-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 - Processamento semântico. Verificação de tipos.
  • Semana 5.2: (apoio ao projecto)
  • 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