質問

いくつかのデータを解析したいのですが、解析するBNF文法があります。モバイルデバイスで使用できるコードを生成できる文法コンパイラをお勧めできますか?

これはJavaME用であるため、生成されるコードは次のとおりである必要があります。

  • うまくいけばかなり小さい
  • エキゾチックなJavaライブラリへの依存度が低い
  • ランタイムjarファイルに依存しません。
役に立ちましたか?

解決

JFlex を使用したことがありますが、2番目と3番目の要件を満たしていることがわかります。しかし、生成されたコードがどれほど大きいかはわかりません。 manual によると、デフォルトではパックされたDFAテーブルを生成するため、あまり多くない可能性があります。悪い。

他のヒント

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

ゼロから始める場合は、LL(k)パーサーであるJavaCC / FreeCCを使用することをお勧めします。十分に文書化されており、実行時の依存関係はありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top