如何使用Gradle导入构建ANTLR 3语法?

时间:2015-05-20 11:04:00

标签: gradle antlr

我有一个基本语法(FooBase.g)和两个包含它的语法:

lexer grammar FooVariantA;
import base = FooBase;
...

lexer grammar FooVariantB;
import base = FooBase;
...

如果我将所有三个文件都放入src/main/antlr,基本语法就会被编译,这当然会失败:它不应该被编译,因为它引用了一些仅在&#中定义的规则34;最终" FooVariantAFooVariantB语法。

然而,似乎我也无法像Maven那样创建src/main/antlr/imports子目录,因为Gradle ANTLR插件永远不会出现在那里:

  

错误(7):无法找到或打开文件:FooBase.g;原因:java.io.FileNotFoundException:/home/test/test/src/main/antlr/FooBase.g(没有这样的文件或目录)

如何才能使两个最终语法编译并仍然能够找到导入的基本语法?

1 个答案:

答案 0 :(得分:0)

原来就像这样简单:

generateGrammarSource {
    exclude ('**/*Base.g')
}