编译原理LR1.doc





《编译原理LR1.doc》由会员分享,可在线阅读,更多相关《编译原理LR1.doc(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、姓名: 刘玉华 学号: 20101103846 课题:LR(1)分析法 指导教师: 富玉柱 LR(1)分析法1.LR(1)分析法定义LR分析法是一种有效的自底向上的语法分析技术,它能适用于大部分上下文无关文法的分析,一般叫LR(k)分析方法,其中L是指自左(Left)向右扫描输入单词串,R是指分析过程都是构造最右(Right)推导的逆过程(规范归约),括号中的k是指在决定当前分析动作时向前看的符号个数。LR(1)项目可以看成两个部分组成,一部分与LR(0)项目相同,这部分成为心,另一部分为向前搜索符集合。所以只有当面临的输入符属于向前搜索符的集合,才做规约动作,其他情况均出错。LR(1)方法恰
2、好解决SLR(1)方法在某些情况下存在的无效规约问题。2. LR(1)分析法的主要思想(1)严格地进行最左归约(识别句柄并归约它)。(2)将识别句柄的过程划分为由若干状态控制,每个状态控制识别出句柄的一个符号。(3)分析栈:存放已识别的文法符号与状态,描述的是分析过程中的历史与展望信息。(4)由一个总控程序来控制整个识别过程。3. LR(1)分析法的构造方法(Aab,a)的二元式称为LR(1)项目。其中,Aba是文法的一个产生式,a是终结符,称为搜索符。文法的LR(1)项目集规范族指文法活前缀的有效的项目集。(1)构造LR(1)项目集I的闭包函数CLOSURE(I) a)I的任何项目都属于CL
3、OSURE(I);b)若项目(AaBb,a)属于CLOSURE(I),Bg是一个产生式,则对于FIRST(ba)中的每个终结符b,如果(Bg,b)原来不在CLOSURE(I)中,则把它加进去; c)重复步骤b)直到CLOSURE(I)不再扩大为止。(2)构造转换函数即GO函数令I是一个LR(1)项目集,X是一个文法符号,函数GO(I,X)定义为:GO(I,X)=CLOSURE(J),其中: J=(AaXb,a)|(AaXb,a)I。注:在执行转换函数GO时,搜索符并不改变。(3)构造拓广文法G的LR(1)项目集族C的算法 C=CLOSURE(S S,#); DOFOR C中的每个项目集I与每个
4、文法符号X IF GO(I,X)非空且不属于C 把GO(I,X)加入C中; WHILE C依然扩大;4. LR(1)分析表的构造假定LR(1)项目集规范族C=I0, I1,,In,令每个项目集Ik的下标k 为分析器的一个状态,G 的LR(1)分析表含有状态0,1,n。1.令那个含有项目SS ,#的Ik的下标k为状态0(初态).ACTION表与GOTO表可按如下方法构造。2.若项目A,b属于Ik, 那么置ACTIONk, b为“用产生式A进行规约”,简记为“rj”;(假定A为文法G的第j个产生式)。3.若项目Aa,b属于Ik且GO (Ik, a)= Ij,则置ACTIONk, a为“把状态j与符
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 LR1

限制150内