例 LR分析方法-构造LR(0)项目集规范族

更新时间:2023-07-14 15:44:51 阅读: 评论:0

4-12LR分析器举例
设如下LR(1)文法的LALR 分析表已给定如下,试分析输入串bab的合法性:
    1) S B B
2) B a B
3) B b
LALR    
状态  动作表    状态转移表
      a  b  #      S  B   
0    s3  s4          1  2 
1            acc           
2    s3  s4              5   
3    s3  s4              6   
4    r3  r3  r3
5            r1
6    r2  r2  r2
解:分析过程如下
符号栈 状态    输入      动作说明
#      0      bab#      action(0,b) =s4
#b      04    ab#      action(4,a) = Bb  goto(0,B) =2
#B      02    ab#      action(2,a) =s3
#Ba    023    b#      action(3,b) =s4
#Bab    0234    #        action(4,#) = Bb  goto(3,B) =6
#BaB    0236    #        action(6,#) = BaB  goto(2,B) =5
#BB    025    #        action(5,#) = SBB  goto(0,S) =1
#S      01      #        action(1,#) = accept
例: LR(0)项目集规范族构造举例(参见教材P106 5.7
I0=closure({S’→•E}) ={S’→•E E•aA爱心传递E•bB}
I1=GO(I0 ,E)=closure({S’→E•}) ={S’→E•}
I2=GO(I0 ,a)=closure({Ea•A})
      ={Ea•AA•cA A•d}
I3=GO(I0 ,b)=closure({Eb•B})
      ={Eb•BB•cB B韩城旅游•d}
I4=GO(I2 ,c)=closure({Ac•A})
        ={Ac•A A•cA A•d}
      …  …
I6=GO(I2 ,A)=closure({EaA•}) ={EaA•}

例:对教材P111中例5.11拓广文法,构造LR(0)项目集规范族:
解:I0=closure{S’→•E}
      ={S’→•E E•E+TE•TT•T*FT•FF•(E)F •i}
I1=GO(I0 E)=closure({S’→E•EE•+T}={S’E•EE•+T}
I2=GO(I0 T)=closure({ET• TT • *F}={ET•TT • *F}
I3=GO(I0 特殊的生日作文F)=closure({TF•})= {TF•}
I4=GO(I0 ( )=closure({F(•E)})                   
  ={F(•E)牢记使命E•E+TE•TT•T*FT•FF•(E)F•i}
I5=GO(I0 i )=closure({Fi•})= {Fi•}
得:C={I0 I1 I2 I3 I4 I5}
二手烟对孕妇的危害I6=GO(I1 +)=closure({E关于科学的画→E+•T})
  = {EE+•T T•T*FT•FF•(E)F •i}
I7=GO(I2*)=closure({TT*•F})
  ={TT* • FF•(E)F •i}
白酒的历史
I8=GO(I4 E)=closure({E(E•)EE•+T}
  ={E(E•) EE•+T}
    GO(I4T)=closure({ET• TT•*F})
    = {ET• TT•*F}= I2
      GO(I4 F)=closure({TF•})= {TF•}= I3
    GO(I4( )=closure({F(•E)})
  ={F(•E)E•E+TE•TT•T*FT•FF•(E)F•i}= I4
    GO(I4i )=closure({Fi•})= {Fi•}= I5
I9=GO(I6婚礼嘉宾致辞T)=closure({EE+T• TT•*F})
  = {EE+T• TT•*F}
GO(I6 F)=closure({TF•})= {TF•}= I3
      GO(I6( )=closure({F(•E)})= I4
      GO(I6i )=closure({Fi•})= {Fi•}= I5
I10=GO(I7F)=closure({TT*F •})= {TT*F •}
      GO(I7( )=closure({F(•E)})= I4
      GO(I7i )=closure({Fi•})= {Fi•}= I5
I11=GO(I8) )=closure({F(E) •})= {F(E) •}
    GO(I8,+)=closure({EE+•T})
= {EE+•T, T•T*FT•FF•(E)F •i}=I6
        GO(I9,*)=closure({TT*•F})    ={TT*•F,F•(E),F •i}=I7
得:C={I0 I1 I2 I11}             

本文发布于:2023-07-14 15:44:51,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1081328.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:分析   构造   举例   规范   致辞   转移   说明   爱心
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图