データオブジェクト
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/03/10 20:29 UTC 版)
ワードが変数や他のデータオブジェクトであるとき、CPはそれを作成した定義ワードに関連付けられたランタイムコードを指している。定義ワードは特徴的な"defining behavior"(ディクショナリエントリの作成に加え、もしかしたらアロケートとデータ領域の初期化をする)を持っており、この定義しているワードによって構築されたワードのクラスのインスタンスの振る舞いの定義もする。たとえは、 VARIABLE 初期化されていないものを命名する、one-cell memory location。VARIABLE のインスタンスの振る舞いはそのスタック上のアドレスを返す。 CONSTANT 値を命名する(CONSTANTの引数として指定する)。インスタンスの振る舞いは値を返す。 CREATE 位置を命名する。空間がこの場所に確保されるか、さもなくばこれは文字列か他の初期化された値を格納するためにそれがセットされることができる。インスタンスの振る舞いは、この空間の開始のアドレスを返す。 Forth は、カスタム定義の振る舞いとインスタンスの振る舞いを指定する、新しいアプリケーション特有の定義ワードをプログラマが定義できる機能もまた提供する。円形バッファ、I/Oポート上で命名されたビット、自動的にインデックス化された配列などの例がある。 これらに定義されたデータオブジェクトと同様のワードはスコープにおいてグローバルである。他の言語でローカル変数から提供された関数は、Forth ではデータスタックから提供される(しかし、Forth も真のローカル変数は持っている)。Forth のプログラミングスタイルは他の言語に比べ、ごく少数の名付けられたデータオブジェクトを使う。典型的にはこのようなデータオブジェクトは、たくさんのワードやタスク(マルチタスクの実装においては)によって使われるデータを格納するのに使われる。 Forth は型システムを持たない。したがって値の操作は全てプログラマの責任で行われる。
※この「データオブジェクト」の解説は、「Forth」の解説の一部です。
「データオブジェクト」を含む「Forth」の記事については、「Forth」の概要を参照ください。
- データ オブジェクトのページへのリンク