zoukankan      html  css  js  c++  java
  • 1.JavaCC安装与测试

      下面介绍的是JavaCC在windows系统中的安装与小代码测试过程。

    一、JavaCC安装

      步骤 :在JavaCC的官网首页下载JavaCC,然后配置电脑的环境变量,接着在dos命令行里就可以使用了。

    1. 下载

      官方下载地址:https://javacc.org/download
      我下载的是5.0版本,如下图

    2. 将官网下载的安装包解压到任意目录

    3. 配置环境变量

      创建JAVACC_HOME

      配置path

    4. 测试

      在命令提示符窗口输入javacc命令进行测试,如果出现了如下所示的使用帮助,表示安装成功

      在安装完成之后,接下来测试一个代码小例子。就像你安装完成JDK之后,除了通过java -version测试JDK是否安装成功之外,还可以执行一个Hello World代码一样。


    二、JavaCC测试小例子

    1. 词法描述文件

      JavaCC的语法描述文件是 扩展名为.jj 的文件,测试所用的语法描述文件内容如下,该描述文件的功能是解析正整数加法运算,并进行计算的解析器的语法描述文件:

    options {
        STATIC = false;
    }
    
    PARSER_BEGIN(Adder)
    package com.susu.testJavaCC;
    import java.io.*;
    public class Adder {
        public static void main(String[] args) {
            for (String arg : args) {
                try {
                    System.out.println(evaluate(arg));
    //                return(evaluate(arg));
                } catch (ParseException ex) {
                    System.err.println(ex.getMessage());
                }
            }
        }
    
        public static long evaluate(String src) throws ParseException {
            Reader reader = new StringReader(src);
            return new Adder(reader).expr();
        }
    }
    PARSER_END(Adder)
    
    SKIP: { <[" ", "	", "
    ", "
    "]> }
    TOKEN: {
        <INTEGER: (["0"-"9"])+>
    }
    
    long expr():
    {
        Token x, y;
    }
    {
        x=<INTEGER> "+" y=<INTEGER> <EOF>
        {
            return Long.parseLong(x.image) + Long.parseLong(y.image);
        }
    }
    

      将上述语法描述文件保存成任意以.jj为后缀 的文件,比如demo1.jj,然后在命令提示符窗口中,依次执行下面的步骤。

    2. 使用javacc命令处理demo1.jj文件


      处理成功之后如上图所示,会有提示成功,并且生成Adder.java和其他辅助类。

    3. 编译

      使用javac命令编译上一步生成的Adder.java文件,从而生成Adder.class文件

    4. 使用Adder类进行测试

      正确输出1+7的结果,测试成功。

  • 相关阅读:
    IOS 动画的各种实现方法
    多视图控制器--自动布局 3.5 4.0英寸的应用程序
    IOS 多线程编程之Grand Central Dispatch(GCD)介绍和使用 多线程基础和练习
    TableView--通讯录--开篇
    UI 网络程序
    XML JSON解析--基本功能
    通讯录CoreData数据库实现版
    CoreData的使用入门到精通
    sqlite 数据类型详解
    189. Rotate Array
  • 原文地址:https://www.cnblogs.com/suhaha/p/11697827.html
Copyright © 2011-2022 走看看