Releases: benjamin-hodgson/Pidgin
Releases · benjamin-hodgson/Pidgin
v3.2.3
Fixed
- Overloads for parsing from
ITokenStream
s andParseState
s have been made public as originally intended. Thanks @katherinefluxinc!
v3.2.2
Added
- Support for AOT/trimming deployment scenarios.
v3.2.1
v3.2.0
Added
- Four new combinators:
ManyThen
,AtLeastOnceThen
,SkipManyThen
, andSkipAtLeastOnceThen
Changed
v3.1.0
Added
- A pair of parsers for enum values,
Enum
andCIEnum
. Thanks @RomanSoloweow!
v3.0.0
Removed
- Removed support for .NET 4 and .NET Core 3.1. Pidgin is now a .NET 5 library.
Added
- Published the (previously internal)
TokenStream
API. You can now write parsers which consume custom input streams. - Support for resumable parsing, through the
ResumableTokenStream
class. - An experimental API for writing your own parsers by subclassing
Parser
.
Changed
Parser.Real
is now a property and not a method.- A new design for computing source positions.
posCalculator
now returns aSourcePosDelta
struct representing the amount of text covered by a token, rather than updating the current source position in place.- Performance improvements in the code which computes source positions.
- The
Parse
methods inParseExtensions
now take anIConfiguration
object as an optional parameter (instead of aposCalculator
func).- If you were using
posCalculator
, you can instead subclassDefaultConfiguration
and override thePosCalculator
property.
- If you were using
- Performance improvements across the board thanks to a new
Span
-based implementation. - Performance improvements in
SkipWhitespaces
. - A new CI build system based on GitHub Actions.