トップページに戻る

計算機2018v3

説明

「計算機2018v3」は汎用計算プログラムです。命令語のあとに逆ポーランド記法で式を記述します。v2を作り直したものです。演算子は=と[]以外はすべて()で囲む仕様にしました。仕様は今後変更される可能性があります。

命令

語句意味書式
do式を実行するdo { 式 }
if式を実行して分岐if { 値 #○ ... }
var変数の宣言・代入var { 変数名 値 = ... }
const定数の宣言・代入const { 定数名 値 = ... }
output文字列の出力output { 値 ... }
rewrite文字列の出力の書き換えrewrite { 値 ... }
wait処理の一時停止wait { }
exit処理の終了exit { }
return関数の処理を終了し戻り値を返すreturn { 値 ... }
func関数を定義〈処理内容〉
func { [引数名 ...] 関数名 }

演算子

語句意味書式戻り値
=代入変数名 値 =なし
(+)足し算数値 数値 (+)数値
(-)引き算数値 数値 (-)数値
(*)掛け算数値 数値 (*)数値
(/)割り算数値 数値 (/)数値
(mod)剰余算数値 数値 (mod)数値
(sqrt)平方根数値 (sqrt)数値
(pow)べき乗数値 数値 (pow)数値
(sin)サイン数値 (sin)数値
(cos)コサイン数値 (cos)数値
(tan)タンジェント数値 (tan)数値
(asin)アークサイン数値 (asin)数値
(acos)アークコサイン数値 (acos)数値
(atan)アークタンジェント数値 (atan)数値
(atan2)atan2数値 数値 (atan2)数値
(log)自然対数数値 (log)数値
(exp)eのべき乗数値 (exp)数値
(rad)度をラジアンに変換数値 (rad)数値
(deg)ラジアンを度に変換数値 (deg)数値
(>)大なり数値 数値 (>)論理値
(<)小なり数値 数値 (<)論理値
(>=)以上数値 数値 (>=)論理値
(<=)以下数値 数値 (<=)論理値
(==)等しい数値 数値 (==)論理値
(!=)等しくない数値 数値 (!=)論理値
(&&)AND数値 数値 (&&)論理値
(||)OR数値 数値 (||)論理値
(!)NOT数値 (!)論理値
(eq)文字列として等しい文字列 文字列 (eq)論理値
(neq)文字列として等しくない文字列 文字列 (neq)論理値
(is)変数が存在する変数名 (is)論理値
(abs)絶対値数値 (abs)数値
(floor)小数点以下切捨て数値 (floor)数値
(ceil)小数点以下切り上げ数値 (ceil)数値
(roundDown)桁数を指定して数値を切捨て数値 数値 (roundDown)数値
(roundUp)桁数を指定して数値を切り上げ数値 数値 (roundUp)数値
(convertRadix)基数を変換
〈変換したい数値〉〈基数〉〈変換後の基数〉
数値 数値 数値 (convertRadix)数値
(randBetween)指定した範囲の乱数を生成数値 数値 (randBetween)数値
(concat)文字列を結合文字列 文字列 (concat)文字列
(length)文字列の文字数文字列 (length)数値
(ins)文字列に別の文字列を挿入文字列 数値 文字列 (ins)文字列
(del)文字列の指定した範囲を削除文字列 数値 数値 (del)文字列
(indexOf)文字列のを前方検索文字列 文字列 (indexOf)数値
(lastIndexOf)文字列のを後方検索文字列 文字列 (indexOf)数値
(substring)文字列の切り出し文字列 数値 数値 (substring)文字列
(parse)スペース区切り文字列を配列に変換文字列 (parse)配列
[配列の開始[ 値 ... ]なし
]配列の終了[ 値 ... ]配列
(ref)文字列を変数名として評価する文字列 (ref)変数
(exec)文字列を関数名として評価する文字列 (exec)関数の戻り値
(clearTag)条件分岐タグをクリア(clearTag)なし
(get)オブジェクトまたは配列からプロパティを取り出すオブジェクト 文字列 (get)〈プロパティ〉
(set)オブジェクトまたは配列のプロパティを設定するオブジェクト 文字列 値 (set)なし
(top)配列の最後の値配列 (top)配列の値
(vLength)配列の長さ配列 (vLength)配列の長さ
(pop)配列の最後の値を取り出す配列 (pop)配列の値
(push)配列の末尾の位置に値を追加配列 値 (push)なし
(shift)配列の先頭の値を取り出す配列 (shift)配列の値
(unshift)配列の先頭の位置に値を追加配列 値 (unshift)なし
(join)配列の要素を区切り文字で結合して文字列に変換配列 文字列 (join)文字列
(vReplace)配列の要素を置換配列 配列 配列 (vReplace)配列
(vSum)配列の要素を合計する配列 (vSum)数値
(setSize)canvas要素のサイズを設定する〈幅〉〈高さ〉数値 数値 (setSize)なし
(getWidth)canvas要素の幅を取得する(getWidth)数値
(getHeight)canvas要素の高さを取得する(getHeight)数値
(clearCanvas)canvas要素を塗り潰す〈色〉文字列 (clearCanvas)なし
(beginPath)パスを開始する(beginPath)なし
(moveTo)パスを移動する 〈x〉〈y〉数値 数値 (moveTo)なし
(lineTo)パスを移動して線を追加 〈x〉〈y〉数値 数値 (lineTo)なし
(arc)パスに円弧を追加 〈x〉〈y〉〈radius〉 〈startAngle〉 〈endAngle〉 〈anticlockwise〉数値 数値 数値 数値 数値 数値 (arc)なし
(closePath)パスの始点と終点をつなげる(closePath)なし
(stroke)線を描画(stroke)なし
(fill)パスの内部を塗り潰す(fill)なし
(setStrokeStyle)線の色を指定する文字列 (setStrokeStyle)なし
(setFillStyle)塗り潰しの色を指定する文字列 (setFillStyle)なし
(strokeRect)矩形の外枠を描画 〈x〉〈y〉〈w〉〈h〉数値 数値 数値 数値 (strokeRect)なし
(fillRect)矩形を塗り潰す 〈x〉〈y〉〈w〉〈h〉数値 数値 数値 数値 (fillRect)なし
(strokeText)文字列の外枠を描画 〈文字列〉〈x〉〈y〉文字列 数値 数値 (strokeText)なし
(fillText)文字列を塗り潰す 〈文字列〉〈x〉〈y〉文字列 数値 数値 (fillText)なし
(getPixelData)ピクセルのRGB値を取得 〈x〉〈y〉〈0-3〉数値 数値 数値 (getPixelData)数値
(setPixelData)ピクセルのRGB値を設定 〈x〉〈y〉〈0-3〉数値 数値 数値 (setPixelData)なし