hs2bf - 可視化
今度こそうまくいったので、成果と今後の方針について。
昨日言ったようにSAMのインタプリタを実装して問題の切り分けを試みたのですが、
いたるところで問題がおきて、結構fixに手間取りました(30個ぐらいのバグ)。
前より長くなってしまったので、今回はリンクを張っておきます。
しかし生成されたコードを眺めているだけではおもしろく無いので、実行の過程を可視化するプログラムも書いてみました。
bfvprof (brainfuck visual profiler)
- 上から下にステップ数
- 左はインストラクションポインタ
- 右はメモリのポインタ
- 横軸: メモリ位置
- 縦軸: コード位置
- ステップ: 緑(左上)->赤(下端)
となっています。
結構fancyな感じになっていると思います。
ただ楽しむだけでなく、ふたつめの図で中心付近に真っ白な領域が見えると思いますが、
これでこの部分のコードがまったく実行されていない、というような事も分かります。
(このツールはもうちょっと機能追加・デバッグしたらHackageに上げます)