zoukankan      html  css  js  c++  java
  • 公式解析器开源项目整理

    前段日子师兄让我整理开源的公式解析器项目,我到网上查了两天,对大部分有人维护的开源项目进行了整理和总结:现在记在此处。
    开源项目名称 描述 缺点
    Jeval 在运行时解析计算静态和动态表达式;支持数学,布尔,字符串,函数表达式;支持大部分的数学和布尔运算符;支持自定义函数;支持嵌套函数;支持解析;支持自定义变量解析器;
    官网:http://jeval.sourceforge.net
    不支持嵌套变量
     
     
    jexel 处理大部分的数学公式和字符串,通过继承接口来实现个人所需的运算;支持自定义变量解析器;该项目一直在更新,最近一次更新是今年十月七号
    wiki:http://code.google.com/p/jexel/w/list
    不支持变量替换
     
     
    aviator Aviator是直接将表达式编译成Java字节码,交给JVM去执行
    支持大部分运算操作符,包括算术操作符、关系运算符、逻辑操作符、位运算符、正则匹配操作符(=~)、三元表达式?: ,并且支持操作符的优先级和括号强制优先级;支持函数调用和自定义函数;支持传入变量,支持类似a.b.c的嵌套变量访问;支持数组的访问;支持正则表达式;
    http://www.blogjava.net/killme2008/archive/2010/09/07/331296.html
    依赖两外两个jarcommons-beanutils和commons-logging 
     
     
    arity 自定义函数及公式 不支持变量替换
     
     
    Jsci 数学科学计算:包括线性方程组,统计,小波,牛顿力学。 jar包太多,不支持变量替换
     
     
    IKExpressoin 支持中文变量及函数名;支持基本运算;函数运算;支持自定义函数; 不支持变量嵌套
     
     
    JSEL 兼容 JavaScript 运算规则的简单的表达式解释引擎,可以通过Map接口,或者JavaBean给出一个变量集合,能后通过表达式从这个集合中抽取变量,再通过表达式逻辑生成你需要的数据;支持函数扩展,操作符别名定义,操作符定义 不支持变量嵌套
     
     
    jep 支持大量的数学运算;其他功能都差不多;支持变量嵌套(顺序执行)
    wiki:http://www.singularsys.com/jep/doc/html/variables.html
     
     
     
    beanshell 基本运算;变量、函数自定义;支持变量嵌套(顺序执行)  
     
     
    Fel 支持中文变量;支持基本运算;函数运算;支持自定义函数;可调用java方法; 不支持变量嵌套
     
     
    另附两个开源网站:
    www.open-open.com
    中国开源社区
  • 相关阅读:
    大三学长带我学习JAVA.作业8。。1 有1、2、3、4这几个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
    详解Manifest
    反射机制和配置文件的用法
    大三学长带我学习JAVA.作业8。 判断101200之间有多少个素数,并输出所有素数。
    序曲
    java打包生成jar和exe全过程
    大三学长带我学习JAVA.作业6 编写日历表 和vim
    大三学长带我学习JAVA.作业7 利用for循环打印 9*9 表
    动态代理类
    pku 3522 Slim Span
  • 原文地址:https://www.cnblogs.com/daichangya/p/12959591.html
Copyright © 2011-2022 走看看