表达式引擎JSEL介绍

阅读更多
表达式引擎的定义这里我就不说了,先假设大家都知道^_^


在 JSEL之前也出现过不少其他类似产品,包括老牌的Ognl(老到网站都找不到了),新来的 MVEL,还有我们国产的 Aviator, IKExpression

居然有了这么多可用的实现,那么 JSEL的亮点又在那里呢?

基于ECMA262标准的子集
JSEL是一个兼容 JavaScript 运算规则的简单的表达式解释引擎。
支持ECMA标准的运算符、函数库并内置了JSON支持。
基本语法是JavaScript的一个子集,基本语法有良好群众基础。

一个可以完全自定义的表达式系统
全新运算符支持,运算符别名,优先级控制,内置对象设置,等等,一切皆有可能。你完全可以在JSEL基础上DIY一套适合你自己的表达式系统。
详情可参考: http://code.google.com/p/lite/wiki/JSELExtension

执行效率远高于同类
其实,本人在开发过程中,并没有太注重效率,甚至为保持与JavaScript的兼容性,我不得不采用影响性能的设计。
然而,发布出来后,一做性能测试,反成了意外的惊喜。
我将另外撰文列出性能对比的详细数据,精彩稍后继续,不要离开^_^

内置功能强大的JSON解释支持
因为JSEL本身是基于JavaScript规则的,JSON本身就是JavaScript功能的子集,那么JSEL自然也就是一个天然的JSON工具,此外,表达式的编译,本身就继承了JSON解析的功能,而且,我们也吧JSON支持的功能提出为独立的模块,相比官方的JSON解析,JSEL的JSON功能更简单,更有独到的优点【稍后继续补充】

这里也有少许介绍: http://code.google.com/p/lite/wiki/JSON
补充:常见表达式引擎执行性能比较: http://www.iteye.com/topic/732354


不仅是一个表达式
此外JSEL还提供了一些常用的工具支持,如命令行解析器,这是一个在表达式基础上建立起来的功能强大的命令行分析程序,如果你想编写一些基于命令行的工具程序,那么JSEL绝对是您最棒的助手。

该工具的基本用法简介: http://code.google.com/p/lite/wiki/CPEL

背后是一个空前强大的模板系统
JSEL并不是一个为了表达式而编写的表达式引擎,他本来只是Lite模板的一个基本功能,目前Lite模板系统正在做全面重构。这里就先留个悬念吧。以后你会知道的^_^


------------------------------
JSEL基于LGPL开源协议发布,(LiteRT-yyMMdd.jar,与Lite模板运行环境一起打包发布,不足100k),你可以从如下地址下载,并将其功能集成到你的系统中。
http://code.google.com/p/lite/downloads/list

你可能感兴趣的:(Java,json,Google,JavaScript,算法)