1

私の先生は私に2つのbnf文法を与えました:

A ::= 'd' | A 'e' A | A 'f' A
B ::= 'd' | B B 'e' | B B 'f'

そしてそれらと一致する4つの文字列:

  • dffd
  • dddefddfe
  • dedf
  • 献身

私はそれらのうちの2つを理解しましたが、他の2つは私を困惑させました。誰かに答えてもらいたくないのですが、どこが間違っているのか、誰かにヒントを教えていただければ幸いです。

4

3 に答える 3

2

これは文脈自由文法なので、構文木を描くことを検討する必要があります。次に、どの非終端記号がどの生成文字列につながるかを確認できます。これらの文法は非常に単純であるため、構文木を手動で描くのは非常に簡単です。

于 2009-02-24T01:59:21.093 に答える
1

うーん...

帰納法により、すべての一致の文字数は奇数でなければなりません。ということで、4文字列のどちらもヒットにならない…


あっ、待って。最初のルールの「Y」に気付きました。それが何であるか知っていますか?それは私の議論を真っ向から破る可能性があります...

于 2009-02-24T01:59:14.900 に答える
0

私のアドバイスは、コードを書く前に、自分で有限オートマトンまたは状態図を描くことです。最初に鉛筆と紙を使って手でそれを行います。

于 2009-02-24T01:50:16.047 に答える