KEMURI (プログラミング言語)
提供: miniwiki
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]を積む。これは"Hello, world!"に相当する。|
スタックの中身を文字コードだと見なして出力する。スタックの中身すべてを出力するのでスタックは空になる。プログラムの最後で一度だけ使うことが推奨されている。
KEMURI_PLUSの拡張仕様
l
スタックの中身をBrainfuckのコードだと見なして実行する。プログラムの最後で一度だけ使うことが推奨されている。
外部リンク
- http://d.hatena.ne.jp/earth2001y/20060925/p1 KEMURIの最適化コンパイラ
- http://www.phys.cs.is.nagoya-u.ac.jp/~watanabe/sample/kemuri.html JavaScriptによる実装(ブラウザ上で動きます)
- KEMURIで任意の文字列を表示するプログラムを生成するプログラム
- 解説ページ(日本語、KEMURIインタプリタ)
- 解説ページ