java - 如何让 ant 将一个 package 指令放入多个源文件中?

标签 java ant antlr4

我使用 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/

相关文章:

java - JPQL:将 Long 转换为 String 以执行 LIKE 搜索

java - 如何在Java中为多个用户实现多问题轮询线程?

ant - ANT 为 JUNIT 编写的 HTML 报告

java - Eclipse:父 pom 中的自定义属性的子 pom 中的 Maven 构建错误

java - 在centos上安装Apache Ant 1.8.4

groovy - 如何在groovy中重用描述类似ant构建逻辑的代码块?

java - 使用ANTLR和Java创建数据绑定(bind)代码生成器

java - ANTLR 4 : Parsing grammar

antlr4 如何修复词法分析器模式隐式标记错误?

java - 我的 Android Studio 中没有显示 Android 设备