zoukankan      html  css  js  c++  java
  • 初识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()括号里不能为空,我就不知道是咋回事了。

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

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

    的信心
     
  • 相关阅读:
    LeetCode Missing Number (简单题)
    LeetCode Valid Anagram (简单题)
    LeetCode Single Number III (xor)
    LeetCode Best Time to Buy and Sell Stock II (简单题)
    LeetCode Move Zeroes (简单题)
    LeetCode Add Digits (规律题)
    DependencyProperty深入浅出
    SQL Server存储机制二
    WPF自定义RoutedEvent事件示例代码
    ViewModel命令ICommand对象定义
  • 原文地址:https://www.cnblogs.com/zhengrui0452/p/2790038.html
Copyright © 2011-2022 走看看