Jammo.ParserTools 1.2.1

Suggested Alternatives

TokenCs

Additional Details

This library was hastily patched together without any thought for scalability. Use the remade version instead.

There is a newer version of this package available.
See the version list below for details.
dotnet add package Jammo.ParserTools --version 1.2.1
NuGet\Install-Package Jammo.ParserTools -Version 1.2.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Jammo.ParserTools" Version="1.2.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Jammo.ParserTools --version 1.2.1
#r "nuget: Jammo.ParserTools, 1.2.1"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Jammo.ParserTools as a Cake Addin
#addin nuget:?package=Jammo.ParserTools&version=1.2.1

// Install Jammo.ParserTools as a Cake Tool
#tool nuget:?package=Jammo.ParserTools&version=1.2.1

Jammo.ParserTools

Nuget: https://www.nuget.org/packages/Jammo.ParserTools/

A library of tools I frequently use when parsing text

Tokenizer

Constructors:

Tokenizer: (new) Tokenizer(input, [options]), IEnumerable<BasicToken>: Tokenizer.Tokenize(input, [options])


A take on IEnumerable which allows for manual .Next calls (moves the iterator forward) The tokenizer class provides BasicToken(s) based on input data

Lexer

Constructors:

Lexer: (new) Lexer(tokenizer), IEnumerable<LexerToken> Lexer.Lex(input, [tokenizer-options])

Provides a basic enum based wrapper for tokenization.

StateMachine

Constructors:

StateMachine: (new) StateMachine<Enum>()


IParserStream

Meant to be used alongside a parser to wrap a FileStream for easy Read/Write using fields. Exposes IsInitialized, FilePath, Parse, Write, and WriteTo.

Product 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 netcoreapp3.1 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETCoreApp 3.1

    • No dependencies.

NuGet packages (4)

Showing the top 4 NuGet packages that depend on Jammo.ParserTools:

Package Downloads
SettingsConfig

Basic library for storing settings

Jammo.TextAnalysis

A package meant for analysis of multiple programming languages and file extensions.

YASF

Library for parsing settings in an easy to use format.

BakedEnv

A scripting language built in C#, for C#.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.8.0 630 4/23/2022
1.7.3 467 1/10/2022
1.7.2 1,059 1/4/2022
1.7.1 459 12/30/2021
1.7.0 828 11/14/2021
1.6.0 516 11/6/2021
1.5.4 645 10/29/2021
1.5.3 556 10/27/2021
1.5.2 515 10/23/2021
1.5.0 510 10/21/2021
1.4.0 544 10/14/2021
1.3.1 520 10/13/2021
1.3.0 547 10/10/2021
1.2.2 669 10/10/2021
1.2.1 663 10/10/2021
1.2.0 614 9/26/2021
1.1.40 531 9/24/2021
1.1.36 649 9/24/2021
1.1.34 770 9/24/2021
1.1.3 506 9/17/2021
1.1.2 526 9/16/2021
1.1.1 1,103 9/16/2021
1.1.0 625 9/11/2021
1.0.0 573 9/11/2021

Add two new lexer options
- IncludeUnderscoreAsAlphabetic
- IncludePeriodAsNumeric

Rename LexerTokenId.Minus to Dash
Rename LexerTokenId.Exclamation to ExclamationMark

Fixed Tokenizer.SkipWhile bug where a token was always skipped at least once