cc java的收入_JAVACC使用

本文介绍一下JAVACC的一些基本使用思路,具体的JAVACC一些底层实现或者说实际开发大型程序的情况我可能也不太清楚,主要是分享一些使用的经验(毕竟当时也就几天写的 逃

代码还是在这个仓库:JasonZhu-WHU/CMM_Interpreter​github.com3408c60dfcf1829d8b9017b06cdc2db1.png

JavaCC全称为Java Compiler Compiler,它是一个生成器,用于生成词法分析器(lexical analysers)和语法分析器(parsers)。它可以通过读取一个词法和语法描述文件(即词法和语法描述是写在同一个文件中的),来生成一个java程序,这个java程序就包括了词法分析器和语法分析器。接着就可以用生成的词法分析器和语法分析器来对我们的输入进行判断,判断输入是否符合我们所要求的语法规则。

所以总的来说JAVACC其实就是一个parser的生成器,它的关键在于识别模板文件来生成分析程序,然后我是用Eclipse开发的,因为网上这方面的一些文章也比较多。

模板文件有三种类型文件为jj、jjt、jtb,我用的是jjt的文件。

下面我将对于JAVACC生成词法语法分析程序的具体流程步骤进行说明:

第一步,正如我在开头说的那样,先创建一个项目并新建JAVACC模板的文件选择jjt类型:JAVACC生成解释器步骤一 新建模板文件

第二步,编写模板文件,具体细节不具体写了,请参考官方文档或者下面博客,也可以参考我的代码仓库里面的代码或者网上也很多。JavaCC的基本使用_Java_qingmengwuhen1的博客-CSDN博客​blog.csdn.net81fd9250c4c6086a8c521b15f6ef09a6.png

第三步,可以尝试着根据模板生成相应的分析程序代码,因为我是在Eclipse下开发,所以这一步很简单,直接选择在菜单栏的JAVACC中选择compile生成即可。这里会自动根据jjt文件生成jj,在指导生成出具体的java代码作为分析程序。JAVACC生成解释器步骤三 生成分析程序JAVACC自动生成的分析程序

第四步,可以根据自动生成的分析程序,编写一个主程序(我命名为main.java)来执行具体的分析,并负责读入测试代码。因为时间所限,我这里不像我的WPF C#写的解释器一样支持函数的调用。JAVACC生成解释器步骤四 编写主程序调用

第五步,执行与测试,因为没有写语义部分,所以报错都是词法与语法部分的报错,这里直接执行main函数即可,它会自动读取test.cmm中的代码并进行分析,如果出现词法语法错误,即会进行报错,否则会输出语法树。测试代码正确分析则输出语法树

这时,如果我们把测试代码改错,比如第二行换成 real1 b;

那么就会提示报错信息,并给出第几行的错误:检测到错误就报错

以上就是JAVACC使用的主要思路,具体Eclipse安装JAVACC我记得很容易,可以参考这个博客javacc安装教程_开发工具_流风雨情的博客-CSDN博客​blog.csdn.net7221b715255bb377af4f6eced8b341b6.png

然后JAVACC最麻烦的还是模板文件编写,因为时间有限,我也不具体详述了,有兴趣的可以参考它的官方文档教程和一些博客,本文只是使用的大致过程介绍。JavaCC​javacc.github.io

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值