■
{
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もソース汚なすぎて読めないよ…
あとはオブジェクト生成とか、名前空間の整理とか、組み込み関数の調整とか。こっからはこれまでに比べると簡単なはずだ。