ANTLR4的IntelliJ插件安装及示例Hello.g4
来源:互联网 发布:知乎老人助听器 编辑:程序博客网 时间:2024/05/22 06:25
Download:
https://plugins.jetbrains.com/plugin/7358-antlr-v4-grammar-plugin
或者从这里http://www.antlr.org/tools.html进入下载。
前提
安装好
- jdk
- IntelliJ
配置好ANTLR的java运行时环境(库)。具体见这里
插件安装
Hello.g4示例
在IntelliJ中新建java项目(即一个Module),并创建grammar文件Hello.g4 。代码如下:
//Define a grammar called Hellogrammar Hello;r : 'hello' ID; // match keyword hello followed by an identifierID : [a-z]+; // match lower-case identifiersWS : [ \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的ANTLR代码生成配置
注意:IntelliJ中的ANTLR插件指定了antlr的运行时库的版本为最新版本(此处即为ANTLR4 4.7版本)
右击项目中刚刚创建的Hello.g4文件,点击“Configure 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目录)
生成了这些API后,我们就可以通过调用API实现相应的功能了。
如有不恰当之处,欢迎大家批评指正!
- ANTLR4的IntelliJ插件安装及示例Hello.g4
- Intellij+Tomcat安装及Hello Tomcat
- 详述 IntelliJ IDEA 插件的安装及使用方法
- 安装IntelliJ IDEA 7.0及Groovy插件
- IntelliJ IDEA安装scala插件并创建scala示例
- HP DL380 G4服务器安装阵列及系统详解
- HP DL380 G4服务器安装阵列及系统详解
- HP DL380 G4服务器安装阵列及系统详解
- Eclipse安装jbpm6插件并测试Hello示例
- 使用antlr4及java实现snl语言的解释器
- 在线安装 IntelliJ IDEA的 golang 插件
- ANTLR4在windows上的安装(java版)
- ANTLR4在windows上的安装(Python3版)
- Antlr4-python3-runtime在ubuntu上的安装
- IntelliJ IDEA 的 Java 热部署插件 JRebel 安装及使用
- 33.IntelliJ IDEA 的 Java 热部署插件 JRebel 安装及使用
- IntelliJ IDEA 的 Java 热部署插件 JRebel 安装及使用
- IntelliJ IDEA使用技巧——插件的安装及使用方法
- HTML5获取图片原图尺寸
- 2017.7.3 校内赛 【模拟】【贪心】【图论】
- Linux SPI总线和设备驱动架构之二:SPI通用接口层
- CentOS使用bbr拥塞控制算法
- 笔记-NopCommerce系统架构分析-简介
- ANTLR4的IntelliJ插件安装及示例Hello.g4
- 端口详细说明
- VDSR超分辨率
- git使用教程(linux平台)
- Eclipse从SVN检出maven项目后的一些配置 Eclipse从SVN检出maven项目后,会发现它只是一个普通的java project,如图: 这里我们需要把它转成maven-weba
- unittest Ran 0 tests in 0.000s
- 2017.7.3 机房测试(模拟,贪心,图论)
- Python中any的用法
- RecyclerView使用ItemTouchHelper实现拖拽和侧滑删除