(→Exercises) |
|||
Line 20: | Line 20: | ||
* [[Attribute Grammars/Exercise 7: Lines, characters, and CRCs|Exercise 7: Lines, characters, and CRCs]] (Teste 2, 2009/2010) | * [[Attribute Grammars/Exercise 7: Lines, characters, and CRCs|Exercise 7: Lines, characters, and CRCs]] (Teste 2, 2009/2010) | ||
* [[Attribute Grammars/Exercise 8: Arithmetic|Exercise 8: Arithmetic]] (Teste 2, 2010/2011) | * [[Attribute Grammars/Exercise 8: Arithmetic|Exercise 8: Arithmetic]] (Teste 2, 2010/2011) | ||
+ | * [[Attribute Grammars/Exercise 9: Text relevance|Exercise 9: Text relevance]] (Teste 2, 2011/2012) | ||
[[category:Compilers]] | [[category:Compilers]] | ||
[[category:Teaching]] | [[category:Teaching]] |
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).