Ook!
パラダイム 構造化プログラミング
設計者 David Morgan-Mar
型付け なし
主な処理系 RubyOok, Ook#, Acme::Ook
影響を受けた言語 Brainfuck
影響を与えた言語 COW
ウェブサイト Ook!
テンプレートを表示

■カテゴリ / ■テンプレート

Ook!(ウーク)は、プログラミング言語の一つ。David Morgan-Marがオランウータン向けのプログラミング言語として考案した。実用言語ではない難解プログラミング言語のひとつ。

オランウータンの鳴き声"Ook"のみを用いた言語である。使用するトークンは「Ook.」「Ook!」「Ook?」の3つだけで、これら2つの組み合わせで1命令を表現する。

Ook!の仕様はBrainfuckと等価である。Ook!で使用する命令はBrainfuckの命令と正確に対応するので、Ook!は実のところBrainfuckの文字の置き換えに過ぎない。

言語仕様

十分な長さのメモリと、それを指す1つのポインタがあることなどはBrainfuckと同じである。Ook!命令とBrainfuck命令の対応は以下の通り。

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

「Ook? Ook?」の動作は定義されていない。プログラムのトークン数が奇数の場合は構文エラーとなる。

処理系

参考文献

脚注

  1. ↑ Chad Fowler, RubyOok

リンク

⌬ Phoenix Mesh CID: 未登録 IPFS未登録 📡 0ピア N=1 CRITICAL PQS D36