The
Parser Grammar Engine (
PGE, originally the
Parrot Grammar Engine) is a
compiler and
runtime for a
Perl 6 rules for the
Parrot virtual machine. PGE uses these
rules to convert a
parsing expression grammar into Parrot
bytecode. It is therefore compiling rules into a program, unlike most virtual machines and runtimes, which store regular expressions in a secondary internal format that is then interpreted at runtime by a regular expression engine. The rules format used by PGE can express any
regular expression and most
formal grammars, and as such it forms the first link in the compiler chain for all of Parrot's front-end languages.