I just wanted to send a quick note to perl6-internals
and perl6-compiler that I've just checked in some major
changes to the PGE internals (r9681).  Last week we
added a shift-reduce operator precedence parser,
this version uses that parser to parse perl 6 rules,
which should improve the parsing speed a fair bit.
It also simplifies the code somewhat.  

On the other hand, I haven't migrated all of the various 
optimizations across yet, so the compiled routines will probably
run slightly slower, but when those come across things
ought to improve again.  (I'm still looking for people
to do some benchmarking, if there are any takers!)  And
although I ran the various test suites and a few other
tests, there are certainly some things that don't work the
same as before.  Let me know about them and we'll get them
fixed right away.

This version adds a <p6rule> that can be used to
parse a valid Perl 6 rule.  (As one might expect,
matching something against <p6rule> returns the
parse tree as a Match object.)

This version also allows grammars to define custom
<ws> rules to be used in place of the default <ws>
rule used for whitespace metacharacters.  And the 
:words modifier now works along with the :w modifier.

There are quite a number of other changes in this
version or that will appear in the next couple of days,
so I'll send a followup email with more details
soon.  Until then, questions, comments, patches, and
tests are greatly appreciated!

Pm

Reply via email to