ANTLR4的IntelliJ插件安装及示例Hello.g4

4,515 阅读2分钟
原文链接: blog.csdn.net

Download:

plugins.jetbrains.com/plugin/7358…
或者从这里www.antlr.org/tools.html进入下载。

前提

安装好
- jdk
- IntelliJ

配置好ANTLR的java运行时环境(库)。具体见这里

插件安装

插件安装

Hello.g4示例

在IntelliJ中新建java项目(即一个Module),并创建grammar文件Hello.g4 。代码如下:

//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\n]+ -> skip; // skip spaces, tabs, newlines

IntelliJ 中的Project相当于eclipse中的workspace;
而IntelliJ中的Module相当于eclipse中的project。
因此,我们创建项目时只需在当前Project中创建一个新的Module项目(File -> New -> Module)。

编辑好该.g4文件后即可测试该grammar规则。在rule “r”处选中“r”并右击鼠标后,点击“Test Rule r”,如下图。然后在左下方便可以输入“hello name”,在右下方框中便会显示对应的Parse tree。
Hello.g4示例

Hello.g4的ANTLR代码生成配置

注意:IntelliJ中的ANTLR插件指定了antlr的运行时库的版本为最新版本(此处即为ANTLR4 4.7版本)

右击项目中刚刚创建的Hello.g4文件,点击“Configure ANTLR…”,然后便会弹出如下图所示窗口。

antlr代码生成配置

在该窗口中便可以对从grammar自动生成对应的ANTLR API的java代码进行配置。
其中,“Output directory where all output is generated”表示指定随后生成的java代码所存放的路径。
“generate parse tree vistor”表示生成ANTLR中用于遍历parse tree的visitor类相关API。(我这里勾选上了,万一要”实现”了呢^_^)

Hello.g4的ANTLR代码生成

如下图所示,在项目中选中Hello.g4文件并右击选择“Generate ANTLR Recognizer”。随后便会在app目录下看到生成的各种.java 文件等。(上一步配置中我们设置了代码生成的目标路径为app目录)

ANTLR代码生成

生成了这些API后,我们就可以通过调用API实现相应的功能了。




如有不恰当之处,欢迎大家批评指正!