Version 6.0.0-alpha.3
Pre-release
Pre-release
- Breaking change: .NET Framework 4.5 is no longer supported. The library targets .NET Standard 2.0, .NET Standard 2.1 and .NET 5.
- Breaking change: Logging parser events is no longer supported. The logging function was removed from the signatures of parser APIs.
- Breaking change: The function
LALRParser.parseLALR
was renamed toLALRParser.parse
. - Breaking change: The
Farkle.Parser.OptimizedOperations
type was made internal. - Breaking change: Transformers no longer take the position of a terminal, but an
ITransformerContext
type containing more information. - Breaking change: Farkle's exception types were refactored. They inherit from
FarkleException
. - Breaking change: Post-processor exceptions are wrapped inside a
PostProcessorException
and thrown to user code. - Breaking change: Only objects of type
PrecompilableDesigntimeFarkle
can be marked for precompilation. - Minor breaking change: The
Transformers
andFusers
properties were removed from theFarkle.Builder.GrammarDefinition
type. - Farkle will now optimize precompilable designtime Farkles using dynamic code generation. This feature is only supported on .NET Standard 2.1 if the runtime supports dynamic code compilation.
- An API for the
CharStream
type was published. - An API for getting precompiled grammars was published.
- The tokenizer can be extended by user code. TODO: write documentation
- The runtime Farkle's extension methods became regular methods.
- Exceptions that might occur when a precompiled grammar fails to be loaded can be suppressed with an
AppContext
switch.