Genivia RE Flex Versions Save

A high-performance C++ regex library and lexical analyzer generator with Unicode support. Extends Flex++ with Unicode support, indent/dedent anchors, lazy quantifiers, functions for lex and syntax error reporting and more. Seamlessly integrates with Bison and other parsers.

v4.3.0

1 week ago

What's new?

  • faster Matcher::find() with refactored SIMD (SSE2/AVX2/AVX512BW/NEON/AArch64) code like ugrep 6.0 and with run-time AVX2/AVX512BW detection
  • increased default internal input buffer size

Note

When using cmake to build, please add a missing lib/simd.cpp lib source to CMakeLists.txt:

set(lib_sources
  lib/simd.cpp

v4.2.1

1 month ago

What's new?

  • minor update to adjust the current input pointer by one when not matching anything

v4.2.0

1 month ago

What's new?

  • new pkg-config files reflex.pc and reflexmin.pc and updated configure and makefiles
  • minor update of reflex command option -p to permit empty lexer specifications #202 (*)

*) performance profiling statistics are collected for lexer rules execution, i.e. when no rules are specified no meaningful performance statistics are collected.

v4.1.2

2 months ago

What's new?

  • updated configure scripts with improved cross compilation and improved SIMD CPU extension detection
  • cast negative ctype function arguments (problem detected on NetBSD 10 #198)
  • verified on ARM6 (Debian), ARM7 (Debian), AArch64 (MacOS M1, Android termux), x86_64 (MacOS Intel, Cygwin, Debian)

v4.1.1

2 months ago

What's new?

A minor update to correct a DFA construction problem for POSIX regex lazy quantifiers matching too much in some cases

v4.1.0

2 months ago

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

v4.0.1

2 months ago

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

v4.0.0

3 months ago

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)

v3.5.1

6 months ago

Minor improvements.

v3.5.0

7 months ago
  • 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