処理系を作る楽しさ
私がマイコンを購入して初めて本格的に作ったアセンブラ言語によるプログラムはFORTRANコンパイラでした。まあFORTRANと言ってもモドキに近いものでして、俗に言うTiny言語だったわけですけど、とても楽しく作ることが出来たことを覚えています。バイナリはどこに行ったのか分かりませんが、紙に書かれたソースリストは今でも大切に取ってあります。
記事にも書かれていますが、言語を作るのはとても楽しいものです。構文解析や最適化などは単純なようで奥が深く、パズル的な面白さもあります。本格的にやろうとするとかなり大変ですが、単純なインタプリタを設計する程度であれば趣味の範囲で出来るでしょう。
処理系*1特有のプログラミングテクニックも楽しいですが、何より楽しいのは言語仕様をあれこれ考えることですね。どんな命令体系にしようか、こんな命令があったらいいかな、などと考えているだけでも十分に楽しいものです。
自分が作った処理系で自分が設計したOSを記述し、自分の設計したコンピュータの上で走らせる。そんなものを作るのが私の夢です。
そういえばPocketPC上で動く処理系って、あまりないですね。ちょっと前よさげなのを見つけたんだけど、残念ながらW-ZERO3では動かなかった。PDAでちょこっと楽しめる処理系があると楽しいんだけどな。そんなソフトがあれば教えていただけると嬉しいです。
さてと。久々に処理系を書いてみようかな。W-ZERO3で動くような軽いやつを。:)
過去の関連記事:
FOCS (前編)
FOCS (中編)
FOCS (後編)