gpt4 book ai didi

java - 有没有办法将Antlr包含在Java编译过程中?

转载 作者:行者123 更新时间:2023-12-01 13:21:11 26 4
gpt4 key购买 nike

我正在使用 Antlr4 创建 Java (Java 7) 源转换工具。我将 Main.java 文件作为输入,并将其转换为输出 newMain.java 源文件,该文件对应于相同的程序,但有细微的更改。为了运行我的转换工具,我使用导出的生成器.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

这非常简单,并且不进行任何错误检查(例如翻译或编译错误)。

关于java - 有没有办法将Antlr包含在Java编译过程中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22021114/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com