《编译原理》课程简介 (35).pdf
《《编译原理》课程简介 (35).pdf》由会员分享,可在线阅读,更多相关《《编译原理》课程简介 (35).pdf(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、编 译 原 理C O M P I L A T I O N P RIN C IP LE 第五章 语法分析自下而上分析5.3.1 LR分析器5.3.1 LR分析器LR分析概述v1、LR分析器模型总控程序outputInput#S1XmS1X1S0#栈状态 文法符号ACTION GOTOLR分析表产生式表5.3.1 LR分析器v2、LR分析方法的逻辑结构n逻辑上说,一个LR分析器由3个部分组成:p(1)总控程序,也可以称为驱动程序。对所有的LR分析器总控程序都是相同的。p(2)分析表或分析函数,不同的文法分析表将不同,同一个文法采用的LR分析器不同时,分析表也不同,分析表又可分为动作表(ACTION
2、)和状态转换(GOTO)表两个部分,它们都可用二维数组表示。p(3)分析栈,包括文法符号栈和相应的状态栈,它们均是先进后出栈。n分析器的动作就是由栈顶状态和当前输入符号所决定。5.3.1 LR分析器n总控程序根据不同的分析表来决定其下一步的处理动作,分析表是根据具体的文法按某种规则构造出来的。LR方法是根据具体文法的分析表对输入串进行分析处理。nLR分析过程的思想是在总控程序的控制下,从左到右扫描输入符号串,根据分析栈中的状态和文法及当前输入符号,按分析表完成相应的分析工作。5.3.1 LR分析器分析表的组成:v(1)分析动作表Action 符号符号状态状态a1a2atS0actionS0,a
3、1actionS0,a2actionS0,atS1actionS1,a1actionS1,a2actionS1,atSnactionSn,a1actionSn,a2actionSn,at5.3.1 LR分析器 符号符号状态状态x1x2xtS S0 0gotoS0,x1gotoS0,x2gotoS0,xtS S1 1gotoS1,x1gotoS1,x2gotoS1,xtS Sn ngotoSn,x1gotoSn,x2gotoSn,xtn表中actionSi,aj为二维数组,指出当前栈顶为状态Si,输入符号为aj是所执行的动作。其动作有四种可能,分别为移进(S)、归约(r)、接受(acc)、出错(error)。v(2)状态转换表goton表中gotoSi,xj指出栈顶状态为Si,文法符号为xj时应转到的下一状态。5.3.1 LR分析器分析表种类的不同决定使用不同的LR分析方法v(1)分析动作表Action 符号符号状态状态a1a2atS0actionS0,a1actionS0,a2actionS0,atS1actionS1,a1actionS1,a2actionS1,atSnactionSn,a1actionSn,a2actionSn,at|编译原理谢 谢Thanks
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译原理 编译原理课程简介 35 编译 原理 课程 简介 35
限制150内