Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

PGE now using "compreg" opcode, new S05 posted

4 views
Skip to first unread message

Patrick R. Michaud

unread,
Nov 18, 2005, 12:01:43 AM11/18/05
to perl6-i...@perl.org, perl6-c...@perl.org
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

0 new messages