Wiki Parser を動かす - Scheme VM を書く
Gauche で書いた Wiki Parser を自分の VM で動かす。
あらかじめ Gauche で書くことにより
read-line をサポートして wiki parser を動かそう。
もう少しだがんばれ。
=> list->string
=> make-string, string-set!
=> list->string がコンパイルできない
=> (if pred then else) の else が省略されている場合にコンパイルエラー。
=> これは undefined を返すべきなのか。
=> まだ動かない。let* の展開がうまくいっていない
=> list->string 動いた
=> read-line 動かない。do 構文サポートが必要。
=> read-line 動いた
=> wiki parse を動かそう
=> どうも挙動が不審
=> うげ。引数の評価の順序が意図するものと逆になってる!これは根深い。
=> コンパイラ/VM を書き換え。
=> テスト通らなくなること多数
=> 全部通るようになった
=> wiki parse 動かない。 cond の => がおかしいみたい。
=> 直した。Scheme版の VM では動いた。やった!
=> C++版の VM で動かない。そんな馬鹿な。
=> EOF のときに
動いた!
中期課題
- format のサポート
- define をトップレベルに限る
- quasiquote
- マクロ
短期課題
- get-env で query string
- standard-input-port で POST データを読む。