タグ

ブックマーク / takatoh.hatenablog.com (1)

  • BrainF*ckインタプリタを作る - Haskellはスケるよ

    Wkikipediaの記事を読んだり,ダウンロードしたインタプリタをいじってるうちに,なんかちょっとできそうな気がしてきた。 目標は Hello world プログラムの実行だ。 まず,データを格納する配列(レジスタと呼ぶことにしよう)とポインタが必要だな。 data BrainF_ck = BF { bfPointer :: Int, bfRegister :: [Int] }操作する命令をそれぞれ関数にする。こんな感じか。 命令 関数名 + bfIncrement - bfDencrement > bfShift < bfUnshift . bfPrint , bfInput [ bfGoto ] bfBack とりあえず簡単そうな「+」,「-」,「>」,「<」だけにしよう。 それから,BrainF_ck の初期値を設定する関数も要るな。レジスタがいくつ要るかわからないけど,10個あれ

    BrainF*ckインタプリタを作る - Haskellはスケるよ
    okhra
    okhra 2006/10/02
  • 1