2009-03-18 12 views
3

私はいくつかのデータを解析したいと思いますし、それを解析するためのBNF文法を持っています。モバイル機器で使用できるコードを生成できる文法コンパイラをお勧めしますか?JavaMEに適した文法コンパイラの推奨事項はありますか?

これはJavaMEのためにあるので、生成されたコードでなければなりません:

  • エキゾチックなJavaライブラリでうまくいけば、かなり小さな
  • 低依存関係任意のランタイムjarファイルに
  • 依存していません。

答えて

1

私は以前にJFlexを使用していましたが、私はそれがあなたの2番目と3番目の要件を満たしていることを知っています。しかし、私は生成されたコードがどれほど大きなものか分かりません。 manualによれば、デフォルトでパックされたDFAテーブルを生成するので、それほど悪くないかもしれません。

1

最初の質問は、既存の文法定義ですか?私がLALR文法をJavaに移植したとき、JFlex/CUPを使用しました。

あなたが最初から始めれば、LL(k)パーサーであるJavaCC/FreeCCを使うことをお勧めします。これは非常によく文書化されており、実行時の依存関係はありません。