修复一些错误并更新README

This commit is contained in:
2025-10-09 14:40:58 +08:00
parent a09b3c1eb1
commit 63f09b6196
13 changed files with 83 additions and 60 deletions

View File

@@ -1,48 +1,30 @@
# Flee (Supports Net6.0, Net5.0, Netstandard2.1, Netstandard2.0)
Fast Lightweight Expression Evaluator.
Convert this project vb.net to c#.
# FLEE
快速轻量级表达式求值器。
## Project Description
Flee is an expression parser and evaluator for the .NET framework. It allows you to compute the value of string expressions such as sqrt(a^2 + b^2) at runtime. It uses a custom compiler, strongly-typed expression language, and lightweight codegen to compile expressions directly to IL. This means that expression evaluation is extremely fast and efficient.
## 项目描述
FLEE 是一个用于 .NET 框架的表达式解析器和求值器。它允许您在运行时计算字符串表达式的值,例如 sqrt(a^2 + b^2)。它使用自定义编译器、强类型表达式语言和轻量级代码生成器将表达式直接编译为 IL。这意味着表达式求值极其快速和高效。
## Features
* Fast and efficient expression evaluation
* Small, lightweight library
* Compiles expressions to IL using a custom compiler, lightweight codegen, and the DynamicMethod class
* Expressions (and the IL generated for them) are garbage-collected when no longer used
* Does not create any dynamic assemblies that stay in memory
* Backed by a comprehensive suite of unit tests
* Culture-sensitive decimal point
* Fine-grained control of what types an expression can use
* Supports all arithmetic operations including the power (^) operator
* Supports string, char, boolean, and floating-point literals
* Supports 32/64 bit, signed/unsigned, and hex integer literals
* Features a true conditional operator
* Supports short-circuited logical operations
* Supports arithmetic, comparison, implicit, and explicit overloaded operators
* Variables of any type can be dynamically defined and used in expressions
* CalculationEngine: Reference other expressions in an expression and recalculate in natural order
* Expressions can index arrays and collections, access fields and properties, and call functions on various types
* Generated IL can be saved to an assembly and viewed with a disassembler
## 功能特性
* 快速高效的表达式求值
* 小巧轻量的库
* 使用自定义编译器、轻量级代码生成器和 DynamicMethod 类将表达式编译为 IL
* 表达式(及其生成的 IL在不再使用时会被垃圾回收
* 不会创建任何保留在内存中的动态程序集
* 由全面的单元测试套件支持
* 支持区域敏感的小数点
* 对表达式可使用的类型进行细粒度控制
* 支持所有算术运算,包括幂运算符 (^)
* 支持字符串、字符、布尔值和浮点数字面量
* 支持 32/64 位、有符号/无符号和十六进制整数字面量
* 具有真正的条件运算符
* 支持短路逻辑运算
* 支持算术、比较、隐式和显式重载运算符
* 可以动态定义任何类型的变量并在表达式中使用
* 计算引擎:在表达式中引用其他表达式并按自然顺序重新计算
* 表达式可以索引数组和集合、访问字段和属性,以及调用各种类型的函数
* 生成的 IL 可以保存到程序集中并使用反汇编器查看
### Installing Flee
## 许可
本FLEE是从原Flee发布者处未经许可更改与改进得来, 用于源码编译
You should install [Flee with NuGet](https://www.nuget.org/packages/Flee):
Install-Package Flee
Or via the .NET Core command line interface:
dotnet add package Flee
## NuGet Packages
| Name | NuGet |
| :--- | :--- |
| [Flee](https://www.nuget.org/packages/Flee) | [![Flee](https://img.shields.io/badge/nuget-v2.0.0-blue.svg)](https://www.nuget.org/packages/Flee)
## More information
* [Examples](https://github.com/mparlak/Flee/wiki/Examples) to learn how to create and evaluate expressions.
## License
Flee is licensed under the LGPL. This means that as long as you dynamically link (ie: add a reference) to the officially released assemblies, you can use it in commercial and non-commercial applications.
原Flee发布者发布的Flee 使用 LGPL 许可证。这意味着只要您动态链接(即添加引用)到官方发布的程序集,就可以在商业和非商业应用程序中使用它。