SchemeScheme の syntax-rules が Turing Complete だというのはよく聞かれる話だけれど、実際どうなのということで、 Turing Complete なプログラミング言語であるところの Brainf*ck を syntax-rules で実装してみた。まず大雑把な構成を考える。Brainf*ck では命令の読み込みや [、 ] で命令列の間を移動することができる。また、 や > でメモリ領域を移動することもできる。これらはすべて線型移動しかしないため、命令列とメモリ領域は現在のポインタに対する前部分と後ろ部分のリストで表してやることにする。メモリ領域の初期化は書くのが面倒そうなので、未初期化のメモリ領域を参照した場合には、そこには 0 があったものとして扱うことにする。数値に対する演算は、インクリメント、デクリメント、 0 との比較(条件分岐用)がある
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く