本文へスキップ
totonoe.tech

難解プログラミング言語を整える

初級

Ook!を整える

= Brainf*ck の8命令を「Ook.」「Ook?」「Ook!」に置き換えただけの言語を、相互変換して実行する

① Ook! を入力・実行

Ook. / Ook? / Ook! の2語1組の並びを入力します。空白・改行は無視されます。

Ook! ソース 入力するそばから計算(送信ゼロ)
Brainfuck ソース(相互変換) 入力するそばから計算(送信ゼロ)

RESULT

「実行する」を押すと、ここに出力が表示されます

解説

Ook! は「命令の見た目」を変えただけのBrainfuck。

Ook!は2003年、David Morgan-Mar(esolangs.org: Ook!)が発表した言語です。計算の仕組みはBrainfuckと完全に同一で、8つの命令それぞれに「Ook.」「Ook?」「Ook!」の2語1組を割り当てただけです(1語だけでは3種類しか作れないため、2語の組み合わせ=3×3=9通りのうち8通りを使い、残り1通り「同じ語の重複を除く」形で命令を作っています)。「見た目はオランウータンの鳴き声のようで人間には読みにくいが、計算能力はBrainfuckとまったく同じ」という、名前で笑わせながら本質を伝える構成のジョーク言語です。

Ook! の2語 Brainfuck 意味
Ook. Ook? > ポインタを1つ右へ
Ook? Ook. < ポインタを1つ左へ
Ook. Ook. + 今のセルの値を+1
Ook! Ook! - 今のセルの値を-1
Ook! Ook. . 今のセルの値を文字として出力
Ook. Ook! , 入力を1文字読む(本ページは入力なし=常に0)
Ook! Ook? [ 今のセルが0なら対応する ] の次へジャンプ
Ook? Ook! ] 今のセルが0でなければ対応する [ の次へ戻る

送信ゼロ(入力したコードはこの端末から出ません)。入力を読む命令(Ook. Ook!/Brainfuckの「,」)はこのページでは常に0を返します(入力欄を持たないため)。実行はステップ数の上限に達すると自動的に停止します。

もっと詳しく知りたい方はエソラング図鑑(Malbolgeなど16言語の解説)や、Brainfuckの遊び場(ステップ実行・テープ可視化・テキストからの自動生成)もどうぞ。

このツールについて

Ook!はBrainfuckの8命令を「Ook.」「Ook?」「Ook!」の2語1組(オランウータンの鳴き声に見立てた表記)に置き換えただけの言語です。命令セットはBrainfuckと完全に同じなので、このページではOok!↔Brainfuckの変換と、どちらの形でも実行できる場を用意しました。

Ook! は Brainf*ck と計算能力が完全に同じで、命令の見た目だけを変えた言語。Ook!→Brainf*ck、Brainf*ck→Ook! の両方向変換と実行ができます。

主な機能

  • Ook! ⇄ Brainf*ck の双方向変換(位置つきエラー表示)
  • そのまま実行して出力を確認
  • Hello World のサンプルつき
  • 送信ゼロ・入力命令「,」は常に0

よくある質問

Q. Ook! は Brainf*ck と何が違うのですか?

A. 計算の仕組みは完全に同じです。Brainf*ck の8命令それぞれに「Ook.」「Ook?」「Ook!」の2語1組を割り当てただけで、できることは変わりません。

Q. なぜ2語1組なのですか?

A. 3種類の語だけでは8命令に足りないためです。2語の組み合わせ(3×3=9通り)のうち8通りを使って、8命令すべてに割り当てています。

Q. 変換エラーが出ました。原因は?

A. 語が Ook. / Ook? / Ook! のいずれでもない、語数が奇数で2語1組にならない、存在しない組み合わせ(例: Ook? Ook?)のいずれかです。エラーには文字位置を表示します。

Q. 入力命令「,」は使えますか?

A. 使えません。このページは入力欄を持たないため、入力命令は常に0として扱われます。

入力値はURLの「#」以降に入るためサーバーには送信されません。リンクを開くと同じ状態を復元します。

続けて整える

KOINOBORI ECOSYSTEM

私たちが運営するサイト