四則演算

四則演算は、加減乗除すべて二項演算です。したがって、二つのスタックアイテムを費消し、結果をまたスタック上に押込みます。つまり、演算に供される値は、予めスタック上におかれている必要があるわけです。普通の計算式をMops/Forth風に変換すれば、
数学 Mops/Forth風
4 + 13 => 4 13 +
5 - 7 => 5 7 -
35 * 21 => 35 21 *
57 / 4 => 57 4 /
となります。Mops/Forthのような書き順は逆ポーランド記法(RPN : Reverse Polish Notation)またはPostfix記法と呼ばれます。Postfix(ポストフィックス)というのは、演算に供される数値(被演算項)に対して施される演算が、被演算項より後(Post)に決まるためです。演算後置法などと訳されることもあります。

なお、Mops/Forthコードでは、個々の数値間はもちろんのこと、演算記号も空白文字で画されている必要があります。

参考:
Prefix : + x y --- Lisp(Scheme)で採用
Infix : x + y --- その他のプログラミング言語(一般数学)

スタックアイテムは上から、つまり操作を加えなければ直前に格納されたものから順に利用されるため、括弧などを用いずとも曖昧さなく演算の順序がきまります。逆に、Mops/Forthでは括弧等を用いて演算の結合力を操作する機構はありません。コードに書かれた順に実行されていくため、演算子も先に登場したものから順に見ればよく、コードを書くときは計算を実施するべき順にブロックを固めて積み上げていけばよいといえます。

Mops/Forthでは、四則演算記号も、その実態は、特別な演算子ではなく、予め定義されたワードに他なりません。


関連項目:






最終更新:2018年12月11日 18:18