SLR分析表的构造.pptx
《SLR分析表的构造.pptx》由会员分享,可在线阅读,更多相关《SLR分析表的构造.pptx(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、会计学1SLR分析分析(fnx)表的构造表的构造第一页,共20页。有效有效有效有效(y(y uxio)uxio)项目项目项目项目如果存在规范推导如果存在规范推导 则项目则项目A A 112 2 对活前缀对活前缀 1 1 是有效是有效(yuxio)(yuxio)的。的。如果如果2 2 ,应该移进,应该移进如果如果2=2=,应该用产生式,应该用产生式A A 1 1归约归约*RR 1 2 A SLRLR分析理论的一条基本定理分析理论的一条基本定理:在任何时候,分析栈在任何时候,分析栈中的活前缀中的活前缀(qinzhu)X1X2.Xm(qinzhu)X1X2.Xm的有效项目集正的有效项目集正是栈顶状态
2、是栈顶状态SmSm所代表的那个集合。所代表的那个集合。第1页/共20页第二页,共20页。I0:SE E aA E bBI5:BcB B cB B dI3:EbB B cB B dI2:EaA A cA A dI1:S E I4:AcA A cA A dI8:Ac AI10:A d I6:EaA I7:EbBI11:B d I9:BcB b E a c c c c d d d d A A B BG:SEEaA|bBAcA|dBcB|d 项目项目(xingm(xingm)集集I5I5对对活前缀活前缀bcbc有效有效考虑如下规范考虑如下规范(gufn)推导推导(1)S E bB bcB(2)S E
3、bB bcB bccB(3)S E bB bcB bcd第2页/共20页第三页,共20页。I0:SE E aA E bBI5:BcB B cB B dI3:EbB B cB B dI2:EaA A cA A dI1:S E I4:AcA A cA A dI8:Ac AI10:A d I6:EaA I7:EbBI11:B d I9:BcB b E a c c c c d d d d A A B B同一个项目同一个项目(xingm)(xingm)可能对好可能对好几个活前缀都有效几个活前缀都有效G:SEEaA|bBAcA|dBcB|d 第3页/共20页第四页,共20页。同一个活前缀,可能存在若干个项
4、目对它都是有效的,而且同一个活前缀,可能存在若干个项目对它都是有效的,而且告诉我们应做的事情各不相同,相互告诉我们应做的事情各不相同,相互(xingh)(xingh)冲突。冲突。这种冲突通过向前多看几个输入符号这种冲突通过向前多看几个输入符号,或许能够获得解决。或许能够获得解决。第4页/共20页第五页,共20页。5.3.3 SLR5.3.3 SLR分析分析分析分析(fnx)(fnx)表的构造表的构造表的构造表的构造SLR(1)SLR(1)分析法的引入分析法的引入:LR(0)LR(0)文法的活前缀识别自动机的每一状态文法的活前缀识别自动机的每一状态(项目集项目集)都不含冲突性都不含冲突性的项目的
5、项目 大多数的程序设计语言的文法不能满足大多数的程序设计语言的文法不能满足LR(0)LR(0)文法的条件文法的条件 用向前查看一个符号的办法用向前查看一个符号的办法(bnf(bnf)解决冲突解决冲突 第5页/共20页第六页,共20页。例:设文法例:设文法(wnf(wnf)G)G的的LR(0)LR(0)项目集规范族中项目集规范族中含有如下一个项目集(状态)含有如下一个项目集(状态)I I:I=I=X X b b/*/*移进项目移进项目*/*/AA /*/*归约项目归约项目*/*/B B /*/*归约项目归约项目*/*/移进归约冲突移进归约冲突(chngt)归约归约冲突归约归约冲突(chngt)解
6、决解决(jiju)冲突策略冲突策略(1)若)若a=b,则移进,则移进(2)若)若aFollow(A),则用则用 A 归约归约(3)若)若aFollow(B),则用则用 B 归约归约(4)此外,报错)此外,报错第6页/共20页第七页,共20页。用用用用SLR(1)SLR(1)方法解决方法解决方法解决方法解决(jiju)(jiju)冲突冲突冲突冲突假定假定LR(0)LR(0)规范族的一个项目集规范族的一个项目集I I中含有中含有m m个移进项目个移进项目:A1a11A1a11,A2a22A2a22,AmammAmamm同时含有同时含有n n个归约项目个归约项目:B11,B22,BnnB11,B22
7、,Bnn如果集合如果集合a1,ama1,am、FOLLOW(B1)FOLLOW(B1)、FOLLOW(Bn)FOLLOW(Bn)两两两不相交,两不相交,a a是现行输入符号,则是现行输入符号,则:(1 1)若)若a a是某个是某个(mu)ai(mu)ai,i=1,2,mi=1,2,m,则移进;,则移进;(2 2)若)若aFOLLOW(Bi)aFOLLOW(Bi),i=1,2,ni=1,2,n,则用产生式则用产生式BiiBii进行归约;进行归约;(3 3)此外,报错。)此外,报错。第7页/共20页第八页,共20页。例例例例5.11 5.11 p111p111 考虑下面考虑下面(xi mian)(
8、xi mian)的拓广文法的拓广文法(文法文法5.8)5.8)(0 0)S S E E (1 1)E E E+T E+T (2 2)E E T T (3 3)T T T*F T*F (4 4)T T F F (5 5)F F(E)(E)(6 6)F F I I构造其构造其LR(0)LR(0)项目集规范族项目集规范族第8页/共20页第九页,共20页。I0:S E E E+T E T T T*F T F F (E)F iI1:S E E E +T I2:E T T T *FI3:T F I4:F (E)E E+T E T T T*F T F F (E)F iI5:F i I6:E E+T T T*
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SLR 分析 构造
限制150内