Parrot - Panoramica
Quando inseriamo il nostro programma in Perl convenzionale, viene prima compilato in una rappresentazione interna, o bytecode; questo bytecode viene quindi inserito in un sottosistema quasi separato all'interno di Perl per essere interpretato. Quindi ci sono due fasi distinte dell'operazione di Perl:
Compilazione in bytecode e
Interpretazione del bytecode.
Questo non è esclusivo di Perl. Altre lingue che seguono questo design includono Python, Ruby, Tcl e persino Java.
Sappiamo anche che esiste una Java Virtual Machine (JVM) che è un ambiente di esecuzione indipendente dalla piattaforma che converte il bytecode Java in linguaggio macchina e lo esegue. Se comprendi questo concetto, capirai Parrot.
Parrotè una macchina virtuale progettata per compilare ed eseguire in modo efficiente bytecode per linguaggi interpretati. Parrot è l'obiettivo del compilatore finale Perl 6 ed è usato come backend per Pugs, così come una varietà di altri linguaggi come Tcl, Ruby, Python ecc
Parrot è stato scritto utilizzando il linguaggio più diffuso "C".