2016-10-25 11 views
0

大学では、Javaコードの一部の構文をチェックするために、文法とプッシュダウンオートマトンについて質問します。私はこのオートマトンを使用していないので、私は彼らがどのように動作するかについて少しは学んだし、プッシュダウンオートマトンはトークンの間のある割合で文法を検証するために使われているので、 "0^n 1^2n | n> = 0"のようになります。この場合のプッシュダウンオートマトンは便利ですか?

トークンの間のこの割合はコード構文には存在しません。したがって、プッシュダウンオートマトンはこの場合有用ではないと私は考えています。

  • 私はそうですか?
  • 彼らは私に求めているこの作品について文句を言う必要がありますか?

答えて

0

非決定的プッシュダウンアクセプタ(NPDA)とコンテキストフリーグラマー(CFG)は、言語を表現する上で同じパワーを持っています。

プログラミング言語(javaなど)の構文のほとんど(すべてではないにしても)がCFGによって提示される可能性があるため、NPDAでも提示できます。

だから、不平を言うことはできません。

+0

答えてくれてありがとうございますが、完全に直線的な文法でスタックをどのように使用できますか? つまり、トークンの量には関係がないため、コード行の構文でスタックを使用する必要はありません。 このコード行 "int var = 25 + x"のプッシュダウンアクセプタを作成できますか? – vanillaHoman

関連する問題