./devel/RE-flex, Fast lexical analyzer generator for C++ with full Unicode support

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 4.1.2, Package name: RE-flex-4.1.2, Maintainer: pkgsrc-users

RE-flex is a regex-centric, fast lexical analyzer generator for C++
with full Unicode support.

Faster than Flex and other regex matchers. Accepts Flex
specifications. Generates reusable source code that is easy to
understand. Easily integrates with Bison and other parsers. Includes
a fast stand-alone regex engine and library.

It also can use regex matchers from boost or pcre2, as well as
visualizing FSM graphs with graphviz.


Required to run:
[devel/bison]

Required to build:
[pkgtools/cwrappers]

Package options: examples

Master sites:

Filesize: 6445.782 KB

Version history: (Expand)


CVS history: (Expand)


   2024-03-27 14:59:35 by Thomas Klausner | Files touched by this commit (2)
Log message:
RE-flex: fix doxygen option

Fix configure argument.

From Malte Dehling.
   2024-03-21 21:44:41 by Thomas Klausner | Files touched by this commit (13) | Package updated
Log message:
devel/RE-flex: Update to v4.1.2

Prepared by Malte Dehling in wip.

pkgsrc change: turn off cpu-optimization option by default.

Dec 10, 2021: 3.1.0 improved buffering mechanism with reduced buffer sizes; \ 
faster columno() for long lines; fix CP-1251 table typo.
Feb 20, 2022: 3.2.0 new %option ctorinit; faster compilation of regular \ 
expressions to tables and direct code DFAs; refactored SIMD source code to \ 
enable AVX2 and AVX512BW optimizations in multi-version matcher code; updated \ 
Windows binary file opening.
Feb 23, 2022: 3.2.1 regression bug in 3.2.0 fix.
Mar 13, 2022: 3.2.2 minor improvements.
Apr 2, 2022: 3.2.3 fixed C++17 compliance and dso build.
Apr 29, 2022: 3.2.4 new %begin directive; new --batch=SIZE option argument.
Apr 30, 2022: 3.2.5 minor correction.
May 6, 2022: 3.2.6 improved fuzzy matcher.
May 10, 2022: 3.2.7 improved fuzzy matcher, see also \ 
https://github.com/Genivia/FuzzyMatcher.
Jul 6, 2022: 3.2.8 minor update to correct a lexer file parsing issue in the \ 
reflex code generator tool.
Aug 12, 2022: 3.2.9 add cmake rules for Windows builds.
Aug 21, 2022: 3.2.10 bug fix in regular expression converter.
Aug 29, 2022: 3.2.11 new lua2lisp transpiler example with Bison complete symbols \ 
and locations.
Jan 6, 2023: 3.2.12 regression bug fix in trailing context pattern matching, \ 
e.g. xy and x/x patterns collided when they should not; updated yaml parser \ 
example.
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 \ 
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 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).
Feb 23, 2024: 4.0.1 new rawk example to demonstrate awk-like fast search in C++; \ 
enable <<EOF>> rules for option find to generate a fast search \ 
engine.
Mar 5, 2024: 4.1.0 improved lazy quantifiers for POSIX regex lazy matching in \ 
linear time using an advanced DFA transformation algorithm introduced in RE/flex \ 
in 2016.
Mar 11, 2024: 4.1.1 minor update to correct a DFA construction problem for POSIX \ 
regex lazy quantifiers matching too much in some cases.
Mar 17, 2024: 4.1.2 updated configure scripts; cast negative ctype function \ 
arguments (problem detected on NetBSD 10).
   2021-11-28 21:22:33 by Sean Cole | Files touched by this commit (5) | Package updated
Log message:
Updated to 3.0.12

Sep 20, 2020: 2.1.5 added matcher method lineno(n) to set or change the line \ 
number to n; added yyset_lineno(n,s) to flexlexer.h; updated Mini C compiler \ 
example.
Oct 12, 2020: 3.0.0 fixed a regression bug since v2.x; redesigned internals to \ 
increase IO efficiency and regex pattern search speed.
Oct 24, 2020: 3.0.1 improved handling of UTF-16/32 file encodings on Windows to \ 
prevent ^Z eof when files are opened in text mode.
Mar 16, 2021: 3.0.2 minor improvements and additions; fixed MinGW builds.
Apr 29, 2021: 3.0.3 fixed reflex::Input copy constructor; minor improvements.
May 27, 2021: 3.0.4 improvements and fixes for minor issues.
Jun 1, 2021: 3.0.5 minor usability improvements; changed \d to match Unicode \ 
when option unicode is enabled.
Jun 4, 2021: 3.0.6 minor improvements.
Jun 6, 2021: 3.0.7 updated examples to fix build problems.
Jul 15, 2021: 3.0.8 minor improvements.
Jul 22, 2021: 3.0.9 SIMD code split into simd_avx2.cpp and simd_avx512bw.cpp to \ 
support runtime CPU ID checking when the library is built with ./configure; \ 
make, disable AVX with ./configure --disable-avx, disable SSE2 with ./configure \ 
--disable-sse2; UTF-16LE BOM detection correction.
Aug 14, 2021: 3.0.10 fixed missing simd.h after installation, added \ 
REFLEX_BUFFER_SIZE to customize the initial size and growth of the input buffer.
Sep 14, 2021: 3.0.11 minor change to apply --prefix to the generated \ 
REFLEX_code_[PREFIX]STATE code.
Oct 11, 2021: 3.0.12 updated to Unicode 14; fixed a compilation issue with \ 
--params when used with --flex.
   2021-10-26 12:20:11 by Nia Alarie | Files touched by this commit (3016)
Log message:
archivers: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes

Could not be committed due to merge conflict:
devel/py-traitlets/distinfo

The following distfiles were unfetchable (note: some may be only fetched
conditionally):

./devel/pvs/distinfo pvs-3.2-solaris.tgz
./devel/eclipse/distinfo eclipse-sourceBuild-srcIncluded-3.0.1.zip
   2021-10-07 15:44:44 by Nia Alarie | Files touched by this commit (3017)
Log message:
devel: Remove SHA1 hashes for distfiles
   2020-08-28 21:17:15 by Sean Cole | Files touched by this commit (2) | Package updated
Log message:
Updated to 2.1.4

Aug 3, 2020: 2.1.3 improved --bison-bridge option; updated examples.
Aug 19, 2020: 2.1.4 changed IN_HEADER to yyIN_HEADER when --flex is used with \ 
--header-file; added reflex::Input::Handler event handler for custom handling of \ 
FILE* errors and non-blocking FILE* streams.
   2020-08-01 21:08:25 by Sean Cole | Files touched by this commit (2)
Log message:
package Makefile simplifications leftover from url2pkg, NFC
   2020-07-10 18:05:55 by Sean Cole | Files touched by this commit (3) | Package updated
Log message:
RE-flex: Update to 2.1.2

- Jun 29, 2020: 2.1.0 added Bison complete locations filename member access; \ 
added example Mini C compiler `minic` using RE/flex scanner with Bison 3.2 C++ \ 
complete locations, compiles C-like source code to Java bytecode (class files); \ 
added fast fuzzy (approximate) regex matcher `reflex::FuzzyMatcher` derived from \ 
`reflex::Matcher`.
- Jul  8, 2020: 2.1.1 added `%option params` to extend `lex()`/`yylex()` \ 
parameters; updated AVX2 detection for SIMD optimizations.
- Jul  9, 2020: 2.1.2 minor change to fix MSVC++ compiler error.