初识Antlr

今天上午我刚跟牛哥念唠完,我现在没什么活,真希望杨哥能给我分点活让我干。下午杨哥就来了软件所,我跟他说,我求活干。他让我学习Antlr,和DSL,并且每周一汇报进展。

杨哥走后,我就开始上网找Antlr的相关内容。

在Google中发现了Antlr的首页http://www.antlr.org/,都是英文,好痛苦啊。曾经在牛哥电脑上看到一个不错的chrome浏览器的英文翻译插件,正好此时问牛哥要来,果断安好,开始了我的英文和Antlr的学习。

学习一个语言,一个软件(也不知道Antlr应该算哪个),首先要把该语言的环境搭建好,我根据首页上的Getting started with ANTLR v3  果断开始整了。

先在电脑上整个jdk,把path和classpath都配置好。Getting started有好多链接,基本上每一步都有链接,对于不是初学者的人,直接向下看就好了,对于初学者(比如我),就得一个链接一个链接的看了。下好Antlr的最新版,是一个.jar文件,直接双击打开就会跳出图形界面(在Windows上是这样的),然后把它给你的四则运算的例子写在里面。然后保存成.g文件(假设为Expr.g)。再按下面的例子,写一个.java文件来运行。

.g文件需要这样编译:java org.antlr.Tool Expr.g

然后就会生成ExprLexer.java和ExperParser.java这两个文件,再加上自己写的.java文件

用javac将这三个文件编译,就会生成各自的.class文件,这些步我都成功了,可是当我输入1+1,再回车的时候毫无反应,我就想是不是main里根本就没有输出代码啊,我就在main里写了个输出代码:System.out.println(parser.prog()),然后再运行,它就告诉我System.out.println()括号里不能为空,我就不知道是咋回事了。

我本来想实验一下我搭建的环境对不对的,也想先找个代码运行一下增强一下自己的信心,但没想到运行了一晚上也没成功。我觉得我的实验结果表明,我的环境搭建的是没有问题的,只是代码还没搞懂,明天开始整代码内容的部分,一定要把这个计算器的功能给实现了。

明天再战!!!程序媛,加油吧!!!

的信心
 
原文地址:https://www.cnblogs.com/zhengrui0452/p/2790038.html