Parrot - Format des instructions

Parrot peut actuellement accepter des instructions à exécuter sous quatre formes. PIR (Parrot Intermediate Representation) est conçu pour être écrit par des personnes et généré par des compilateurs. Il cache certains détails de bas niveau, tels que la manière dont les paramètres sont transmis aux fonctions.

PASM (Parrot Assembly) est un niveau inférieur au PIR - il est toujours lisible / inscriptible par l'homme et peut être généré par un compilateur, mais l'auteur doit prendre soin de détails tels que les conventions d'appel et l'allocation de registre. PAST (Parrot Abstract Syntax Tree) permet à Parrot d'accepter une entrée de style arbre de syntaxe abstraite - utile pour ceux qui écrivent des compilateurs.

Toutes les formes de saisie ci-dessus sont automatiquement converties dans Parrot en PBC (Parrot Bytecode). Cela ressemble beaucoup au code machine, mais compris par l'interpréteur Parrot.

Il n'est pas destiné à être lisible par l'homme ou accessible en écriture, mais contrairement aux autres formulaires, l'exécution peut démarrer immédiatement sans nécessiter de phase d'assemblage. Le bytecode Parrot est indépendant de la plateforme.

Jeu d'instructions

Le jeu d'instructions Parrot comprend des opérateurs arithmétiques et logiques, compare et branch / jump (pour implémenter des boucles, si ... alors des constructions, etc.), rechercher et stocker des variables globales et lexicales, travailler avec des classes et des objets, appeler des sous-programmes et des méthodes avec leurs paramètres, E / S, threads et plus encore.