【发布时间】:2014-09-02 13:29:08
【问题描述】:
我知道:
如果一种语言可以由 LL(1) 语法生成,则称该语言为 LL(1)。可以证明LL(1)文法是
not ambiguous and
not left-recursive.
但我遇到了问题。
为什么是语法
S->aBDb
B -> λ
D-> dD | λ
为什么这个文法不是 LL(1) 也不是 SLR 也不是 LALR?谁能描述一下我?
【问题讨论】:
-
不用担心 - 语法是 LL(1) 和 SLR(1)。谁告诉你不是的?
-
亲爱的@Gunther,这是 P.hd 入学考试的测试。答案的关键是这不是。
-
另一个用户认为这个问题中有一个拼写错误,导致语法为 LL(1)、SLR(1) 和 LALR(1)。删除错字后,语法不是 LL(1)、SLR(1) 或 LALR(1)。但是,我认为最好将其作为一个不同的问题发布,否则我必须从头开始完全重做我的答案。
标签: compiler-construction programming-languages ll lalr lr