EveryParser.Net
1.0.6
dotnet add package EveryParser.Net --version 1.0.6
NuGet\Install-Package EveryParser.Net -Version 1.0.6
<PackageReference Include="EveryParser.Net" Version="1.0.6" />
<PackageVersion Include="EveryParser.Net" Version="1.0.6" />
<PackageReference Include="EveryParser.Net" />
paket add EveryParser.Net --version 1.0.6
#r "nuget: EveryParser.Net, 1.0.6"
#:package EveryParser.Net@1.0.6
#addin nuget:?package=EveryParser.Net&version=1.0.6
#tool nuget:?package=EveryParser.Net&version=1.0.6
EveryParser.Net
Description
This parser is for "everything in your life!" as you need inside your projects. This parser is an easy to use expression parser library. It can not like the most parsers only calculate math, it can also calculate logical boolean expressions, working with strings calculation and date/time expressions.
This project repository is only for .Net-Core we are currently working on an integration for many other programming languages. It's planed for Java, Python, Typescript and Ruby.
Installation Instructions
The recommended way to get EveryParser.Net is to use NuGet. The following packages are provided and maintained in the public .
Usage
The know how to use, look at our Wiki of this project or the quick start below. You can also check out the tests written for this project.
To create the C# classes from AntLR use the following command: java -jar antlr-4.10.1-complete.jar -Dlanguage=CSharp EveryGrammar.g4 -o ".antlr" -package "EveryParser"
Quick Start
If you just want to evaluate with no thinking of own parameters or errors:
Expression.CalculateDecimal("IndexOf([1,2,3], 1)")
Results in ⇒ 0
If you have an expression with variables from outside the formular:
var expr = new Expression("variable1 + variable2"); var arguments = expr.GetFormularArgumentNames(); if (arguments.Any()) { expr.AddArgument("variable1", 1); expr.AddArgument("variable2", 2); } expr.CalculateDecimal();
Results in ⇒ 3
If you want to check for errors from the evaluation of an expression:
var expr = new Expression("# + ! * testfunc(1)"); expr.Calculate(); if (expr.HasErrors) for(int i = 0; i < expr.CalculationErrors.Length; ++i) Console.WriteLine(expr.CalculationErrors[i].Item2);
Returns all errors you receive from the evaluation
Contributing
We call it EveryParser and we mean it in all ways. If you think there is something missing or you need some more functions, let us know with an Issue or feel free to create a pull request.
Thanks
Thanks to all contributors for this project. Also thanks to the team behind ANTLR, Math.Net, XUnit and also Microsoft .Net.
License
The project runs under the MIT License.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- Antlr4.Runtime.Standard (>= 4.13.1)
- MathNet.Numerics (>= 5.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.