我正在尝试用 gradle 编译我的 antlr 语法。我对 gradle 很陌生,所以无法解决如何解决这个问题。
我认为它正在尝试使用 2.7 antlr 进行编译(因为我已经看到其他一些人在使用错误版本时报告了类似的错误),因此引发了错误。
我怎样才能:
- 显示试图使用什么版本的 Antlr gradle?
- 让 gradle 正确编译?
这是我的语法:
grammar Test;
options {
language = Java;
}
rule: ;
这是我的gradle脚本:
apply plugin: 'java'
apply plugin: 'antlr'
repositories {
mavenCentral()
}
dependencies {
antlr 'org.antlr:antlr:3.2'
testCompile group: 'junit', name: 'junit', version: '4.+'
}
这是尝试编译的输出:
$ gradle compileJava
:generateGrammarSource
/home/admin/workspace/BuildTools/src/main/antlr/Test.g:1:1: unexpected token: grammar
:compileJava UP-TO-DATE
BUILD SUCCESSFUL
Total time: 2.458 secs
编辑:
似乎在 gradle 中还没有直接支持 Antlr3。
有一个拉取请求将 antlr3 支持添加到这里讨论的 gradle 。
这是另一个包含手动支持 Antlr3 的版本。