---命令--- *: メモリアドレスを引数分増加させます。 +: メモリの値を引数分増加させます。 !: メモリの値が0のときプログラムカウンタを引数にします。 .: メモリの値を出力します。 ---文法--- 1命令1行 ---制約--- メモリアドレスは20万までです。 メモリはIEEE754 倍精度浮動小数点数 出力はASCIIコードの文字になります。 ---例--- ABCBを出力するコード: + 65 . + 1 . + 1 . + -1 .
SNL v0.1.0を「あの"Brain"で始まるコンパイルが小さいプログラミング言語」に変換します。 v0.3.0とかは複雑すぎて変換できる気がしませんし、逆変換はループの仕様的に難しいです。 !と飛ぶ先は対応しないと動きません。 例: (*1,+1,!2,!1)などは動くが、(*1,+1,!1,!2)などは動かない。