JavaコンパイルプロセスにAntLRを含める方法はありますか?
-
21-12-2019 - |
質問
AntLR4を使用して、Java(Java 7)のソース変換ツールを作成します。入力としてMain.javaファイルを入力し、それを出力NewMain.javaソースファイルに変換します。これは同じプログラムに対応しますが、小さな変更があります。トランスフォーメーションツールを実行するには、エクスポートされたGenerator.jarファイルを次のように使用しています。
ステップ1(次のコマンドを使用してnewmain.javaファイルを作成するには、generator.jarを使用します):
java -jar generator.jar folderName/Main.java
.
STEP2 :( NewMain.javaファイルをコンパイル)
javac folderName/newMain.java
.
STEP3:(NewMain.classファイルを実行)
java newMain
.
私はこの操作をする方法が他にどのような方法があるかどうか、ユーザーに(コマンドラインを介して、またはIDEを使用して)ユーザーには透過的ですか?私は、生成されたnewmain.javaソースファイルをnewmain.classでも見ることなく、ユーザーがMain.javaクラスをコンパイルするだけです。実際には、新しい生成された.Classファイルは、Initial Main.classファイルを置き換える必要があります。
解決
あなたが使っているビルドツールを知りませんが、コマンドラインに言及したことがあるので、Bourneシェルのようなものは次のようなものです。
#!/bin/sh
FOLDER=folderName
CLASS=Main
java -jar generator.jar $FOLDER/$CLASS.java
javac $FOLDER/new$CLASS.java
/bin/mv $FOLDER/new$CLASS.class $FOLDER/$CLASS.class
/bin/rm $FOLDER/new$CLASS.java
java $FOLDER/$CLASS
.
これは本当に単純であり、エラーチェック(例えば、翻訳またはコンパイルエラー)をしません。
所属していません StackOverflow