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

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

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

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

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

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

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

 サンプルコード 
 Hello, World!プログラム 
以下のソースコードは、Hello, World!を出力するプログラムである。Esolang WikiにおけるCOWの記事 より。
 MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO
 MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO
 MoO MoO Moo MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO Moo MoO MoO
 MoO MoO MoO MoO MoO Moo Moo MoO MoO MoO Moo OOO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO
 MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO Moo MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO
 MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO
 MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO
 MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO Moo MOo
 MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo MOo
 MOo MOo MOo MOo MOo Moo MOo MOo MOo MOo MOo MOo MOo MOo Moo MoO MoO MoO Moo MOo MOo MOo MOo MOo MOo Moo MOo MOo MOo MOo MOo MOo MOo MOo Moo
 OOO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO Moo

 脚注 

 関連項目 
Brainfuck
Ook!

Category:難解プログラミング言語