我有问题来解决这个问题。我必须重写下面的语法,使其与LL(1)解析模糊语法与LL(1)解析
S→名词|名词和名词| M,名词和名词
M→M,名词|名词
,我注意到的是,该语法是在生产带有接头连接器M递归的第一个问题,我修复它这样
中号→名词展示新品推荐网上
展示新品推荐网上→,名词展示新品推荐网上
但后来我注意到带有标题S的制作是模棱两可的,但我不知道如何解决它,我试图“分解”名词,但我并不确定。
你能帮助我吗?
谢谢你的回答。
我有问题来解决这个问题。我必须重写下面的语法,使其与LL(1)解析模糊语法与LL(1)解析
S→名词|名词和名词| M,名词和名词
M→M,名词|名词
,我注意到的是,该语法是在生产带有接头连接器M递归的第一个问题,我修复它这样
中号→名词展示新品推荐网上
展示新品推荐网上→,名词展示新品推荐网上
但后来我注意到带有标题S的制作是模棱两可的,但我不知道如何解决它,我试图“分解”名词,但我并不确定。
你能帮助我吗?
谢谢你的回答。
您的左递归消除M
不完整 - 您忘记了规则NewPro→ε
一旦你添加了这个问题,你就会留下S
这个问题,这个问题并不含糊,但需要左派系数。自FIRST(M)⊆ FIRST(S),您需要先将M代入S:
S→noun |名词和名词|名词展示新品推荐网上,名词,和名词
,然后就可以离开因子,简单地,进
小号→名词S '
S' →&小量; |和名词| NewPro,名词和名词
现在您遇到此语法为LL(4)而不是LL(1)的问题,因为您需要4令牌前瞻来查找NewPro
s序列的末尾。这是一个很难处理的问题,但它可以修复。首先,您需要将, noun,
拖入NewPro中:
S'→ε; |和名词| NewPro和名词
NewPro→,名词,| ,名词展示新品推荐网上
然后左键因素展示新品推荐网上:
展示新品推荐网上→,名词展示新品推荐网上 '
展示新品推荐网上' →,| NewPro
然后替换成NewPro':
NewPro'→,| | ,名词展示新品推荐网上 '
和左因子太:
展示新品推荐网上' →,展示新品推荐网上 '' 展示新品推荐网上 '' →&小量; |名词展示新品推荐网上 '
得到最终语法:
小号→名词S'
S”→&小量; |和名词| NewPro和名词
NewPro→,名词NewPro'
NewPro'→,NewPro''
NewPro→'ε |名词展示新品推荐网上“
哪个是LL(1)和可直接使用或通过置换展示新品推荐网上回进入S简化有点”和重命名的规则摆脱“-suffixes的:
小号→名词甲
A→ε; |和名词| ,名词B和名词
B→,C
C→ε |名词B
你的第一个重构是错误的 - 旧的M来自'名词',新的M没有。 – jch 2014-10-26 18:33:18