develooper Front page | perl.perl6.compiler | Postings from November 2004


Thread Next
Patrick R. Michaud
November 22, 2004 12:20
Message ID:
As of a few minutes ago, the "Perl 6 Grammar Engine" has been
renamed to the "Parrot/Perl Grammar Engine" (PGE).  All of the associated
files and symbols have been likewise renamed, and some things have
been moved around to more closely follow Parrot guidelines.

The README file in compilers/pge has been updated as well, and it
tries to explain most of what needs to be known to work with PGE.

Some of the highlights of recent changes:

 -  To load PGE into the Parrot interpreter, use

        load_bytecode "library/PGE.pir"

 -  PGE subroutines and modules now live in the "PGE" namespace.

 -  Several pattern-matching language compilers are provided with PGE:

        "p6rule"  - Perl 6 rules syntax
        "glob"    - Wildcard globs ( ? = any single character, * = 0+ chars )
        "p5re"    - Perl 5 regular expression syntax

    All of these are still "under development".  To access one of these

        .local pmc p6rule_compile
        find_global p6rule_compile, "PGE", "p6rule"

 -  The beginnings of a test suite are in t/p6rules.  More tests
    are greatly desired -- please feel free to contribute some!  
    Good sources for test ideas are the existing test suites in 
    Perl 5, Damian's Perl6::Rules, etc.

 -  The :, ::, and ::: backtracking operators have been implemented
    (but need more testing).

 -  The demo.pir program is a bit more robust, and allows patterns in
    p6rule, glob, or p5 syntax to be entered.

 -  PGE now includes a "trace execution" option so that we can see the
    steps being performed during a match.  Hopefully this will be useful
    in identifying and evaluating potential optimizations for the engine.
    (Yes, it also shows that some parts of the engine are not as efficient
    as they could be--we'll get there soon!)

Questions, comments, suggestions can be sent to



Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About