AccessViolation Exception

仕事でもはんだづけ、家でもはんだづけ

c# T4でbrainf*ckを実装してみる

ここ数日あまり仕事が手につかず凹み気味です。気分転換にbrainf*ck実装しようと思ったら[]のpush,popさせる機構を作ることすら億劫になってしまったのでT4を使って作ってみた。

T4(Templete Text Transform Toolkit) とは


略書いたのでもうわかりますよね。テンプレートのテキストをとらんすふぉーむするツールキットです。初めての人はナンノコッチャって感じだろうけどこれが便利。

要はc#c#のコードが生成できます

雑な例を出せば

private int a0 = 0;
private int a1 = 1;
private int a2 = 2;
...
private int a100 = 100;

みたいなハードコーディングを強いられた時とか色々使えます。今回はbrainf*ckの変換に使いました。

brainf*ck


Brainfuck - Wikipedia

言語仕様の通りに動くプログラムを書くだけで割と簡単に実装できます、がT4をつかってやりました。

メタプログラミングをやりたいならc#がベストではない気がしますがそこそこ使えるので手法を知っておいて損はないと思います

kamiyaowl/brainfuck · GitHub