I've just checked in (r12442) a large set of updates to PGE; these 
updates are in response to recent changes in S05, as well as to allow PGE
to take advantage of recently-added Parrot features (e.g. named 
argument passing).

As part of the update I also patched any language and/or other 
components (e.g., TGE, Punie, TCL, Pheme, etc.) that use PGE so 
that they'll be more consistent with PGE's new calling interfaces.
Hopefully I got it right -- basically, if a test passed in r12441, 
it should still be passing in r12442.

Here are the major changes in PGE from an interface perspective
(internally there have been a lot of improvements as well):

* The "PGE::Rule" class is now "PGE::Regex".

* The "PGE::P6Rule" and "PGE::P5Regexp" compilers have been renamed
  to "PGE::P6Regex" and "PGE::P5Regex".

* The "rulec.pir" compiler and the "library/PGE/P6Grammar.pir" file
  are now gone -- use the new-and-improved "pgc.pir" compiler instead.

* More tests and subsystem tests have been added to t/compilers/pge/ .

* The PGE::Glob compiler front-end to the regex system has been
  redesigned.

* PGE's code generation can now generate more efficient PIR output
  (although there's still a lot of room for optimization).

* There is preliminary (untested) support for adverbs, including
  S05's ":ratchet" adverb.  Support for "rule" and "token" statements 
  will soon be added to pgc.

* More comments have been added to source files -- still not enough
  to be reasonable, but that will be corrected soon.


Patches and tests welcomed.

Pm

Reply via email to