Acme::Perl::VM
Shibuya.pm#11まであと一週間ですね!
Acme::Perl::VM(APVM)のコアがほぼできたので,CPANにアップしました。今のところ意外なほど順調です。
if/for/whileはできますが,foreachなどはまだできません。配列やハッシュの操作もできません。というかHello, world!に毛が生えたくらいしかできません。
[Acme-Perl-VM]$ perl -Ilib -MAcme::Perl::VM::Run -e 'print "Hello, world!\n"' Hello, world!
環境変数APVM_DEBUGにtraceと設定すると,実行されるPPCODEを出力します。
[Acme-Perl-VM]$ export APVM_DEBUG=trace [Acme-Perl-VM]$ perl -Ilib -MAcme::Perl::VM::Run -e 'print "Hello, world!\n"' .NEXTSTATE (-e:1) .PUSHMARK .CONST .PRINT Hello, world! .LEAVE
ちゃんとAPVMの制御下で実行されていますね。
また,for(my $i = 0; $i < 10; $i++){ } などでprint()を囲むと大量のPPCODEが実行されることがわかります。ループを回すのも大変です。