S-属性定义与L-属性定义

文章目录

  • S-属性
    • 定义
  • L-属性
    • 定义

S-属性

定义

仅仅使用综合属性的SDD称为S属性的SDD,或S-属性定义、S-SDD。

例如:

  • 如果一个SDD是S属性的,可以按照语法分析树节点的任何自底向上顺序来计算它的各个属性值
  • S-属性定义可以在自底向上的语法分析过程中实现

L-属性

定义

  • 直观含义:在一个产生式所关联的各属性之间,依赖图的边可以从左到右,但不能从右到左
  • 正式定义:一个SDD是L-属性定义,当且仅当它的每个属性要么是一个综合属性,要么是满足如下条件的继承属性:假设存在一个产生式$A\rightarrow{X_1X_2...X_n}$其右部符号$X_i$继承属性仅依赖于下列属性:
    • A的继承属性
    • 产生式中$X_i$左边的符号$X_1,X_2,...,X_{i-1}$的属性
    • $X_i$本身的属性,但$X_i$的全部属性不能在依赖图中形成环路

注:每个S-属性定义都是L-属性定义

你可能感兴趣的:(编译原理)