読者です 読者をやめる 読者になる 読者になる

本当は怖い情報科学

情報系大学院生の趣味&実益ブログ。

パーサジェネレータは、自分で作ったほうがいい(LLなら)。

うーん、今回は簡単だと僕は思っていた。だって、Bisonの文法はわかりにくいし、最近の事情や流行に合わせようとするといろいろ汚いハックをしなくちゃならないのだ。この質問の答えなんて考えるまでもない。けれど、最近の言語処理系実装の情勢を、みんながどんな風に感じているか、それが探りたくてテーマにしたのだ。
するとあらら、不思議。寄せられたのは親Bisonの意見ばかり。なぜなのかしらん?というわけで、今回は多数をしめた「Bisonでいい」からいってみよう。

「パーサジェネレータを自分で作るのは『望ましい』ことであって、『なすべきこと』ではない」(住所不明・匿名さん)。「大学の授業ごっこのような実装ならいらない。どうしても必要であれば実装し、使えるものがあれば書かないくらいが調度いい」(北海道旭川市・U子さん)

ふー、びっくりした。でも、反対派の意見はほぼ一点に集中している。パーサジェネレータは面倒くさいから、自分で書く必要はないというもの。それ、ほんとなのかなあ。賛成派の意見を読んでみよう。
「3年ほど自分で言語を作っています。日本で大きく報道されるほど、言語処理系の実装は難しくはありません」(東京都世田谷区・モモトーン)。「研究室の周りには言語処理系オタクがたくさん住んでいて、昼時の日常会話ではGCCが手書きのパーサーに変更したことが話題にのぼるほど。プログラマなんだから、書きたくなるのが当然。自分で実装したほうがいいと考えるのが自然だと思います」(神戸市垂水区・匿名さん)。

今回の答えの上では「書かなくていい」派が圧倒的だったけど、意見をくれなかった多数のサイレントマジョリティを考慮にいれて決定させてもらいます。パーサジェネレータは、自分で書いた方がいい。
あたりまえの話だよね。意見をくれた多数派は、あまり大学の授業やお堅い教科書に踊らされないほうがいいのではないかな。では、最後にシンプルなメールをひとつ。
「夢みたいなことだとわかっているけど、パーサジェネレータというよりは、全てのプログラムを自分で書けたらいいなと思ってます」(東京都・匿名さん)。別に夢なんかじゃないよ。まつもとゆきひろだって、Linus Torvaldsだって、ただ楽しかっただけなんだから。

(※この文章はフィクションです)

コンパイラ構成法

コンパイラ構成法

【広告】