現在、数式の解析と評価のための Java ライブラリ (または Java API を備えたネイティブ ライブラリ) を探しています。
here の推奨事項を使用して、多くのライブラリを調べました。
- Jフォーミュラ
- JEval
- シムヤ
- JEP
しかし、どれも私のニーズを満たしていません。つまり、次のとおりです。
- それらの間の依存関係を伴う複数の式の評価 (式は常に、他の変数または数値を使用する変数への影響です)
- おそらく 50 個の処方のうち 1 つだけを変更する可能性があり、1 つの処方のみが変更された場合に良好なパフォーマンスが得られます
- 手動で変数の依存関係を処理する必要はありません
- 数式が変更された場合、他の従属変数を自動的に更新します
- どの変数が変更されたかをリッスンする可能性
- 変数に特定の形式を持たせる必要はありません (ユーザーは名前を直接入力し、複雑な表記法は必要としません)
たぶん、例の方が良いでしょう。この順序でシステムに入力したとしましょう:
- a = b + c
- c = 2 * d
- b = 3
- d = 2
この 4 行をこの順序で入力して、"a" (または "b" など) の結果を求められるようにしたいと考えています。次に、ユーザー インターフェイス (基本的にはテーブル変数 <> 式) で "b" が "2 * d" に変更されると、ライブラリは自動的に "b" と "a" の値を変更し、me (またはランチ anイベント、または関数の呼び出し) 変更のリスト
最適なライブラリは、JEP のようなものですが、順不同の変数機能と従属変数の自動評価機能を備えています。
コンパイラや表計算ソフトウェアがそのようなメカニズムを使用していることは知っていますが、Java または Java 互換のライブラリを直接使用できるものは見つかりませんでした。
誰か知っていますか?
編集:精度:問題は実際にはライブラリ、または最終的にはリンクするライブラリのセットに関するものです。質問は企業内のプロジェクトであり、アイデアは最小限の時間を費やすことです。「自分でやる」ソリューションはすでに見積もられており、質問の範囲外です