最新【考研计算机专业课】天津大学 编译原理讲义 LR(0)分析表(共22张PPT课件).pptx
《最新【考研计算机专业课】天津大学 编译原理讲义 LR(0)分析表(共22张PPT课件).pptx》由会员分享,可在线阅读,更多相关《最新【考研计算机专业课】天津大学 编译原理讲义 LR(0)分析表(共22张PPT课件).pptx(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、4.3.2 LR(0)项目集规范项目集规范(gufn)族和族和LR(0)分析表分析表LR(0)项目集描述了一种只概括项目集描述了一种只概括“历史历史”资料而不包含资料而不包含(bohn)推测性推测性“展望展望”材料的材料的“状态状态”。LR(0)分析分析(fnx)表的构造表的构造:I. 先构造识别文法的活前缀的非确定有限自动机,然后确定化,得到先构造识别文法的活前缀的非确定有限自动机,然后确定化,得到LR(0)项目集规范族,再构造项目集规范族,再构造LR(0)分析表。分析表。II. 直接构造直接构造LR(0)项目集规范族,再构造项目集规范族,再构造LR(0)分析表。分析表。第一页,共二十二页。
2、(1) 规范句型规范句型(j xn)的活前的活前缀缀 所谓所谓(suwi)(suwi)活前缀活前缀是指规范句型的一个前缀,这种前缀不含是指规范句型的一个前缀,这种前缀不含句柄之后的任何符号。句柄之后的任何符号。 之所以称为活前缀,是因为在右边增添之所以称为活前缀,是因为在右边增添(zngtin)一些终结符之后,就可一些终结符之后,就可以使它成为一个规范句型。以使它成为一个规范句型。例例,文法,文法G的产生式的产生式为为: : ET| |E+TTF| |T*FF(E)| |iT*i2+i3 T*F+i3 T+i3 E+i3 E+F E+T E句型句型T*i2+i3的活前缀为的活前缀为: ;T;T
3、*;T*i2因为因为i2是句柄。是句柄。I 字的前缀字的前缀是指该字的任意首部。是指该字的任意首部。第二页,共二十二页。(2) 文法文法(wnf)的的LR(0)项目项目设文法设文法G的某一产生式为的某一产生式为Ax1x2xn,则,则Ax1xi xi+1xn 称为称为(chn wi)文法文法G的的LR(0)项目项目。 其中,其中,“”或在文法或在文法(wnf)符号符号xi和和xi+1之间,之间,i=1,2,n-1;或;或在在x1之前;或在之前;或在xn之后。之后。 (1) EaA (2) AcA (3) Ad 例例,文法,文法GAd有两个有两个LR(0)项目项目: : Ad Ad EaA有三个有
4、三个LR(0)项目项目: : EaA EaA EaA 第三页,共二十二页。文法的文法的LR(0)(0)项目分成项目分成(fn chn)(fn chn)如下四类如下四类: : AB 待归约项目待归约项目(xingm)(xingm),其中,其中,BVN A 归约项目归约项目(xingm) S 接收项目,其中,接收项目,其中,S是根符号是根符号 Aa 移进项目,其中,移进项目,其中,aVT第四页,共二十二页。(3) 识别文法句型识别文法句型(j xn)活前缀的活前缀的NFA识别文法句型活前缀的非确定有限识别文法句型活前缀的非确定有限(yuxin)(yuxin)自动机自动机( (NFA M) )包括包
5、括( (状状态、字母表、状态转换、初态、终态态、字母表、状态转换、初态、终态) ),定义如下,定义如下: : 1.1.对文法对文法(wnf)(wnf)进行拓广,增加新的开始结点进行拓广,增加新的开始结点( (SE) ),定义文法,定义文法的每一个项目。的每一个项目。SE SE EaA EaA EaA (1) SE (2) EaA (2) (3) AcA (4) Ad 例例,文法,文法GAd Ad AcA AcA AcA 第五页,共二十二页。2. 定义文法定义文法(wnf)(wnf)的每一个项目作为的每一个项目作为NFA M的一个状态;字母表的一个状态;字母表= VNVT。 a.如果状态如果状态
6、 i 和和 j 出自同一产生式,而且状态出自同一产生式,而且状态 j 的圆点的圆点只落后于状态只落后于状态 i 的圆点一个位置,的圆点一个位置,如状态如状态 i 为为: Ax1xi-1 xixn状态状态 j 为为: Ax1xi xi+1xn就从状态就从状态 i 画一条标志为画一条标志为xi 的弧到的弧到状态状态 j。3.b.若状态若状态(zhungti)(zhungti)为为AB,BVN,则需从该状态画,则需从该状态画弧弧到所有到所有Br r状态。状态。 4. 文法的根符号产生式文法的根符号产生式SE定义定义(dngy)(dngy)的项目的项目SE E作为初态。作为初态。 5. 文法的所有型如
7、文法的所有型如AA的的LR(0)项目构成的状态都是识别文法项目构成的状态都是识别文法的规范句型的句柄的终态。的规范句型的句柄的终态。 第六页,共二十二页。例例,文法,文法(wnf)(wnf)G的识别规范句型活前缀的的识别规范句型活前缀的NFA M 第七页,共二十二页。(4) NFA DFAI0=1,3 ,I1=2, I2=4,6,9, I3=5, I4=6,7,9 ,I5=8, I6=10 第八页,共二十二页。(5) 构造构造LR(0)项目项目(xingm)集规范族集规范族构成识别一个文法活前缀的构成识别一个文法活前缀的DFA的项目集的项目集(状态状态)的全体的全体(qunt)称称为该文法的为
8、该文法的LR(0)项目集规范族项目集规范族。例例,句型,句型(j xn)(j xn)“acd”的识别过程的识别过程 状态栈状态栈活前缀栈活前缀栈现行输入符号现行输入符号输入串输入串0#(初值初值)Acd#02#aCd#024#acD#0246#acd# 0245#acA# 023#aA# 01#E# 第九页,共二十二页。II. 直接直接(zhji)构造构造(1) 定义两个重要定义两个重要(zhngyo)运算运算:项目项目(xingm)集闭包集闭包Closure(I) : 1. 若一个若一个LR(0)项目项目I,则此项目,则此项目Closure(I); 2. 若项目若项目ABClosure(I)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 考研计算机专业课 最新【考研计算机专业课】天津大学 编译原理讲义 LR0分析表共22张PPT课件 最新 考研 计算机 专业课 天津大学 编译 原理 讲义 LR 分析 22 PPT 课件
限制150内