Expr4JJava的表达式计算引擎
Expr4J 是一个Java的表达式计算引擎,可以用来计算例如在 Excel 单元格中的表达式等。
示例代码:
package org.boris.expr.util;
import java.io.*;
import org.boris.expr.*;
import org.boris.expr.parser.ExprParser;
public class ExprEvaluator
{
public static void main(String[] args) throws Exception {
SimpleEvaluationContext context = new SimpleEvaluationContext();
System.out.println("Expr Evaluator v1.0");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
while (true) {
try {
System.out.print(">");
String line = br.readLine();
if (line == null)
break;
Expr e = ExprParser.parse(line);
Exprs.toUpperCase(e);
if (e instanceof ExprEvaluatable) {
e = ((ExprEvaluatable) e).evaluate(context);
}
System.out.println(e);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
package org.boris.expr.util;
import org.boris.expr.BasicEngineProvider;
import org.boris.expr.engine.DependencyEngine;
import org.boris.expr.engine.Range;
public class DependencyExample
{
public static void main(String[] args) throws Exception {
DependencyEngine e = new DependencyEngine(new BasicEngineProvider());
e.set("B1", "=A1*2");
e.set("A1", "=12*2");
e.set("C1", "=B1*A1");
System.out.println(e.getValue(Range.valueOf("B1")));
System.out.println(e.getValue(Range.valueOf("C1")));
e.set("A1", "2");
System.out.println(e.getValue(Range.valueOf("B1")));
System.out.println(e.getValue(Range.valueOf("C1")));
}
}
评论
Fast EL表达式计算引擎
fast-el是轻量级的高效的表达式计算引擎,源自于企业项目,设计目标是为了满足不断变化的功能需求和性能需求。Fel是开放的,引擎执行中的多个模块都可以扩展或替换。Fel的执行主要是通过函数实现,运算
Fast EL表达式计算引擎
0
math-engineGo 实现的数学表达式解析计算引擎
使用Go实现的数学表达式解析计算引擎库,无任何依赖,相对比较完整的完成了数学表达式解析执行,包括词法分析、语法分析、构建AST、运行。能够处理的表达式样例:1+127-21+(3-4)*6/2.5(8
math-engineGo 实现的数学表达式解析计算引擎
0
math-engineGo 实现的数学表达式解析计算引擎
使用 Go 实现的数学表达式解析计算引擎库,无任何依赖,相对比较完整的完成了数学表达式解析执行,包括
math-engineGo 实现的数学表达式解析计算引擎
0
QLExpressjava表达式计算
@authorqhlhl2010@gmail.com 你想知道 aloveb=?吗,你想随意定义自己的操作符号吗?请使用QLExpress工具包QLExpress是一个轻量级的类java语法规则引
QLExpressjava表达式计算
0
AviatorJava 表达式引擎
AviatorScript 是一门高性能、轻量级寄宿于JVM之上的脚本语言。特性介绍支持数字、字符串、正则表达式、布尔值、正则表达式等基本类型,完整支持所有Java运算符及优先级等。函数是一等公民,支
AviatorJava 表达式引擎
0