Al ejecutarlo, el bytecode generado por PGE será usado para analizar el texto como se describe en las reglas de entrada, generando un árbol de análisis.
[2] PGE se escribió para reducir la cantidad de trabajo necesario para implementar un compilador sobre Parrot.
Además, se escribió para permitir de manera fácil que Perl 6 sea definido en Perl 6, aunque el desarrollo actual de Pugs no usa PGE como su gestor de reglas primario, sino que usa un motor nativo llamado PCR.
PGE convierte el código fuente a árboles de análisis sintáctico.
El Motor de Árboles Sintácticos (Tree Grammar Engine - TGE) los convierte a continuación en Árboles Sintácticos Abstractos Parrot (Parrot Abstract Syntax Trees - PAST).