-1

あいまいな文法が与えられ、あいまいさをなくすために文法を書き直すように求められます。実際、与えられた文法があいまいである理由がわかりません。

与えられた文法は 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 は空の文字列を処理できないため、間違っていると思います。

  1. 与えられた文法があいまいなのはなぜですか?</p>

  2. Bが正しいのにAが間違っているのはなぜですか?

4

1 に答える 1