CodeHive.DfaLex
1.0.0
dotnet add package CodeHive.DfaLex --version 1.0.0
NuGet\Install-Package CodeHive.DfaLex -Version 1.0.0
<PackageReference Include="CodeHive.DfaLex" Version="1.0.0" />
paket add CodeHive.DfaLex --version 1.0.0
#r "nuget: CodeHive.DfaLex, 1.0.0"
// Install CodeHive.DfaLex as a Cake Addin #addin nuget:?package=CodeHive.DfaLex&version=1.0.0 // Install CodeHive.DfaLex as a Cake Tool #tool nuget:?package=CodeHive.DfaLex&version=1.0.0
Sometimes you need faster and more robust matching than you can get out of DotNet regular expressions. Maybe they're too slow for you, or you get stack overflows when you match things that are too long, or maybe you want to search for many patterns simultaneously. There plenty of lexical analysis tools you can use, but they involve a lot of fuss. They make you write specifications in a domain-specific language, often mixed with code, and then generate new code for a scanner that you have to incorporate into your build and use in pretty specific ways.
DFALex provides that powerful matching capability without all the fuss. It will build you a deterministic finite automaton (DFA, googlable) for a matching/finding multiple patterns in strings simultaneously, which you can then use with various matcher classes to perform searching or scanning operations.
Unlike other tools which use DFAs internally, but only build scanners with them, DFALex provides you with the actual DFA in an easy-to-use form. Yes, you can use it in standard scanners, but you can also use it in other ways that don't fit that mold.
DFALex is written in Java by Matt Timmermans (https://github.com/mtimmerm/dfalex). It was ported to .Net by Magne Rasmussen.
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. |
.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
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.0 | 703 | 1/12/2020 |
0.1.0-prerelease-2020010908... | 345 | 1/9/2020 |