论坛首页 Java企业应用论坛

分享开源表达式解析器IK-Expression2.0

浏览 39297 次
该帖已经被评为良好帖
作者 正文
   发表时间:2009-02-24  
yoohoo.lai 写道
佩服楼主的水平,但一般表达式我用动态语言来解决,比如groove.一来稳定,性能也非常好,并且各种运算函数包齐。


我也想啊,可我一直折腾java来着,就只好这样了。看来要多学些语言才是
0 请登录后投票
   发表时间:2009-02-24  
ahuaxuan 写道
这个,,,jdk6里有现成的js解析器,把js写在条件表达式里,然后在jvm里执行可以达到同样的效果.


最关键的是你的面向用户群是程序员的话,很多的东西都能用,IK也就没有存在的必要了,这个文章开头就说明了它的使命。

IKExp的目标是最终用户使用,非常简单的那种。不能要求他们使用js语法吧。 虽然真正的领导是从来不自己配置的,但在销售过程中,人家就要所谓的灵活傻瓜式的配置,这种情况在国内常见到。
0 请登录后投票
   发表时间:2009-02-24  
linliangyi2007 写道
ahuaxuan 写道
这个,,,jdk6里有现成的js解析器,把js写在条件表达式里,然后在jvm里执行可以达到同样的效果.


最关键的是你的面向用户群是程序员的话,很多的东西都能用,IK也就没有存在的必要了,这个文章开头就说明了它的使命。

IKExp的目标是最终用户使用,非常简单的那种。不能要求他们使用js语法吧。 虽然真正的领导是从来不自己配置的,但在销售过程中,人家就要所谓的灵活傻瓜式的配置,这种情况在国内常见到。

理解了,之前没有注意到面向------最终用户------这个概念,这个已经2.0版本了,楼主做了多久了,如果有空的话可以写一篇介绍你是如何使用逆波兰算法的文章出来
0 请登录后投票
   发表时间:2009-02-24  
动态语言实现这个功能不错, groovy
0 请登录后投票
   发表时间:2009-02-24  
ahuaxuan 写道
linliangyi2007 写道
ahuaxuan 写道
这个,,,jdk6里有现成的js解析器,把js写在条件表达式里,然后在jvm里执行可以达到同样的效果.


最关键的是你的面向用户群是程序员的话,很多的东西都能用,IK也就没有存在的必要了,这个文章开头就说明了它的使命。

IKExp的目标是最终用户使用,非常简单的那种。不能要求他们使用js语法吧。 虽然真正的领导是从来不自己配置的,但在销售过程中,人家就要所谓的灵活傻瓜式的配置,这种情况在国内常见到。

理解了,之前没有注意到面向------最终用户------这个概念,这个已经2.0版本了,楼主做了多久了,如果有空的话可以写一篇介绍你是如何使用逆波兰算法的文章出来


正有这个想法呢,呵呵
0 请登录后投票
   发表时间:2009-02-24   最后修改:2009-02-24
如果想用JS兼容语法的话,也可以试试JSEL
JSEL是Lite模版引擎默认的表达式引擎。相比IK来说,更加轻量一点(从类库大小和复杂性上说)。

与IK不同的是,JSEL并没有吧目标直接锁定为最终用户,他支持大部分JS原生函数,但是不会有JK那样对日期语法的原生支持了。

JSEL和Lite目前支持的语言有:Java、Python、JS、php

源码地址见:http://lite.googlecode.com/
0 请登录后投票
   发表时间:2009-02-24  
jindw 写道
如果想用JS兼容语法的话,也可以试试JSEL
JSEL是Lite模版引擎默认的表达式引擎。相比IK来说,更加轻量一点(从类库大小和复杂性上说)。

与IK不同的是,JSEL并没有吧目标直接锁定为最终用户,他支持大部分JS原生函数,但是不会有IK那样对日期语法的原生支持了。

JSEL和Lite目前支持的语言有:Java、Python、JS、php

源码地址见:http://lite.googlecode.com/



JSEL拥有对JSON解析的支持,使用方式也很简单!赞一个!
0 请登录后投票
   发表时间:2009-02-24  
想知道IK支持运算符的重载不呢?

比如 ListC = ListA + ListB

这个+的作用实际是putAll
0 请登录后投票
   发表时间:2009-02-24  
支持楼主,受教!
0 请登录后投票
   发表时间:2009-02-24  
kusix 写道
想知道IK支持运算符的重载不呢?

比如 ListC = ListA + ListB

这个+的作用实际是putAll


你说的这个功能在IK中不是用+号实现(不用加号是为了它在字符窜连接重载中的行为一致性),而是用#号的,#号可以连接两个list,就是你说的addAll,详细请阅读操作符说明,谢谢!
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics