Parrot actualmente puede aceptar las instrucciones que se deben ejecutar en cuatro formas. PIR (Parrot representación intermedia) está diseñado para ser escritas por personas y generado por los compiladores. Que esconde a algunos detalles de bajo nivel, tales como la forma se pasan parámetros a funciones.
PASM (Parrot Assembly) es un nivel inferior a PIR - todavía es humano lectura/escritura y puede ser generado por un compilador, pero el autor tiene que tener cuidado de los detalles, como convenciones de llamada y asignación de registros. PAST (Parrot Abstract Syntax Tree) permite Perico a aceptar un árbol de sintaxis abstracta entrada de estilo, lo que es muy útil para los compiladores.
Todas las anteriores formas de entrada se convierten automáticamente en Parrot (Parrot bytecode). Este es muy similar al código máquina, pero el Parrot traductor.
No tiene la intención de ser legible por humanos o de escribir, pero a diferencia de los otros formularios ejecución puede comenzar inmediatamente, sin la necesidad de una fase de montaje. Parrot bytecode es independiente de la plataforma.
El conjunto de instrucciones Parrot incluye los operadores aritméticos y lógicos, comparar y sucursal/saltar (para poner en práctica los bucles, si... a continuación, construcciones, etc. ), buscar y almacenar variables globales y léxico, trabajar con clases y objetos, en la que se pedía subrutinas y métodos junto con sus parámetros, I/O, las roscas y mucho más.