Antrl入门与计算器的制作

基于Java和Antlr的计算器编译程序

 

  • Antlr

1.1Antlr简介

Antlr(Another Tool for Language Recognition)是指可以根据输入自动生成语法树并可视化显示出来的开源语法分析器。它提供了一个框架,可以通过包含java,C++等语言的语法描述来构造语言识别器,编译器和解释器。使用 Antlr 等识别工具来识别,解析,构造编译器比手工编程更加容易,同时开发的程序也更易于维护。

1.2Antrl作用

编程语言处理

识别和处理编程语言是 Antlr 的首要任务,编程语言的处理是一项繁重复杂的任务,为了简化处理,一般的编译技术都将语言处理工作分为前端和后端两个部分。其中前端包括词法分析、语法分析、语义分析、中间代码生成等若干步骤,后端包括目标代码生成和代码优化等步骤。

Antlr 致力于解决编译前端的所有工作。使用 Anltr 的语法可以定义目标语言的词法记号和语法规则,Antlr 自动生成目标语言的词法分析器和语法分析器;此外,如果在语法规则中指定抽象语法树的规则,在生成语法分析器的同时,Antlr 还能够生成抽象语法树;最终使用树分析器遍历抽象语法树,完成语义分析和中间代码生成。

文本处理

当需要文本处理时,首先想到的是正则表达式,使用 Anltr 的词法分析器生成器,可以很容易的完成正则表达式能够完成的所有工作;除此之外使用 Anltr 还可以完成一些正则表达式难以完成的工作,比如识别左括号和右括号的成对匹配等。

1.3工作方式

它是基于LL(k)的, 以递归下降的方式进行工作

 

 

 

总结

ANTRL能自动完成语法分析和词法分析过程,并生产框架代码,让我们写相关过程的时候只需要往固定位置添加代码即可。大大简便了语法分析词法分析的过程。

 

 

 

  • Java中如何使用Antlr

可以通过plugin+Maven或者plugin+jar包的方式来使用Antlr。

下面我将介绍后一种在windows+IDEA环境下使用Antlr的方式

2.1

首先肯定是Java的开发环境,然后就是开发工具IDEA

2.2

下载Antlr的jar包,可以访问antlr的官方下载网站下载

这里也给出一个下载链接:https://www.antlr.org/download/

2.3

将下载好的jar包(最新版应该是antlr-4.7-complete.jar)添加到环境变量的CLASSPATH中

2.4

在2.3jar包所在的文件夹中创建两个bat文件,内容为在里面创建两个bat文件一个叫antlr4.bat,内容为 java org.antlr.v4.Tool %*

另一个叫grun.bat,内容为java org.antlr.v4.gui.TestRig %*

然后把这个文件夹加入到环境变量的PATH中去。

2.5

打开CMD输入antlr4和grun命令,看是否如下

2.6

IDEA插件的安装

新建工程后

左上角的File->Settings->Plugins->搜索antlr,如下图

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值