Categories |
CPUの創りかた |
Modern Compiler Implementation in ML |
NerdTV |
PDP-11シミュレータで古代のUNIXを動かしてみる |
The Yakumo Project |
やさぐれ読書録
最近のツッコミ:1.Dominic(2008-06-23 05:05)
2.CheapestCheapOEMoem(2008-06-17 03:00)
3.NewDownloadCreativAdobOEM(2008-06-12 20:00)
最近のトラックバック:1.濃縮還元オレンジニュース:プロ.. (2006-12-22 22:02)
以前、『[NerdTV] Andy Hertzfeld: クヌースに「ソースコード見せてよ」と頼まれたら…』というエントリにて、MacPaintのソースの公開が 決まった(ただし実際の公開にはまだ至っていない。詳しくはこちらを 参照)いきさつを書いたが、そ のきっかけになった、Computer History Museumでの出来事:
Andy: 今年の1月にComputer History Museumというところで、オリジナルのMacintoshのマーケティングチームが講演をやったんだけど、その場では僕も含め最初の Macintoshにかかわったスタッフの多くも客席に座って話を聞いていた。で、最後の方で質疑応答をやったときに、年配の観客が立ち上がって、 「MacPaintというのはプログラムの歴史上、最も素晴らしい作品だったんじゃないかと私は思うのですが、ソースコードを見せていただくということは 可能なのでしょうか」という質問をしてきたんだ。その質問をした年配の観客というのは、実はドナルド・クヌースだった。
Bob: えーっ!
の実際の様子が記録された動画ファイルを見つけることができた。
Computer History Museumで開催された過去のイベントの一覧の中に、2004年1月24日に開催された"The Macintosh Marketing Story: Fact and Fiction, 20 Years Later"に関するページがあり、そ のときの動画もそこからダウンロードすることが出来る。
問題のクヌース先生の質問はビデオの中の1時間5分55秒あたりから。会場にいた『年配の観客』ことクヌース先生が立ち上がり、他の質問と合わせて
And you mentioned Bill Atkinson. I wanted to meet Bill Atkinson because his program, MacDraw, really blew me away almost any other programs I've ever seen, and I wonder if the source code for that program still exists...
あと、ビル・アトキンソンの話が出ましたが、私自身、彼に会いたいと思っていたのです。というのも、彼のプログラム、 MacDrawは 私が今までにみたどのプログラムも吹き飛んでしまうような存在でしたし、そのソースコードがまだ残っていないのかなと思っている次第です。
と言っているのが確認できる。質問の際には自分の名を名乗ってもいないし、ものすごくラフな格好をしていたので、あれがクヌース先生だ と気がついた人はもしかしたら少なかったのではなかろうか。
このビデオの中には他にも見どころがいくつかあるのだが、
が特におすすめ。興味のある方はぜひご覧いただきたい。
関連エントリ:
最後に残った"RewriteProgram"を実装する。ここまで実装してきた他のアルゴリズムは"Color"モジュール内に作成 していたが、これはRegister Spill、すなわちレジスタ割り付けの処理で「溢(あふ)れた」レジスタをメモリへ退避するべく、アセンブリプログラムを書き直すという処理であるた め、かな り毛色が異なる。二週間ほど考えた結果、"Frame"モジュールの一部として実装(ただし、実際に書き換えるのは"IA32Frame"モジュールであ る)することにした(修正後のプログラムはこち ら)。
上記の図の"Main"に当たる部分は"RegAlloc"モ
ジュールと"Color"モジュー
ルに分散されたかたちで実装されている。
"RewriteProgram"
部分のテストは面倒くさいので後回し様子を見ながら順次進めていく予定。
これで第11章の実装は一通り完了。次の第12章がコンパイラ作りの仕上げ作業、総決算となる。うまく行けば、動 くコードを近いうちにコンパイラが吐き出してくれるようになるはずである。
2005年7月3日に最後のエント リを書いてから、とんでもなく間が空いてしまった"Modern Compiler Implementation in ML"であるが、実は少しずつ進行させていた。日付をさかのぼって 2005年の8月あたりから、現在までの経過をこの日記に書き足しておくことにしようと思う。ということで書き足したエントリ一 覧:
# hisa [他のみどころもおもしろそう!今度見てみます。 ]
# おのの [細かいツッコミですが、MacPaintじゃなくてMacDrawと言ってますよね。いや、福盛さんの他の記事ではMacD..]
# おのの [いかん。間違えた。福盛さんのほかの記事ではMacPaintになっていますが、Knuth先生はMacDrawと言ってい..]
# 福盛 [hisaさん: 一昨日に直接お会いした際にちょっとだけお見せしましたが、ぜひダウンロードしてゆっくりとご覧いただけれ..]
# 福盛 [おののさん: あわわ…問題のシーンの音声を聞き直してみましたが、確かに"MacDraw"と言ってますね。MacDr..]