ふつうのコンパイラをつくろう読書会に参加

本日はかなり久しぶりにRHG読書会に参加。
かつ、待望の書、「ふつぱいら」の読書会。
いつの間にやら、場所も秋葉に変ってた。
で、期せずして、早起きしすぎたのが運の付きで、
行く前から睡魔が来たのと、結局時間ぎりぎりに家を出ることになって、
ぼーっとしてたので、電車逆方向にのりまちがえて、遅刻。
このまま一日は乗らない一日となった。


この本になってからの数回目になる今回から参加なので、
かなりわからんw というか、最初からでも確実にわからん。
文系出身プログラマーには、下位レイヤのお話はきびしっすなー。
アセンブラ知らない子供たち、どころか、Cもほとんど書いていない子供たちですからね。


本も内容も少し癖があって、コンパイラ作りましょうとかってなると、
パーサジェネレータでyaccか、bisonかがでてきそうなところが、
javacc
おー、javaで作るのかー、そしたら、JVM上で動くbasicみたいな感じなのかな、
と思いきや、C言語のサブセットで、コンパイルしたらLinuxネイティブの実行ファイルを掃くという、
なかなか漢な仕様。
ウェブでは様々な意見があるみたいですが、個人的には、今回目的はコンパイラを作成することで、
そこは慣れた言語で書けたほうがいいから、JavaRubyがいいし、
アセンブラやら、システムコールやら、リンカやら低レベルなところはやはり勉強しなおしたいので、
お得な構成な気がする。
(や、Cで実装だったとしても、Cはそれで勉強しなおしたいので、楽しそうなので、
結局なんでも楽しそうなんで、なんでもいいのかも。)


で、最初の方を全く読んでないせいか、途中からの話だと、
作る言語のことなのか、その解析器のことなのか、生成結果のことなのか、なんかこんがらがってて、
睡眠不足もあいあまって、睡魔と格闘。
それを防ぐために、渋めのお茶を大量に飲んだのが仇となり、
終ったらトイレに長くいすぎて、飲み会においていかれる。。。orz
まー、寝不足だったからいいか。