【发布时间】:2013-04-27 14:04:07
【问题描述】:
有人问我 LL(3) 是否是 LR(2) 的子集,反之亦然。
我成功证明了 LL(3) 不是 LR(2) 的子集:
在 LL(3) 中,我们可以在读取开头的 3 个字符后识别规则。
在 LR(2) 中,我们可以在读取 2 个字符后识别规则。
因此,假设规则为空(upsilon),那么 LL(3) 将提供比 LR(2) 更多的信息。因此,LL(3) 不包含在 LR(2) 中。
我如何证明另一种方式?
【问题讨论】:
-
它们是 LR(2)/LL(3) 语言集还是 LR(2)/LL(3) 语法集?
-
对于语言,LL(3) 是 LR(2) 的严格子集...
-
更多的是cs.stackexchange的问题,而不是堆栈溢出:)