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

KEMURI（ケムリ）は、Brainfuckに類したプログラミング言語の一つ。実用言語ではない。

BrainCrash、HQ9+についで世界で3番目に短くHello worldを出力するプログラムを記述できる。

KEMURIはスタックマシンであり、0～255の値が入るスタックがある。

実用性はほとんど無いように思われるが、KEMURI_PLUSではチューリングマシンで実行可能なあらゆるプログラムが記述できる（チューリング完全である）とされている。

KEMURIの言語仕様 
実行可能な命令は「6つ」のみである。
^ XOR スタックの先頭2つをpopし、xorを計算してpushする。
~ NOT スタックの先頭をpopし、notを計算してpushする。(必要性が疑問視されている)
" DUP スタックの先頭をpopし、それを2回pushする。スタック先頭の複製(duplicate)である。
' ROT スタックの先頭3つをpopし、並べ替えてpushする。先頭から順にx y zという順に並んでいたのなら、y z xという順番に変わる。
` スタックに[72, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100, 33]を積む。これはASCIIコードとみなすと"Hello, world!"に相当する。
| スタックの中身を文字コードだと見なして出力する。スタックの中身すべてを出力するのでスタックは空になる。プログラムの最後で一度だけ使うことが推奨されている。

KEMURI_PLUSの拡張仕様 
l (小文字のエル) スタックの中身をBrainfuckのコードだと見なして実行する。プログラムの最後で一度だけ使うことが推奨されている。

外部リンク 
KEMURIコンパイラ - おびなたん☆ KEMURIの最適化コンパイラ
http://www.phys.cs.is.nagoya-u.ac.jp/~watanabe/sample/kemuri.html JavaScriptによる実装(ブラウザ上で動きます)
KEMURIで任意の文字列を表示するプログラムを生成するプログラム
解説ページ（日本語、KEMURIインタプリタ）
解説ページ

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