我使用 Antlr4 构建解析器,使用 Netbeans 作为 IDE,使用 ant
作为构建系统。 Ant 运行 Antlr,它会在项目的 src/目录中生成一个 parser.java 和 lexer.java 。
它们都需要一个包指令,所以我必须手动添加它。
有没有办法用 Ant 在目录中的所有源文件前面添加一行文本?或者还有其他解决方案吗? (也许与 Antlr 一起?)
最佳答案
您可以在语法中结合使用antlr4命令行的-o
选项和@header{...}
:
-o
允许您指定将生成所有输出的输出目录,@header{...}
会将您编写的代码插入{..}
作为生成的代码 header ,以便您可以放置包声明进入这个 block 。
例如:
grammar myGrammar;
@header {
package my.package;
}
...
如果您不想将语法与特定语言绑定(bind),可以使用 -package
选项(允许您为生成的文件指定包或命名空间)并删除该包来自您的 @header{...}
代码的声明。
关于java - 如何让 ant 将一个 package 指令放入多个源文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28598551/