最速でANTLR4を試す
ANTLR4がすごい良いです。
「The Definitive ANTLR4Reference」という電子書籍を買って最初のほう読んでますが、
節々から漂う著者の「もう25年も開発しているぜぇ(ドヤァ」がたまりません。
というわけで早速最速でANTLR4を試してみます。
まずいつものようにIntelliJを使います。
IntelliJ 持っていないという人は サムライズム で購入するとちょっとだけ安く買えるかと思います。
そのまま Finish
build.gradleをプロジェクト直下に追加しましょう
build.gradle
apply plugin: 'java' apply plugin: 'groovy' apply plugin: 'idea' ext { antlr4Version = '4.0' antlr4Artifacts = [ 'antlr4', 'antlr4-runtime' ] } configurations { antlr4 } repositories { mavenCentral() } task wrapper(type: Wrapper) { gradleVersion = '1.6' } dependencies { antlr4Artifacts.each { artifact -> antlr4 group: 'org.antlr', name: artifact, version: antlr4Version } compile group: 'org.antlr', name: 'antlr4-runtime', version: antlr4Version } task antlr4(type: JavaExec) { main = 'org.antlr.v4.Tool' args = ['Hello.g4', '-o', 'src/main/hoge', '-no-listener', '-visitor'] classpath = configurations.antlr4 }
コマンドプロンプトを起動して作ったプロジェクト直下まで移動、以下のコマンドを実行します。
gradle idea
IntelliJに戻ると「リロードしてください」といわれるのでそのままOKします。
次にまたプロジェクト直下に Hello.g4 ファイルを作成します。
Hello.g4
grammar Hello; @header { package hoge; } r : 'hello' ID ; ID : 'a-z'+ ; WS : [ \t\r\n]+ -> skip ;
作成したらJetGradleを開き(開きかたは以前のブログを参考)、build.gradleを追加します。
antlrタスクを実行します。
上記手順で以下のファイルをANTLRが生成すると思います。