以下是一段语法的摘录,我试图看它是否含糊不清。
Y->b
Y->Z
Z->bW
W->d
W->ϵ
当我计算第一组语法时,我偶然发现了Y的第一个不规则性。
First(Y) = {b,First(Z)}
First of Z = b so I have the set First(Y)={b,b}.
我想知道的是足以证明给出这些证据的语法是否具有暧昧性。或者该集合应为First(Y) = {b}
。
答案 0 :(得分:4)
要证明语法含糊不清,您只需要证明至少有两种不同的方法可以达到结果。
考虑到您的示例,并考虑您的编辑,您确实有一个含糊不清的语法,因为您可以通过以下方式派生表达式b
:
Y -> b
Y -> Z
Z -> bW
Y -> d
W -> ϵ
第一种方式:
Y -> b
第二种方式:
Y -> Z
Y -> Z -> bW
Y -> Z -> bW -> bϵ
Y -> Z -> bW -> bϵ -> b
这是一个含糊不清的语法。