1

目標は

  1. プリプロセッサ ディレクティブに Groovy を使用するスクリプト言語から始める (プリプロセッサ言語全体)

  2. そのスクリプトを Antlr 4 で解析します (通常のスクリプトを print で囲み、# を削除して groovy にし、Groovy スクリプトとして出力します)。

  3. 組み込み Java アプリケーションで Groovy スクリプトをコンパイルします (Groovy はそのアプリケーションのクラスなどにアクセスできるはずです)。

  4. そのスクリプトがコンパイル済みの Groovy を使用したい場合 (dll を使用するプロジェクトなど)、スクリプトの別のコンパイル中に後でそのスクリプトをロードします。ロードすると、Groovy スクリプトが実行され、ユーザーのプロジェクトに固有のコード (print ステートメントを覚えていますか?) が生成されます。

なぜコンパイルしたいのですか?これらの外部リソース (基本的には dll) は、エンド ユーザーがプロジェクトで使用する際に何度も解析する必要はありません。準備万端の状態にしてほしい。

最初のアイデアは、Antlr によって生成された AST をバイナリにシリアル化し、それを再度読み込むことでしたが、コンパイルされた Groovy スクリプトの方がはるかにスマートであることに気付きました。

問題は、Groovy がスクリプトを動的にロードするときに作成するコンパイルを保存し、後でそれをロードするにはどうすればよいかということです。

答えに向けての助けは大歓迎です=)。

4

0 に答える 0