Info
Version: | 1.0.0 |
Author(s): | sboulang |
Last Update: | Monday, April 7, 2014 |
.NET Fiddle: | Create the first Fiddle |
Project Url: | https://nuget.org/packages/NuGet.MultiParse |
NuGet Url: | https://www.nuget.org/packages/NuGet.MultiParse |
Install
Install-Package NuGet.MultiParse
dotnet add package NuGet.MultiParse
paket add NuGet.MultiParse
NuGet.MultiParse Download (Unzip the "nupkg" after downloading)
Dependencies
- log4net(1.2.10)
Tags
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 http://multiparse.codeplex.com/!
Features:
- Custom user-defined data types
C# native data types have been implemented
Boolean/bool
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.