(→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]] |
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).