Shiro Kawai
shiro****@lava*****
2003年 2月 5日 (水) 14:35:45 JST
ええい、まだ半分しか書いてないんですが、こっそり出しちゃおう。 http://www.shiro.dreamhost.com/scheme/docs/cont-j.html 前半は、基本的に KIMURA Shigenobu さんが説明したのと同じことです。 ちょっぴり絵が入ってるのでイメージしやすいかも。 まだ書いてない後半の章の予定は次のようになってます。 * C言語による継続渡しもどきの例 - 末尾呼び出しスタイルでprintfのformat文字列 ディレクティブか浮動少数点数(+複素数)をパーズするコード - setjmp/longjmpを使ってバックトラックを行う NFA正規表現パーザ * call/ccの説明 - 図解 - non-local exit * もちっと複雑な継続の使用例 - コルーチン (samefringeかなあ) - 内部イテレータ→外部イテレータ変換 * 継続の実装について - スタックコピーに関する4つのモデル ところが、C言語の例はちゃんと動くのを書こうとすると量が 無闇に増えてしまうんですよね… Cだと構造体ひとつ使うのに 定義から始めなくちゃならないのがつらい。 スケルトンコードだけの説明にしようかなあ。 --shiro