📅  最后修改于: 2020-11-03 16:06:04             🧑  作者: Mango
Parrot当前可以接受以四种形式执行的指令。 PIR(鹦鹉中间表示)旨在由人们编写并由编译器生成。它隐藏了一些底层细节,例如将参数传递给函数的方式。
PASM(鹦鹉汇编)是PIR之下的一个级别-它仍然是人类可读/可写的,可以由编译器生成,但是作者必须注意诸如调用约定和寄存器分配之类的细节。 PAST(Parrot抽象语法树)使Parrot可以接受抽象语法树样式的输入-对于编写编译器的人很有用。
以上所有形式的输入都会在Parrot中自动转换为PBC(鹦鹉字节码)。这很像机器代码,但是Parrot解释器可以理解。
它并非旨在使人可读或可写,但与其他表单不同的是,可以立即开始执行而无需组装阶段。鹦鹉字节码与平台无关。
Parrot指令集包括算术和逻辑运算符,比较和分支/跳转(用于实现循环,如果…然后构造等),查找和存储全局变量和词法变量,使用类和对象,沿其调用子例程和方法以及它们的参数,I / O,线程等。