ANTLR 4のIntelliJプラグインのインストールおよび例Hello.g4

3239 ワード

Download:
https://plugins.jetbrains.com/plugin/7358-antlr-v4-grammar-pluginあるいはここからhttp://www.antlr.org/tools.htmlダウンロードに入ります.
前提条件
インストール-jdk-IntelliJ
ANTLRのjavaランタイム環境(ライブラリ)を設定します.具体的にはここを参照
プラグインのインストール
ANTLR4的IntelliJ插件安装及示例Hello.g4_第1张图片
Hello.g 4例
IntelliJでjavaプロジェクト(Module)を新規作成し、grammarファイルHello.g 4を作成します.コードは次のとおりです.
//Define a grammar called Hello
grammar Hello;
r : 'hello' ID; // match keyword hello followed by an identifier
ID : [a-z]+; // match lower-case identifiers
WS : [ \t\r
]+ -> skip;
// skip spaces, tabs, newlines

IntelliJのProjectはeclipseのworkspaceに相当します.IntelliJのModuleはeclipseのプロジェクトに相当します.したがって、プロジェクトを作成するときは、現在のプロジェクトに新しいModuleプロジェクト(File->New->Module)を作成するだけです.
編集してください.g 4ファイルの後、grammarルールをテストできます.rule「r」で「r」を選択し、マウスを右クリックして「Test Rule r」をクリックします.以下の図です.左下に「hello name」と入力すると、右下のボックスに対応するParse treeが表示されます.ANTLR4的IntelliJ插件安装及示例Hello.g4_第2张图片
Hello.g 4のANTLRコード生成構成
注意:IntelliJのANTLRプラグインはantlrのランタイムライブラリのバージョンを最新バージョンとして指定しています(ここではANTLR 4 4.7バージョン)
プロジェクトで作成したばかりのHelloを右クリックします.g 4ファイルは、「コンフィギュレーションANTLR...」をクリックすると、下図のようなウィンドウがポップアップします.
ANTLR4的IntelliJ插件安装及示例Hello.g4_第3张图片
このウィンドウではgrammarから対応するANTLR APIを自動的に生成するjavaコードを構成することができる.ここで、「Output directory where all output is generated」は、その後生成されるjavaコードに格納されるパスを指定することを意味します.「generate parse tree vistor」は、ANTLRでparse treeを巡回するために使用されるvisitorクラス関連APIを生成することを意味する.(私はここにチェックを入れましたが、万が一「実現」することになったらね^^)
Hello.g 4のANTLRコード生成
下図のように、プロジェクトでHelloを選択します.g 4ファイルを右クリックして「Generate ANTLR Recognizer」を選択します.その後、appディレクトリの下に生成する様々なものが見られる.JAvaファイルなど.(前の構成では、コード生成のターゲットパスをappディレクトリとして設定しました)
ANTLR4的IntelliJ插件安装及示例Hello.g4_第4张图片
これらのAPIを生成すると,APIを呼び出すことで対応する機能を実現できる.
不適切な点があれば、皆さんの批判と指摘を歓迎します.