アプリケーションでは、算術式と変数でStringを解析したいと考えています。ただ、この文字列を想像:プレースホルダを使用した単純なJava再帰的降下ライブラリの解析
((A + B) * C)/(D - (E * F))
だから私はここにプレースホルダと実際の整数/ double型の値を持っています。私は、最初のプレースホルダを取得し、プレースホルダに(データベースクエリなどを介して)値を入れ、次のプレースホルダを続けるライブラリを探しています。
私が本質的にやりたいことは、ユーザーが変数の実際の値を知らなくてもドメイン言語で文字列を書くことができるようにすることです。したがって、アプリケーションはいくつかの「コンテキスト・ロジック」に応じて数値を提供し、計算の結果を出力します。
私はグーグルで、適切なライブラリが見つかりませんでした。私はANTLRを見つけましたが、私のユースケースにとっては非常に「ヘビーな」ものになると思います。助言がありますか?
はい、軽量ですぐに使えるソリューションがあります:http://jparsec.codehaus.org/(ただし、独自の解析コンビネータをJavaで実装するのは簡単です)。 –