SSD的求值顺序

1.连通图:如果A依赖B,就在A,B中间画条线,箭头指向A
2.虚节点:把副作用产生的作用可以看成是 产生非终结的的虚属性。
3.拓扑排序:即根据求值顺序排好序的属性序列。不唯一。

4.下面的注释分析表,用什么顺序计算值? 用拓扑顺序

5.对有不同属性的SDD,怎么计算他们的值?
对只有综合属性的SDD,可以用任意自底向上的顺序计算他们的值。
对同时具有综合属性和依赖属性的SDD,不一定会存在一个顺序对各个节点的属性进行求值

6.循环依赖:一个SDD,可能会存在循环依赖(是一个环)。如果存在,就不存在拓扑顺序。不存在,就一定有一个拓扑顺序。

宏观来看,下面这是S、L属性是什么? 本质上是特殊的SDD,SDD是什么?就是扩充的CFG,本质上就是语法制导翻译

7.S属性定义:即只有综合属性的SDD。 也称S属性的SDD、SS-SDD、S-属性定义

8.L属性定义:直观定义,依赖图的边可以从左到右,但是不能从右到左。
正式定义,要么只有综合属性,要么有继承属性,但继承属性的依赖受到以下限制:1.只能是父类的继承属性 2.只能是产生式左边的符号的属性。 自身属性,但前提全部属性不会在连通图里构成环。
每个S都是L