编译技术编译原理 (22).pdf





《编译技术编译原理 (22).pdf》由会员分享,可在线阅读,更多相关《编译技术编译原理 (22).pdf(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、编译技术语 法 分 析用栈实现移进-归约分析分析器的四种动作:移进动作:把下一个输入符号压栈。归约动作:分析器知道整个句柄已经完全出现在栈顶,它确定句柄的左端在栈中的位置,再决定采用哪个非终结符来代替句柄(即确定使用哪个产生式)。接受动作:分析器宣告分析成功。报错动作:分析器发现了语法错误,调用错误恢复例程。自 下 而 上 分 析a+b$输入输入移进移进-归约分析归约分析程序程序分析表分析表M输出输出XYZ$栈栈分析表的作用是:确定分析的下一步动作是移进还是归约,如果是归约,那么应该使用哪个产生式进行归约分 析 的 方 法处理的对象:句子(由终结符组成的串)id1*id2+id3句子中符号的扫
2、描方句子中符号的扫描方向是从左到右向是从左到右 通过移进 归约分析器在分析输入串id1*id2+id3时动作序列来了解移进 归约分析的工作方式。用栈实现移进-归约分析分 析 的 方 法所有的步骤与动作id1id2id3*+$初始状态:栈里面只有一个初始状态:栈里面只有一个$动作:动作:移进移进一个终结符一个终结符E E+E|E*E|(E)|E|id栈栈句子句子分 析 的 方 法所有的步骤与动作E E+E|E*E|(E)|E|idid1id2id3*+$目前状态:栈里面已经识别的串是目前状态:栈里面已经识别的串是id1扫视一下表达式文法,看看有没有形成句柄扫视一下表达式文法,看看有没有形成句柄E
3、 idid是一个句柄是一个句柄动作:动作:利用利用E id进行进行归约归约分 析 的 方 法所有的步骤与动作E E+E|E*E|(E)|E|idEid2id3*+$目前状态:栈里面已经识别的串是目前状态:栈里面已经识别的串是E归约之后,归约之后,E不是句柄不是句柄动作:动作:移进移进下一个终结符下一个终结符*分 析 的 方 法所有的步骤与动作E E+E|E*E|(E)|E|idEid2id3*+$目前状态:栈里面已经识别的串是目前状态:栈里面已经识别的串是E*E*不是句柄不是句柄动作:动作:移进移进下一个终结符下一个终结符id2分 析 的 方 法所有的步骤与动作E E+E|E*E|(E)|E|
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译技术编译原理 22 编译 技术 原理 22

限制150内