この規格 プレビューページの目次
※一部、英文及び仏文を自動翻訳した日本語訳を使用しています。
4 用語と定義
このドキュメントでは、次の用語と定義が適用されます。
4.1
抽象クラス
定義上、直接のインスタンスを持たないクラス
4.2
アクティベーション
関数の計算
注記 1:すべてのアクティベーションには、アクティベーション ポイント、アクティベーション期間、およびアクティベーション エンドがあります。アクティベータは、実行のために準備された関数適用フォームであり、アクティベーション ポイントでアクティベーションを開始します。
4.3
アクセサー
インスタンスのスロットに対するリーダーとライターの関連付け
4.4
引数の場所
最初の要素を除くフォーム内の要素としてのテキスト単位の出現
4.5
バインディング
- •構文的に、「バインディング」は、識別子とバインディング ISL ispフォームとの関係を記述します。
- •意味的には、「バインディング」は、変数、それを示す識別子、およびオブジェクトの間の関係 (または、変数と場所の間の関係) を記述します。
注記 1バインドされているという特性は、定義および適用された識別子の出現を関連付けることによってテキストで確認できます。
注記2:意味的には、束縛関係は何らかの実体である束縛で具体化されていると想像されるかもしれません。このようなバインド エンティティは、実行時に構築され、後で破棄されるか、無限の範囲を持つ可能性があります。
4.6
クラス
インスタンスと呼ばれる他のオブジェクトのセットの構造と動作を決定するオブジェクト
注記 1:動作とは、インスタンスに対して実行できる操作のセットです。
4.7
調子
実行中のプログラムによって検出された (または検出される可能性がある) 状況を表すオブジェクト
4.8
定義点
ISL ispオブジェクトの識別子表現の開始点である ISL ispテキストのテキスト ポイント。
4.9
直接インスタンス
サブクラスのインスタンスではなく、クラスのインスタンス
注記 1:すべての ISL ispオブジェクトは、「そのクラス」と呼ばれる 1 つのクラスの直接インスタンスです。すべての直接インスタンスのセットとその動作がクラスを構成します。
4.10
動的
プログラムの実行によってのみ決定され、一般に静的に決定できない効果を持つ
4.11
動的変数
関連付けられたバインディングが、字句原理に従って字句的に明らかなブロックによって静的にではなく、それを確立した最後に実行されたアクティブなブロックによって決定される変数
4.12
評価
値および/または副作用をもたらす、実行のために準備されたフォームの計算
4.13
実行
(ネストされている場合もある) アクティベーションのシーケンス
4.14
拡大
この国際標準に準拠する ISL ispテキストを無効にしない、この国際標準の要件に対する実装定義の変更 (識別子の 1 つまたは複数の特定のスペルの使用を禁止することによる場合を除く) は、必要な一連のアクションを変更しません。エラーを通知し、実装依存として指定された機能のステータスを変更しません
4.15
形
実行の準備が可能な、構文的に有効なプログラムテキストの単一ユニット
4.16
機能
引数を指定して呼び出され、計算を実行し (副作用がある可能性があります)、値を返す ISL ispオブジェクト
4.17
汎用関数
アプリケーションの動作が引数の値のクラスによって決定され、一般にいくつかのメソッドで構成される関数
4.18
識別子
ISL ispオブジェクトを指定する語彙要素 (lexeme)
注記1 ISL ispテキストのデータ構造表現では、識別子は記号で示されます。
4.19
不変のバインディング
識別子とこの識別子によって表されるオブジェクトとの間の関係を変更できないバインディング
注記 1:不変バインディング (error-id. immutable-binding ) を変更しようとすると違反になります。
4.20
不変オブジェクト
そのような変更を行うことができる演算子が提供されていないため、またはそうでなければそのような変更を行うことができる可能性のある演算子の使用を禁止する制約が存在するため、変更の対象とならないオブジェクト
注記1別段の明示的な指示がない限り、適合プロセッサは、不変オブジェクトを変更しようとする試みを検出する必要はありません。不変オブジェクトを変更しようとした場合の結果は未定義です。
4.21
実装定義
異なる ISL ispプロセッサ間で異なる可能性がありますが、プロセッサごとに完全に定義されています。
4.22
実装依存
異なるISL ispプロセッサ間で異なる可能性がありますが、特定のプロセッサに対して必ずしも定義されているわけではありません
注記 1適合 ISL ispテキストは、実装依存の機能に依存してはなりません。
4.23
継承
スーパークラスの構造と振る舞いをクラスにマッピングする、クラスとそのスーパークラスとの間の関係
注記 1: ISL ispは、限定された形式の多重継承をサポートします。つまり、クラスは一度に複数の直接スーパークラスを持つことができます。
4.24
実例
クラスの直接のインスタンスまたはそのサブクラスの 1 つのインスタンスのいずれか
4.25
リテラル
プログラム内で定数値として直接表現されるオブジェクト
4.26
メタクラス
インスタンス自体がクラスであるクラス
4.27
方法
ジェネリック関数のクラス固有の動作と操作を定義する、特定のパラメーター プロファイルのジェネリック関数のケース
4.28
オブジェクト
ISL ispプロセッサによって作成、破棄、操作、比較、保存、入力、または出力できるものすべて
注記 1特に、関数は ISL ispオブジェクトです。
注記 2:関数に引数として渡すことができ、値として返すことができ、変数にバインドでき、構造の一部にすることができるオブジェクトは、ファーストクラス オブジェクトと呼ばれます。
4.29
オペレーター
複合フォームの最初の要素。これは、フォームを特別なフォームとして識別する予約名、マクロの名前、ラムダ式、または関数名前空間の識別子のいずれかです。
4.30
オペレーターの位置
フォームの最初の要素としてのテキスト単位の出現
4.31
パラメータ プロファイル
メソッドのパラメーター リスト。各仮パラメーターにはそのクラス名が付いています。
注記 1パラメータにクラス名が付いていない場合、それは最も一般的なクラスに属します。
4.32
場所
オブジェクトを保存して後で取得できる場所
注記 1場所は、setf の最初の引数として許可されている形式によって指定されます。このように使用すると、オブジェクトはその場所に格納されます。フォームが setf の最初の引数として使用されない場合、格納されたオブジェクトが取得されます。ケースは、setf の説明にリストされています。
4.33
処理する
実行準備された ISL ispテキストの実行
4.34
プロセッサ
ISL ispテキスト (または同等のデータ構造) を入力として受け入れ、実行の準備をし、結果を実行して値と副作用を生成するシステムまたはメカニズム
4.35
プログラム
評価される式の集合。その特定の性質はコンテキストに依存します
注記 1この規格内では,「プログラム」という用語は抽象的な意味でのみ使用されている。プログラムを描写する特定の構文構造はありません。
4.36
範囲
その識別子の意味が定義されているプログラムのテキスト部分。つまり、この識別子で指定された ISL ispオブジェクトが存在します。
4.37
スロット
スロット アクセサーを使用してアクセスできるインスタンスの名前付きコンポーネント
注記 1インスタンスの構造は,そのスロットの集合によって定義される。
4.38
文章
この国際標準の要件(つまり、ISL ispの構文と静的セマンティクス) に準拠するテキスト
注記 1 ISL ispテキストは、一連のトップレベル フォームで構成されます。
4.39
トップレベルフォーム
他のフォームにネストされていないか、progn フォームにのみネストされている任意のフォーム
4.40
トップレベルのスコープ
完全な ISL ispテキスト ユニットが処理される範囲
4.41
ライター
クラスのスロットに関連付けられたメソッド。そのタスクは、値をそのクラスのインスタンスのスロットにバインドすることです
4 Terms and definitions
For the purposes of this document, the following terms and definitions apply.
4.1
abstract class
class that by definition has no direct instances
4.2
activation
computation of a function
Note 1 to entry: Every activation has an activation point, an activation period, and an activation end. The activator, which is a function application form prepared for execution, starts the activation at the activation point.
4.3
accessor
association of a reader and a writer for a slot of an instance
4.4
argument position
occurrence of a text unit as an element in a form excluding the first one
4.5
binding
- • syntactically, “binding” describes the relation between an identifier and a binding ISLisp form, and
- • semantically, “binding” describes the relation between a variable, its denoting identifier, and an object (or, the relation between a variable and a location)
Note 1 to entry: The property of being bound can be checked textually by relating defining and applied identifier occurrences.
Note 2 to entry: Semantically, the binding relation might be imagined to be materialized in some entity, the binding. Such a binding entity is constructed at run time and destroyed later, or might have indefinite extent.
4.6
class
object that determines the structure and behavior of a set of other objects called its instances
Note 1 to entry: The behavior is the set of operations that can be performed on an instance.
4.7
condition
object that represents a situation that has been (or might be) detected by a running program
4.8
definition point
textual point of an ISLisp text that is the start of an identifier’s representation of an ISLisp object
4.9
direct instance
instance of a class but not an instance of one of its subclasses
Note 1 to entry: Every ISLisp object is direct instance of exactly one class, which is called “its class”. The set of all direct instances together with their behavior constitute a class.
4.10
dynamic
having an effect that is determined only through program execution and that cannot, in general, be determined statically
4.11
dynamic variable
variable whose associated binding is determined by the most recently executed active block that established it, rather than statically by a lexically apparent block according to the lexical principle
4.12
evaluation
computation of a form prepared for execution which results in a value and/or a side-effect
4.13
execution
sequence of (sometimes nested) activations
4.14
extension
implementation-defined modification to the requirements of this International Standard that does not invalidate any ISLisp text complying with this International Standard (except by prohibiting the use of one or more particular spellings of identifiers), does not alter the set of actions which are required to signal errors, and does not alter the status of any feature designated as implementation dependent
4.15
form
single, syntactically valid unit of program text, capable of being prepared for execution
4.16
function
ISLisp object that is called with arguments, performs a computation (possibly having side-effects), and returns a value
4.17
generic function
function whose application behavior is determined by the classes of the values of its arguments and which consists - in general - of several methods
4.18
identifier
lexical element (lexeme) which designates an ISLisp object
Note 1 to entry: In the data structure representation of ISLisp texts, identifiers are denoted by symbols.
4.19
immutable binding
binding in which the relation between an identifier and the object represented by this identifier cannot be changed
Note 1 to entry: It is a violation if there is attempt to change an immutable binding (error-id. immutable-binding).
4.20
immutable object
object which is not subject to change, either because no operator is provided that is capable of effecting such change, or because some constraint exists which prohibits the use of an operator that might otherwise be capable of effecting such a change
Note 1 to entry: Except as explicitly indicated otherwise, a conforming processor is not required to detect attempts to modify immutable objects; the consequences are undefined if an attempt is made to modify an immutable object.
4.21
implementation defined
feature, possibly differing between different ISLisp processors, but completely defined for every processor
4.22
implementation dependent
feature, possibly differing between different ISLisp processors, but not necessarily defined for any particular processor
Note 1 to entry: A conforming ISLisp text must not depend upon implementation-dependent features.
4.23
inheritance
relation between a class and its superclass which maps structure and behavior of the superclass onto the class
Note 1 to entry: ISLisp supports a restricted form of multiple inheritance; i.e., a class may have several direct superclasses at once.
4.24
instance
either a direct instance of a class or an instance of one of its subclasses
4.25
literal
object whose representation occurs directly in a program as a constant value
4.26
metaclass
class whose instances are themselves classes
4.27
method
case of a generic function for a particular parameter profile, which defines the class-specific behavior and operations of the generic function
4.28
object
anything that can be created, destroyed, manipulated, compared, stored, input, or output by the ISLisp processor
Note 1 to entry: In particular, functions are ISLisp objects.
Note 2 to entry: Objects that can be passed as arguments to functions, can be returned as values, can be bound to variables, and can be part of structures, are called first-class objects.
4.29
operator
first element of a compound form, which is either a reserved name that identifies the form as a special form, or the name of a macro, or a lambda expression, or else an identifier in the function namespace
4.30
operator position
occurrence of a text unit as the first element in a form
4.31
parameter profile
parameter list of a method, where each formal parameter is accompanied by its class name
Note 1 to entry: If a parameter is not accompanied by a class name, it belongs to the most general class.
4.32
place
location where objects can be stored and retrieved later
Note 1 to entry: Places are designated by forms which are permitted as the first argument of setf. If used this way an object is stored in the place. If the form is not used as first argument of setf the stored object is retrieved. The cases are listed in the description of setf.
4.33
process
execution of an ISLisp text prepared for execution
4.34
processor
system or mechanism, that accepts an ISLisp text (or an equivalent data structure) as input, prepares it for execution, and executes the result to produce values and side-effects
4.35
program
aggregation of expressions to be evaluated, the specific nature of which depends on context
Note 1 to entry: Within this International Standard, the term “program” is used only in an abstract way; there is no specific syntactic construct that delineates a program.
4.36
scope
the textual part of a program where the meaning of that identifier is defined; i.e., there exists an ISLisp object designated by this identifier
4.37
slot
named component of an instance which can be accessed using the slot accessors
Note 1 to entry: The structure of an instance is defined by the set of its slots.
4.38
text
text that complies with the requirements of this International Standard (i.e., with the syntax and static semantics of ISLisp)
Note 1 to entry: An ISLisp text consists of a sequence of toplevel forms.
4.39
toplevel form
any form that either is not nested in any other form or is nested only in progn forms
4.40
toplevel scope
scope in which a complete ISLisp text unit is processed
4.41
writer
method associated with a slot of a class, whose task is to bind a value with a slot of an instance of that class