Wiki Parser を動かすためのものを列挙する - Scheme VM を書く
Gauche で Wiki の Parser を書いたので、これを自前の Scheme 処理系で動かすために足りないものを列挙する。
さらにそれぞれについて実装方針を決める。
簡単に作れるもの
- eof-object?
- append
- reverse
rxmatch-after/rxmatch-before
(match 'before)
もサポートする。
rxmatch-substring
match オブジェクトの手続き呼出し。
case
case のことをすっかり忘れていたよ。
おおざっぱに以下のようなコード変換でいいかな。
(case a ((b) c) (else d)) => (let (((gensym) a)) (cond ((eq? tmp b) c) (else d)))