Changes for version 0.19 - 2006-09-27
- removed dependency Data::Dump::Streamer (t/01-iterator_engine.t)
- updated Pugs::Runtime::Match pod
- $/{0} === $/[0]
- Match.kv, Match.elems, Match.chars, Match.yaml
- RegexPerl5 accepts parameters i m s x
- <! ...> takes a metasyntax expression (not a rule pattern)
- Regex wasn't allowed to match at end of string
- Regex runtime detects infinite loop in <null>+ and fails
- more detailed quantifier parsing; added '**{range}' quantifier (needs emitter support)
- HsBridge - implements a Pugs/Haskell-compatible API
- features available inside v6.pm only
- refactored Rule grammar to use shortcuts, such as { return { after => :$$<rule>, } }
- fixed '${...}', '$[...]', ':$<...>', '$0'
- fixed coercions in emitter
- devel (svn.openfoundry.org/pugs/perl5) version only
- "plain_regex"
- code cleanup; added bug list
- added ^^ $$ \n \N - TimToady++
- /./ matches 2-char newline
- <'literal'>
- simple character classes, negated char classes
- ^ $ <null> \s, \S, etc
- <after ...>, <!after ...>, <before ...>, <!before ...>
- non-capturing group, captures, dot
- "Pugs::Grammar::RulePure" pure-Perl6 version of the Rule grammar; this file currently can't be run due to PCR/v6 incompatible calling conventions
Modules
Compiler for Perl 6 Regex
Compiler for Perl 6 style "Perl5" regex
Compiler for Perl 6 Rules
Compiler for Perl 6 Token
Engine for Perl 6 Rule operator precedence
Match object created by rules
Provides
in lib/Pugs/Emitter/Rule/Perl5.pm
in lib/Pugs/Emitter/Rule/Perl5/Ratchet.pm
in lib/Pugs/Grammar/Base.pm
in lib/Pugs/Runtime/Common.pm
in lib/Pugs/Runtime/Match/HsBridge.pm
in lib/Pugs/Emitter/Rule/Perl5.pm
in lib/Pugs/Runtime/Regex.pm
in lib/Pugs/Runtime/Rule.pm