Parrot - 分支
如果没有流量控制,代码会变得有点无聊; 首先,Parrot 了解分支和标签。 分支 op 相当于 Perl 的 goto:
branch TERRY JOHN: print "fjords\n" branch END MICHAEL: print " pining" branch GRAHAM TERRY: print "It's" branch MICHAEL GRAHAM: print " for the " branch JOHN END: end
它还可以执行简单的测试来查看寄存器是否包含真值:
set I1, 12 set I2, 5 mod I3, I2, I2 if I3, REMAIND, DIVISOR REMAIND: print "5 divides 12 with remainder " print I3 branch DONE DIVISOR: print "5 is an integer divisor of 12" DONE: print "\n" end
下面是 Perl 中的样子,以供比较:
$i1 = 12; $i2 = 5; $i3 = $i1 % $i2; if ($i3) { print "5 divides 12 with remainder "; print $i3; } else { print "5 is an integer divisor of 12"; } print "\n"; exit;
Parrot 运算符
我们拥有全系列的数字比较器:eq、ne、lt、gt、le 和 ge。 请注意,您不能对不同类型的参数使用这些运算符; 您甚至可能需要在操作中添加后缀 _i 或 _n,以告诉它您正在使用什么类型的参数,尽管汇编器应该在您阅读本文时为您预测这一点。