4
私は下のツリーを生成することになる、リスト演算にいくつかの文を解析することができ、bleadperlに新parse_block機能とオペコードのリストを含むパッケージにCVをどのように割り当てるのですか?
をプレイされています:
LISTOP (0x1002a00c0) leave [1]
OP (0x1002d6220) enter
COP (0x1002a0b80) nextstate
OP (0x10028c0f0) null
LISTOP (0x1002a0170) print
OP (0x1002b1a90) pushmark
SVOP (0x100327ee0) const PV (0x100826ec0) "hello\n"
COP (0x1002a0c50) nextstate
LISTOP (0x100324ee0) print
OP (0x100327880) pushmark
SVOP (0x100324eb0) const PV (0x100897688) "world\n"
私は構文木へのポインタを返す必要があります私のキーワードプラグインの構造は、現時点では操作の裸のリストを含んでいます。私はサブルーチンの中にこれらの関数をラップし、それを隠しの中のシンボルに割り当てたいと思います。
だから、私はこのような何かをしたいと思います:
$ perl -MO=Terse -e "*foo = sub { print 'my listops here' }"
LISTOP (0x10022b5e0) leave [1]
OP (0x10022b620) enter
COP (0x10022b590) nextstate
BINOP (0x100202090) sassign
UNOP (0x1002083d0) refgen
UNOP (0x100208360) null [146]
OP (0x1002083a0) pushmark
SVOP (0x100208330) anoncode [1] CV (0x100826d40)
UNOP (0x1002085a0) rv2gv
SVOP (0x100208550) gv GV (0x100826d28) *foo
おそらく、私は私のlistopsの開始時と終了時entersub、leavesubを追加する必要がありますが、私は、私はこれを構築して行くだろうかわかりませんXSで?結果のoptreeをCVに変換する方法もわかりません。
xsubsではCVを生成し、optreesではCVを生成しない例があります。
ありがとうございました。