COW (プログラミング言語)

From Wikipedia, the free encyclopedia

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

COW(カウ)は、プログラミング言語の一つ。Ook!に影響を受けている。実用言語ではなく、難解プログラミング言語のひとつである。

牛の鳴き声"MOO"をMとm、Oとoに分け、3文字の組み合わせをトークンと解釈する。それ以外の文字はコメントとして扱う。

COWの命令はBrainfuckの命令に4つ加えたものである。

十分な長さのメモリと、ポインタが1つだけあることなどはBrainfuckと同じである。Brainfuckの命令との対応表は以下の通り。

COWBrainfuck内容
moO>ポインタをインクリメント
mOo<ポインタをデクリメント
MoO+ポインタの指す値をインクリメント
MOo-ポインタの指す値をデクリメント
oom,入力から1バイトをポインタの指す値に代入
OOM.ポインタの指す値をASCII文字として出力
MOO[ポインタの指す値が0なら、対応する「moo」にジャンプ
moo]ポインタの指す値が非0なら、対応する「MOO」にジャンプ
mOOなしポインタの指す値を特定の命令として実行(3は無効)
OOOなしポインタの指す値に0を代入
MMMなしレジスタに現在の値がない場合には現在のポインタの指す値をコピー。レジスタに値がある場合は、その値を現在のポインタの指す値に代入し、レジスタをクリアする
Mooなしポインタの指す値が0なら「oom」、非0ならば「OOM」を実行

それ以外の命令の動作は定義されていない。

サンプルコード

脚注

関連項目

Related Articles

Wikiwand AI