0

JetBrains MPS は、他のアプリケーション内で使用できる JIT コンパイラを提供しますか? オン スクリプト言語を使用したレガシー アプリケーションがあります。このスクリプト言語はお客様にとって非常に使いにくいため、新しい DSL を提供したいと考えています。

問題は、Jetbrains MPS を使用して DSL を設計し、MPS JITCompiler/Translator を使用してそれを Java に変換したり、ユーザーがソフトウェアにスクリプトを記述した後に何にでも変換したりできるかということです。

4

1 に答える 1

1

JITCompiler/Translator を意味する場合、DSL を取得してそこから Java を生成し、そのコンパイル済みの Java コードを実行することは可能です。しかし、それは次のような追加の変換ステップになります: コードを書く -> 生成/コンパイル -> 実行 (結果の jar)。

最初に変換ステップを実行せずにモデルを解釈することを意味する場合、答えはすぐに使用できるものではありません。MPS 用のインタープリター フレームワークを構築し、これまでに 2 つのインタープリターを構築しました。1 つは Java 用、もう 1 つは C 用です。ただし、焦点はそこでのパフォーマンスではありません。数式の小さな計算や REPL のようなものに使用します。現在進行中の作業ですが、非常にうまく機能します。インタープリターについては、こちらを参照してください。詳細情報と参照先を見つけることができます。中間プロジェクトとして、このインタープリター定義をGraalコンパイラーと統合したいと思うかもしれません。Graal コンパイラーは単なるインタープリターというよりも JITCompiler になります。

于 2015-08-24T20:15:21.020 に答える