LR(0)分析例子

来自http://jpkc.gdut.edu.cn/comp/cmpl6/6-2-5.htm#top

LR(0) 分析 


  其实我觉得LR(0)这个名称不正确,因为一般把0解释为不向前查看字符(也就是查看0个字符),但是其实我们知道LR(0)的分析表中转移是需要看一个字符的,根据字符做相应转移的。而归约不需要看字符,也就是只要知道后面来了一个字符,但不管具体是什么字符,我都会归约。所以LR(0)应该改成LR(0,1)或LR(0.5)更合适一点。


    按上述方法建立识别活前缀的 DFA 结果与 7.8 图相同
  构造上例文法的 LR(0) 分析表见 P136 表 7.3 所入串 bccd# 的 LR(0) 分析过程见 P136 表 7.4 所示

  例: G[S]为 :
  S →a A c B e 
  A →b 
  A →A b 
  B →d
  1) 构造识别活前缀的 DFA 
  2) 构造它的 LR(0) 分析表。
  3) 分别给出对输入 符号串 abbcde 和 abbbce 的 LR(0) 分析步骤。
     



Step 3: S4碰到b,要按照r2归约。先把S4出栈,栈顶变成S2。要归约的串b出栈,b归约成A。此时S2碰到A,要goto S3。所以把A入栈,S3入栈。



  • 8
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值