KEMURI (プログラミング言語)
出典: フリー百科事典『ウィキペディア(Wikipedia)』
KEMURIは、Brainf*ckに類したプログラミング言語の一つ。
HQ9+についで世界で2番目に短く"Hello, world!"と出力するプログラムを記述できるほか、 HQ9+とは異なり、任意の文字列を表示することも可能である。
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
スタックの中身をBrainf*ckのコードだと見なして実行する。プログラムの最後で一度だけ使うことが推奨されている。
[編集] 外部リンク
- 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インタプリタ)
- 解説ページ