Releases: teo-tsirpanis/Farkle
Version 3.1.0-alpha003
- The
GOLDParser
API was replaced in favor of theRuntimeFarkle
type. This means that the parsing and post-procssing operations are unified. - The code became cleaner and faster yet again, with a notable optimization in the tokenizer.
Version 3.1.0-alpha002
- The EGT file reader was replaced with a newer one which is significantly more performant.
- The
GOLDParser
class was removed in favor of the new module with the same name.
Version 3.1.0-alpha001
The reader for GOLD Parser Enhanced Grammar Tables is now based on a Binary Reader, and is faster and more lightweight. To be confirmed
The parser directly generates Abstract Syntax trees, eliminating the need to convert them from reductions, a very hard-to-use type.
The code was yet again simplified and reorganized into different namespaces.
The library became much faster after performance profiling.
Version 3.0.0
- Introduced the RuntimeFarkle API. This allows the user to both parse a string and convert its Abstract Syntax Tree into any type easily.
- Farkle does no more depend on Chessie, using the core library's Result type instead.
- The internal architecture was greatly refactored.
3.0.0-alpha001
A new type named ParseResult will make parsing easier for both F# and C# users.
Changed the way the index of grammar objects is stored.
Version 2.0.0
Overhauled the low-level parser API. It is a simple 5-line type called Parser
. Its new design prevents misusing the API (like continuing parsing on a completed parser state), and decouples it from any implementation.
Also, the GOLDParser class is changed too. It is no more a static class, and its design encourages creating a grammar only once.
Polished the API; changed the names of some types (like Production.Nonterminal
to Head
), added prettier C# names and made some types internal.
And last yet not least... Everything is documented.
Version 2.0.0-beta001
The project is now one NuGet package named Farkle.
The library became faster after performance profiling.
Version 1.0
This is the first release of Farkle!!! 🎉🎊