0.2.0
This is a feature release which adds hooks and a few miscellaneous features.
New Features
- Hooks:
- Parsers can now call arbitrary callbacks at arbitrary points like macros
- These hooks get a pointer to the current state and input character
- In the future, these may be used for things like buffering large outputs
- Append-character expressions
- Append expressions can now add individual character codes from a math expression
- e.g:
out_var += [$last - 3];
Bugs Fixed
- Case labels with inverted character classes (or non-erroring Else transitions) would accept too few inputs
- Macros with more than one statement would be truncated
- Custom Else transitions were not properly dealt with by the ambiguous detection logic and so a variety of things involving wildcards would fail in strange ways.
Infrastructure Changes
- NMFU now has a test suite, install the necessary dependencies with the
tests
extra and run withpytest
- NMFU now has CI, see the badge in the README
- NMFU can now build as a snap