一部で猫語しか話せなくなる感染症が発生しているようで、その症状に「Brainfckのようだ」という感想があったのでBrainfck化してみた。
ソースコード
hello_world.nya
にゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃ
「にゃっにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃっにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃっにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃんにゃんにゃんにゃー」
にゃっにゃ。
にゃっにゃにゃにゃにゃにゃ。
にゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃ。
にゃ。
にゃにゃにゃにゃにゃにゃにゃ。
にゃっにゃーにゃ。
にゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃ。
にゃんにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃ。
にゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃ。
にゃにゃにゃにゃにゃにゃにゃ。
にゃーにゃーにゃーにゃーにゃーにゃーにゃ。
にゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃ。
にゃっにゃにゃにゃ。
実行結果
Hello, world!
解説
にゃにゃ
- ポインタが指す値をインクリメントする
にゃー
- ポインタが指す値をデクリメントする
にゃっ
- ポインタをインクリメントする
にゃん
- ポインタをデクリメントする
にゃ。
- ポインタが指す値を出力
にゃ、
- 入力から1バイト読み込み、ポインタが指す先に代入
「
- ポインタが指す値が0なら、対応する」
の直後にジャンプ
」
- ポインタが指す値が0でないなら、対応する「
(の直後)にジャンプ
Orenono
Brainf*ckの派生言語は、Orenono
というRuby Gemで簡単に作成できる。
インストール
gem install orenono
設定
以下をOrenonofile
というファイル名で保存するだけで完成。
Orenonofile
increment "にゃにゃ"
decrement "にゃー"
next_cursol "にゃっ"
previous_cursol "にゃん"
display "にゃ。"
read "にゃ?"
start_loop "「"
end_loop "」"
実行
Orenonofile
があるディレクトリでorenono execute
する。
$ orenono execute hello_world.nya
Hello, World!
ソースコードの自動生成
orenono generate
で、指定した文字列を出力するソースを自動生成してくれる。(ascii限定)
$ orenono generate "meow meow"
にゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃ「にゃっにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃんにゃー」にゃっにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃ。にゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃ。にゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃ。にゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃ。にゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃ。にゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃ。にゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃーにゃ。にゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃ。にゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃにゃ。