この規格 プレビューページの目次
※一部、英文及び仏文を自動翻訳した日本語訳を使用しています。
4 つの定義
この国際規格の目的のために、次の定義が適用されます。
4.1
引数(コマンドの)
M コマンド ワードは動詞です。それらの引数は、それらが作用するオブジェクトです。
4.2
配列
M 配列は、他のほとんどのコンピューター言語の配列とは異なり、無限の深さと幅を持つツリーです。すべてのノードにはオプションで値を含めることができ、0 個以上の子孫ノードを持つこともできます。添字付き変数の名前はルートを参照し、n 番目の添字は n レベルのノードを参照します。配列は、ノードが設定されたり削除されたりするため、サイズが異なります。スカラー、添え字を参照してください。
4.3
原子
構造の単一の最も基本的な要素。たとえば、式の一部のアトムは、変数と関数の名前、数値、および文字列リテラルです。
4.4
ブロック
ユニットとして行内で実行される、ルーチン内の 1 つまたは複数のコード行。引数なしの DO コマンドはブロックを導入し、その各行は 1 つ以上のピリオドで始まります。ブロックは入れ子にすることができます。海面。
4.5
参照による呼び出し
呼び出しプログラムは、その実パラメーターへの参照を渡します。呼び出されたサブルーチンまたは関数が仮パラメータを変更すると、その変更は実パラメータにも影響します。スカラーまたは配列のいずれかのローカル変数の添字なしの名前に限定されます。値による呼び出しも参照してください。
4.6
値による呼び出し
呼び出し側プログラムは、その実パラメーターの値をサブルーチンまたは関数に渡します。単一の値、つまり、スカラー変数または配列内の 1 つのノードの値に制限されます。参照による呼び出しも参照してください。
4.7
電話
呼び出し元が実行制御を 呼び出し先 に移す手続き型プロセス 。
4.8
呼び出し先
通話の受信者。
4.9
発信者
通話の 発信者。
4.10
指図
コマンド ワード (動詞)、オプションの条件式、および 0 個以上の引数。コマンドは、M 内のすべてのアクションを開始します。
4.11
計算上同等
プロシージャの結果は、提供されたコードが M プログラムによってエラーなしで実行された場合と同じです。ただし、提供されたコードを実行することが結果を達成する方法であるという意味はありません。
4.12
連結
2 本のひもを結合して 1 本のひもを作る行為または結果。
4.13
条件式
コマンド (場合によってはコマンドの引数) をガードします。式の値が true の場合にのみ、コマンドが (引数に対して) 実行されます。真理値を参照してください。
4.14
含む
ある文字列が別の文字列の部分文字列かどうかをテストする論理演算子。
4.15
データセル
M実行の正式モデルで。変数の値と添字 (存在する場合) が含まれますが、変数の名前は含まれません。多くの変数名は、参照によって渡されるパラメーターのためにデータ セルを指す場合があります。名前テーブル、値テーブルも参照してください。
4.16
ディスクリプタ
要素を一意に定義します。それは、要素を他のすべての同様の要素から区別する要素のさまざまな特性を含みます。
4.17
デバイス依存
問題のデバイスに依存するもの。
4.18
空
何も含まないエンティティ。たとえば、空の文字列には文字が含まれていません。存在しますが、長さがゼロです。 null 文字列、NULL 文字も参照してください。
4.19
環境
個別の名前のセット。たとえば、あるグローバル環境では、すべてのグローバル変数に個別の名前が付けられています。多くのオペレーティング システムのディレクトリに似ています。
4.20
評価
値を導出します。
4.21
実行する
言語のコマンドで指定された操作を実行します。
4.22
エキス
値の一部、通常は文字列から連続した文字を取得します。
4.23
外因性の
M コードによって定義および作成される関数または変数で、言語の基本関数または特殊変数とは異なります。本質的な湖。
4.24
従う
いくつかの注文シーケンスに従って後に続きます。 sorts after も参照してください。
4.25
機能
引数によって値が決定される、値を生成するサブルーチン。組み込み関数は言語の定義済み要素であり、外部関数は M でプログラムされます。
4.26
グローバル変数
パブリックで、複数のジョブで使用可能で、永続的で、ジョブが終了しても存続するスカラー変数または配列変数。ローカル変数を参照してください。
4.27
グラフィック
可視文字 (ほとんどの制御文字とは対照的に)
4.28
隠れた
目に見えないNEW コマンドは、ローカル変数を非表示にします。一部のコマンドおよび関数の操作を定義するために呼び出される目に見えない要素にも関係します。
4.29
固有の
M コードで定義されたものではなく、言語標準で定義されたプリミティブ関数または変数。外因性を参照してください。
4.30
仕事
M プログラムを実行する単一のオペレーティング システム プロセス。
4.31
ラベル
コード行を識別します。
4.32
レベル
コード行のブロックのネストの深さ。ルーチンの最初の行はレベル 1 で、連続してネストされたブロックはレベル 2, 3, ... です。 . .正式には、線のレベルは 1 プラス li です。視覚的には、li のピリオドがラベル (存在する場合) に続き、行の本文の前に表示されます。シーブロック
4.33
ローカル変数
1 つのジョブ専用で、他のジョブでは使用できず、ジョブが終了すると消えるスカラー変数または配列変数。グローバル変数を参照してください。
4.34
ロックされた
リソースへの排他的アクセスを要求または取得すること。
4.35
マッピング
ある要素を別の要素に論理的に関連付ける、または置換すること。
4.36
地図
マッピングする行為。
4.37
メタ言語
M 言語の正式な説明で使用される下線付きの用語。
4.38
モジュロ
あるオペランドを別のオペランドで除算した後の剰余を生成する算術演算子。この操作が一般的なコンピューティング分野でどのように実行されるかについては、多くの解釈があります。 M は、この計算の結果を明示的に定義します。
4.39
多次元
配列に関連して使用され、配列が複数の次元を持つことができることを示します。
4.40
裸
グローバル配列変数を形成するツリーの 1 つのレベルへの簡略参照。完全参照は動的に定義されます。
4.41
ネームテーブル
M 実行の正式なモデルでは、一連の変数名とそれらのデータ セルへのポインター。
4.42
ノード
配列を形成するツリーの 1 つの要素。値を持つ場合があり、子孫を持つ場合があります。
4.43
空文字
コード番号 0 (ゼロ) として内部的にコード化される文字。文字列には、この文字を何回でも含めることができます (文字列の最大長まで) 1 つの NULL 文字で構成される文字列の長さは 1 (1) です。
4.44
空文字列
1. 1 つの NULL 文字で構成される文字列。 2. 0 (ゼロ) 文字で構成される文字列。
4.45
オブジェクト
他のエンティティに関連して全体として考えられるエンティティ。
4.46
自分の
リソースへの排他的アクセス権を持つこと。 M では、これはデバイスに関係します。
4.47
パラメータ:
コマンドの修飾子は、その動作を変更したり (たとえば、タイムアウトを強制することによって)、その引数を (たとえば、デバイスの特性を設定することによって) 増強したりします。一部のパラメータは式であり、一部はキーワード = 値の形式です。引数を参照してください。
4.48
パラメータ
(関数またはサブルーチンの);呼び出しプログラムは、実際のパラメーターを提供します。呼び出された関数またはサブルーチンでは、仮パラメーターは位置によって呼び出し元の実引数に関連付けられます。参照による呼び出し、値による呼び出し、パラメーターの受け渡しも参照してください。
4.49
パラメータの受け渡し
この頭韻句は、サブルーチンまたは関数を呼び出すときの実パラメータと仮パラメータの関連付けを指します。
4.50
パーティション
ジョブが実行されるランダム アクセス メモリ。
4.51
ピース
文字列の一部、選択した文字で区切られた部分文字列。
4.52
ポインタ
インダイレクションにより、1 つの M 変数が別の変数またはコマンドの引数を参照または指すことができます。
4.53
ポータブル
国際規格の移植性セクションに準拠する M コード。
4.54
後置条件付き
条件式を参照してください。
4.55
原生的
言語の基本要素。
4.56
プロセススタック
M 実行の正式なモデルでは、実行フローと変数のスコープを制御するプッシュダウン スタック。
4.57
関連した
オペランドの値を比較する演算子に関するもの。
4.58
スカラー
子孫なしの単一値。湖の配列。
4.59
スコープ(コマンドの)
ループ制御、ブロック構造、条件付き実行など、コマンドによって影響を受ける他のコマンドの範囲。
4.60
スコープ (ローカル変数の)
作成から削除まで、または NEW コマンドでの出現からサブルーチン、関数、またはブロックの最後まで、変数が表示されるコマンドの範囲。スコープはテキストではなく動的であり、実行の流れによって制御されます。
4.61
後にソート
照合アルゴリズムに基づく順序付けシーケンスに従って後に続くこと。以下も参照してください。
4.62
添字
値が配列の 1 つのノードを指定する式。その値は、整数、浮動小数点数、または任意の文字列です. 添え字はまばらです, つまり, 定義されたものだけが配列に現れます.配列、スカラーを参照してください。
4.63
真実の価値
数値と見なされる式の値。ゼロ以外は真、ゼロは偽です。
4.64
タプル
セットのメンバーを識別する、あらかじめ決められた数の記述子 (通常は名前と一連の添え字) のシーケンス。
4.65
タイプ
M は、可変長の文字列という 1 つのデータ型のみを認識します。算術演算は文字列を数値として解釈し、論理演算はさらに数値を true または false として解釈します。真理値も参照してください。
4.66
アンバウンド
M 実行の正式なモデルでは、変数の名前とその値の関連付けを解除すること。
4.67
未定義
コマンドから見えない変数に関するもの。
4.68
購読解除
湖のスカラー。
4.69
値を表す
値を表す、または持つ。
4.70
値テーブル
M 実行の形式モデルでは、データ セルのセット。
4.71
変数
M 変数は、ローカルまたはグローバル、スカラーまたは配列の場合があります。
4 Definitions
For the purposes of this International Standard, the following definitions apply.
4.1
argument(of a command)
M command words are verbs. Their arguments are the objects on which they act.
4.2
array
M arrays, unlike those of most other computer languages, are trees of unlimited depth and breadth. Every node may optionally contain a value and may also have zero or more descendant nodes. The name of a subscripted variable refers to the root, and the nth subscript refers to a node on the nth level. Arrays vary in size as their nodes are set and killed. See scalar, subscript.
4.3
atom
A singular, most-basic element of a construction. For example, some atoms in an expression are names of variables and functions, numbers, and string literals.
4.4
block
One or more lines of code within a routine that execute in line as a unit. The argumentless DO command introduces a block, and each of its lines begins with one or more periods. Blocks may be nested. See level.
4.5
call by reference
A calling program passes a reference to its actual parameter. If the called subroutine or function changes its formal parameter, the change affects the actual parameter as well. Limited to unsubscripted names of local variables, either scalar or array. See also call by value.
4.6
call by value
A calling program passes the value of its actual parameter to a subroutine or function. Limited to a single value, that is, the value of a scalar variable or of one node in an array. See also call by reference.
4.7
call
A procedural process of transferring execution control to a callee by a caller.
4.8
callee
The recipient of a call.
4.9
caller
The originator of a call.
4.10
command
A command word (a verb), an optional conditional expression, and zero or more arguments. Commands initiate all actions in M.
4.11
computationally equivalent
The result of a procedure is the same as if the code provided were executed by a M program without error. However, there is no implication that executing the code provided is the method by which the result is achieved.
4.12
concatenation
The act or result of joining two strings together to make one string.
4.13
conditional expression
Guards a command (sometimes an argument of a command). Only if the expression's value is true does the command execute (on the argument). See truthvalue.
4.14
contains
a logical operator that tests whether one string is a substring of another.
4.15
data-cell
in the formal model of M execution. It contains the value and subscripts (if any) of a variable, but not the name of the variable. Many variable names may point to a data-cell due to parameters passed by reference. See also name-table, value-table.
4.16
descriptor
uniquely defines an element. It comprises various characteristics of the element that distinguish the element from all other similar elements.
4.17
device-dependent
That which depends on the device in question.
4.18
empty
an entity that contains nothing. For example, an empty string contains no characters; it exists but has zero length. See also null string, NULL character.
4.19
environment
a set of distinct names. For example, in one global environment all global variables have distinct names. Similar to a directory in many operating systems.
4.20
evaluate
to derive a value.
4.21
execute
to perform the operations specified by the commands of the language.
4.22
extract
to retrieve part of a value, typically contiguous characters from a string.
4.23
extrinsic
a function or variable defined and created by M code, distinct from the primitive functions or special variables of the language. See intrinsic.
4.24
follow
to come after according to some ordering sequence. See also sorts after.
4.25
function
a value-producing subroutine whose value is determined by its arguments. Intrinsic functions are defined elements of the language, while extrinsic functions are programmed in M.
4.26
global variable
a scalar or array variable that is public, available to more than one job,and persistent, outliving the job. See local variable.
4.27
graphic
a visible character (as opposed to most control characters).
4.28
hidden
unseen. The NEW command hides local variables. Also pertains to unseen elements invoked to define the operation of some commands and functions.
4.29
intrinsic
a primitive function or variable defined by the language standard as opposed to one defined by M code. See extrinsic.
4.30
job
A single operating system process running a M program.
4.31
label
Identifies a line of code.
4.32
level
The depth of nesting of a block of code lines. The first line of a routine is at level 1 and successively nested blocks are at levels 2, 3, . . . Formally, the level of a line is one plus li. Visually, li periods follow the label (if any) and precede the body of the line. See block.
4.33
local variable
A scalar or array variable that is private to one job, not available to other jobs, and disappears when the job terminates. See global variable.
4.34
lock
To claim or obtain exclusive access to a resource.
4.35
mapping
The logical association or substitution of one element for another.
4.36
map
The act of mapping.
4.37
metalanguage
Underlined terms used in the formal description of the M language.
4.38
modulo
An arithmetic operator that produces the remainder after division of one operand by another. There are many interpretations of how this operation is performed in the general computing field. M explicitly defines the result of this computation.
4.39
multidimensional
Used in reference to arrays to indicate that the array can have more than one dimension.
4.40
naked
A shorthand reference to one level of the tree forming a global array variable. The full reference is defined dynamically.
4.41
name-table
In the formal model of M execution, a set of variable names and their pointers to data-cells.
4.42
node
One element of the tree forming an array. It may have a value and it may have descendants.
4.43
NULL character
The character that is internally coded as code number 0 (zero). A string may contain any number of occurrences of this character (up to the maximum string length). A string consisting of one NULL character has a length of 1 (one).
4.44
null string
1. A string consisting of 1 (one) NULL character; 2. A string consisting of 0 (zero) characters.
4.45
object
An entity considered as a whole in relation to other entities.
4.46
own
To have exclusive access to a resource. In M this pertains to devices.
4.47
parameter:
A qualifier of a command modifies its behavior (for example by imposing a time out), or augments its argument (for example by setting characteristics of a device). Some parameters are expressions, and some have the form keyword=value. See argument.
4.48
parameter
(of a function or subroutine); The calling program provides actual parameters. In the called function or subroutine, formal parameters relate by position to the caller's actual arguments. See also call by reference, call by value, parameter passing.
4.49
parameter passing
This alliterative phrase refers to the association of actual parameters with formal parameters when calling a subroutine or function.
4.50
partition
The random access memory in which a job runs.
4.51
piece
A part of a string, a sub-string delimited by chosen characters.
4.52
pointer
Indirection allows one M variable to refer, or point to, another variable or the argument of a command.
4.53
portable
M code that conforms to the portability section of the International Standard.
4.54
post-conditional
See conditional expression.
4.55
primitives
The basic elements of the language.
4.56
process-stack
In the formal model of M execution, a push-down stack that controls the execution flow and scope of variables.
4.57
relational
Pertaining to operators that compare the values of their operands.
4.58
scalar
Single-valued, without descendants. See array.
4.59
scope(of a command)
The range of other commands affected by the command, as in loop control, block structure, and conditional execution.
4.60
scope(of a local variable)
The range of commands for which the variable is visible, from its creation to its deletion, or from its appearance in a NEW command to the end of the subroutine, function, or block. Scope is not textual, but dynamic, controlled by the flow of execution.
4.61
sorts after
To come after according to an ordering sequence that is based on a collating algorithm. See also follows.
4.62
subscript
An expression whose value specifies one node of an array. Its value may be an integer, a floating point number, or any string. Subscripts are sparse, that is, only those that have been defined appear in the array. See array, scalar.
4.63
truthvalue
The value of an expression considered as a number. Non-zero is true, and zero is false.
4.64
tuple
A sequence of a predetermined number of descriptors (usually a name and a series of subscripts) that identifies a member of a set.
4.65
type
M recognizes only one data type, the string of variable length. Arithmetic operations interpret strings as numbers, and logical operations further interpret the numbers as true or false. See also truthvalue.
4.66
unbound
In the formal model of M execution, the disassociation of a variable's name from its value.
4.67
undefined
Pertaining to a variable that is not visible to a command.
4.68
unsubscripted
See scalar.
4.69
value-denoting
Representing or having a value.
4.70
value-table
In the formal model of M execution, a set of data-cells.
4.71
variable
M variables may be local or global, scalar or array.