Parrot - 指令格式

Parrot目前可以接受以四种形式执行的指令. PIR(Parrot Intermediate Representation)旨在由人编写并由编译器生成.它隐藏了一些低级细节,例如参数传递给函数的方式.

PASM(Parrot Assembly)是一个低于PIR的级别 - 它仍然是人类可读/可写的并且可以由编译器生成,但作者必须处理诸如调用约定和寄存器分配之类的细节. PAST(Parrot抽象语法树)使Parrot能够接受抽象语法树样式输入 - 对编写编译器的人有用.

所有上述输入形式都在Parrot内自动转换为PBC(鹦鹉Bytecode).这很像机器代码,但是Parrot解释器可以理解.

它不是人类可读的或人类可写的,但与其他形式不同,执行可以立即开始,而不是需要一个装配阶段. Parrot字节码与平台无关.

指令集

Parrot指令集包括算术和逻辑运算符,比较和分支/跳转(用于实现循环, if ... then constructs等),查找和存储全局和词法变量,使用类和对象,调用子例程和方法及其参数,I/O,线程等.