この章では、実行環境の振舞いを規定する原始型について定義する。
原始型は、スクリプトの動作の定義ために定義された 特殊な抽象的データ形式である。 原始型に属するデータをスクリプトプログラムによって直接扱うことはできない。
結果型のデータは、処理を実行した結果についての情報であり、種類と値の組から成る。誤解の虞のない限り、 結果型のデータのことを単に結果と呼ぶ。 結果型の種類には以下の五つがある:
原始整数型のデータは、数学的な意味での整数である。すなわち、 正の整数 (1, 2, 3, …)、0、負の整数 (−1, −2, −3, …) のどれか一つの値である。 原始整数型の値の範囲に理論的な制限はないが、 実行時に計算機の性能などによって実際的な制限が課される。
原始実数型のデータは、数学的な意味での実数である。 原始実数型の値の範囲に理論的な制限はないが、 実行時に計算機の性能などによって実際的な制限が課される。 ただし、原始実数型の値が取りうる値の範囲は、原始整数型の値が取りうる値をすべて 含んでいなければならない。
実装上の注意: 原始実数型の値が取りうる具体的な値の範囲は、 実行環境の実装によって異なるが、できる限り稠密であるのが望ましい。 例えば、二つの原始整数型の値 s と e により、十進浮動小数点数 s × 10e を作り、これを原始実数型の値とすることができる。 このようにして構成される原始実数型は、実用上十分な稠密さを持つ。 実行環境はさらに、√2 や π などの無理数を原子実数型の値として取れるように実装することもできる。 しかしこれらは、原始実数型の取れる値の範囲における必須の条件ではない。
原始制限実数型のデータは、数学的な意味での実数であるか、または無限大という特殊な値である。
原始実数型の表す実数の値の範囲に理論的な制限はないが、 実行時に計算機の性能などによって実際的な制限が課される。 ただし、この範囲には −100000000 以上 100000000 以下の整数が全て含まれていなければならない。
原始制限実数型における演算は、できるだけ正確に (誤差がないように) 行うものとする。ただし実行環境は、原始制限実数型における演算の結果が再び 有効な原子制限実数型の値となるように、その裁量により適切に値を丸めるものとする。 特に、演算の結果の値が大きすぎるときは、結果を無限大としても良い。
実装上の注意: 原始制限実数型の表しうる実数の範囲は、 原始実数型ほどには広くなくても良いが、しかしできる限り稠密であるのが望ましい。 例えば、原始制限実数型の値として、IEEE 754 規格で定義される 64 ビット二進浮動小数点数を使用することができる。
参照型のデータ (参照) は、 値を代入したり参照したりすることの出来る記憶域を表す。
参照型の値に対して代入や参照を行うために、以下の動作を定義する:
Boolean.true
または初期の Boolean.false
のどちらかを値とする正常終了でなければならない。メンバ参照型は、参照型の一種であり、あるオブジェクトのメンバへの 参照を表す。メンバ参照型のデータすなわちメンバ参照は、参照先オブジェクトという一つのオブジェクトと参照先メンバ名という一つの Unicode 文字列から成る。
メンバ参照型の値 r に対して check-reference-value を実行したときの具体的な処理内容は、以下の通りである:
メンバ参照型の値 r に対して get-reference-value を実行したときの具体的な処理内容は、以下の通りである:
NotExistsError
のインスタンスを投げる。メンバ参照型の値 r とオブジェクト o に対して set-reference-value を実行したときの具体的な処理内容は、以下の通りである:
メンバ参照型の値 r に対して delete-reference-value を実行したときの具体的な処理内容は、以下の通りである:
原始リスト型の値 (原始リスト) は、任意の個数 (0 個を含む) のデータの順序付き配列である。
任意の原始リスト l に対して、それに含まれるデータの個数を l.count で表す。原始リストに含まれるデータは、1 から l.count までの自然数を添字として区別する。原始リスト l に含まれる i 個目のデータを、l[i] で表す。
© 2006-2007 Magicant