Releases: teo-tsirpanis/Farkle
Releases · teo-tsirpanis/Farkle
Version 5.0.0
- Fix a bug where the tokenizer would erroneously report an EOF instead of a lexical error. - #8
- Add
CharStream.TryLoadFirstCharacter
. With this method, you can check whether the input of a character stream has ended, and safely accessCharStream.FirstCharacter
. - Bring back
Grammar.StartSymbol
, but implement it correctly this time. - Write more tests and documentation.
Version 4.0.1
- Backport the fix of GitHub issue #8.
Version 5.0.0-rc.7
- Speed-up the tokenizer by using an array that handles ASCII characters.
- Remove
Grammar.StartSymbol
, as it was unreliable, and useless to Farkle. - Remove the
OutputDirectorySuffix
metadata introduced in 5.0.0-rc.5. Generated source files by Farkle.Tools.MSBuild are always added in the same directory as the project.
Version 5.0.0-rc.6
- Fix a breaking error in Farkle.Tools.MSBuild.
- Reduce allocations in the parser.
Version 5.0.0-rc.5
- Fixed a bug which sometimes made Farkle.Tools.MSBuild unusable for C# users.
- Added a new MSBuild item metadata called
OutputDirectorySuffix
which is useful for generating templates in a different directory than the EGT file. - Add a new benchmark which compares a Farkle-made JSON parser to Chiron, which is powered by FParsec. You can see the results of the benchmarks over here.
Version 5.0.0-rc.4
- Fixed a bug which made Farkle.Tools.MSBuild unusable.
Version 5.0.0-rc.3
- The CLI tool got a new property
--namespace
(shortened to-ns
) which is simpler to use and replaces--property
. - Fixed errors in the generated F# code.
Version 5.0.0-rc.2
- The CLI tool generates post-processor skeletons by default.
- The CLI tool can automatically find the EGT file to process (if there is only one in the current directory), and the language (if there are C# or F# projects in the current directory).
- Fixed a bug where generated source files would sometimes have duplicate production names in their enumerated type. - #7
Version 5.0.0-rc.1
- Farkle now has better C# support. Just write
using Farkle.CSharp;
, and you are good to go! - Farkle now has a CLI tool helper. It can generate a grammar definition file that contains the terminal and production types for your grammar, as well as the EGT file in base-64 encoding. It can also create a skeleton source file to help you write a post-processor. What is more, it supports both C# and F#!
- Farkle now has MSBuild integration. You can auto-generate a source file describing your grammar, and not have to carry EGT files around.
- As always, performance was improved, especially in the EGT file reader.
- Breaking change: In your post-processor, if you have functions like
take2Of production (index1, index2) count func
, remove thecount
parameter. - Breaking change: The
Token
type was moved toFarkle.Parser
and is not needed by theAST
type.
Version 4.0.0
- Optimized the way Farkle handles the input stream characters by reducing copies & improving performance.
- Removed all 3rd-party non-Microsoft dependencies.