Changes for version 0.18 - 2005-10-08

  • Fixed '\Q[' to be as treated as '\[' instead of '['. What's more, the tests had this as the Right Thing. What was I thinking? Wound up rewriting _lex_stateful in a much less hairier way, even though it now uses gotos.
  • Introduced a context hash for dragging around the bits and pieces required by the descent into _reduce_path. It doesn't really help much right now, but is vital for solving the qw(be by my me) => /[bm][ey]/ problem. See TODO for more notes.
  • Fixed the debug output to play nicely with the test harness (by prefixing everything with a #). It had never been a problem, but you never know.
  • Added a script named 'debugging' to help people figure out why assembled patterns go wonky (which is invariably due to nested parentheses).
  • Added a script 'tld', that produces a regexp for matching internet Top Level Domain names. This happens to be an ideal example of showing how the alternations are sorted.
  • Added a script 'roman', that produces a regexp for matching Roman numerals. Just for fun.
  • Removed the 'assemble-check' script, whose functionality is adequately dealt with via 'assemble -t'.
  • Tightened up the explanation of why tracked patterns are bulkier
  • ISOfied the dates in this file.

Modules

Assemble multiple Regular Expressions into a single RE