2TBの雑文置き場

ブログというより説明書置き場というか

Usa_botに、「ウサミンコード」というプログラミング言語を実行する機能をつけました

概要

ウサミンコードは、たった8種類の文字の並びだけで構築できるプログラミング言語です。おそらくピンときた方もいらっしゃると思いますが、これはいわゆる「Brainf*ck」(以降BF)の文字を別のものに置換した派生言語に相当するものです。

命令と言語としての仕様

BFの各命令を、以下の文字で代替します。

BF命令 ウサミンコード命令 実行内容
> ポインタをインクリメントします。
< ポインタをデクリメントします。
+ ポインタ位置の値をインクリメントします。
- ポインタ位置の値をデクリメントします。
, 入力から1オクテット読み込んで、ポインタ位置に代入します。
. ポインタ位置の値を出力します。
[ ポインタ位置の値が0なら、次の「々」の直後の命令までジャンプします。
] ポインタ位置の値が0でない時、直前の「菜」の直後の命令までジャンプします。

その他の言語としての仕様は基本的にBFと同じです。

実行環境と、処理系としての仕様と制限

アイマストドン上で稼働している、Usa_botが実行機能を持っています。また、BFを実行できる環境において、命令を別の文字に変更できる処理系があれば、そちらで実行させることが出来ます。

Usa_botについては→http://twoterabytes.hatenablog.com/entry/2017/05/25/091430

Usa_botで稼働するウサミンコード処理系には、言語としての仕様や制限とは別に、以下の仕様・制限があります。

  • 入力できるコードは480文字まで
  • 「安」で標準入力をわたしたい場合、複数回に分けて渡すことは出来ない。実行時にすべて渡す必要がある
  • 1命令の実行を1ステップとして、10000ステップまで
  • コードの実行時間は0.1秒まで
  • 文字コードUTF-8を用いる
  • 出力もUTF-8として解釈し、それでは解釈できない場合は16進文字列に変換して出力する

実行例

こんな感じ

実装の理由

いやその、Halloween ❤ Codeって曲があるし、usamin ❤ codeってのも面白いかなって…