0

コンテキストフリー言語をプッシュダウンオートマトンに変換するためのアプレットまたはプログラムをオンラインで見つけることができません...どんな助けでも大歓迎です。

4

4 に答える 4

2

手で行うのはとても簡単です。PDAには開始状態sと最終状態fがあり、2つの状態しかありません。遷移((s、empty、empty)、(f、S))を作成します。ここで、SはCFGの開始記号です。各ルールX->Yについて、Xは非終端記号であり、Yはおそらく空の終端記号と非終端記号の文字列であり、遷移((f、empty、X)、(f、Y))を行います。最後に、終端記号aごとに、ルール((f、a、a)、(f、empty))を追加します。

これは、スタック上の開始シンボルをプッシュすることから開始します。次に、スタックの一番上にある非終端記号をプロダクションルールの右側に置き換え、スタックの一番上にある終端記号を照合してポップします。

于 2011-01-04T16:35:06.840 に答える
0

https://github.com/P-Raj/AutomataPlusでコードをチェックアウトしてください。これには、CFG を PDA に変換するためのコードだけでなく、他の同様のタスクのためのコードも含まれています。

于 2014-05-05T17:38:11.677 に答える