对于非终结符,左递归和右递归的文法是
(一)模棱两可
(B)明确
(C)信息不足以决定它是模棱两可的还是无歧义的。
(D)以上都不是答案: (C)
说明:假设我们有这样的语法:
S → n
B → BbB
在这里我们看到文法是左递归和右递归,但它仍然是明确的文法,因为 A 是无用的产生式,但它仍然是文法的一部分。
所以我们可以说同时具有左递归和右递归的文法可能有歧义,也可能没有歧义。
让我们用另一个例子来理解,因为我们有这样的语法 A→AA 使用这个语法我们不能在有限的步骤中产生任何字符串,因为这个语法的语言是空集 {}。
因此,我们最终得出结论,好像文法既有左递归也有右递归,那么文法可能有歧义,也可能没有歧义。
选项(C)是正确的。
这个问题的测验