我有一个基本语法(FooBase.g
)和两个包含它的语法:
lexer grammar FooVariantA;
import base = FooBase;
...
lexer grammar FooVariantB;
import base = FooBase;
...
如果我将所有三个文件都放入src/main/antlr
,基本语法就会被编译,这当然会失败:它不应该被编译,因为它引用了一些仅在&#中定义的规则34;最终" FooVariantA
和FooVariantB
语法。
然而,似乎我也无法像Maven那样创建src/main/antlr/imports
子目录,因为Gradle ANTLR插件永远不会出现在那里:
错误(7):无法找到或打开文件:FooBase.g;原因:java.io.FileNotFoundException:/home/test/test/src/main/antlr/FooBase.g(没有这样的文件或目录)
如何才能使两个最终语法编译并仍然能够找到导入的基本语法?
答案 0 :(得分:0)
原来就像这样简单:
generateGrammarSource {
exclude ('**/*Base.g')
}