Janino 2.7.8
5秒でダウンロードできます。
に関しては Janino
Janino は、Java の式、ブロック、またはソース ファイルを読み取り、直接ロードおよび実行される Java バイトコードを生成する、超小型の超高速コンパイラです。これは開発ツールではなく、式エバリュエーターや JSP などの "server pages" エンジンなどの実行時コンパイル用の組み込みコンパイラです。 プロパティ 設計の主な目標は、コンパイラを小さくシンプルに保ちながら、完全性を部分的に犠牲にすることです。私は単純なアプリケーションのために巨大なライブラリを持ち歩くという考えは好きではありません。実装された言語機能と欠落している言語機能の一覧については、パーサーを参照してください。 効率的な式エバリュエーターが必要なのはいつですか? たとえば、ユーザーがショッピング カートに入れた品目の送料を計算する電子商取引システムを構築するとします。実装時に販売者の送料モデルがわからないため、一連の送料モデルを実装して(フラットチャージ、重量、品目数、..)、実行時に選択することができます。 実際には、実装した送料モデルがマーチャントが望むものと一致することはめったにないので、商人固有のカスタムモデルを追加する必要があります。販売者のモデルが後で変更された場合は、コードを変更し、ソフトウェアを再コンパイルして再配布する必要があります。 これは柔軟性が低いため、送料式はコンパイル時ではなく実行時に指定する必要があります。これは、式をスキャン、解析、および実行時に評価する必要があることを意味します。 単純な式エバリュエーターは式を解析し、"構文ツリー"を作成します。式 "a + b * c"などは、最初のオペランドがパラメーター "a" で、オペランドがパラメーター "b" および "c" である第 1 オペランドのオブジェクトにコンパイルされます。このような構文ツリーは、比較的迅速に評価できます。ただし、実行時のパフォーマンスは、ネイティブ Java コードよりも約 100 のパフォーマンスが低下します。