- 1
- 0
- 约5.33千字
- 约 30页
- 2016-11-28 发布于江苏
- 举报
第6章 自底向上优先分析法 自底向上分析法的基本思想及主要方法 自底向上分析法也称移进-归约法。 自底向上分析法的基本思想是:从待输入的符号串开始,利用文法的规则步步向上归约,试图归约到文法的识别符号。 从语法树的角度来看:自底向上分析的过程是以输入符号串作为末端结点符号串,向着根结点的方向往上构造语法树,使识别符号正好是该语法树的根结点。 自底向上分析法的关键在于:如何在每一步归约当中,找到当前句型的句柄,并判断句柄是否唯一。 主要的分析方法有:简单优先分析法、算符优先分析法、LR类分析法。 自底向上分析法中面临的问题及解决方法 采用自底向上分析法分析的每一步中,会遇到两个基本问题: (1)如何找出进行直接归约的简单短语? (2)找出的简单短语应直接归约到哪一个非终结符号? 解决方法:由于分析过程是从左往右扫描源程序,所以遇到的第一个简单短语正好是句柄,因此,第一个问题变为:如何找到句柄。对于如何找到句柄,找到句柄后应归约到哪一个非终结符号这两个问题,不同的自底向上分析法有不同的解决方法。 简单短语:只经过一次推导得到的短语叫简单短语; 句柄: 句型的最左简单短语。 自底向上分析法的基本实现方法 自底向上分析的基本实现方法是:移进-归约法。 引入“#”作为栈底标志符号。 在整个分析过程中,共有4类动作: (1)移入:读入下一个输
原创力文档

文档评论(0)