0

の無制限文法を理解できないようです

L = (w am bn | w={a,b}* m=number of a's in w n=number of b's in w).

次の文法を作成しましたが、JFLAP に入力するすべての文字列を拒否し続けます。しかし、手動で解析ツリーを作成しても問題ありません。誰かが私のためにそれを見て、何が悪いのかを見ることができますか?

S -> AST | BSU | epsilon
UT -> TU
T -> A
U -> B
A -> a
B -> b
4

1 に答える 1

0

あなたの文法で JFLAP をダウンロードして使用しました。問題は、JFLAP が文法入力に使用する表記法を使用していないことだと思います。シンボルは使用されていません|が、代わりにいくつかのルールを指定する必要があります。したがって、JFLAP 表記 (および有効な文法) では、次のようになります。

S -> AST 
S -> BSU 
S -> ε
UT -> TU
T -> A
U -> B
A -> a
B -> b

また、FLAP 設定で空の文字列を ε として設定する必要があります。解析ツリーを手動で作成できる場合は、JFLAP でこれを実行して派生を表示することもできます。

于 2015-05-19T15:06:06.083 に答える