对于下面给出的语法,没有空乘的等效CFG是什么?
S->ASB/epsilon
A->Aa/epsilon
B->bB/epsilon.
答案 0 :(得分:0)
规则是,如果X:= epsilon,我们可以将任何产量Y:= rXs更改为Y:= rXs |。 rs并消除乘积X:= epsilon。让我们看看您的情况如何。首先,我们可以S。
S -> ASB | epsilon … becomes … S -> ASB | AB
A -> Aa | epsilon
B -> bB | epsilon
现在我们做答:
S -> ASB | AB … becomes … S -> ASB | SB | AB | B
A -> Aa | epsilon … becomes … A -> Aa | a
B -> bB | epsilon
现在我们做B:
S -> ASB | SB | AB | B … becomes … S -> ASB | AS | SB | AB | A | B | epsilon
A -> Aa | a
B -> bB | b
我们无法摆脱S-> epsilon,因为空字符串是由输入语法生成的。