Difference between revisions of "Attribute Grammars"

From Wiki**3

(Exercises)
(Exercises)
Line 24: Line 24:
 
* [[Attribute Grammars/Exercise 11: Operadores Lógicos|Exercise 11: Operadores Lógicos]] (Teste 2, 2014/2015)
 
* [[Attribute Grammars/Exercise 11: Operadores Lógicos|Exercise 11: Operadores Lógicos]] (Teste 2, 2014/2015)
 
* [[Attribute Grammars/Exercise 12: Operadores Lógicos|Exercise 12: Operadores Lógicos]] (Teste 2, 2014/2015)
 
* [[Attribute Grammars/Exercise 12: Operadores Lógicos|Exercise 12: Operadores Lógicos]] (Teste 2, 2014/2015)
 +
* [[Attribute Grammars/Exercise 13: Operadores Lógicos|Exercise 13: Operações com números]] (Teste 2, 2017/2018)
 +
* [[Attribute Grammars/Exercise 14: Operadores Lógicos|Exercise 14: Operações com números]] (Teste 2, 2017/2018)
  
 
[[category:Compiladores]]
 
[[category:Compiladores]]
 
[[category:Ensino]]
 
[[category:Ensino]]

Revision as of 14:07, 3 July 2018

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

Topics: attributes in grammar symbols; syntax-directed evaluation.

Synthesized attributes: passed from child nodes to parent nodes.

Inherited attributes: may be passed from parent- to child nodes or between siblings.

S-attributed grammars: only synthesized attributes.

L-attributed grammars: inherited attributes are only dependent on the parents' attributes or on the older siblings' (i.e., when evaluating left-to-right, only previously seen attributes are needed).

Exercises