首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
以下文法 G2 是否为 LL(1) 的?如不是,适当修改该文
[问答题]
以下文法 G2 是否为 LL(1) 的?如不是,适当修改该文法,使之成为 LL(1) 的。
A 是开始符号。
A → B a
B → d a b B → C b
C → c B C → A c
查看答案及解析
添加笔记
求解答(0)
邀请回答
收藏(0)
分享
纠错
1个回答
添加回答
0
阿奻_
显然该文法含有左递归:A=>B a=>C b a=>A c b a 。因此该文法不是 LL(1) 的。
文法修改过程如下:
A 带入 C ,得到 C → c B C → B a c
C 带入 B ,得到 B → d a b | c B b | B a c b
除 消除 B 的直接左递归:
B → d a b E | c B b E
E → a c b E
E → 注:此为空产生式
知 可知 B 产 生串:(dab|cBb)(acb)*
而 而 A 产生的串:(dab|cBb)(acb)*a = (dab|cBb)a(cba)*
的 因此,可重新给出的 A 的产生式如下:写 (重写 A 的串组成方式,主要消除来 原来 Follow(B)
含 中含 a 的情况,否则在 E 的 两个 产生式 均在 出现在 a 的名下,而 那样合 不符合 LL(1)) 文法要求!)
A → d a b a D | c B b a D
D → c b a D
D → 注:此为空产生式
足 最终修改后的文法如下,满足 LL(1) 文法特征:
A → d a b a D | c B b a D
D → c b a D
D → 注:此为空产生式
B → d a b E | c B b E
E → a c b E
E → 注:此为空产生式
发表于 2017-05-01 17:52:23
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
编译和体系结构
上传者:
阿奻_
难度:
1条回答
0收藏
2946浏览
热门推荐
相关试题
以下指令集架构属于复杂指令集架构的是?
阿里巴巴
编译和体系结构
评论
(15)
来自
阿里巴巴2015实习生笔试题
编程题 ,按照要求创建Java 应...
Java
评论
(1)
微型计算机有三种总线,他们分别是数...
编程基础
评论
(1)
计算机系统中用于管理硬件和软件资源...
编程基础
评论
(1)
说出3个获取用户需求的方法并简述其...
用户研究
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题