電卓のようなもの

(もっとネタ臭を醸し出した書き出しをここに書きたいのだが、できないので保留)
Forth といえば逆ポーランド記法逆ポーランド記法といえば Forth ですが、Forth で中置記法で数式を書く事もできます。
まず、四則演算のオペレータを上書き定義します。上書きするのはその方がカッコイイからです。

: readnum bl parse evaluate ;
: + readnum + ;
: - readnum - ;
: * readnum * ;
: / readnum / ;
: % readnum mod ;

あと、= で、表示と改行をするようにします。

: = . cr ;

これだけで、中置記法で数式が書けるようになります。

1 + 1 =     \ => 2
2 - 3 =     \ => -1
4 * 5 =     \ => 20
67 / 8 =    \ => 8
90 % 11 =   \ => 2
12 + 13 + 14 =   \ => 39
15 * 16 * 17 =   \ => 4080

ただし、数字と演算子の間に空白が必要です。また、加減と乗除の優先順位は同じです。

1 + 2 * 3 =   \ => 9
4 * 5 + 6 =   \ => 26

変数も使えます。

7 value x
x * x =   \ => 49