Skip to content

Releases: Genivia/RE-flex

reflex v4.1.0

05 Mar 18:07
Compare
Choose a tag to compare

What's new?

  • improved lazy quantifiers for POSIX regex lazy matching in linear time (i.e. no backtracking) using an advanced DFA transformation algorithm first introduced in RE/flex in 2016 and extended in this release
  • add option --[no]yypanic for Flex++ compatibility

reflex v4.0.1

23 Feb 17:09
Compare
Choose a tag to compare

What's new?

  • improved option %o find
  • two new examples, including an AWK-like fast search demo in C++, to demonstrate option %o find
  • fix #195

reflex v4.0

18 Feb 19:54
Compare
Choose a tag to compare

What's new?

  • faster Matcher::find() with a new DFA cut algorithm to optimize match prediction speed and accuracy, see also ugrep 5.0
  • apply Unicode pattern canonicalization with reflex::convert(..., reflex::convert_flag::unicode)

reflex v3.5.1

05 Nov 19:08
Compare
Choose a tag to compare

Minor improvements.

reflex v3.5.0

07 Oct 18:21
Compare
Choose a tag to compare
  • updated to Unicode 15.1
  • update \X to match Unicode characters
  • clarify . (dot) in the documentation when used with %unicode-enabled lexers, which is a catch-all pattern e.g. to report lexical errors

reflex v3.4.1

25 Sep 15:23
Compare
Choose a tag to compare

Word boundary anchors (\<, \>, \b and \B) can now be used anywhere in a pattern with the default RE/flex regex engine. Backtracking on word boundary anchors is performed by the regex engine to match input when anchors are embedded in a regex pattern (not at the ends of a pattern) such as bar.*\bfoo.

However, no backtracking is performed by the fast directly-coded DFA engines generated with --fast, which means that word boundary anchors that require backtracking, such as bar.*\bfoo, may not match with --fast. Please note that tokenizers and scanners typically don't use word boundaries in their patterns, but this new feature was added as part of a general RE/flex regex pattern library update and is also supported by its fuzzy matcher variant.

reflex v3.4.0

16 Sep 19:04
Compare
Choose a tag to compare
  • fix FuzzyMatcher::DEL flag when this is the only flag selected for fuzzy matching
  • fix FuzzyMatcher::matches() bug that in some cases incorrectly matched an extra character before the end of the input
  • optimize find() for faster pattern searching
  • updated saving the FSM pred[] hashes to a file, which has changed slightly to implement additional optimizations
  • increase default buffer size REFLEX_BUFSZ to 128K from 64K for best throughput performance

reflex v3.3.8

04 Aug 18:09
Compare
Choose a tag to compare

Minor update to sync up the code base with the ugrep project.

reflex v3.3.7

17 Jul 18:06
Compare
Choose a tag to compare

Faster find() with additional SIMD acceleration intrinsics.

reflex v3.3.6

11 Jul 17:50
Compare
Choose a tag to compare

Faster find(); improved reflex --stdout option to include FSM tables.