書いている人はそこそこいるだろうけれど、何気にBrainf**kのインタープリタをPHPで書いてみるテストをしているのは秘密。一応Brainf**k Archiveにあるインタープリタのソースコードなどを参考にしながらすべての基本命令を実装した。仕様としては、ポインタはArchive版と同じ最大32768*1、1バイトunsigned intモード(デフォルト)とsigned intモードの切替が可能、バイト列出力が可能、独自命令としてデバッグ用の#命令*2を実装してある。CLI向けに作っているため、CLIから起動するとデバッグ命令の出力やエラーメッセージに色が付く機能を搭載していたりする。一応もう少し機能追加とかしてからGithubかGistに上げてみようかなぁw(いつ上げるかは言ってない)
*1:ただし今の所マイナス(開始位置から左側)は許容しない設定にしている
*2:デバッグモードがオンの場合に限り、配列の中身を表示する。詳細デバッグモードがオンだと実行している文字の位置、実行ステップ数、現在のポインタ、出力バッファの中身も表示する。ちなみにAzicore氏のJavaScript Brainf**kインタープリタでの#は配列の中身のみ表示される。