Piglet 1.4 released

Another release of Piglet! It’s been some time since the last release, and here are the major new features. Get it on NuGet or fork away on Github.

Performance

Parser construction and and especially lexer construction speeds are vastly improved. The main feature here is improved lexing speed, especially when you are handling lange and overlapping character sets.

Useability

Prioritize constants in rule over expressions. When writing constants in rules they now receive higher priority than expressions previously written. This reduces the amount of expressions the user needs, and is the normal right thing to do anyway.

Unicode support is now improved. \w and \d now handles the same ranges as normal MS regular expressions.

Thread safety

Both the lexer and the parser are now thread safe. The lexer interface is slightly changed in order to accommodate this. Lexers now include the Tokenize method which is way better to read token streams than the previous for loop.

Piglet also has a new icon in nuGet!

Bug fixes

A few bug fixes has also been sneaked in.

For full details, check the github list of issues for release 1.4. Please report any and all problems or issues on GitHub, or why not ask a question on stack overflow? Make sure to tag it with piglet to make sure someone spots it.

Leave a comment