自下而上 and 自上而下
- 自下而上:从给定的语句(即终结符串)反推,符合语法就合法,否则就非法。
- 自上而下:从语法开始符号正推,尝试各种可能的推导,有一个推导能推出给定的语句,则该语句合法,否则非法。
分析过程
驱动程序+分析表+堆栈
分析树
- 分析树:语法分析的过程中可以用子树表示出来,每一步归约都可以对应一棵子树,随着归约的完成,这些子树被连成一棵统一的分析树。
短语、直接短语、句柄
-
短语:所有可以从开始符号S,可以推出来的非终结符都为短语
-
直接短语:直接的子树
如上图中b是A的直接短语,Ab是A的直接短语,但不是S的直接短语。
-
句柄:最左边的子树
如上图中b是A的句柄
规范推导和规范归约
- 规范推导:最右推导
中心问题:如何确定一个句型的句柄? - 规范归约:给出寻找句柄的不同算法给出了不同的规范归约方法。