Brainfuck VMとか作ってみた

BrainfuckやOokのソースコードバイトコードコンパイルするコンパイラバイトコードを実行するインタプリタバイトコード機械語コンパイルして実行するJITの三種類のプログラムを作ってみた。
GitHub - syuu1228/bfvm: Brainfuck VM

使い方は以下の通り:

$ make
$ ./bfc brainfuck hello.bf hello.bfo #brainfuckで書かれてるhello.bfをhello.bfoにコンパイル
$ ./bfip hello.bfo #インタプリタで実行
Hello World!
$ ./bfjit hello.bfo #JITで実行
Hello World!
$

JITとかカッコよく呼んでるけど、ようは前のエントリでやってた機械語を配列にぶち込んで実行する奴そのまんま。
ちなみにMakefileにCFLAGS=-m32 LDFLAGS=-m32と書いているので32bit環境だともしかしたらエラーするかもしれない。その場合は両者を空にしてみて欲しい。