Fel使用说明
1:Fel简介
Fel是简单的、高效的、易扩展的开源项目,使用java开发的开源项目。
简单性:语法简单,与java表达式类似,支持中文变量和函数。其实现原理也非常简单,只要稍微有一些java基础就可以看懂源码。
高效性:不会比开源的脚本引擎慢。一些高级应用还可以大大高于其他脚本引擎。
易扩展:在执行表达式的主要环节(解析表达式、函数管理、操作符重载、引擎上下文、节点解释器)都有很高的可定制性。
Fel设计目标是面向最终用户和二次开发用户。它是功能灵活的、可以轻易掌控的和可定制的表达式语言。
2:快速入门
获取Fel
项目地址:http://code.google.com/p/fast-el/
源代码:http://fast-el.googlecode.com/svn/trunk/
安装部署
将fel-xx.jar、commons-lang-2.4.jar、antlr-3.2.jar加入classpath就可以使用。
简单例子
下面是简单的算术运算例子
FelEngine fel = new FelEngineImpl();
Object result = fel.eval("5000*12+7500");
System.out.println(result);
输出67500。
3:组成结构
Fel的主要组成结构如下所示:
模块 | 说明 |
解析器(Parser) | 将表达式解析成节点。 |
节 点(Node) | 由解析器生成。 |
上下文环境(Context) | 负责解析变量的值 |
函数(Function) | 内置常用数学和字符串函数(abs、trim) |
操作符(Operator) | 内置基本的操作符(加减乘除等) |
未完待续....

- 大小: 16.4 KB
分享到:
相关推荐
Fel(Fast Expression Language)是一种轻量级、高性能的表达式语言,主要用于在应用程序中进行动态计算和数据操作。它提供了一种简洁的语法,使得开发者可以方便地在运行时评估表达式,从而实现灵活的数据处理和...
Fel表达式引擎的特点包括: 1. 易用性:API设计简单直观,语法接近Java语法,使用起来方便。 2. 轻量级:包体小巧,只占用很少的存储空间。 3. 高效:Fel引擎在性能方面表现出色,比大多数开源表达式引擎要快。 4. ...
**Fel表达式计算引擎0.9版本** Fel引擎,全称为Fast Expression Language,是一个轻量级、高性能的表达式计算引擎。在0.9版本中,它提供了强大的动态计算功能,使得开发者能够在运行时评估复杂的逻辑和数学表达式。...
- **EL (Expression Language)**: 表达式语言,用于求解特定表达式的值。 - **AST (Abstract Syntax Tree)**: 抽象语法树,由语法分析工具生成,用来表示源代码结构的一种树形结构。例如,对于表达式“1+2*3”,其...
FEL是一种轻量级、高效的Java表达式语言,主要用于简化和加速应用程序中的动态计算。在这个demo中,我们看到如何使用FEL来执行特定的逻辑。 描述中的代码片段"FELEngine.instance.eval('$('org.apache.commons.lang...
Aviator是一个高性能、轻量级的Java语言实现的表达式求值引擎,主要用于各种表达式的动态求值。它的设计目标是轻量级和高性能,相比于Groovy、JRuby等语言,Aviator非常小,即使加上依赖包也只有450K,不加依赖包更...
fel,全称为Fast Expression Language,是一款专为工作流计算设计的简洁、快速的表达式语言。它被设计用来在程序中动态地执行计算任务,尤其是在处理规则引擎、工作流控制或数据过滤等场景时,能够提供灵活且高性能...
Fel(Fast Expression Language)是开放的、高效的、轻量级的表达式语言。拥有解释执行和编译执行双引擎。Fel在编译执行时,做了很多优化,适合处理海量数据。Fel扩展性强,用户可以定制Fel执行时的众多环节,以满足...
本文提出了一种基于Java反射和Fel计算引擎动态导出Excel的实现方法,该方法通过自定义类注解和方法注解,配置Fel表达式,实现Excel灵活动态的导出功能,并且同时支持方法导出、SQL导出、直接导出三种导出方式。...
Google Fast-el是FEL的一个实现,它与Java生态系统紧密集成,提供了快速的表达式语言能力,用于在Java应用程序中进行数据绑定和动态逻辑处理。 【描述】"恶魔演示 Google Fast-el" 这里的"恶魔演示"可能是指一个...
《Fel-dsa-homeworks:...总之,"Fel-dsa-homeworks"项目提供了一个实践和提升DSA技能的平台,通过Java语言的学习和应用,学生们将深入理解数据结构与算法的精髓,这对于他们未来在软件开发领域的发展具有深远的影响。