記憶装置

インタープリターは記憶装置 (storage) を持つ。記憶装置は記憶素子 (cell) の集まりである。記憶素子はベクトルで区別される。記憶素子を区別するためのベクトルをアドレス (address) と言う。記憶素子は 1 個の値を記憶する。記憶素子は値の書き込み (write) と読み出し (read) が可能である。

記憶装置に書き込むには write プリミティブ演算を使用する。write プリミティブ演算は to 引数と value 引数を取る。to 引数の値はベクトルである必要がある。write プリミティブ演算の戻り値はブーリアン型の false である。また、write プリミティブ演算で書き込んだ値は、erase プリミティブ演算で消去することができる。erase プリミティブ演算の main 引数で記憶素子のアドレスを指定する。

引数解決で、他に優先順位の高い要因がなければ、記憶装置からの読み出しが行われる。このとき演算指定子が記憶素子のアドレスとして使われる。

互換性についての注意 read storage プリミティブ演算は、過去の言語仕様で規定されていたが、廃止された。このプリミティブ演算を使用しているコードを動作させるために、手続きでエミュレートするなどの対応が必要になる場合がある。

指定された記憶素子に値が書き込まれているか調べるには full プリミティブ演算を使用する。full プリミティブ演算の main 引数でアドレスを指定すると、対応する記憶素子に値が記憶されているかによって、ブーリアン型の true または false が戻り値となる。

また、available procedure プリミティブ演算と available primitive operation プリミティブ演算は、それぞれ、main 引数で指定されたベクトルに対応する手続きまたはプリミティブ演算が存在するかどうか調べる。

互換性についての注意 過去の言語仕様との互換性のため、full プリミティブ演算の volume 引数に有名ベクトル proceduremain または primitivemain を与えると、それぞれ、main 引数で指定されたベクトルに対応する手続きまたはプリミティブ演算が存在するかどうか調べる。この仕様は将来の言語仕様では削除される可能性がある。新しく作成されるプログラムでは、available procedure プリミティブ演算と available primitive operation プリミティブ演算を使用すべきである。