Revision history for Perl extension Regexp::Assemble.
0.13
- Deal with \Q...\E patterns.
- $Default_Lexer pattern fails on 5.6.x: it would lex
'\-' as '\', '-'.
- Tests to prove that the global $_ is not clobbered
by the module.
- Used cmp_ok rather than ok where it makes sense.
- Added a (belated) DEBUG_LEX debugging mode
- Removed some debugging traces left over during
lookahead development
- Minor performance tweaks to _lex() and insert()
0.12 Sun Apr 11 23:49:16 2005 UTC
- Forgot to guard against the possibility of
Test::Differences not being available. This would cause
erroneous failures in the test suite if it was not
installed.
- Quotemeta was still giving troubles. Exhaustive testing
also turned up the fact that a bare add('0') would be
ignored (and thus the null-match pattern would be returned.
- More tweaks to the documentation.
0.11 Sat Apr 9 19:44:19 2005 UTC
- Performed coverage testing with Devel::Cover
Numerous tests added as a result. Borderline bugs
fixed (bizarre copy of ARRAY in leave under D::C -
fixed in 0.10).
- Finalised the interface to using zero-width lookahead
assertions. Depending on the match/failure ratio of
the pattern to targets, the pattern execution may be
slower with ZWLAs than without. Benchmark it.
- Made _dump call _dump_node if passed a reference to a
hash. This simplifies the code a bit, since one no
longer has to worry about whether the thing we are
looking at is a node or a path. All in all a minor
patch, just to tidy up some loose ends before
moving to heftier optimisations.
- The fix in 0.10 for quotemeta didn't go far enough.
Hopefully this version gets it right.
- A number of minor tweaks based on information
discovered during coverage testing.
- Added documentation about the mailing list. Sundry
documentation tweaks.
0.10 Tue Mar 29 09:01:49 2005 UTC
- Correct Default_Lexer$ pattern to deal with the
excessively backslashed tokens that C<quotemeta>
likes to produce. Bug spotted by Walter Roberson.
- Added a fix to an obscure bug that Devel::Cover
uncovered. The next release will fold in similar
improvements found by using Devel::Cover.
0.09 Sat Jan 22 9:28:21 2005 UTC
- Added lookahead assertions at nodes. (This concept is
shamelessly pinched from Dan Kogai's Regexp::Optimizer).
The code is currently commented out, because in all my
benchmarks the resulting regexps are slower with them.
Look for calls to _combine if you want to play around
with this.
- $Default_Lexer and $Single_Char regexps updated to fix
a bug where backslashed characters were broken apart
between the backslash and the character, resulting in
uncompilable regexps.
- Character classes are now sorted to the left of a list of
alternations.
- Corrected license info in META.yml
- Started to switch from ok() to cmp_ok() in the test suite
to produce human-readable test failures.
0.08 Mon Jan 3 11:23:50 2005 UTC
- Bug in insert_node fixed: did not deal with the following
correctly: qw/bcktx bckx bdix bdktx bdkx/ (The assymetry
introduced by 'bdix' threw things off, or something like
that).
- Bug in reduced regexp generation (reinstated code that had
been excised from _re_path() et al).
- Rewrote the tests to eliminate the need for Test::Deep.
Test::More::is_deeply is sufficient.
0.07 Fri Dec 17 19:31:18 2004 UTC
- It would have been nice to have remembered to update the
release date in the POD, and the version in the README.
0.06 Fri Dec 17 17:38:41 2004 UTC
- Can now track regular expressions. Given a match, it is
possible to determine which original pattern gave rise to the
match.
- Improved character class generation: . (anychar) was not
special-cased, which would have lead to a.b axb giving a[.x]b
Also takes into account single-char width metachars like \t
\e et al. Filters out digits if \d appears, and for similar
metachars (\D, \s, \W...)
- Added a pre_filter method, to perform input filtering prior
to the pattern being lexed.
- Added a flags method, to allow for (?imsx) pattern modifiers.
- enhanced the assemble script: added -b, -c, -d, -v;
documented -r
- Additions to the README
- Added Test::Simple and Test::More as prerequisites.
0.05 Fri Dec 10 11:52:13 2004 UTC
- Bug fix in tests. The skip test in version 0.04 did not deal
correctly with non-5.6.0 perls that do not have Test::Deep
installed.
0.04 Fri Dec 9 22:29:56 2004 UTC
- In 5.6.0, the backlashes in a quoted word list, qw[ \\d ],
will have their backslashes doubled up. In this case, don't
run the tests. (Reading from a file or getting input from
some other source other than qw[] operators works just fine).
0.03 Wed Dec 8 21:55:27 2004 UTC
- Bug fix: Leading 0s could be omitted from paths because of the
difference between while($p) versus while(defined($p)).
- An assembled pattern can be generated with whitespace. This can be
used in conjunction with the /x modifier, and also for debugging.
- Code profiled: dead code paths removed, hotspots rewritten to run
more quickly.
- Documentation typos and wordos.
- assemble script now accepts a number of command line switches to
control its behaviour.
- More tests. Now with Test::Pod.
0.02 Fri Nov 19 11:16:33 2004 UTC
- An R::A object that has had nothing added to it now produces a
pattern that explicitly matches nothing (the original behaviour would
match anything).
- An object can now chomp its own input. Useful for slurping files. It
can also filter the input tokens and discard patterns that don't adhere
to what's expected (sanity checking e.g.: don't want spaces).
- Documented and added functions to allow for the lexer pattern to be
manipulated.
- The reset() method was commented out (and the test suite didn't catch
the fact).
- Detabbed the Assemble.pm, eg/* and t/* files (I like interpreting
tabs as four spaces, but this produces horrible indentation on
www.cpan.org).
- t/00_basic.t test counts were wrong. This showed up if Test::Deep was
not installed.
- t/02_reduce.t does not need to 'use Data::Dumper'.
- Tweaked eg/hostmatch/hostmatch; added eg/assemble, eg/assemble-check
- Typos, corrections and addtions to the documentation.
0.01 Fri Jul 9 21:05:18 2004 UTC
- original version; created by h2xs 1.19 (seriously!)