BrainFuckをIntelliJ IDEAで実装してみたついでにプログラミング言語irofを作ってみた
JetBrainsがマヤ暦が終わるときに割引セールをしていたのでIntelliJ IDEAを買いました。
75%OFFだったりすると買っちゃいますよね(白目)
ということで、IntelliJ IDEAの操作練習も兼ねてBrainFuckを実装してみました。
BrainFuckとは
http://ja.wikipedia.org/wiki/Brainfuck
操作に慣れていなかったので非常に慣れていなかったのでアレでしたが、まあなんとか。
githubにおいてありますので、よろしければどうぞ。
https://github.com/megascus/BrainFuck
一般的なBrainFuckはひとつの構文しかサポートしませんが、なんとなく色々な構文をサポートできるようにエントリポイントを作りました。
Commandsクラスを実装した上で、BrainFuckクラスに食べさせてあげれば簡単に新しいプログラミング言語が作成できます。
詳しくはテストを参照してくださいな。
ということで、
プログラミング言語irofを作ってみた
超簡単に。
IrofCommandsを作成して、BrainFuckクラスに食べさせてあげます。
以下の様な入力があった場合
いろふいろふいろふいろふいろふいろふいろふいろふいろふjava足いろふいろふいろふいろふいろふいろふいろふいろふ足いろふいろふいろふいろふいろふいろふいろふいろふいろふいろふいろふ足いろふいろふいろふいろふいろふぐきぐきぐきirofgroovy足白目足いろふいろふ白目いろふいろふいろふいろふいろふいろふいろふ白目白目いろふいろふいろふ白目足irof白目irofirofirofirofirofirofirofirofirofirofirofirof白目ぐきいろふいろふいろふいろふいろふいろふいろふいろふ白目irofirofirofirofirofirofirofirof白目いろふいろふいろふ白目irofirofirofirofirofirof白目irofirofirofirofirofirofirofirof白目足いろふ白目
以下のようになります。
Hello, world!
簡単でした。
なお、リポジトリにはプログラミング言語misaやOok!の定義例も載せてあります。
自分でプログラミング言語が作りたくなったらご参考に。
いろふ Advent Calendarも終わったのに何やってるんだろうね(白目