0

たとえば、指定された一連のプロダクションから文字列「aabbccdd」を派生させたいと思います。

S -> AB  | C
A -> aAb | ab
B -> cBd | cd
C -> aCd | aDd
D -> bDc | bc

左端と右端の派生を使用して、AB から文字列を派生させることができます。

しかし、Cからはどうですか?文字列を導出すると、常に1つの変数しかありません。

C からの派生:

S -> C
S -> aCd
S -> aaDdd
S -> aabDcdd
S -> aabbccdd

どのような派生が使用されましたか? この文法はあいまいであると見なすことができますか?

4

1 に答える 1

0
  1. 右端の導出では、右端の非終端が導出されます。左端の導出では、左端の非終端が導出されます。非終端記号が 1 つしかない場合、派生は左端と右端の両方になります。これは矛盾ではありません。

  2. で始まる対象文字列の派生語が 2 つあるためS、文法が曖昧です。

于 2016-05-19T15:59:59.227 に答える