UniversalExpressionParser 1.1.0
dotnet add package UniversalExpressionParser --version 1.1.0
NuGet\Install-Package UniversalExpressionParser -Version 1.1.0
<PackageReference Include="UniversalExpressionParser" Version="1.1.0" />
<PackageVersion Include="UniversalExpressionParser" Version="1.1.0" />
<PackageReference Include="UniversalExpressionParser" />
paket add UniversalExpressionParser --version 1.1.0
#r "nuget: UniversalExpressionParser, 1.1.0"
#addin nuget:?package=UniversalExpressionParser&version=1.1.0
#tool nuget:?package=UniversalExpressionParser&version=1.1.0
UniversalExpressionParser is a library for parsing functional expressions.
The parsed language format is specified in implementation of UniversalExpressionParser.IExpressionLanguageProvider.
The library supports expressions of the following types among others: functions, literals (variables), numeric values (parsed by specifying regular expressions), texts keywords, prefixes, postfixes, code blocks and code separators, (e.g., {var x = y+z++;++x;}), line and block comments, operators with priorities specified in UniversalExpressionParser.IExpressionLanguageProvider, custom expression parsers to handle non-standard situations, etc.
The parser returns a structure that stores the results of parsing which also includes the list of parse errors, if any.
The parser was tested by simulated tests that randomly generate thousands of parsed expressions and parse those expressions.
NOTE: The source code is available at https://github.com/artakhak/UniversalExpressionParser. The documentation with good demos of example expressions, code to parse the expressions and visualized parse results reference https://universalexpressionparser.readthedocs.io/en/latest/summary.html.
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 | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. 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.0
- OROptimizer.Shared (>= 2.2.0)
- TextParser (>= 1.1.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on UniversalExpressionParser:
Package | Downloads |
---|---|
TestsSharedLibraryForCodeParsers
A library for test projects for code parsers (such as UniversalExpressionParser). The interfaces/classes in this library most probably improvements will be made in the future to the design of interfaces in this library. Therefore, use this library at your own risk. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.1.0 | 143 | 14 days ago |
1.0.5 | 134 | 14 days ago |
1.0.4 | 140 | 5 months ago |
1.0.3 | 535 | 5/7/2022 |
1.0.2 | 450 | 5/7/2022 |
1.0.1 | 439 | 5/7/2022 |
1.0.1-beta | 210 | 3/1/2022 |
1.0.0 | 496 | 5/5/2022 |
1.0.0-beta | 183 | 3/1/2022 |
Same as 1.0.1, however, changed the version to better reflect the bearking changes.
Includes the following changes.
-BREAKING CHANGE: Referencing the latest version of OROptimizer.Shared (2.2.0).
The log4net classes in OROptimizer.Shared, 2.2.0 were moved to a new library OROptimizer.Shared.Log4Net,
therefore projects that used these classes in OROptimizer.Shared will need reference the package OROptimizer.Shared.Log4Net and use similar classes in namespace OROptimizer.Log4Net in that package.
-BREAKING CHANGE: Added ILog parameter to constructor of UniversalExpressionParser.ExpressionParser to use instead requiring the users of UniversalExpressionParser.IExpressionParser
to set the value of ambient context value OROptimizer.Diagnostics.Log.Context before using the class.
-BREAKING CHANGE: Added properties SpecialOperatorCharacters and SpecialNonOperatorCharacters that were static filds in a different
class to allow customozation to these lists.
-Typo fix in method calls TextParser.ITextSymbolsParser.MoveToToPosition after the method was renamed in TextParser package.
-Added a helper method UniversalExpressionParser.Helpers.GetOperatorName
-Small fix in error reporting. In some situations invalid character was showing in error message instead of a brace.