Perl高级编程技巧解析
1. 操作树遍历
在Perl编程中,若要处理 B::Optimizer 和 B::Generate ,使用 B::Utils 模块是较为简便的方法。该模块提供了许多实用函数,其中 walkoptree_simple 能让你设置回调函数并遍历操作树中的每个操作。以下是示例代码:
use B::Utils qw( walkoptree_simple );
...
my $op = $b->ROOT;
walkoptree_simple($op, sub{
$cop = shift;
print B::class($cop). " : ". $cop->name." (".$cop->desc.")\n";
});
这里从操作树的 ROOT 开始遍历,而非 START ,按此顺序遍历操作树会得到一系列操作,如下表所示:
| 操作类型 | 操作名称 | 描述 |
| ---- | ---- | ---- |
| UNOP | leavesub | 子例程退出 |
| LISTOP | lineseq | 行序列 |
| COP | nextstate | 下一条语句 |
| UNOP | null | 空操作 |
| OP | padsv | 私有变量 |
| UNOP | readline | <
超级会员免费看
订阅专栏 解锁全文
15

被折叠的 条评论
为什么被折叠?



