Releases: Genivia/RE-flex
reflex v1.4.0
Added reflex option -S
(--find
) for efficient searching instead of scanning input (i.e. efficiently ignoring unmatched input) demonstrated with new findfast
and findsearch
examples, changed --nodefault
to throw an exception when option --flex
is not used and when the default rule is triggered.
reflex v1.3.8
Added caching of lineno()
and columno()
to increase speed, which is essential for large buffers such as large mmap-ed files scanned with buffer(base, size)
, other improvements.
reflex v1.3.7
Added reflex::BufferedInput::dos_streambuf
to improve dos_streambuf
speed by buffering (reflex::Input::dos_streambuf
is unbuffered), fixed %option token-type
to apply without restrictions.
reflex v1.3.6
Added lexer and matcher buffer(base, size)
methods and improved Flex-compatible yy_scan_buffer(base, size)
, these functions scan memory fast with zero copy overhead, added mmap.l
example to scan an mmap-ed file fast with mmap(2) and buffer(base, size)
, other improvements.
reflex v1.3.5
Further speed improvements for both fast and non-fast options (15% to 30% faster).
reflex v1.3.4
Speed improvements.
reflex v1.3.3
Fixed reflex::BoostMatcher
(and derived reflex::BoostPosixMatcher
, reflex::BoostPerlMatcher
) regression bug that crept into the 1.2.4 update.
reflex v1.3.2
Added defined name expansion in bracket lists for the union ||
, intersection &&
, and subtraction --
operations, e.g. [||{letter}||{digit}]
expands into [a-zA-Z0-9]
when letter
is defined as [a-zA-Z]
and digit
is defined as [0-9]
, see Character Classes in the documentation.
reflex v1.3.1
Added matcher().tabs(n)
to set tab size, used by columno()
and indent \i
and dedent \j
anchors, new reflex::Pattern
methods, other improvements.
reflex v1.3.0
Added subtractive start condition scoping with <^...>
, added undent \k
anchor to undo indenting changes ("undenting") with an example in examples/indent2.l
, improved indent \i
and dedent \j
anchors and other improvements.