Parrot - 指令说明
Parrot 目前可以接受四种形式的指令来执行。 PIR(Parrot Intermediate Representation)被设计为由人编写并由编译器生成。 它隐藏了一些低级细节,例如参数传递给函数的方式。
PASM(Parrot Assembly)低于 PIR 的级别 - 它仍然是人类可读/可写的,并且可以由编译器生成,但作者必须注意诸如调用约定和寄存器分配等细节。 PAST(Parrot 抽象语法树)使 Parrot 能够接受抽象语法树样式输入 - 对于那些编写编译器的人很有用。
所有上述形式的输入都会在 Parrot 内部自动转换为 PBC(Parrot 字节码)。 这很像机器代码,但可以被 Parrot 解释器理解。
它并不是人类可读或可写的,但与其他形式不同的是,它可以立即开始执行,而不需要汇编阶段。 Parrot 字节码是独立于平台的。
指令集
Parrot指令集包括算术和逻辑运算符、比较和分支/跳转(用于实现循环、if...then构造等),查找和存储全局变量和词法变量,使用类和对象,调用子例程和方法及其参数、I/O、线程等。