Brainfuckの言語仕様
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/07/17 04:55 UTC 版)
「Brainfuck」の記事における「Brainfuckの言語仕様」の解説
処理系は次の要素から成る: Brainfuckプログラム、インストラクションポインタ(プログラム中のある文字を指す)、少なくとも30000個の要素を持つバイトの配列(各要素はゼロで初期化される)、データポインタ(前述の配列のどれかの要素を指す。最も左の要素を指すよう初期化される)、入力と出力の2つのバイトストリーム。 Brainfuckプログラムは、以下の8個の実行可能な命令から成る(他の文字は無視され、読み飛ばされる)。 > ポインタをインクリメントする。ポインタをptrとすると、C言語の「ptr++;」に相当する。 < ポインタをデクリメントする。C言語の「ptr--;」に相当。 + ポインタが指す値をインクリメントする。C言語の「(*ptr)++;」に相当。 - ポインタが指す値をデクリメントする。C言語の「(*ptr)--;」に相当。 . ポインタが指す値を出力に書き出す。C言語の「putchar(*ptr);」に相当。 , 入力から1バイト読み込んで、ポインタが指す先に代入する。C言語の「*ptr=getchar();」に相当。 [ ポインタが指す値が0なら、対応する ] の直後にジャンプする。C言語の「while(*ptr){」に相当。 ] ポインタが指す値が0でないなら、対応する [ (の直後)にジャンプする。C言語の「}」に相当。
※この「Brainfuckの言語仕様」の解説は、「Brainfuck」の解説の一部です。
「Brainfuckの言語仕様」を含む「Brainfuck」の記事については、「Brainfuck」の概要を参照ください。
- Brainfuckの言語仕様のページへのリンク