Skip to content

Commit

Permalink
released 4.0.0
Browse files Browse the repository at this point in the history
- 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)
  • Loading branch information
genivia-inc committed Feb 18, 2024
1 parent ba32317 commit 40db42d
Show file tree
Hide file tree
Showing 325 changed files with 5,069 additions and 1,829 deletions.
16 changes: 9 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,7 @@ Usage
There are two ways you can use this project:

1. as a scanner generator for C++, similar to Flex;
2. as a flexible regex matching API for C++.
2. as a flexible regex library API for C++.

For the first option, simply build the **reflex** tool and run it on the
command line on a lexer specification:
Expand All @@ -267,7 +267,8 @@ Several examples are included to get you started. See the [manual][manual-url]
for more details.

For the second option, simply use the RE/flex matcher API classes to start
pattern matching on strings, wide strings, files, and streams.
pattern search, matching, splitting and scanning on strings, wide strings,
files, and streams.

You can select matchers that are based on different regex engines:

Expand Down Expand Up @@ -422,7 +423,7 @@ License and copyright
---------------------

RE/flex by Robert van Engelen, Genivia Inc.
Copyright (c) 2016-2020, All rights reserved.
Copyright (c) 2016-2023, All rights reserved.

RE/flex is distributed under the BSD-3 license LICENSE.txt.
Use, modification, and distribution are subject to the BSD-3 license.
Expand Down Expand Up @@ -565,17 +566,18 @@ Changelog
- Jan 24, 2023: 3.3.0 overall update; corrected a problem with Unicode characters in regex patterns adjacent to curly braces; permit cxx extension in FSM filename output.
- Mar 6, 2023: 3.3.1 for consistency include NAME in default header file name, tables file name, and graphs file name when option `--prefix` is specified.
- Mar 17, 2023: 3.3.2 fix a performance issue with case-insensitive pattern construction.
- May 28, 2023: 3.3.3 fix `yyrestart` dropping the first character; faster `find()`.
- May 31, 2023: 3.3.4 fix `find()` initialization issue in 3.3.3.
- May 28, 2023: 3.3.3 fix `yyrestart` dropping the first character; faster `Matcher::find()`.
- May 31, 2023: 3.3.4 fix `Matcher::find()` initialization issue in 3.3.3.
- Jun 12, 2023: 3.3.5 improve source code output of lexer class definitions.
- Jul 11, 2023: 3.3.6 faster `find()`; improved `--stdout` to include tables.
- Jul 17, 2023: 3.3.7 faster `find()`.
- Jul 11, 2023: 3.3.6 faster `Matcher::find()`; improved `--stdout` to include tables.
- Jul 17, 2023: 3.3.7 faster `Matcher::find()`.
- Aug 4, 2023: 3.3.8 minor update to sync up the code base with the ugrep project.
- Aug 16, 2023: 3.3.9 fix avx512bw compilation error; new LineMatcher matching engine.
- Sep 16, 2023: 3.4.0 fix `FuzzyMatcher::DEL` flag when this is the only flag selected; fix `FuzzyMatcher::matches()` bug that incorrectly matched an extra character before the end of the input; optimize `find()`; updated saving the FSM `pred[]` hashes to a file, which has changed; increase default buffer size `REFLEX_BUFSZ` to 128K for best throughput performance.
- Sep 25, 2023: 3.4.1 make word boundaries `\b`, `\B`, `\<` and `\>` applicable anywhere in a pattern.
- Oct 7, 2023: 3.5.0 updated to Unicode 15.1; clarify `.` (dot) with `%unicode` enabled, which is a catch-all pattern; update `\X` to match only valid Unicode characters.
- Nov 5, 2023: 3.5.1 minor improvements.
- Feb 17, 2024: 4.0.0 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)`.

[logo-url]: https://www.genivia.com/images/reflex-logo.png
[reflex-url]: https://www.genivia.com/reflex.html
Expand Down
Binary file removed bin/win32/reflex.exe
Binary file not shown.
Binary file modified bin/win64/reflex.exe
Binary file not shown.
16 changes: 8 additions & 8 deletions doc/html/abslexer_8h.html

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 6 additions & 6 deletions doc/html/abslexer_8h__incl.map
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<map id="abslexer.h" name="abslexer.h">
<area shape="rect" id="node2" href="$input_8h.html" title="RE/flex input character sequence class. " alt="" coords="175,155,272,181"/>
<area shape="rect" id="node9" href="$absmatcher_8h.html" title="RE/flex abstract matcher base class and pattern matcher class. " alt="" coords="430,80,566,107"/>
<area shape="rect" id="node2" href="$input_8h.html" title="RE/flex input character sequence class. " alt="" coords="132,155,229,181"/>
<area shape="rect" id="node9" href="$absmatcher_8h.html" title="RE/flex abstract matcher base class and pattern matcher class. " alt="" coords="429,80,565,107"/>
<area shape="rect" id="node3" href="$utf8_8h.html" title="RE/flex UCS to UTF&#45;8 converters. " alt="" coords="242,229,333,256"/>
<area shape="rect" id="node10" href="$convert_8h.html" title="RE/flex regex converter. " alt="" coords="554,155,666,181"/>
<area shape="rect" id="node14" href="$debug_8h.html" title="RE/flex debug logs and assertions. " alt="" coords="690,155,794,181"/>
<area shape="rect" id="node16" href="$traits_8h.html" title="Type traits for (non&#45;)const type inference. " alt="" coords="818,155,917,181"/>
<area shape="rect" id="node17" href="$simd_8h.html" title="RE/flex SIMD intrinsics. " alt="" coords="941,155,1039,181"/>
<area shape="rect" id="node10" href="$convert_8h.html" title="RE/flex regex converter. " alt="" coords="597,155,709,181"/>
<area shape="rect" id="node14" href="$debug_8h.html" title="RE/flex debug logs and assertions. " alt="" coords="733,155,837,181"/>
<area shape="rect" id="node16" href="$traits_8h.html" title="Type traits for (non&#45;)const type inference. " alt="" coords="861,155,959,181"/>
<area shape="rect" id="node17" href="$simd_8h.html" title="RE/flex SIMD intrinsics. " alt="" coords="984,155,1081,181"/>
<area shape="rect" id="node11" href="$error_8h.html" title="RE/flex regex errors. " alt="" coords="509,229,604,256"/>
</map>
2 changes: 1 addition & 1 deletion doc/html/abslexer_8h__incl.md5
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1c4803173d713f3e70d5f4919a45bcaa
0352b9a3674ae57a779bfd1f30b47c0d
Binary file modified doc/html/abslexer_8h__incl.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 3 additions & 2 deletions doc/html/absmatcher_8h.html

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion doc/html/absmatcher_8h__incl.md5
Original file line number Diff line number Diff line change
@@ -1 +1 @@
4303d2f58b9c50637db437e3b27c97ae
d26621782a4a27fd515df001e9c599d0
Binary file modified doc/html/absmatcher_8h__incl.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions doc/html/annotated.html

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions doc/html/bits_8h.html

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions doc/html/boostmatcher_8h.html

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion doc/html/boostmatcher_8h__incl.map
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<map id="boostmatcher.h" name="boostmatcher.h">
<area shape="rect" id="node2" href="$absmatcher_8h.html" title="RE/flex abstract matcher base class and pattern matcher class. " alt="" coords="649,80,785,107"/>
<area shape="rect" id="node2" href="$absmatcher_8h.html" title="RE/flex abstract matcher base class and pattern matcher class. " alt="" coords="710,80,846,107"/>
<area shape="rect" id="node3" href="$convert_8h.html" title="RE/flex regex converter. " alt="" coords="346,155,458,181"/>
<area shape="rect" id="node10" href="$debug_8h.html" title="RE/flex debug logs and assertions. " alt="" coords="57,155,161,181"/>
<area shape="rect" id="node12" href="$input_8h.html" title="RE/flex input character sequence class. " alt="" coords="484,155,581,181"/>
Expand Down
2 changes: 1 addition & 1 deletion doc/html/boostmatcher_8h__incl.md5
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0a87c013105ca55d33b6d37a9c374d03
32fc3ae52f8e0a18b5622f06f0a6371e
Binary file modified doc/html/boostmatcher_8h__incl.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions doc/html/class_reflex-members.html

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions doc/html/class_reflex.html

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 40db42d

Please sign in to comment.