SimpleEL表达式解析引擎
Simple EL是一个表达式解析引擎。它将表达式解析分成四个部分:预处理、编译、缓存和执行。这四个步骤任意一部分都可以替换,类似设计模式中的Template Method。
缺省的实现是:将表达式处理成Java Source,调用Tools.jar的Javac API动态编译,缓存变异后反射得到的实例,使得表达式的解析速度和Java静态编译的速度接近。
这是一个性能极致、扩展性良好的表达式解析引擎。
介绍项目的PPT:http://code.alibabatech.com/svn/SimpleEL/trunk/doc/SimpleEL.pptx
SVN:http://code.alibabatech.com/svn/SimpleEL
JIRA:http://code.alibabatech.com/jira/browse/SIMPLEEL
wiki:http://code.alibabatech.com/wiki/display/SimpleEL/Home
使用范例:
import com.alibaba.simpleEL.eval.DefaultExpressEvalService; import com.alibaba.simpleEL.preprocess.DefaultVariantResolver.Type; DefaultExpressEvalService service = new DefaultExpressEvalService(); service.regsiterVariant(Type.Integer, "a", "b"); // 注册两个类型为Integer的变量 Map ctx = new HashMap(); ctx.put("a", 3); ctx.put("b", 4); Assert.assertEquals(7, service.eval(ctx, "@a + @b"));
评论
AviatorJava 表达式引擎
AviatorScript 是一门高性能、轻量级寄宿于JVM之上的脚本语言。特性介绍支持数字、字符串、正则表达式、布尔值、正则表达式等基本类型,完整支持所有Java运算符及优先级等。函数是一等公民,支
AviatorJava 表达式引擎
0
math-engineGo 实现的数学表达式解析计算引擎
使用Go实现的数学表达式解析计算引擎库,无任何依赖,相对比较完整的完成了数学表达式解析执行,包括词法分析、语法分析、构建AST、运行。能够处理的表达式样例:1+127-21+(3-4)*6/2.5(8
math-engineGo 实现的数学表达式解析计算引擎
0
expression-analyzerjava 公式解析 表达式解析
基于有限自动机和LL(1)分析法实现的公式解析器,使用java语言开发,具备以下功能:1) 实现了算术和逻辑表达式的解析,可使用单条或多条语句,表达式中可使用注释; 2)
expression-analyzerjava 公式解析 表达式解析
0
expression-analyzerjava 公式解析 表达式解析
基于有限自动机和LL(1)分析法实现的公式解析器,使用java语言开发,具备以下功能:1)
expression-analyzerjava 公式解析 表达式解析
0
math-engineGo 实现的数学表达式解析计算引擎
使用 Go 实现的数学表达式解析计算引擎库,无任何依赖,相对比较完整的完成了数学表达式解析执行,包括
math-engineGo 实现的数学表达式解析计算引擎
0
JSEL表达式解释引擎
JSEL是一个基于逆波兰式结构,采用JS运算规则的简单的表达式解释引擎。同时它还是一个JSON解析引擎。基本特征基于逆波兰式这个简单的计算模型,最大的特点就是简单。支持短路优化(运算过程中,会根据需要
JSEL表达式解释引擎
0