disasm を定義

コンパイラ向けのコードたちが正しく最適化&コンパイルされているかを知りたい。この目的のために disasm を作った。

(disasm pass3/compile-arg)
=>
LET_FRAME 12 REFER_LOCAL0_PUSH REFER_FREE0_PUSH DISPLAY 2 FRAME 17 REFER_LOCAL0_PUSH REFER_LOCAL1_PUSH
REFER_LOCAL2_PUSH REFER_LOCAL3 PUSH REFER_LOCAL_PUSH 4 REFER_LOCAL_PUSH 5 CONSTANT_PUSH #f REFER_LOCAL_PUSH 7
REFER_GLOBAL_CALL top-level:$:pass3/rec 8 PUSH_ENTER 1 FRAME 6 REFER_FREE1_PUSH CONSTANT_PUSH PUSH
REFER_FREE0 CALL2 REFER_LOCAL0_PUSH_CONSTANT 1 NUMBER_ADD LEAVE1 RETURN 8 DEFINE_GLOBAL top-level:$:pass3/compile-arg NOP 

整形してソースコードとの対応などを表示した方が本当は良いのだろうけど今回は手間をかけたくないのでこれで。