Skip to content
Fast Lightweight Expression Evaluator
C# JavaScript
Branch: master
Clone or download
Latest commit a7b3932 Jan 18, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
nuget merge pr35 & pr pr31 Oct 19, 2018
src Fixed the In operand only accepting Int values. Nov 13, 2018
test merge pr35 & pr pr31 Oct 19, 2018
.gitattributes First Apr 10, 2017
.gitignore Add proper gitignore and apply it retroactively Jul 28, 2017
Flee.sln added strong name key May 18, 2018
README.markdown Update README.markdown Jan 18, 2019


Flee (Supports .Net Core 2.0)

Fast Lightweight Expression Evaluator. Convert this project 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.


  • 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:

Install-Package Flee

Or via the .NET Core command line interface:

dotnet add package Flee

NuGet Packages

Name NuGet
Flee Flee

More information

  • Examples to learn how to create and evaluate expressions.


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.

You can’t perform that action at this time.