The ANTLR plugin extends the Java plugin to add support for generating parsers using ANTLR.
The ANTLR plugin only supports ANTLR version 2.
To use the ANTLR plugin, include the following in your build script:
The ANTLR plugin adds a number of tasks to your project, as shown below.
Table 40.1. ANTLR plugin - tasks
Task name | Depends on | Type | Description |
generateGrammarSource
|
- | AntlrTask |
Generates the source files for all production ANTLR grammars. |
generateTestGrammarSource
|
- | AntlrTask |
Generates the source files for all test ANTLR grammars. |
generate
|
- | AntlrTask |
Generates the source files for all ANTLR grammars for the given source set. |
The ANTLR plugin adds the following dependencies to tasks added by the Java plugin.
Table 40.2. ANTLR plugin - additional task dependencies
Task name | Depends on |
compileJava | generateGrammarSource |
compileTestJava | generateTestGrammarSource |
compileSourceSet Java |
generateSourceSet GrammarSource |
Table 40.3. ANTLR plugin - project layout
Directory | Meaning |
src/main/antlr
|
Production ANTLR grammar files. |
src/test/antlr
|
Test ANTLR grammar files. |
src/
|
ANTLR grammar files for the given source set. |
The ANTLR plugin adds an antlr
dependency configuration. You use this to declare the
ANTLR dependency that you wish to use.
Example 40.2. Declare ANTLR version
build.gradle
repositories {
mavenCentral()
}
dependencies {
antlr 'antlr:antlr:2.7.7'
}
The ANTLR plugin adds the following properties to each source set in the project.
Table 40.4. ANTLR plugin - source set properties
Property name | Type | Default value | Description |
antlr
|
SourceDirectorySet (read-only)
|
Not null |
The ANTLR grammar files of this source set. Contains all .g files found in the ANTLR
source directories, and excludes all other types of files.
|
antlr.srcDirs
|
Set<File> . Can set using anything described in Section 16.5, “Specifying a set of input files”.
|
[
|
The source directories containing the ANTLR grammar files of this source set. |