GBPL - GoTo based programming language


【説明】

素朴なプログラミング言語の実行環境です。

【説明2】

プログラムは先頭から実行されます。プログラムの末尾または、先頭以外の#ラベルに上から到達すると実行が終了します。プログラムはどこで改行しても動作には影響はありません。

【キーワード一覧】

# [ラベル名]
(gotoの飛び先/上の行からここに制御の流れが来るとプログラムを終了する。)


if [メモリ/変数/定数] [メモリ/変数/定数]
(2つのメモリ/定数が等しい場合、その次の行を実行する。等しくない場合次のifまたはelseまでジャンプする)
else [なし]
(ifが成立しなかった場合に実行)
goto [ラベル名]
(ラベルの位置にジャンプ)
write [メモリ/変数/定数] [メモリ/変数]
(1番目の内容で2番目のメモリを上書き)
push [メモリ/変数/定数] [メモリ/変数]
(1番目の文字列を2番目のメモリの末尾に追記)
pop [メモリ/変数/定数] [メモリ/変数]
(1番目の文字列の末尾一文字を取り出し、2番目のメモリを上書き)
add [メモリ/変数/定数] [メモリ/変数/定数]
(足し算をした結果をitに格納)
sub [メモリ/変数/定数] [メモリ/変数/定数]
(引き算をした結果をitに格納)
mul [メモリ/変数/定数] [メモリ/変数/定数]
(掛け算をした結果をitに格納)
div [メモリ/変数/定数] [メモリ/変数/定数]
(割り算をした結果をitに格納)
mod [メモリ/変数/定数] [メモリ/変数/定数]
(剰余算をした結果をitに格納)
sqrt [メモリ/変数/定数]
(平方根を求めてitに格納)
floor [メモリ/変数/定数]
(小数点以下を切り捨てた値をitに格納)
compare [メモリ/変数/定数] [メモリ/変数/定数]
(2つの数を比較してitに格納。 a>bなら">", a=bなら"=", a<bなら"<"))
it [なし]
(一時変数)
$ [キーワード以外の文字列]
(=>変数)
* [メモリ/変数/定数]
(=> [メモリ番号への参照], 複数つなげることもできます)
"[文字列]"
(=> [定数], "が2つ連続するとダブルクオートそのものが含まれた文字列定数となります。)