首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
说明以下文法 G1 为 LR(1) 的,但不是 LALR(1
[问答题]
说明以下文法 G1 为 LR(1) 的,但不是 LALR(1) 的,也不是 SLR(1) 的。
S 是开始符号。
S → A a | b A c | B c | b B a
A → d
B → d
查看答案及解析
添加笔记
求解答(0)
邀请回答
收藏(1)
分享
纠错
1个回答
添加回答
1
阿奻_
G1 仅产生串 da 、bdc 、dc 和 和 bda 。
读入缀 活前缀 d 后到达的 的 LR(1) 项目集簇为:
态 状态 i :{A → d.,a ; B → d.,c}
缀 读入活前缀 bd 后到达的 LR(1) 项目集簇为:
态 状态 j :{A → d.,c ; B → d.,a}
显然,在构造的 LR(1) 项目集簇中不存在移进-归约或归约-归约冲突。因此,该文法为 LR(1)
态 的。而上述状态 i 和 和 j 为同心集,合并后为{A → d.,a/c ; B → d.,a/c} ,则出现了新
是 的归约-归约冲突,而这个冲突在合并前是没有的。因此,该文法不是 LALR(1) 的。
是 很明显,该文法也不是 SLR(1) 的,因为在读入活前缀 d 后到达的 LR(0) 项目集簇(状态)
为{A → d. ; B → d. }而 ,包含了两个归约项目,而 follow(A) ∩follow(B)={a,c}
是 ≠Φ,因此,存在归约-归约冲突,故而该文法不是 SLR(1)
发表于 2017-05-01 17:51:23
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
编译和体系结构
上传者:
阿奻_
难度:
1条回答
1收藏
7585浏览
热门推荐
相关试题
以下指令集架构属于复杂指令集架构的是?
阿里巴巴
编译和体系结构
评论
(15)
来自
阿里巴巴2015实习生笔试题
编程题 ,按照要求创建Java 应...
Java
评论
(1)
微型计算机有三种总线,他们分别是数...
编程基础
评论
(1)
计算机系统中用于管理硬件和软件资源...
编程基础
评论
(1)
说出3个获取用户需求的方法并简述其...
用户研究
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题