■
{ var func0; var func1; var func2; var i =0; while ( i<3 ) { var x=i; if ( i == 0 ) { func0 = function ( ) { puts(x); }; } else if ( i==1 ) { func1 = function ( ) { puts(x); }; } else if ( i==2 ) { func2 = function ( ) { puts(x); }; } i = i+1; } func0(); // = 0 func1(); // = 1 func2(); // = 2 }
やっと動いた…
もはやフレームまわりはコンパイラもVMもソース汚なすぎて読めないよ…
あとはオブジェクト生成とか、名前空間の整理とか、組み込み関数の調整とか。こっからはこれまでに比べると簡単なはずだ。