一个轻量级的类java语法规则引擎,作为一个嵌入式规则引擎在业务系统中使用。让业务规则定义简便而不失灵活。让业务人员就可以定义业务规则。支持标准的JAVA语法,还可以支持自定义操作符号、操作符号重载、函数定义、宏定义、数据延迟加载等
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
通过ExpressRunner构造函数可以打印执行信息 ExpressRunner runner = new ExpressRunner(false,true);
再次执行控制台打印:

可以把QLExpress的执行总结为以下过程:
1.单词分解
2.语法类型分解
3.分析语法
4.生成指令
5.执行指令
摘文
https://blog.csdn.net/express_wind
感谢博主分享,学无止境
版权声明:本文为u013637451原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。