第40章 ANTLRプラグイン

The ANTLR plugin extends the Java plugin to add support for generating parsers using ANTLR.

ANTLRプラグインはJavaプラグインを拡張して、ANTLRを利用したパーサーの生成に対するサポートを追加します。

40.1. 使用方法 Usage

To use the ANTLR plugin, include in your build script:

ANTLRプラグインを使うには、ビルドスクリプトに以下を含めます:

例40.1 ANTLRプラグインの利用

build.gradle

apply plugin: 'antlr'

40.2. タスク Tasks

The ANTLR plugin adds a number of tasks to your project, as shown below.

ANTLRプラグインは以下に示すいくつかのタスクをプロジェクトに追加します。

表40.1 ANTLR plugin - タスク ANTLR plugin - tasks

タスク名 Task name 依存先 Depends on タイプ Type 説明 Description
generateGrammarSource - AntlrTask すべてのプロダクションANTLRグラマーに対するソースファイルを生成。 Generates the source files for all production ANTLR grammars.
generateTestGrammarSource - AntlrTask すべてのテストANTLRグラマーに対するソースファイルを生成。 Generates the source files for all test ANTLR grammars.
generateSourceSetGrammarSource - AntlrTask 指定されたソースセットですべてのANTLRグラマーに対するソースファイルを生成。 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.

ANTLRプラグインはJavaプラグインによって追加されたタスクに以下の依存関係を追加します。

表40.2 ANTLR plugin - 追加のタスク依存関係 ANTLR plugin - additional task dependencies

タスク名 Task name依存先 Depends on
compileJava generateGrammarSource
compileTestJava generateTestGrammarSource
compileSourceSetJava generateSourceSetGrammarSource

40.3. プロジェクトレイアウト Project layout

表40.3 ANTLRプラグイン - プロジェクトレイアウト ANTLR plugin - project layout

ディレクトリ Directory 意味 Meaning
src/main/antlr プロダクションANTLRグラマーファイル Production ANTLR grammar files.
src/test/antlr テストANTLRグラマーファイル Test ANTLR grammar files.
src/sourceSet/antlr 指定されたソースセットに対するANTLRグラマーファイル ANTLR grammar files for the given source set.

40.4. 依存関係管理 Dependency management

The ANTLR plugin adds an antlr dependency configuration. You use this to declare the ANTLR dependency that you wish to use.

ANTLRプラグインは依存性コンフィグレーションantlrを追加します。 これは利用したいANTLRのバージョンを宣言するのに使えます。

例40.2 ANTLRバージョン宣言

build.gradle

repositories {
    mavenCentral()
}

dependencies {
    antlr 'antlr:antlr:2.7.7'
}

40.5. 規約プロパティ Convention properties

The ANTLR plugin does not add any convention properties.

ANTLRプラグインはいかなる規約プロパティも追加しません。

40.6. ソースセットプロパティ Source set properties

The ANTLR plugin adds the following properties to each source set in the project.

ANTLRプラグインはプロジェクトのソースセット毎に以下のプロパティを追加します。

表40.4 ANTLRプラグイン - ソースセットプロパティ ANTLR plugin - source set properties

プロパティ名 Property name タイプ Type デフォルト値 Default value 説明 Description
antlr SourceDirectorySet (read-only) Not null このソースセットのANTLRグラマーファイル。 ANTLRソースディレクトリにあるすべての .g を含み、それ以外のタイプのファイルをすべて除外。 The ANTLR grammar files of this source set. Contains all .g found in the ANTLR source directories, and excludes all other types of files.
antlr.srcDirs Set<File>「入力ファイルセットを指定する Specifying a set of input filesで説明した任意のパターンが設定可能。 Set<File>. Can set using anything described in 「入力ファイルセットを指定する Specifying a set of input files. [projectDir/src/name/antlr] このソースセットのANTLRグラマーファイルを含むソースディレクトリ。 The source directories containing the ANTLR grammar files of this source set.