NuGet Package MultiParse

MultiParse is a mathematical expression parser written in the .NET framework.

The focus of the project is building a highly customizable expression parser. This involves custom types, custom operators and custom functions. Also dynamic/static variables are perfectly feasible.
Find the project with more documentation at!

- Custom user-defined data types
C# native data types have been implemented
Byte/byte, Char/char, SByte/sbyte
Int16/short, UInt16/ushort, Int32/int, UInt32/uint, Int64/long, UInt64/ulong, Decimal/decimal
String/string (supports C# escape sequences including unicode \xX(XXX) \uXXXX and \UXXXXXXXX)
Single/float, Double/double
DateTime is not implemented as it does not have a literal format in C#. But it can be implemented by the user.
- Variables, static and dynamic.
- Custom user-defined operators
Default C# binary operators have been implemented for all native data types
Arithmetic operators: +, -, *, /, %
Relational operators: <=, >=, <, >, ==, !=
Logical operators: &, |, ^
Conditional operators: ||, &&
Default C# unary operators have been implemented for all native data types
Arithmetic operators: +, -
Logical operators: ~
Conditional operators: !
Explicit type casts: eg.

(Boolean), (int), etc.
- Customizable functions
Default C# Math functions have been implemented
Generic functions: Abs(), Ceiling(), Exp(), Floor(), Log(), Log10(), Max(), Min(), Pow(), Round(), Sign(), Sqrt(), Truncate()
Trigometric functions: Acos(), Asin(), Atan(), Atan2(), Cos(), Sin(), Tan()
Hyperbolic functions: Cosh(), Sinh(), Tanh()
- Compilation at first evaluation
Subsequent evaluations will use the compiled action queue.


Version: 1.0.0
Author(s): sboulang
Last Update: Monday, April 7, 2014
.NET Fiddle: Create the first Fiddle
Project Url:
NuGet Url:

Install-Package NuGet.MultiParse
dotnet add package NuGet.MultiParse
paket add NuGet.MultiParse
NuGet.MultiParse Download (Unzip the "nupkg" after downloading)