我想使用gradle generateGrammarSource
任务生成antlr4词法分析器。
G4文件的路径是src/main/antlr4/my/package/mygrammar.g4
我尝试使用发现的一些示例,因此build.gradle
具有以下代码:
buildscript {
ext.kotlin_version = '1.3.20'
repositories {
mavenCentral()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
group 'my.package'
version '1.0-SNAPSHOT'
apply plugin: 'kotlin'
apply plugin: 'antlr'
repositories {
mavenCentral()
}
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
compile group: 'org.antlr', name: 'antlr4', version: '4.7.2'
testCompile "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version"
}
generateGrammarSource {
arguments += ['-package', 'my.package']
}
compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}
执行
generateGrammarSource
任务不会产生任何结果,并提供以下输出::generateGrammarSource NO-SOURCE
BUILD SUCCESSFUL in 0s
我该如何解决?
最佳答案
您需要创建目录src/main/antlr
并在其中添加Kotlin语法文件。 my/package/
最有可能是找不到语法文件的原因;同时此answers提示将生成的源添加到源集中。参见The ANTLR Plugin。