して式を抽象構文木に変換しています。その後に型検査をして、問題がなければ、抽象構文木のまま評価しています。コンパイラーではなくてインタープリターで、その中でも最も簡単な(速度が出ない)やり方です。ソースhttps://github.com/mitsuchi/mud/最初は42みたいな数字だけを認識できるものを作り、次は足し算だけができるものをつくり、つぎは変数が使えるようにする、というふうに機能を足しながら作りました。これだと、小さいながらどの段階でも言語としてちゃんと動くので、作っていて楽しいです。このあたりは次の本を参考にしました。Ueyamaさん)https://www.sigbus.info/compilerbook/どこらへんが楽しいか言語を作るたのしさは、好きな構文や機能を自分でデザインできちゃうところだと思います。空想地図を書いたりする人たちの楽しみと近いところがあるかもしれない。いう構文があったらなーとか、既存の言語のここがこうなっていて欲しいなーというときに、それを実現したものが(苦労するけど)作れて、なおかつ動くというのは嬉しい。それから、どこまでもいじれてしまうというところも趣味に向いてます。言語の核の機能をもっと足そうとか、ライブラリーを足そうとか、エラー処理をまともにしようとか、いじろうと思えばずっといじれます。この言語も、整数と変数が使えて関数が定義できるところまでできたらいいなと思っていました。いざ動くようになってくると、やっぱり浮動小数点数も使いたい、文字列も使いたい、高階関数も、多相性も、といろいろと欲がでて少しずつ大きくなっています。つぎはコンパイラー型にしてみたいです。LLVMのIRを出力するようにできたら楽しいだろうなと思います。動作デモブラウザーから、この言語のいろんなサンプルコードを編集して動かせるページを作りました。よければ遊んでみてください。行ってきたマンホール好きが集うイベント、「マンホールナイト」に行ってきた。場所は駒込の滝野川会館。自宅から近いので徒歩で行けてありがたかった。東京23区デザインマンホール総覧(竹内正則さん)最初は、マンホールナイト創設者の一人である竹内さんによる、デザインマンホールの話。デザインマンホールというのはこういうやつだ。ふつうの地味なやつと違って、人に見てもらうためのデザインが全面になされている。いうののカタログを作ったという話。デザインマンホールの一覧を作るためには、数あるマンホールをデザインマンホールとそれ以外に分けなければいけない。「デザインマンホール」の定義をしなければいけないのだけど、それってかなり難しい。「デザインマンホール」といいつつ、実際にデザインされているのはマンホールじゃなくて「マンホールの蓋」だ。ここには「マンホール」という言葉で、実際にはその蓋を指すという慣用がある。いうような定義についての話をしているうちに残り5分になってしまった。ここでは次のような定義、というか指針で「デザインマンホール」を集めたそうだ。・100パーセント鋳物でできている。・カラーは樹脂充填かセラミック・デザインが全面その結果、東京都23区内に現に設置されているものは43種類に大別できることが分かったとのこと。なにかの話をしようとすると、どうしてもその対象についての定義と、ある程度の割り切りが必要になる。いう悩みって、他のジャンルでもほぼ間違いなくあることなのでよく分かる。狭義の暗渠という言葉が指す対象と、ぼくたちが実際に興味をもっている対象にはズレがある。包括的な言葉を使ったほうがいいんだろうけど、いろいろ飲み込んで暗渠という言葉を使っている。定義の話をしているだけで残り5分になるというあたり、誠実なんだなと思った。測量の蓋のはなし(小金井美和子さん)小金井さんは多才な人だ。マンホールの蓋だけでなく、送水口や境界標にもくわしい。鳥の鳴き声を聞けばなんの鳥か分かる。最近、測量士の資格試験に合格した。意味がわからないほどすごい。今回はそれらの趣味のうち、測量の蓋についての話。測量の蓋というのはこういうの。