Simplelの論理式
Simplelの基本データ型は、整数(integer)と文字列(string)である。浮動小数点型(IEEE 754型)を入れるかどうかは考慮中、基本的には「必要性が判明するまで入れない」。整数はJavaScript仕様と合わせるため、
- 絶対値が2の53乗までのデータは正確に扱えなくてはならない。絶対値が2^53を超えるときは、仕様では何も定めない。
さて、整数、文字列以外の基本データとして論理値を入れる。そのリテラル(トークン)はtrueとfalse。新しい演算記号(これもトークン)は、
- 比較: '==', '!=", '<', '<=', '>', '>=' ('==='は入れない)
- 論理: '&&', '||', '!'
JavaScriptとは異なり、柔軟な型変換は当面は行わない。
- 整数の比較は自明。
- 文字列の s == t は、同じ長さですべてのiに関してs[i]とt[i]が同じ文字。
- != は == の否定。s != t ⇔ !(s == t)
- 文字列に対する不等号はエラー(許容しない)。
- 論理値以外に対する論理演算はエラー。(将来、仕様変更の可能性はあるが。)