- 2017年9月20日
本节探讨主要是在JetBrain公司家的IntelliJ IDEA下使用ANTLR,并实现了课程要求的计算器实例。如有任何问题欢迎斧正。- 2017年9月22日
对本节页面进行了调整。- 2017年9月23日
添加了错误监听,有待进一步完善。
一、 在IntelliJ IDEA中配置ANTLR
在实际的开发应用当中,IDE能够给予我们一定的便捷。笔者习惯使用JetBrain家的IDE,故而使用IDEA来完成本次实验。
1.1 安装ANTLR插件
- 打开 Plugins
- 搜索 ANTLR
- 点击 Search in repository
- 安装 ANTLR v4 grammar plugin
- 如图
1.2 新建maven项目
- 新建 maven 项目
- 添加 pom.xml 依赖
注意目前最新的antlr版本为4.7,该版本需要与之前插件中的ANTLR Tool版本相匹配。
<dependencies>
<!-- https://mvnrepository.com/artifact/org.antlr/antlr4-runtime -->
<dependency>
<groupId>org.antlr</groupId>
<artifactId>antlr4-runtime</artifactId>
<version>4.7</version>
</dependency>
</dependencies>
二、 计算器解析实现
2.1 制定语法规则
新建Labeled.g4:
grammar Labeled;
prog: stat+;
/* 使用#来对事件进行标记 */
stat: ID '=' expr ';' # assign
| 'println(' expr ');' # printExpr
;
expr: expr op=('*'|'/') expr # MulDiv
| expr op=('+'|'-') expr # AddSub
| DOUBLE # double
| INT # int
| ID # id
| '(' expr ')' # parens
;
ID : [a-zA-Z]+ ;
DOUBLE : [0-9]+ '.' [0-9]+;
INT