はてなTシャツ2013ができました! プレゼントキャンペーンを実施します - はてな広報ブログ 当たらないですかねえ。 はてなオリジナルTシャツ2012 - はてな 久しぶりの更新がこれってどうなんだろう。でもTシャツ欲しい。 今回は、 (+ 1 (* 2 3) 4) のようなコードを実行できるような実装をしました。 Whileで数値を取って来て、)になったら取ってくるのを辞めるというシンプルな方法です。 これの問題点は、入れ子構造を解釈してくれないため、途中に)があるとそこで中断してしまいます。 そこで、()構造の入れ子の深さを表す変数を用意して、(を通ると+1,)を通ると-1して、その数で判定するようにしました。これで入れ子も使えるようになっています。 まだ構文木の出番ではない。 次は、defineを作って、関数を定義出来るようにしてみようかと思います。構文木と名前テーブルが必要になる
![にく置き場](https://cdn-ak-scissors.b.st-hatena.com/image/square/06a15c64ba0ceec233d86d71001ebb29a9dcbf5d/height=288;version=1;width=512/https%3A%2F%2Fcdn.blog.st-hatena.com%2Fimages%2Ftheme%2Fog-image-1500.png)