Today we've switched PGE to start using the compreg opcode,
instead of using find_global to locate the compiler. As
a result, compiling a rule is now performed as:
load_bytecode "PGE.pbc"
$P0 = compreg "PGE::P6Rule"
$P1 = $P0("pattern")
The PGE.pbc file defines two compilers, "PGE::P6Rule" and
"PGE::P5Regexp". The P5Regexp compiler works but is still in its
infancy -- not all p5 regular expression constructs are supported
yet. (I've now realized that there's a lot about perl 5's regular
expression syntax that just isn't regular.) Patches and tests
are encouraged, of course.
The "PGE/Glob.pir" module provides a "PGE::Glob" compiler, which
can do standard wildcard matching, and "PGE/Util.pir" provides
a "PGE::P6Grammar" compiler for loading grammars and sets of rules
in a Perl 6 syntax.
The previous use of find_global to locate the PGE compilers is
now deprecated and may be removed or changed at some point in
the future.
Also, PGE now has a lookbehind rule (<after ...>).
Lastly, we've recently posted an updated version of Synopsis 5
at http://dev.perl.org/perl6/doc/design/syn/S05.html . Corrections
and improvements welcomed.
Pm