ArrowFuck
表示
この記事の主題はウィキペディアにおける独立記事作成の目安を満たしていないおそれがあります。 (2023年11月) |
パラダイム | 構造化プログラミング |
---|---|
設計者 | 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でも動作する。
+++++++++[>++++++++>+++++++++++>+++>+<<<<-]>.>++.+++++++..+++.
>+++++.<<+++++++++++++++.>.+++.------.--------.>+.>+.
脚注
[編集]- ^ ArrowFuckはBrainfuckの上位互換であるためBrainfuckのソースコードをそのまま使用できる。なので、このソースコードはQiitaのBrainfuck超入門より。