Attribute Dependencies
Attribute Dependencies
– Wilhelm/Seidl/Hack: Compiler Design, Syntactic and Semantic Analysis – Reinhard Wilhelm Universität des Saarlandes wilhelm@cs.uni-saarland.de
- 14. November 2013
Attribute Dependencies Wilhelm/Seidl/Hack: Compiler Design, - - PowerPoint PPT Presentation
Attribute Dependencies Attribute Dependencies Wilhelm/Seidl/Hack: Compiler Design, Syntactic and Semantic Analysis Reinhard Wilhelm Universitt des Saarlandes wilhelm@cs.uni-saarland.de 14. November 2013 Attribute Dependencies
Attribute Dependencies
Attribute Dependencies
Attribute Dependencies
Attribute Dependencies
Attribute Dependencies
Stms 1: Stms Stm
e-env 2: Decls Stm Stms e-env
it-env st-env 4: Decls Decls Decl st-env ok it-env e-env 5: Decl Id Stms Ptype st-env ok e-env it-env 6: Stm Id Args e-env
Attribute Dependencies
Decls Stm Stms Decl Stm Args Id Stms Ptype Id Id Stm Id Args Stm Id Args Decls Decl Stms Ptype
Attribute Dependencies
Stms Ptype Decls Stm Stms Decl Stm Args Id Stms Ptype Id Id Stm Id Args Stm Id Args Decls Decl
Attribute Dependencies
Attribute Dependencies
◮ Selects a candidate and inserts it into the total order, ◮ Removes it from the set of candidates, ◮ Removes it from the partial order, ◮ Makes all elements only depending on this candidate to
Attribute Dependencies
Stms Ptype Decls Stm Stms Decl Stm Args Id Stms Ptype Id Id Stm Id Args Stm Id Args Decls Decl
Attribute Dependencies
Attribute Dependencies
◮ Starts with a demand of some maximal elements in the partial
◮ Demand for evaluation is passed to arguments, ◮ Computed values are passed back.
◮ Allows the selective evaluation of a subset of “interesting”
◮ Only instances needed for the evaluation of these attribute
◮ May evaluate instances several times, depending on the
Attribute Dependencies
Attribute Dependencies
X e d c b a a b c d e X
Attribute Dependencies
Attribute Dependencies
a b d e X c c X e d b a
Attribute Dependencies
Stms
e-env it-env
Decl st-env e-env Decls st-env ok it-env e-env Stm e-env
Attribute Dependencies
it-env
st-env e-env Decls
it-env
Decl st-env e-env
Attribute Dependencies
Attribute Dependencies
◮ a set, Dt↑(X), of lower characteristic graphs and ◮ a set, Dt↓(X), of upper characteristic graphs.
Attribute Dependencies
Attribute Dependencies
Attribute Dependencies
Attribute Dependencies
Attribute Dependencies
. . . Xi Xnp X0 X1
Attribute Dependencies
Attribute Dependencies
Attribute Dependencies
Attribute Dependencies
. . . Xi Xnp X0 X1
Attribute Dependencies
Attribute Dependencies
Attribute Dependencies
Attribute Dependencies
Attribute Dependencies
Attribute Dependencies
n
e d c b a
Attribute Dependencies
Attribute Dependencies
Attribute Dependencies
Y Y a b X Y
Y Y a b X X
Y a X