QlExpress表达式介绍(一)

QLExpress 规则引擎介绍

一个轻量级的类java语法规则引擎,作为一个嵌入式规则引擎在业务系统中使用。让业务规则定义简便而不失灵活。让业务人员就可以定义业务规则。支持标准的JAVA语法,还可以支持自定义操作符号、操作符号重载、函数定义、宏定义、数据延迟加载等

QLExpress之helloworld

 public static void main(String[] args) throws Exception{
        String express = "10 * 10 + 1 + 2 * 3 + 5 * 2";
        ExpressRunner runner = new ExpressRunner();
        Object r = runner.execute(express,null, null, false,false);
        System.out.println("表达式计算:" + express + " = " + r);

    }

/**
 * 执行一段文本
 * @param expressString 程序文本
 * @param context 执行上下文
 * @param errorList 输出的错误信息List
 * @param isCache 是否使用Cache中的指令集
 * @param isTrace 是否输出详细的执行指令信息
 * @return
 * @throws Exception
 */
runner.execute(express,null, null, false,false);

执行结果:表达式计算:10 * 10 + 1 + 2 * 3 + 5 * 2 = 117

QLExpress 执行过程

通过ExpressRunner构造函数可以打印执行信息 ExpressRunner runner = new ExpressRunner(false,true);

再次执行控制台打印:

QlExpress表达式介绍(一)_第1张图片

可以把QLExpress的执行总结为以下过程:

1.单词分解

2.语法类型分解

3.分析语法

4.生成指令

5.执行指令

 

摘文

https://blog.csdn.net/express_wind

感谢博主分享,学无止境

你可能感兴趣的:(java,计算机)