あいまいな文法が与えられ、あいまいさをなくすために文法を書き直すように求められます。実際、与えられた文法があいまいである理由がわかりません。
与えられた文法は S -> SS | | | b 、4 つの選択肢があります。
A: S -> Sa | Sb | epsilon
B: S -> SS’
S’-> a | b
C: S -> S | S’
S’-> a | b
D: S -> Sa | Sb.
それぞれの選択肢について、文字列をまったく生成しないため D が正しくないこと、文字列 'a' と 'b' のみに一致するため C が正しくないことは既にわかっています。
ただし、答えは A で、正解は BI だと思います。B は S を何度も生成するだけで、B は空の文字列を処理できないため、間違っていると思います。
与えられた文法があいまいなのはなぜですか?</p>
Bが正しいのにAが間違っているのはなぜですか?