ArrowFuck(アローファック)は、プログラミング言語の一つ。Brainfuckに影響を受けた、難解プログラミング言語のひとつである。 ArrowFuckの命令はBrainfuckの命令に2つ加えたものである。 また、ArrowFuckはBrainfuckの上位互換である。
仕様 メモリの配列が2次元であることや命令が増えていること以外はほぼBrainfuckと同等である。以下は、ArrowFuckとBrainfuckの命令の対応表である。
ArrowFuck Brainfuck 内容> > ポインタを右に移動< < ポインタを左に移動+ + ポインタの指す値をインクリメント- - ポインタの指す値をデクリメント, , 入力から1バイトをポインタの指す値に代入. . ポインタの指す値をASCII文字として出力[ [ ポインタの指す値が0なら、対応する「[」にジャンプ] ] ポインタの指す値が非0なら、対応する「]」にジャンプ^ なし ポインタを上に移動v なし ポインタを下に移動
この表に記載されていない文字の動作は定義されておらず、コメントとみなして処理される。
サンプルコード Hello, World!プログラム 以下のソースコードは、Hello, World!を出力するプログラムである。ArrowFuckはBrainfuckの上位互換であるためBrainfuckのソースコードをそのまま使用できる。なので、このソースコードはQiitaのBrainfuck超入門より。このソースコードは、Brainfuckでも動作する。
+++++++++[>++++++++>+++++++++++>+++>+<<<<-]>.>++.+++++++..+++. >+++++.<<+++++++++++++++.>.+++.------.--------.>+.>+.
脚注
関連項目 Brainfuck 難解プログラミング言語
外部リンク Esolang wikiのArrowFuckの記事