[英]Is there any way to include Antlr in the Java compilation process?
我正在使用Antlr4创建Java(Java 7)源转换工具。 我将Main.java文件作为输入,并将其转换为输出newMain.java源文件,该文件对应于相同的程序,但有少量更改。 要运行我的转换工具,我使用导出的generator.jar文件,如下所示:
步骤1(我使用generator.jar通过以下命令创建newMain.java文件):
java -jar generator.jar folderName/Main.java
步骤2 :(我编译了newMain.java文件)
javac folderName/newMain.java
第三步:(我运行newMain.class文件)
java newMain
我想知道是否还有其他方法可以做到这一点(通过命令行或使用IDE)对用户透明? 我的意思是,用户应该只编译其Main.java类,而不要查看生成的newMain.java源文件和newMain.class。 实际上,新生成的.class文件应该替换初始的Main.class文件。
我不知道您使用的是什么构建工具,但是您提到了命令行,因此在Bourne shell中可能是这样的:
#!/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
这实际上非常简单,并且不执行任何错误检查(例如,翻译或编译错误)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.