bobuhiro11's diary

3imp トップレベル変数とプリミティブな関数

15 Feb 2014

3imp 4.7に書かれているトップレベル変数とプリミティブ関数を実装した.

トップレベル変数

実装方針が2つ挙げられていた.

変更点は,以下のあたり.

プリミティブ関数

プリミティブな関数も関数なので,トップレベルにそのクロージャオブジェクトを あらかじめおいておく. 呼び出す場合は,他のクロージャ同様,引数を渡してコールフレームを作ってー…と やっている. 1引数の場合でもわざわざスタックに積んでいるのでもったいない気はするが, 2引数のときに,一方はレジスタでもう一方はスタックでというのは分かりにくいので とりあえずこの方針でいく.

複文

ついでにlambda式で複文をかけるようにした.


comments powered by Disqus < 3imp 4.1 スタックベース 3imp 伝統的マクロとバイトコードの変換 >