# Flee **Repository Path**: wangdada40/Flee ## Basic Information - **Project Name**: Flee - **Description**: .net通用解释器包 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-02-23 - **Last Updated**: 2024-02-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Flee (Supports Net6.0, Net5.0, Netstandard2.1, Netstandard2.0) Fast Lightweight Expression Evaluator. Convert this project vb.net to c#. ## 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. ## 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 ### Installing 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.