にく置き場

はてなダイアリーから本格的に移行して、メインのブログとして技術ネタやりたい。

Lisp処理系っぽいのを書き始めてみた

まだ整数の二項ごとの四則演算しかできないけど、Lispっぽいのを作ってみた。
以下のようなS式を正しく計算してくれるはず。

(/ (* (+ 12 2) (- 0 1)) (+ 5 2))

ちなみにC++で書いております。ソースはgithubで管理。
https://github.com/nikuuchi/MyLisp
とりあえずファイルを読み込んで、再帰的下向きにパースして直に実行しています。
構文木とかも実装してません。
ここまでで作るので約1時間半。次回はリファクタリングと多項演算ですかね。あと複数行にまたがった数式の処理。