归约
定义:我们可以将自底向上语法分析过程看成是建一个串w“归约”慰问发开始符号的过程,在归约中,一个与某产生式体相匹配的特定子串被替换为该产生式的头部的非终结符号。
定义理解起来比较晦涩,我们来看个例子就知道了。
已知有文法
E ——> E + T | T
T ——> T * F | F
F ——> ( E ) | id
他的产生式为 id * id
那么归约过程为:
id * id =》 F * id =》 T * id =》 T * F =》 T =》 E
显而易见,这就是一个反向的最右推导。
句柄
定义:如果有S=》αAw=》αβw,那么紧跟α的产生式A->β是αβw的一个句柄。
特性:
1)句柄右边的串w一定只包含终结符号。
2)如果一个文法无二义性,那么该文法的每个右句型都有且只有一个句柄。
例如,对于上述例子而言
- id1 * id2 句柄为 id1
- F * id2 句柄为 F
- T * id2 句柄为 id2
- T * F 句柄为 T * F<