2007-09-17から1日間の記事一覧

情報科学若手の会 私的まとめ

今日中に書きたい。 とりあえず、デモセッションで発表したスライド置いときますね。 HugeDomains.com - Shop for over 300,000 Premium Domains Schemeで書いたPEGパーサジェネレータについて。たぶんこのスライドだけ見ても何やってるのかわからない気がす…

即席Brainf**k

若手の会の夜の宴会で、1時間くらいで書き上げたBrainf**kインタプリタ。インタプリタといっても、各演算子に対応する関数を定義して(30分)、PEGパーサジェネレータで文法を定義して、ソースコードをSchemeの命令列にコンパイル(30分)しただけ。Brainf**…

Brainf**k インタプリタ最適化

最初に書いたのは、Brainf**kの1命令が、Schemeの関数呼出1回に対応するようなインタプリタだったので、そこに最適化をかけるように変更した。例えば、ポインタが指しているメモリの値を1増やす命令 + は bf-incval に対応していて、++++ は (bf-incval) (bf…