0.8.0
Breaking changes
- Minor, this release removes the
JsonError::UnexpectedToken
variant, as the tokenizer is no longer present. - All deprecated functions and methods have been removed.
No tokenizer
This version introduces a major overhaul of the parser. Initially, this project was born as a sidekick to a JavaScript parser of mine. Since JSON is a subset of JavaScript it was easy for me to reuse most of the parser and code generator.
The parser in HoneyBadger is, for very good reasons, using a separate tokenizer as an intermediate layer between source code and AST. JSON as it turns out is a very simple format, and having a tokenizer is very much an overkill. This release removes the tokenizer and makes the parser read directly from the byte source, which combined with a series of other tweaks increases parsing performance dramatically.
Much fix, very wow
Thanks to @dtolnay this release also includes a whole bunch of fixes to some edge cases of both the parser and code generator.