lr0文法分析表示例_LR(0)文法项目集规范族、DFA和分析表的构建实例

最近在复习编译原理,考试之前以为自己懂了,眼高手低就没去实践。结果一考试出问题了。。。。学习就要脚踏实地,容不得半点模糊。凭着侥幸心理很危险的。以后要引以为戒啊。特别写出这篇文章 :一来总结一下这几天的收获。二来与君共勉。一、概念1.概念解释1、活前缀:不包含句柄右侧任一符号的规范句型的前缀称为该句型的活前缀。例如:Bab是下面那个文法的一个句型,其中b是句柄。那么针对这个句型的活前缀有:ε、B、...
摘要由CSDN通过智能技术生成

最近在复习编译原理,考试之前以为自己懂了,眼高手低就没去实践。结果一考试出问题了。。。。

学习就要脚踏实地,容不得半点模糊。凭着侥幸心理很危险的。以后要引以为戒啊。

特别写出这篇文章 :一来总结一下这几天的收获。二来与君共勉。

一、概念

1.概念解释

1、活前缀:不包含句柄右侧任一符号的规范句型的前缀称为该句型的活前缀。

例如:Bab是下面那个文法的一个句型,其中b是句柄。

那么针对这个句型的活前缀有:ε、B、Ba 和Bab

(其实,LR分析器的工作过程实际上就是逐步产生规范句型的活前缀。

如果能构造出一个识别文法所有规范句型活前缀的确定有穷自动机即DFA,就能很方便的构造出LR分析表)

2、LR(0)项目:右部某位置上标有圆点的产生式称为相应文法的一个LR(0)项目

注意:A --> ε 只对应一个项目 A --> .

(LR(0)项目描述了活前缀和句柄的不同识别状态)

3、ε-可达:从 S‘ --> .S 出发,不必再识别任何符号就可以到达 S --> .BB,就称 S --> .BB是从

S‘ --> .S 出发 ε-可达的。

4、项目集闭包:用Item0表示DFA的初始状态,对应分析的开始,并期待着逐步将输入符号串

归约为开始符号S‘。因此将S‘ --> .S 放到 Item0 中,意即等待归约出S,且目前尚未

得到S的任何符号。

Item0 = CLOSURE({S‘ --> .S}) = {S‘ --> .S,

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值