Whitespace変換オンライン
戻る
文法
- 命令の記法
- 先頭に;がある行はコメントになる。
- 一行は「命令 引数」の形で記述する。
- 間は必ず半角スペース一つ。
- 引数が無い命令もある。
- 引数が必要な命令で引数がなくてもエラーにならないので注意。
- ラベルは任意の文字列を指定可能。内部で自動的に変換される。
- 大文字と小文字は区別される。
- 本家リファレンスも参考にしてください。
- 独自拡張命令
- mes "文字列"
- 文字列を表示する。一文字スタックに積んでは出力の繰り返しになる。
- スタック操作命令
- push 数
- スタックに指定した数を積む。
- dup
- スタックの一番上の数を複製する。
- copy 数
- スタックの(数)番目の数を一番上にコピーする
- swap
- スタックの一番上とその下の数を入れ替える
- discard
- スタックの一番上の命令を破棄する
- slide 数
- スタックの一番上の要素を保持し、その下の(数)個の要素を削除する。
- 計算命令
- add
- 足し算をする。
- sub
- 引き算をする。
- mul
- 掛け算をする。
- div
- 割り算をする。
- mod
- 割り算の余りを求める。
- ヒープ操作命令
- setheap
- ヒープに書き込む。
- getheap
- ヒープから読み出す。
- フロー制御命令
- label ラベル
- ラベルを付ける。
- callsub ラベル
- サブルーチンを呼ぶ。
- goto ラベル
- 無条件ジャンプをする。
- goif0 ラベル
- スタックの一番上の値が0ならジャンプをする。
- goifneg ラベル
- スタックの一番上の値が負ならジャンプをする。
- endsub
- サブルーチンを終了し、呼び出し元に戻る。
- exit
- プログラムを終了する。
- 入出力命令
- putchar
- 文字を出力する。
- putnumber
- 数字を出力する。
- getchar
- 文字を入力する。
- getnumber
- 数字を入力する。
-
戻る