Skip to content

0.4.0a1

Pre-release
Pre-release
Compare
Choose a tag to compare
@mincrmatt12 mincrmatt12 released this 04 Aug 22:44
· 142 commits to master since this release

This is an early preview of some of the new features in the upcoming 0.4.0 release.

New Features

  • Conditional blocks: if/elif/else statements now exist (be41210, f3f71de).
  • Boolean expressions: || and &&, as well as comparison operators (baa2ba1, 3369969)
  • Binary matches (8b2f09b, e202041):
    • Strings and regexes can now be made "binary", where instead of them having characters they instead only contain hex.
    • For example, "f0 0ffa"b or b/ff+ (3456|56 77{2-3})/.
    • This also adds support for \xHH escapes within normal strings.
  • Option for dumping the parse tree for debugging (1b7242a).

Bugs Fixed

  • Better ambiguity detection and resolution for chaining matches, especially those with inverted matches (1026f83).
  • Properly handle actions after certain blocks when there is nothing following them (c5f1806).
  • Correct short-circuit behaviour for action side-effects (such as outofspace handling) (bbda784).
  • More accurate line/column information for errors concerning regexes (92cd8f2).

Infrastructure Changes

  • Certain integration tests now check for both compilation success and correct matching (a2fb61a)
  • Code coverage is now reported in CI (2b9152f)
  • More tests, both for new and old features. (lots)