つながった
Reading SigSchemeを手伝ってくれていたココサブさんは、id:YasuyukiMiuraさんと同一人物で、あろはさんの後輩で、gccのコードを読んでいる。
タイムリーな事に
Q: いっかいshiroさんに伺いたいとおもってたんですが、プログラミングとくにコンパイラはとても詳しいですよね。実装経験も豊富そうだし。それってどこで学んだものなんですか?
A: とても詳しいわけじゃありません。んー、どこで学んだんだろう。興味のあるのをつまみ食いしてたら、後から体系的な話を知って納得したって感じです。パージングとかは、中学生のころだったか、「数学と同じように計算できる電卓ってどうつくればいいんだろう」とかやたら悩んでて、なんとなくできそうな感じのやりかたを思いついて、大学でオートマトンを習ったらそれができそこないの演算子順位文法だったとわかったとか。AST作ってからコードジェネレーションまでは、修士の時にgccのソースを読んだのが効いていると思います。2.7.2くらいの時だったかな。あとSchemeのコンパイルについてはScheme->Cがすごく参考になった。あ、それからCP/M-80上で走るBSD Cっていう小さいCの処理系があってそれの吐くアセンブラコードも参考になった。(注:BDS Cじゃないかな?)
みたいな文章を発見して gcc のコードリーディングするかなと思っていた。
さらに以前から予告(?)していた通りそろそろGaucheのコードリーディングをしようと思っているのだけど、ひょっとしたらGauche 0.1 を読むと規模が小さくて読みやすいかもとか。
Gauche 0.1 (5年前)をチェックアウト
cvs -d:pserver:gauche.cvs.sourceforge.net:/cvsroot/gauche co -D '2001-03-03' -d gauche-0.1 Gauche
オチはないです。