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.
Matcher::find()
with refactored SIMD (SSE2/AVX2/AVX512BW/NEON/AArch64) code like ugrep 6.0 and with run-time AVX2/AVX512BW detectionWhen using cmake to build, please add a missing lib/simd.cpp
lib source to CMakeLists.txt:
set(lib_sources
lib/simd.cpp
reflex.pc
and reflexmin.pc
and updated configure and makefilesreflex
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.
A minor update to correct a DFA construction problem for POSIX regex lazy quantifiers matching too much in some cases
--[no]yypanic
for Flex++ compatibility%o find
%o find
Matcher::find()
with a new DFA cut algorithm to optimize match prediction speed and accuracy, see also ugrep 5.0
reflex::convert(..., reflex::convert_flag::unicode)
Minor improvements.
\X
to match Unicode characters.
(dot) in the documentation when used with %unicode
-enabled lexers, which is a catch-all pattern e.g. to report lexical errors