31 lines
1.7 KiB
Markdown
31 lines
1.7 KiB
Markdown
# FLEE
|
||
快速轻量级表达式求值器。
|
||
|
||
## 项目描述
|
||
FLEE 是一个用于 .NET 框架的表达式解析器和求值器。它允许您在运行时计算字符串表达式的值,例如 sqrt(a^2 + b^2)。它使用自定义编译器、强类型表达式语言和轻量级代码生成器将表达式直接编译为 IL。这意味着表达式求值极其快速和高效。
|
||
|
||
## 功能特性
|
||
* 快速高效的表达式求值
|
||
* 小巧轻量的库
|
||
* 使用自定义编译器、轻量级代码生成器和 DynamicMethod 类将表达式编译为 IL
|
||
* 表达式(及其生成的 IL)在不再使用时会被垃圾回收
|
||
* 不会创建任何保留在内存中的动态程序集
|
||
* 由全面的单元测试套件支持
|
||
* 支持区域敏感的小数点
|
||
* 对表达式可使用的类型进行细粒度控制
|
||
* 支持所有算术运算,包括幂运算符 (^)
|
||
* 支持字符串、字符、布尔值和浮点数字面量
|
||
* 支持 32/64 位、有符号/无符号和十六进制整数字面量
|
||
* 具有真正的条件运算符
|
||
* 支持短路逻辑运算
|
||
* 支持算术、比较、隐式和显式重载运算符
|
||
* 可以动态定义任何类型的变量并在表达式中使用
|
||
* 计算引擎:在表达式中引用其他表达式并按自然顺序重新计算
|
||
* 表达式可以索引数组和集合、访问字段和属性,以及调用各种类型的函数
|
||
* 生成的 IL 可以保存到程序集中并使用反汇编器查看
|
||
|
||
## 许可
|
||
本FLEE是从原Flee发布者处未经许可更改与改进得来, 用于源码编译
|
||
|
||
原Flee发布者发布的Flee 使用 LGPL 许可证。这意味着只要您动态链接(即添加引用)到官方发布的程序集,就可以在商业和非商业应用程序中使用它。
|