Probably u were guesing how the hell
Perl6 to parrot compilation will happen. I was lost in a maze of abbreviations.
So I decided to graph the process outlined here :
[Parrot compiler tools] and make a short description of things i know.
PGE (Parrot grammar engine) - parser for the Parrot compiler tools. The grammar syntax is the same as the Perl6-rules.
TGE (Tree grammar engine) - this will be used to transfform trees structures from one form to another.(similar in concept as regex search&replace on texts)
PTTE (Parrot tree transformation engine) - this is TGE too, just working at different stage
PAST (Parrot abstract syntax tree) - high-level syntax tree. It roughly corresponds to the constructs of a high-level language (such as Perl 6), but is generic enough to be useful in many different high-level languages.
POST (Parrot opcode sytax tree) - low-level syntax tree. POST is isomorphic with Parrot assembly language, so a POST structure can be translated to bytecode or PASM and back again without losing any information.
PIL (Pugs Intermediate Language)
PIR (Parrot Intermediate Representation) - designed to be written by people and generated by compilers.
PASM (Parrot assembly) - is a level below PIR - it is still human readable/writable and can be generated by a compiler, but the author has to take care of details such as calling conventions and register allocation.
PBC (Parrot bytecode) - This is much like machine code, but understood by the Parrot interpreter.
IMCC (Intermediate Code Compiler) for Parrot. Compiles PIR. It's integrated into the parrot executable.
PMC (Parrot Magic Cookie) - PMCs represent any complex data structure or type, including aggregate data types (arrays, hash tables, etc).