Parrot - Formato istruzioni
Parrot può attualmente accettare istruzioni da eseguire in quattro forme. PIR (Parrot Intermediate Representation) è progettato per essere scritto da persone e generato da compilatori. Nasconde alcuni dettagli di basso livello, come il modo in cui i parametri vengono passati alle funzioni.
PASM (Parrot Assembly) è un livello inferiore al PIR: è ancora leggibile / scrivibile dall'uomo e può essere generato da un compilatore, ma l'autore deve occuparsi di dettagli come le convenzioni di chiamata e l'allocazione dei registri. PAST (Parrot Abstract Syntax Tree) consente a Parrot di accettare un input in stile albero di sintassi astratta, utile per chi scrive compilatori.
Tutte le forme di input di cui sopra vengono automaticamente convertite all'interno di Parrot in PBC (Parrot Bytecode). È molto simile al codice macchina, ma compreso dall'interprete Parrot.
Non è concepito per essere leggibile o scrivibile dall'uomo, ma a differenza degli altri moduli l'esecuzione può iniziare immediatamente senza la necessità di una fase di assemblaggio. Il bytecode di Parrot è indipendente dalla piattaforma.
Set di istruzioni
Il set di istruzioni di Parrot include operatori aritmetici e logici, confronta e salta / salta (per implementare cicli, se ... poi costruisce, ecc.), Trovare e memorizzare variabili globali e lessicali, lavorare con classi e oggetti, chiamare subroutine e metodi insieme con i loro parametri, I / O, thread e altro.