SDD的求值顺序

文章目录 依赖图属性值的计算顺序 语义规则建立了 属性之间的依赖关系,在对语法分析树节点的一个属性求值之前,必须首先求出这个属性值 所依赖的所用属性值。

文章目录

  • 依赖图
  • 属性值的计算顺序

语义规则建立了 属性之间的依赖关系,在对语法分析树节点的一个属性求值之前,必须首先求出这个属性值 所依赖的所用属性值。

依赖图

  • 依赖图是一个描述了分析树种节点属性间依赖关系的有向图
  • 分析树中每个标号为X的节点的每个属性a都对应着依赖图中的一个结点
  • 如果属相X.a的值依赖于属性Y.b的值,则依赖图中有一条从Y.b的结点指向X.a的结点的有向边

例如:

image

属性值的计算顺序

  • 可行的求值顺序是满足下列条件的结点序列$N_1,N_2,...,N_k$:如果依赖图中有一条从结点$N_i$$N_j$的边$(N_i \rightarrow{N_j})$,那么$i(即在结点序列中,$N_i$排在$N_j$前面)
    • 这样的排序讲一个有向图变成了一个线性排序,这个排序称为这个图的拓扑排序