From: matz@... (Yukihiro Matsumoto) Date: 1997-08-12T13:14:51+09:00 Subject: [ruby-dev:106] Re: tail recursion (Re: LaTeX ruby documents) まつもと ゆきひろです In message "[ruby-dev:103] Re: tail recursion (Re: LaTeX ruby documents)" on 97/08/12, 石塚圭樹 writes: |けいじゅ@日本ラショナルです. |>普通テールリカージョンを実装している言語では自前でスタックを実装して |>いたりするんですが,rubyでは高速化のためにマシンスタックをそのまま使っ |>ているんです. | |テールリカージョンの実装でスタック操作を行う理由が良く分からんのですが... つまりメソッドの末尾のメソッド呼び出しがrubyで定義されたメソッ ドであればCレベルの再帰を行わないことでマシンスタックのレベ ルを節約しようと思ったのでした. |構文解析時にテールリカージョンであると分かったら, 再帰をループに変換す |るんじゃないんですか?? rubyのような動的なオブジェクト指向言語で構文解析時にテールリ カージョンが検出できますかね.出来ないと思ったので,上のよう な方法を採用しようと思ったのですが. |幻のバージョンですね.... バイトコードにまでしたんですよね? そうです.もったいなかったかなあ. まつもと ゆきひろ /:|)