祭りレポートを書く前に@nvsoftsさんのプログラミング言語KQのPHP版を作ったので紹介してみようと思う。(→GitHub)
KQ自体がBrainf*ckの方言なので、オリジナルの移植ではなくて以前に作ったBF処理系の焼き直し。ただしトークンをすげ替えただけでなくて、中身もちょっと整理している。
<?php
namespace KQ;
class Driver
{
const DOOR_WILL_CLOSE = 'ダァシエリイェス';
//snip.
とか、
$kq = new KQ\Driver();
echo $kq->doorWillClose(/*snip.*/);
とか、しょうもないネタを仕込んではいるけど、中身は方言をオリジナルBrainf*ckに変換、さらに実行コードに変換、簡易VMで実行と、BF処理系としての完成度はそれなりに高いと自負している。
ひとつ反省点を挙げるとすれば、方言とBFの変換部とBFコアは別クラスにすべきだった。あとは気が向いたら連続する+-をまとめる最適化を施してみたいが、たぶんずっとしない。