コンテンツにスキップ

利用者:Smiling the demon down/sandbox2

ArrowFuck
パラダイム 構造化プログラミング
設計者 Mipinggfxgbtftybfhfyhfn
型付け なし
影響を受けた言語 Brainfuck
テンプレートを表示

{{プログラミング言語}}

ArrowFuck(アローファック)は、プログラミング言語の一つ。Brainfuckに影響を受けた、難解プログラミング言語のひとつである。 ArrowFuckの命令はBrainfuckの命令に2つ加えたものである。 また、ArrowFuckはBrainfuckの上位互換である。

仕様[編集]

メモリの配列が2次元であることや命令が増えていること以外はほぼBrainfuckと同等である。以下は、ArrowFuckとBrainfuckの命令の対応表である。

ArrowFuck Brainfuck 内容
> > ポインタを右に移動
< < ポインタを左に移動
+ + ポインタの指す値をインクリメント
- - ポインタの指す値をデクリメント
, , 入力から1バイトをポインタの指す値に代入
. . ポインタの指す値をASCII文字として出力
[ [ ポインタの指す値が0なら、対応する「[」にジャンプ
] ] ポインタの指す値が非0なら、対応する「]」にジャンプ
^ なし ポインタを上に移動
v なし ポインタを下に移動

この表に記載されていない文字の動作は定義されておらず、コメントとみなして処理される。

サンプルコード[編集]

Hello, World!プログラム[編集]

以下のソースコードは、Hello, World!を出力するプログラムである。[1]このソースコードは、Brainfuckでも動作する。

+++++++++[>++++++++>+++++++++++>+++>+<<<<-]>.>++.+++++++..+++. >+++++.<<+++++++++++++++.>.+++.------.--------.>+.>+.

脚注[編集]

  1. ^ ArrowFuckはBrainfuckの上位互換であるため、このソースコードはQiitaのBrainfuck超入門より。

関連項目[編集]