LISP Scheme Part4
■ このスレッドは過去ログ倉庫に格納されています
0608デフォルトの名無しさん
NGNG> コントロールスタックという言葉の意味が分かっているか?
> 上のインタプリタのコードで、環境はenvというインタプリタの
> 変数として陽に表されているが、コントロールスタックはコードの
> どこにも出てきていない。(コンパイラの実現する機能をそのまま
> 使っている。)
あの〜、再帰で通訳した場合、
「式」を押さえているpointerがcontrol stackになってるんですよ?
Lisp1.5やSECD machineやInterLispの実装考えれば分かるでしょ?
"ret"でprogram counterにstackから番地戻すんじゃなくて、
再帰から帰ったら、局所変数が押さえてるの。
> call/ccという組み込み関数は当然すでに用意してあるわけだろ?
> で、それを組み込み関数applyで呼び出すだけでcall/ccはすでに
> インタプリタで実現できている。別の扱いなんか必要ない。
ネイティブ・コンパイラの実装の話しているのは理解できているの?
スレの上の方から読み直してみ。(ふぅ)
>>606
そういうことだと思うよ。コンパイラについては。
>>601
pthreadの生成死滅のコストが高いから、
継続の生成死滅が激しいとパフォーマンス悪そうだけど、面白そうね、これ。
■ このスレッドは過去ログ倉庫に格納されています