今回使用するツール
- Antlr 4
- Java
- IntelliJ
- Gradle
リポジトリー
サンプルの全ソースコード
https://minebreaker_tf@bitbucket.org/minebreaker_tf/antlrtest.git
IntelliJにAntlrプラグインをインストール
プレビュー機能が便利で、エディターからルールを右クリック->"Test rule hoge"を選択すると、 プレビューウィンドウでその規則を試すことが出来る。
ソースコードの自動生成も可能だが、今回はGradleから実行するので利用しない。
Gradle
IntelliJで普通にGradleプロジェクトを作成する。
build.gradleにAntlrプラグインを追加して、依存にantlr "org.antlr:antlr4:${バージョン}"
を追加する。
apply plugin: 'antlr'
dependencies {
antlr 'org.antlr:antlr4:4.6'
}
文法ファイルはsrc/main/antlr
以下に保存する。
ビルドを実行すると、build/generated-src/antlr/main
にレクサーとパーサーが出力される。
パッケージ構造もそのまま反映されるので、出力したいパッケージと同じ階層にg4ファイルを保存しておくと、
IDEのサポートが受けられる(当初これに気付かず、JavaのソースにFQCNを指定していた...)。