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の最適化コンパイラ JavaScriptによる実装(ブラウザ上で動く) KEMURIで任意の文字列を表示するプログラムを生成するプログラム 解説ページ(日本語、KEMURIインタプリタ)