Release 1.1

by Ulya Trofimovich

This release doesn’t bring in any serious user-visible changes; most of the work concentrated on the internal POSIX disambiguation algorithm used for submatch extraction with --posix-captures option. The old algorithm, introduced in release 1.0, was based on the work of Chris Kuklewicz (outlined on this haskell wiki page and formalized in the paper Tagged Deterministic Finite Automata with Lookahead). Kuklewicz algorithm was replaced with a totally different algorithm based on the work of Satoshi Okui and Taro Suzuki (described in the paper “Disambiguation in Regular Expression Matching via Position Automata with Augmented Transitions”, year 2013). The main effort in this release was in developing proper theoretical foundations for the new algorithm.

As usual, there has been a couple of bug fixes. The list of changes:

  • Replaced Kuklewicz POSIX disambiguation algorithm with Okui algorithm.
  • Optimized GOR1 algorithm (computation of tagged epsilon-closure).
  • Added option --conditions (an alias for -c --start-conditions).
  • Fixed bug #201 Bugs with option: re2c:flags:no-debug-info.
  • Reworked first part of TDFA paper.