サイトトップへこのカテゴリの一覧へ

X 3011-1995  

(1) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

目次 

第1部言語仕様 ···················································································································· 1 

序文 ··································································································································· 1 

1. 静的構文に対する超言語 ··································································································· 1 

2. 静的構文及び意味 ············································································································ 2 

2.1 基本文字 ······················································································································ 2 

2.2 式子 ···························································································································· 3 

2.2.1 名前 ·························································································································· 3 

2.2.2 変数 ·························································································································· 3 

2.2.2.1 局所変数名 ··············································································································· 4 

2.2.2.2 大域変数名 ··············································································································· 4 

2.2.2.3 変数の扱い ··············································································································· 5 

2.2.2.4 変数の環境 ··············································································································· 8 

2.2.3 定数字列 ···················································································································· 8 

2.2.3.1 数値データの値 ········································································································· 8 

2.2.3.2 定数字列の意味 ········································································································· 9 

2.2.4 データの数値解釈 ········································································································ 9 

2.2.4.1 整数解釈 ················································································································· 10 

2.2.4.2 真偽値解釈 ·············································································································· 10 

2.2.5 定文字列 ··················································································································· 10 

2.2.6 組込み特殊変数名 ······································································································· 10 

2.2.7 組込み関数 ················································································································ 11 

2.2.7.1 $ASCII···················································································································· 12 

2.2.7.2 $CHAR ··················································································································· 13 

2.2.7.3 $DATA ···················································································································· 13 

2.2.7.4 $EXTRACT ·············································································································· 13 

2.2.7.5 $FIND ···················································································································· 14 

2.2.7.6 $FNUMBER ············································································································· 14 

2.2.7.7 $GET······················································································································ 15 

2.2.7.8 $JUSTIFY ················································································································ 15 

2.2.7.9 $LENGTH ··············································································································· 15 

2.2.7.10 $NEXT(1) ·············································································································· 15 

2.2.7.11 $ORDER ················································································································ 16 

2.2.7.12 $PIECE·················································································································· 17 

2.2.7.13 $QUERY ················································································································ 17 

2.2.7.14 $RANDOM ············································································································· 18 

2.2.7.15 $SELECT ··············································································································· 18 

X 3011-1995 目次 

(2) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

2.2.7.16 $TEXT ·················································································································· 18 

2.2.7.17 $TRANSLATE ········································································································· 19 

2.2.7.18 $VIEW ·················································································································· 19 

2.2.7.19 $Z ························································································································ 19 

2.2.8 単項演算子 ················································································································ 20 

2.2.9 外部特殊変数 ············································································································· 20 

2.2.10 外部関数 ·················································································································· 20 

2.3 式 ······························································································································ 21 

2.3.1 算術2項演算子 ·········································································································· 22 

2.3.2 関係演算子 ················································································································ 22 

2.3.2.1 数値関係 ················································································································· 22 

2.3.2.2 文字列関係 ·············································································································· 22 

2.3.3 パターン照合 ············································································································· 23 

2.3.4 論理演算子 ················································································································ 24 

2.3.5 連結演算子 ················································································································ 24 

2.4 ルーチン ····················································································································· 24 

2.4.1 ルーチン構造 ············································································································· 24 

2.4.2 ルーチンの実行 ·········································································································· 25 

2.5 命令の一般則 ··············································································································· 25 

2.5.1 後置条件並び ············································································································· 26 

2.5.2 命令間の間隔 ············································································································· 27 

2.5.3 注釈 ························································································································· 27 

2.5.4 READとWRITEにおける書式 ······················································································ 27 

2.5.5 $X組込み特殊変数と$Y組込み特殊変数に対する副作用 ····················································· 27 

2.5.6 時間制限 ··················································································································· 28 

2.5.7 行参照 ······················································································································ 28 

2.5.8 命令の引数の間接指定 ································································································· 29 

2.5.9 パラメタ渡し ············································································································· 29 

2.6 命令の規定 ·················································································································· 30 

2.6.1 BREAK ····················································································································· 30 

2.6.2 CLOSE ······················································································································ 30 

2.6.3 DO ··························································································································· 31 

2.6.4 ELSE ························································································································ 31 

2.6.5 FOR ························································································································· 31 

2.6.6 GOTO ······················································································································· 33 

2.6.7 HALT ······················································································································· 33 

2.6.8 HANG ······················································································································ 34 

2.6.9 IF ···························································································································· 34 

2.6.10 JOB ························································································································ 34 

2.6.11 KILL ······················································································································· 35 

X 3011-1995 目次 

(3) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

2.6.12 LOCK ····················································································································· 35 

2.6.13 NEW ······················································································································· 37 

2.6.14 OPEN ······················································································································ 37 

2.6.15 QUIT ······················································································································ 38 

2.6.16 READ ····················································································································· 39 

2.6.17 SET ························································································································ 40 

2.6.18 USE ························································································································ 41 

2.6.19 VIEW ······················································································································ 42 

2.6.20 WRITE ···················································································································· 42 

2.6.21 XECUTE ·················································································································· 42 

2.6.22 Z ···························································································································· 42 

第2部 MUMPS移植要件 ······································································································ 43 

序文 ·································································································································· 43 

1. 式の要素 ······················································································································· 43 

1.1 名前 ··························································································································· 43 

1.2 局所変数 ····················································································································· 43 

1.2.1 局所変数の個数 ·········································································································· 43 

1.2.2 添字の個数 ················································································································ 43 

1.2.3 添字の値 ··················································································································· 43 

1.2.4 ノードの個数 ············································································································· 43 

1.3 大域変数 ····················································································································· 43 

1.3.1 大域変数の個数 ·········································································································· 43 

1.3.2 添字の個数 ················································································································ 44 

1.3.3 添字の値 ··················································································································· 44 

1.3.4 ノードの個数 ············································································································· 44 

1.4 データ型 ····················································································································· 44 

1.5 数値の範囲 ·················································································································· 44 

1.6 整数 ··························································································································· 44 

1.7 文字列 ························································································································ 44 

1.8 組込み特殊変数 ············································································································ 44 

2. 式 ································································································································ 44 

2.1 式の入れ子 ·················································································································· 44 

2.2 結果 ··························································································································· 44 

3. ルーチン及び命令行 ········································································································ 44 

3.1 命令行 ························································································································ 44 

3.2 命令行の個数 ··············································································································· 44 

3.3 命令の個数 ·················································································································· 44 

3.4 行ラベル ····················································································································· 45 

3.5 行ラベルの個数 ············································································································ 45 

X 3011-1995 目次 

(4) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

3.6 ルーチンの個数 ············································································································ 45 

4. 間接指定 ······················································································································· 45 

5. 記憶容量の制限 ·············································································································· 45 

6. 入れ子 ·························································································································· 45 

7. その他の移植要件 ··········································································································· 45 

8. $Z関数 ························································································································· 45 

附属書A(参考) ASCII文字集合 ························································································· 46 

附属書B(参考) 生成規則一覧 ···························································································· 50 

英和対訳 ···························································································································· 57 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

日本工業規格          JIS 

X 3011-1995 

プログラム言語MUMPS 

Programming language MUMPS 

日本工業規格としての前書き 

この規格は,1992年第1版として発行されたISO/IEC11756 (Information technology−Programming languages

−MUMPS) を翻訳し,原国際規格の様式によって作成した日本工業規格であるが,規定内容の一部を我が

国の実情に即して変更した。 

なお,この規格で側線を施してある箇所は,原国際規格の規定内容を変更した事項又は原国際規格にはな

い事項である。 

第1部 言語仕様 

序文 第1部は,プログラム言語MUMPSを規定する二つの章からなる。1.では,第1部全体を通じて使

う静的構文に対する超言語を規定する。2.では,言語の静的構文及び全体の意味を規定する。静的構文と

動的構文の区別は,次のとおりとする。静的構文とは,情報交換媒体での表現又は印字した場合の表現に

おける,ルーチンの文字の列としての形をいう。動的構文とは,ルーチンの解釈実行時に現れうる文字の

列としての形をいう。ただし,これは,MUMPSを実際に解釈実行 (interpret) しなければならないことを

意味しない。動的構文では,制御の移行や間接指定 (indirection) から生じる値も考慮の対象とする。 

1. 静的構文に対する超言語 超言語での終端記号は,JIS X 0201及びJIS X 0208による文字とする。超

言語での演算子は,次のとおりとする。 

演算子 

意味 

−−−− 

−−−−−−−−−− 

::= 

規定 

[   

省略可能 

| | 

くくり 

… 

0回以上の反復 

並び 

値 

次の記号は,構文中に現れる機能文字を表現するのに用いる。 

間隔 

(SP) 

復帰 

(CR) 

改行 

(LF) 

background image

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

書式送り 

(FF) 

構文上での単位は,原則として,下線付き日本語の単語(例えば,名前,式)で表す。構文要素の連接

はそれらを横に併置して表し,選択はその対象を縦に併置して表す。記号“: : =”は,構文を規定する。

省略可能な要素は“[”と“]”でくくり,0回以上反復可能な要素はその後ろに“…”を付けて示す。例

えば,名前の規定は次のようになる。 

名前 

: : = 

% 

  

数字 

 … 

アルファベット 

  アルファベット   

要素をまとめたり,選択肢を明示したりするために,それらを“|”でくくることがある。 

超言語での単項演算子Lは,その直後の構文要素を1個以上“,”で区切りながら並べてできる並びを

表す。 

“L名前”は“名前[,名前]…”に等しい。 

超言語での2項演算子Vは,その左の構文要素が,その右の構文要素の構文に従った値をもっていなけ

ればならないことを表す。“例示命令”という命令を仮に次のとおりに規定したとする。 

例示命令 

: : = 

EXAMPLE SP L 例示引数 

例示引数 

: : = 

式 

@式子 V L 例示引数 

この構文規則は,例示引数の中に現れる間接指定を評価し終えた後には,例示命令の“EXAMPLE”に

続く例示引数の並びが,式を“,”で区切りながら並べた並びになっていなければならないことを示す。静

的構文(すなわち,間接指定を評価する前の構文)では,例示引数の並びの部分部分が@式子の形,すな

わち,間接指定になっていて差し支えない。間接指定を許容する構文要素に対しては,通常,そのすべて

の間接指定を評価し終えた時点での構文を規定する。 

備考1. この規格の引用規格を次に示す。 

JIS X 0201 情報交換用符号 

JIS X 0208 情報交換用漢字符号 

2. この規格の対応国際規格を次に示す。 

ISO/IEC 11756 Information technology−Programming languages−MUMPS 

2. 静的構文及び意味 

2.1 

基本文字 2.では,ルーチンの静的構文を,次の文字の列として規定する。 

図形文字(間隔を含む。) 

復帰 

改行 

書式送り 

構文単位のうち,図形文字,アルファベット,数字及び非引用符については,表現の簡素化のために便

宜上,次のとおりに規定する。 

図形文字 

: : = JIS X 0201及びJIS X 0208による図形文字(間隔を含む。) 

非引用符 

: : = JIS X 0201の引用符 (”) を除く図形文字 

アルファベット : : = JIS X 0201の大文字A〜Z及び小文字a〜z 

数字 

: : = JIS X 0201の0〜9の数字 

background image

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

参考 国際規格表現は,ASCII文字による。JIS X 0201図形記号とは,次の図形記号が異なる。 

JIS X 0201 

名称 

ASCII図形記号 

¥ 

円記号 

/ 

− 

上線 

− 

参照一覧 ルーチン2.4 

2.2 

式子 値を求める計算過程を記述した構文要素を,式(2.3参照)という。式を構成する最小の単位

を式子という。 

局所変数名 

式子 

: : = 

大域変数名 

項 

項 

: : = 

組込み特殊変数名 

組込み関数 

外部関数 

外部特殊変数 

定数字列 

定文字列 

(式) 

単項演算子 式子 

ʼ (注:アポストロフィ) 

単項演算子 

: : = 

+  

− (注:ハイフン) 

参照一覧  組込み特殊変数名 2.2.6,組込み関数 2.2.7,外部関数 2.2.10 

外部特殊変数 2.2.9,定数字列 2.2.3,定文字列 2.2.5,式 2.3 

局所変数名 2.2.2.1,大域変数名 2.2.2.2 

2.2.1 

名前 

名前 : : = 

% 

  

数字 

アルファベット   アルファベット  

参照一覧 アルファベット2.1,数字2.1 

2.2.2 

変数 この規格では,“局所変数” (local variables) 及び“大域変数” (global variables) という用語

を,他のプログラム言語での用法とは違った意味で用いる。ここでは,MUMPS環境におけるこれらの用

語の意味を規定する。 

一つのルーチン又は一群のルーチンは,オペレーティングシステムの下での一つのプロセスとして稼働

する。ルーチンは,その実行の途中で,そのルーチン専用の変数を生成し値を変更することができる。ル

ーチンは,他のプロセスとの共用変数を操作する(生成する)こともできる。これらの変数は,通常,磁

気ディスクなどの2次周辺装置に記録する。プロセス専用の変数は,そのプロセスの実行が終わると,消

滅する。長期使用のために生成した(共用)変数は,そのプロセスの実行が終わっても補助記憶装置上に

background image

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

残り,以後のプロセスからも操作することができる。 

MUMPSでの用語“局所変数”は,そのプロセスの活動期間にだけ使うために生成した変数を指す。こ

れらの変数は,他のプロセスからは操作することができない。しかし,通常そのプロセスの動作中に実行

されるルーチンからは操作することができる。MUMPSには,NEW命令やパラメタ渡しのように,これら

の変数が操作可能なルーチン又はルーチンの部分を限定する構文要素がある(2.2.2.3参照)。 

MUMPSでの用語“大域変数”は,MUMPSのプロセスが生成した,永続的な共用変数を指す。大域変

数は,生成されると同時に,そのシステムの下のすべてのプロセスからも操作可能とする。大域変数は,

プロセスが消滅しても消滅することがない。大域変数は,局所変数と同様に,あるプロセス内で実行され

たすべてのルーチンから操作することができる。 

2.2.2.1 

局所変数名 

局所変数名 : : = 

実局所変数名 

@ 式子 V 局所変数名 

実名所変数名 : : = 

名前[(L 式)] 

@ 間接指定局所変数名 @ (L 式) 

間接指定局所変数名 : : = 実式子 V 局所変数

名 

実局所変数名 

実式子 : : = 実大域変数名 

項 

局所変数の名前には,添字の並びを付けても付けなくてもよい。添字の並びを付ける場合,“,”で区切

りながら並べる添字の個数に上限はない。添字の並びを付けない局所変数名は,添字の並びを付けた局所

変数名と違う値をとることができる。 

間接指定局所変数名がある場合,それは常に,ある実局所変数名の一部となる。その実局所変数名の値

が局所変数名として添字をもつ形のときは,その添字の幾つかが間接指定局所変数名から生じることがあ

る。この場合,実局所変数名の結果の値の先頭には,間接指定局所変数名から生じた添字の並びが並び,

その後ろに実局所変数名の残りの(空でない)添字の並びが“,”を置いて並ぶ。 

参照一覧 式子2.2,V1,名前2.2.1,式2.3,L1,実大域変数名 2.2.2.2 

2.2.2.2 

大域変数名 

大域変数名 : : = 

実大域変数名 

@ 式子 V 大域変数名 

^ (L 式) 

実大域変数名 : : = ^ 名前[(L 式)] 

@ 間接指定大域変数名 @ (L 式) 

間接指定大域変数名 : : = 実式子 V 大域変数名 

“^”を前置することで,大域変数の名前を示す。大域変数名には,添字の並びを付けても付けなくて

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

もよい。添字の並びを付ける場合,“,”で区切りながら並べる添字の個数に上限はない。名前を省略して

“^”に続けて添字の並びを直接に書いた大域変数名を,“略式参照” (naked reference) という。略式参

照で省略した名前及び添字の並びの先頭部分(空のこともある。)は,“略式指標” (naked indicator) の値

によって補完する。添字の並びを付けない大域変数名は,添字の並びを付けた大域変数名と違う値をとる

ことができる。 

間接指定大域変数名がある場合,それは常に,ある実大域変数名の一部となる。その実大域変数名の値

が大域変数名として添字をもつ形のときは,その添字の幾つかが間接指定大域変数名から生じることがあ

る。この場合,実大域変数名の結果の値の先頭には,間接指定大域変数名から生じた添字の並びが並び,

その後ろに実大域変数名の残りの(空でない)添字の並びが“,”を置いて並ぶ。 

大域変数名を実行すると,次のとおりに略式指標の値が変わる。大域変数名が略式指標でない次の形を

していたとする。 

N (v1, v2,…,vm)  

m>0 

この大域変数名の参照を行うと,略式指標には,m個の値N,v1,v2,…,vm-1が入る。その後の略式参

照 

^ (s1, s2,…,si)  

i>0 

は,次の形の大域変数名への参照とする。 

N (v1, v2,…,Vm-1, s1, s2,…,si)  

その参照を行うと,略式指標には,m+i−1個の値N,v1,v2,…,vm-1,s1,s2,…,si−1が入る。略

式指標の値は,略式指標でない最初の大域変数名の参照を行うまで,不定とする。略式指標の値が不定の

ときに略式参照を行うと,誤りとする。添字の並びをもたない略式参照を行う場合,略式指標は不定とす

る。 

略式指標への効果は,その大域変数名が現れる文脈によらない。特に,“SET大域変数名=式”によっ

て大域変数に代入を行う場合は,右辺の式の評価が終わるまで略式指標の値に変化が生じない。右辺の式

の中に現れる大域変数名の略式指標への効果は,左辺での略式指標への効果よりも先に生じる。 

大域変数名又は局所変数名の構文に従うものを,単に変数名という。 

変数名 : : = 大域変数名 

局所変数名 

参照一覧 式子2.2,V1,式2.3,名前2.2.1,L1,局所変数名2.2.2.1 

2.2.2.3 

変数の扱い MUMPSには,明示的な宣言文も定義文もない。局所変数も大域変数も,添字の並

びが付いていようといまいと,そこへ値を入れようとすると自動的に生成され,一度値を入れればその値

を参照することができる。MUMPSには唯一のデータ型,すなわち文字列しかないため,型宣言又は明示

的なデータ型変換は必要ない。配列は,多次元とすることができ,変数名の深さを含めて,どの深さのと

ころにもデータを同時に保持することができる。添字には,正負の整数ばかりでなく,整数以外の数値や

数値以外の文字列(空の文字列は除く。)も使うことができる。 

一般に,局所変数の記号表への操作は,次のようにみることができる。変数に最初にデータを入れるま

では,その変数の値は不定とする。SET,READ,FORなどの命令を使って,変数にデータを入れること

ができる。その後,その変数を参照すると,最近に入れたデータを得ることができる。KILL命令を使っ

て変数を消去すると,その変数及びその変数の配列の下位成分(もしあれば)が消滅し,それらの値は不

定とする。 

ルーチン又はサブルーチンがその呼び手 (caller) の局所変数を操作するのに,特有の構文は必要ない。

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

NEW命令又はパラメタ渡しを使った場合を除いて,サブルーチン又は呼ばれたルーチン(働き手 (callee))

は,その呼び手と同じ変数・値の組をもつ。働き手が終了すると,呼び手は,その働き手が終了時にもっ

ていたのと同じ変数・値の組をもって実行を再開する。 

NEW命令は,局所変数の有効範囲を制御する。NEW命令は,まず,指定した変数の値を保存する。続

いて,それらの変数の値を不定にする。NEW命令を実行したルーチン又はサブルーチンからその呼び手

に戻ったとき,保存しておいた値(なかには不定のものもありうる。)はそれぞれの変数に戻る。パラメタ

渡しは,DO命令,外部関数及び外部特殊変数を含め,ルーチン又はサブルーチンに引数を渡す。このと

き,働き手は,呼び手が,データを渡したり受け取ったりするのに使った変数名を意識する必要がない。 

局所変数と値との対応は,概念模型を使って形式的に規定する。これは,MUMPSの処理系作成方式を

規定するものではない。 

この規格で使用する“名前表” (name-table) , “値表” (value-table) , “データセル” (data-cell) , “処

理スタック” (process-stack) 及び“深さ” (level) は,概念であって,MUMPSの処理系に存在する必要

はない。 

変数の値は,“名前表”及び“値表”の二つの構造体を使って規定する(実際,最低限このとおりの二つ

の表を必要とする。こうした表は,プロセス固有の局所変数を扱うためにそれぞれのプロセスごとに一組,

システム全体にわたる大域変数のために一組をそれぞれ必要とする。)。変数名と値の対応操作が局所変

数・大域変数に共通であること及びパラメタ渡し又は入れ子環境による有効範囲の問題は局所変数にだけ

生じることから,2.2.2.3以降では,局所変数についての変数と値の対応だけを対象として規定を与える。

しかしながら,表については,その構造が同じであるものの,使い方に次の二つの大きな違いがあること

に留意すること。第1に,大域変数用の表は共用とすること。つまり,SET,KILLなどを一つのプロセス

で実行して大域変数用の表を操作すると,その効果はすべてのプロセスに及ぶ。第2に,大域変数用の“名

前表”の項目(変数名)と“値表”の項目(値)とは,常に1対1に対応すること。これは,パラメタ渡

し及びNEW命令による有効範囲制御が大域変数に及ばないことによる。 

“名前表”は,項目の集まりからなる。それぞれの項目は,名前と“指標” (pointer) の対を収める。こ

の指標は,その名前と“値表”の中のちょうど1個の“データセル”を対応させる。“値表”は,“データ

セル”の集まりからなる。それぞれの“データセル”は,0個以上のさまざまの位数 (order degree) の値組 

(tuple) を収める。値組の位数とは,その値組の要素(これを添字という。)の個数(0のこともある。)を

いう。“データセル”の中のそれぞれの値組には,対応する値が伴う。 

“名前表”には,その時点でそのプロセスに既知で操作可能な,添字の並びが付かない変数名又は配列

名(名前)のすべてが項目として入る。“値表”の“データセル”には,そのプロセスでの変数の値を表す

値組のすべてが入る。“名前表”のそれぞれの名前(項目)は,ただ一つの“データセル”を“指す” (point) 。

“名前表”の項目は,一意な名前を収める。“名前表”の複数の項目(名前)が,同じ“データセル”を指

していることもある。したがって,“名前表”の項目と“データセル”とは,多対1の対応とする。このと

き,その名前は,“名前表”の“指標”を通してその対応する“データセル”に“束縛” (bound) されて

いるという。すなわち,指標は,この対応を表しているから,“指標を変更する”ということは,“ある名

前が別の“データセル”(値)に対応するように対応を変更する”というのに等価とする。“名前表”の項

目は,“処理スタック”にも入ることがある(2.2.2.4参照)。 

添字の並びの付かない局所変数名の値は,“名前表”のその局所変数名の名前を収めた項目が束縛されて

いる“データセル”の中の,位数 (degree) 0の値組が表す。位数nの添字付き局所変数名(配列要素)の

値も同様に,その局所変数名の名前を収めた“名前表”の項目に束縛されている“データセル”の中の値

background image

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

組が対応する。“データセル”の中のその特定の値組は,その局所変数名の各添字と同じ値を並べてできる

位数nの値組とする。その“データセル”の中に対応する値組が存在しない場合,その局所変数名の値は

“不定” (undefined) とする。 

例 変数及び配列要素が次の値をもっているとする。 

VAR1=”Hello” 

VAR2=12.34 

VAR3=”abc” 

VAR3 (”Smith”, ”John”, 1234) =123 

VAR3 (”Widget”, ”red”) =−56 

更に,変数DEFはあるとき存在していたが現在は値も配列ももっておらず,変数XYZはパラメタ渡し

によって変数VAR2と同じ値に“束縛”されているとする。このときの“名前表”と“値表”は,次のと

おりとする。 

“名前表” 

”値表”“データセル” 

VAR1 −−> 

()=”Hello” 

VAR2 −−> 

  

()=12.34 

      XYZ 

−−> 

VAR3 −−> 

()=”abc” 

  

”Smith”, “Jobn”, 1234) =123 

  

(”Widget”, “red”) =−56 

      DEF 

−−> 

プロセスがまだその実行を開始していない時点では,その“名前表”及び“値表”は空とする。変数(局

所変数名)に値を“入れよう”(“代入しよう”)とする場合は,次の(1)〜(4)による。 

(1) その局所変数名の名前が“名前表”の項目にない場合は,新しい空の“データセル”を指す指標及び

その名前を収めた項目を“名前表”に追加する。その新しい“データセル”を初期値組なしで“値表”

に追加する。 

(2) そうでなければ,その局所変数名の名前を収めた“名前表”の項目の中の指標を取り出す。(3)〜(4)

では,この指標が指す“データセル”の中の値組を対象とする。 

(3) その局所変数名に添字の並びが付いていなければ,“データセル”の中の位数0の値組の表す値を,与

えられた新しい値で書き換える。対応する値組がなければ,それを作り,その新しい値を表すように

する。 

(4) その局所変数名に添字の並びが付いていれば,“データセル”の中のその添字の値組(すなわち,その

局所変数名の名前を除いてできる値組。この値組の位数は,添字の個数に等しい。)が表す値を,与え

られた新しい値で書き換える。対応する値組がなければ,それを作り,その新しい値を表すようにす

る。 

情報を取り出そうとするとき,その局所変数名の名前が“名前表”にないか,あっても対応する“デー

タセル”の値組が存在しなければ,その値は不定とする。そうでなければ,値が存在するから,その値を

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

取り出す。空文字列(長さ0の文字列)の値は,データの値が不定であることとは異なる。 

変数を“抹消” (kill) しようとする場合は,次の(5)〜(7)による。 

(5) その局所変数名の名前が“名前表”になければ,それ以上何もしない。 

(6) その局所変数名に添字の並びが付いていなければ,対応する“データセル”の中のすべての値組を消

し去る。 

(7) その局所変数名に添字の並びが付いていれば,対応する“データセル”の中の,次の(a)及び(b)の条件

を満足するすべての値組を消し去る。ただし,局所変数名から名前を削除した後の,添字の並びの中

の添字の個数をNとする。 

(a) 値組の位数がN以上であること。 

(b) 値組の最初のN個の値が,すべてその局所変数の添字の並びの中の対応する添字の値に等しい。 

この概念模型に従えば,“データセル”の中のすべての値組を消し去っても,その“データセル”自身及

び“名前表”の中の対応する名前はそのまま残る。このことは,パラメタ渡し及びNEW命令の結果とし

てしばしば生じる。 

2.2.2.4 

変数の環境 多重の変数環境 (variable context) を構成するために,“処理スタック”を使う。処

理スタックは,いわゆる後入れ先出し (LIFO) 方式の並び又はプッシュダウンスタックとし,制御の流れ

又は変数環境を管理するための情報をそこに保存したり,そこから復元したりする。“処理スタック”に積

む情報単位を枠 (frame) という。枠は,DO枠,外部関数枠,外部特殊変数枠,NEW枠及びパラメタ枠の

5種類とする。 

(1) DO枠は,DO引数の実行レベル (execution level) 及び位置を収める。引数なしのDO命令の場合は,

その命令の実行レベル,位置及び$Tの値を収める。プロセスの実行の位置とは,その時点で実行され

た命令及び引数の位置についての記述とする。この記述には,少なくとも,ルーチン名及び現在実行

している命令又は引数の直後の文字位置を含める。 

(2) 外部関数枠及び外部特殊変数枠は,$Tの値,実行レベル及び位置を収める。 

(3) NEW枠は,NEW命令の引数(NEW引数)及び一群の“名前表”項目を収める。 

(4) パラメタ枠は,仮パラメタ並び及び一群の“名前表”項目を収める。 

2.2.3 

定数字列 定整数列は,空でない数字の列とし,その構文は次による。 

定整数列 : : = 数字… 

定数字列の構文は,次による。 

定数字列 : : = 仮数部[指数部] 

仮数部 

: : = 

定整数列[.定整数列] 

.定整数列 

指数部 

: : = E 

 +  定整数列 

 −  

定数字列としての文字列の値は,2.2.3.1〜2.2.3.2に規定する。 

参照一覧 数字2.1 

2.2.3.1 

数値データの値 すべての変数(局所変数,大域変数及び組込み特殊変数)は,値をもつ。その

値は,確定 (defined) 又は不定 (undefined) のいずれかとする。確定であれば,値は,文字列として扱い,

文字列として演算する。数量値は,すべてのデータ値からなる集合の部分集合をなす。 

有限の10進数字で表現しうる数値だけが,数量値として表現可能とする。次の(1)〜(9)の制限を満足す

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

るデータ値だけを,数値形として扱う。 

(1) 数字及び文字“−”と“.”だけからなる。 

(2) 数字を少なくとも1個含む。 

(3) 文字“.”をたかだか1個しか含まない。 

(4) 数値ゼロは,長さ1の文字列“0”で表現する。 

(5) 正の数値の表現は,文字“−”を含まない。 

(6) 負の数値は,文字“−”に続けてその数値の絶対値にあたる正の数値の表現を並べて表現する(した

がって,(7)〜(9)には,正の数値に関しての制限を示す。)。 

(7) 正の整数の表現は,数字だけからなり,その先頭に数字“0”が並ぶことがない。 

(8) 1未満の正の数値は,文字“.”に続けて1個以上の数字を並べて表現する。このとき,その末尾に数

字“0”が並ぶことはない(この表現を,小数 (fraction) という。)。 

(9) 1より大きい非整数の数値は,正の整数の表現(これを,その数値の整数部という。)に続けて小数(こ

れを,その数値の小数部という。)を並べて表現する。 

これらの制限から,表現可能な数値とその表現とは1対1に対応する。このことから数量値の文字列と

しての等値性は,数値としての等値性と等価となる。 

2.2.3.2 

定数字列の意味 定数字列は,非負の値だけを表す。定数字列のつづりから,その数量値への変

換過程は,次の段階を経る。 

(1) その仮数部が文字“.”を含んでいないなら,仮数部の右端に“.”を追加する。 

(2) その指数部が存在しなければ,(4)へ進む。 

(3) その指数部に“+”があるか,符号がないかの場合には,その指数部の定整数列の値に等しいけた分

だけ,仮数部の“.”を右に移動する。このとき,必要なだけ仮数部の右に文字“0”を補う。その指

数部に“−”がある場合には,その指数部の定整数列の値に等しいけた分だけ,仮数部の“.”を左に

移動する。このとき,必要なだけ仮数部の左に文字“0”を補う。 

(4) その指数部を取り除き,更に,仮数部の左端及び右端に“0”が並んでいれば,それらを取り除く。 

(5) 右端の文字が“.”であれば,それを取り除く。 

(6) 結果が空の文字列となった場合は,文字列“0”とする。 

2.2.4 

データの数値解釈 算術演算のような演算は,その被演算子の数値解釈を行う。数値解釈とは,次

のアルゴリズムに従って,すべてのデータの集合を数量値の集合に写像することを指す。数値解釈は,数

値をそのままそれ自身に写像することに注意。 

備考 ある文字列の“先頭部”とは,その文字列内のある点から左側の文字列であり,そこから右側

部分はいっさい含まないものをいう。先頭部は,空文字列か完全な文字列とする。 

実引数を文字列Sと仮定する。 

(1) どの順序で並んでいても,Sに対して次の符号縮小の規則を可能な限り適用する。 

(a) Sが+Tの形式なら+を取り除く。(すなわち+T −> T) 

(b) −+T −> −T 

(c) −−T −> T 

(2) 次のうちの一つを適用する。 

(a) Sの左端の文字が“−”でない場合は,定数字列の構文記述を満足するSの最長の先頭部を形成し,

次に2.2.3.2のアルゴリズムを適用して結果とする。 

(b) Sが−Tの形式なら(a)の方法をTに適用し,左端に“−”を付加して結果とする。結果が“−0”と

10 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

なった場合は,“0”に変更する。 

“数式” (numeric expression) は,式と同じ構文とする。構文規定中に数式表現があると,構文実行時に

その値の数値解釈を行う。 

数式 : : = 

式 

参照一覧 式2.3 

2.2.4.1 

整数解釈 ある関数では,引数を整数解釈する。整数解釈とは,次のアルゴリズムに従って,す

べてのデータ値の集合を整数値の集合に写像することを指す。 

最初に引数の数値解釈を行い,小数があればそれを取り除く。結果が空文字列又は,“−”ならそれを“0”

にする。 

“整数式” (integer expression) は,式と同じ構文とする。構文規定の中に整数式があると,構文実行時

にその値の整数解釈を行う。 

整数式 : : = 

式 

参照一覧 式2.3 

2.2.4.2 

真偽値解釈 真偽値解釈とは,次のアルゴリズムに従って,すべてのデータ値の集合を二つの整

数値“0”(偽)と“1”(真)に写像することを指す。 

数値解釈を行い,結果が“0”でなければ“1”とする。 

“真偽値式” (true-value expression) は,式と同じ構文とする。構文規定の中に真偽値式があると,構文

実行時にその値の真偽値解釈を行う。 

真偽値式 : : = 式 

参照一覧 式2.3 

2.2.5 

定文字列 

定文字列 : : =  

” ” 

 …” 

 非引用符 

  

定文字列は引用符 (”) で囲まれ印字可能な文字列からなっているが,定文字列内に引用符がある場合

は,一対の連続した二つの引用符で表す。引用符で囲まれた引用符以外の文字はいずれもそのままでそれ

自身を表し,定文字列内の連続した二つの引用符は,一つの引用符を表す。空文字列は,二つの引用符だ

けで表す。 

参照一覧 非引用符 2.1 

2.2.6 

組込み特殊変数名 組込み特殊変数は,$の後に,次に示す名前の一つを付けて表現する。組込み

特殊変数名で,大文字と小文字は同等とする。この規格での組込み特殊変数名は,次のとおりとする。 

H [OROLOG]  

I [O]  

J [OB]  

S [TORAGE]  

T [EST]  

Z[規定なし] 

Z以外の頭文字で始まる未使用の組込み特殊変数名は,将来拡張するための保留とする。 

11 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

組込み特殊変数名の構文の規定は,次のとおり,2.2.6で規定する個々の組込み特殊変数名構文からの選

択とする。 

組込み特殊変数名 : : = 

$HOROLOG 組込み特殊変数の構文 

$IO 組込み特殊変数の構文 

・ 

・ 

・ 

$Y組込み特殊変数の構文 

あらゆる処理系は,個々の組込み特殊変数名を,その省略された表記も省略されない表記も同様に認識

できなければならない。 

構文 

規定 

−−−−−−− 

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 

$H [OROLOG]  

$Hは,1回のアクセスで日付と時刻を与える。その値は,D,Sの形式をとる。D

は,整数で,次に規定する起算日から数えた日数とする。Sは,整数で,起算日か

ら数えた秒数の86,400での剰余とする。1840年12月31日の最初の秒の$Hの値

を0,0とする。Sは各秒ごとに1ずつ増加し,午前零時ちょうどにDは1繰り上

がり,Sは0となる。 

$I [O]  

$Iは,現用入出力装置を示す(2.6.2,2.6.18参照)。 

$J [OB]  

個々の実行中のプロセスは,それ自身のジョブ番号をもち,その$Jの値は正整数

とする。各プロセスのジョブ番号は,処理系作成者が定める同時処理の範囲内でそ

のジョブに固有とする。$Jは,そのジョブが生きている間は一定とする。 

$S [TORAGE]  

個々の処理系は,$Sの値として,使用可能な主記憶装置上の領域の大きさを文字

数で返さなければならない。$Sの値を求める方法は,この規格の範囲外とする。 

$T [EST]  

$Tは,引数を含んだIF命令又は時間制限を伴ったOPEN命令,LOCK命令,JOB

命令又はREAD命令の実行から計算された真偽値とする(2.2.9,2.2.10,2.6.3参照)。 

$X 

$Xは,非負の整数であり,現用入出力装置における,その時点での行内の,キャ

リッジや水平カーソルの位置に近い値をもつ。復帰や書式送りに相当する制御機能

の入力・出力によって0に初期化する。個々の図形文字の入力・出力は,$Xの値

を増加させる(2.5.5,2.6.18参照)。 

$Y 

$Yは,非負の整数であり,あたかも現用入出力装置が文字入出力端末であるかの

ように,その行番号に近い値をもつ。書式送りに相当する制御機能の入力・出力に

よって0に初期化する。改行に相当する制御機能の入力・出力は,$Yの値を1増

加させる(2.5.5,2.6.18参照)。 

$Z[規定なし] 

Zは,規格外の組込み特殊変数を規定するための予約先頭文字とする。$Zを使用

する目的は,規格を遵守した既存ルーチンを手直しすることなく,規格の将来の拡

張用に保留してある未使用頭文字の使用を許すことにある。 

2.2.7 

組込み関数 組込み関数は,$の後に,次に示す名前の一つを付け,後ろに括弧に囲まれた引数並

びを付けて表す。関数名で,大文字と小文字は同等とする。規格で規定された組込み関数名を次に示す。 

A [SCII]  

C [HAR]  

12 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

D [ATA]  

E [XTRACT]  

F [IND]  

FN [UMBER]  

G [ET]  

J [USTIFY]  

L [ENGTH]  

N [EXT]  

O [RDER]  

P [IECE]  

Q [UERY]  

R [ANDOM]  

S [ELECT]  

T [EXT]  

TR [ANSLATE]  

V [IEW]  

Z[規定なし] 

ZP [OSIT1ON]  

ZW [IDTH]  

Z以外の頭文字で始まる未使用の関数名は,将来拡張するための保留とする。組込み関数の構文は,次

のとおりに規定する。 

組込み関数の構文の規定は,次のとおり,2.2.7で規定する個々の組込み関数構文からの選択とする。 

組込み関数 : : = 

$ASCI1関数の構文 

$CHAR関数の構文 

・ 

・ 

・ 

$ZWIDTH関数の構文 

あらゆる処理系は,個々の組込み関数名を,その短縮された表記も省略されない表記も同様に認識でき

なければならない。 

2.2.7.1 

$ASCII 

$A [SCII] (式) 

この形式は,次のとおりの整数値を返す。 

(1) 式の値が空文字列のとき,−1を返す。 

(2) 式の値が空文字列でないとき,式の値の左端の文字に対応する整数値nを返す。すなわち,$A ($C (n)) 

=nとする。 

(3) 文字に対応する整数値とは,JIS X 0201による文字の場合は,(列番号×16+行番号),JIS X 0208に

よる文字の場合は,(第1バイト×256+第2バイト)とする。 

$A [SCII] (式,整数式) 

この形式は,$A(式)と同様であるが,式の値の左端の文字から整数式の値の数だけ数えたところにあ

13 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

る文字に対応する整数値を返す。すなわち,$A(式,整数式)は,$A($E(式,整数式))と同等とする。 

参照一覧 式2.3,整数式2.2.4.1,$C2.2.7.2 

2.2.7.2 

$CHAR 

$C [HAR] (L 整数式) 

この形式は,値が非負である引数の数に相当する長さの文字列を返す。各整数式の値が閉区間 [0, 255] 

内のとき,その値をもったJIS X 0201文字に対応する。各整数式の値が閉区間 [8481, 32384] 内のとき,

その値の256による整数除算の結果を第1バイトとし,256による剰余を第2バイトとするJIS X 0208文

字に対応する。この文字列の順序は,それに対応する各整数式の順序に等しい。各整数式が負の値のとき

は,$Cの値の文字に写像しない。 

参照一覧 整数式2.2.4.1,L 1 

2.2.7.3 

$DATA 

$D [ATA] (変数名) 

この形式は,変数名の構造に応じて非負の整数を返す。整数の値は,p+dとする。 

d=1 

変数名が既定義のとき,すなわち,変数名の名前が“名前表”に登録済みで,変数名の添

字の値組がそれに対応する“データセル”の中に項目として存在するとき,d=1とする。

不定のとき,d=0とする。 

P=10 

変数が下位成分をもっているとき,すなわち,変数名の“データセル”の中に少なくとも

一つの値組が存在し,次の二つの条件を満足するとき,p=10とする。 

(1) その値組の位数が変数名の位数より大きい。 

(2) 変数名の添字がN個あったとすると,変数名のN個の添字と,“データセル”の中に

ある値組の初めから数えてN個までの引数とが等しい。 

変数名の項目が”名前表”に未登録のとき,又は対応する“データセル”の中にそのとお

りの値組が存在していないとき,p=0とする。 

参照一覧 変数名2.2.2.2 

2.2.7.4 

$EXTRACT 

$E [XTRACT] (式) 

この形式は,式の値の最左端の文字を返す。式の値が空文字列のとき,空文字列を返す。 

$E [XTRACT] (式,整数式) 

sを式の値,mを整数式の整数値とすると,$E (s, m) はsの第m番目の文字を返す。mが1より小さい

とき又は$L (s) より大きいとき,$Eの値は空文字列とする(sの左端の文字は第1番目,右端の文字は第

$L (s) 番目とする。)。 

$E [XTRACT] (式,整数式1,整数式2) 

nを整数式2の整数値とすると,$E (s, m, n) はsの第m番目から第n番目までの文字を返す。 

次のとおりに規定する。 

(1) m>nのとき,$Eは空文字列とする。 

(2) m=nのとき,$E (s, m, n) =$E (s, m) とする。 

(3) m<n≦$L (s) のとき, 

$E (s, m, n) =$E (s, m) に$E (s, m+1, n) を連結した文字列とする。 

2.3.5の連結演算子̲を用いると次のとおりとする。 

$E (s, m, n) =$E (s, m) ̲$E (s, m+1) ̲…̲$E (s, m+(n−m))  

14 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

(4) m<nかつ$L (s) <nのとき, 

$E (s, m, n) =$E (s, m, $L (s)) とする。 

参照一覧 式2.3,整数式2.2.4.1,$L2.2.7.9 

2.2.7.5 

$FIND 

$F [IND] (式1,式2) 

この形式は,式1の中に式2の値が含まれているかどうかを左端から調べる。見つからないとき,$Fは

0を返す。式1の中に式2の値が,左端から調べて見つかったとき,式2の値の次の文字が,左端から数

えて何番目にあるか調べ,その値を返す。式2の値が空のとき,$Fは1を返す。 

$F [IND] (式1,式2,整数式) 

aを式1の値,bを式2の値,mを整数式の値とすると,$F (a, b, m) は,aの中にbの値が含まれている

かどうかを,a中で文字位置がmax (m, 1) である文字から始めて左から右へ調べる。pを$F ($E (a, m, $L (a)),

b)の値とする。bの文字列が見つからないとき(例えば,p=0のとき),$Fは0を返す。それ以外のとき

は,$F (a, b, m) =p+max (m, 1) −1とする。 

参照一覧 式2.3,整数式2.2.4.1 

2.2.7.6 

$FNUMBER 

$FN [UMBER] (数式,$FN符号式) 

$FN符号式 : : =式 V $FN符号 

$FN符号 : : =$FN符号子… 

$FN符号子 

: : = 

, 

(注意:コンマ) 

− 

(注意:ハイフン) 

数式を編集した値を返す。各$FN符号子は,次の規則に基づいて数式を変換する(処理の順序は重要で

はない。)。 

$FN符号子 

行為 

−−−−−− −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 

負の数式値に括弧を付ける。数式の絶対値をAとする。$FN符号“P”を使用すると,

結果は次のとおりとする。 

(1) 数式<0ならば,結果は” (”̲A̲”) ”とする。 

(2) 数式≧0ならば,結果は” ”̲A̲” ”とする。 

数式の後ろに“+”又は“−”の符号を付ける。符号の抑制を行ったとき(正の値に

対する省略時又は“−”の$FN符号子を用いたとき),$FN符号“T”を使用すると,

後ろに間隔文字が続く。 

, 

数式の中にある小数点(なければ想定して)から,左へ3けたごとにコンマを挿入す

る。コンマが先頭にくるときはコンマを挿入しない。 

+ 

数式が正の値のとき,プラス符号 (“+”) を強制的に付ける。“+”の位置(前に付

けるか後に付けるか)は,“T”の$FN符号が付いているか否かで決まる。 

− 

数式の値が負のとき,負符号“−”を削除する。 

$FN符号式が空文字列のとき,数式に特別な編集を加えない値とする。その結果は,数式の元の値のま

15 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

まとする。 

一つの$FN符号の中に,同じ$FN符号子が複数個存在しても,その$FN符号子が一つしかない場合と同

一とする。$FN符号子“P”は,符号の抑制又は符号配置の$FN符号子 (“T+−”) と組み合わせると誤

りとする。 

$FN [UMBER] (数式,$FN符号式,整数式) 

この形式は,二つの引数をもつ$FNと同じとする。ただし,$FN符号子が処理する前に,数式の小数部

分を整数式で示すけた数に四捨五入し,必要に応じて後ろに0を付ける。整数式が0のとき,数式の評価

後は小数点を含まない。−1<数式<1のとき,$FNの結果は小数点の左にゼロ (“0”) を付ける。 

参照一覧 数式2.2.4,式2.3,V1,整数式2.2.4.1 

2.2.7.7 

$GET 

$G [ET] (変数名) 

この形式は,指定した変数名の状態,すなわち$D(変数名)の値に応じて,次のとおりの値を返す。 

(1) $D(変数名)#10=1のとき,変数名が指定する変数の値を返す。 

(2) それ以外のとき,空文字列を返す。 

参照一覧 変数名2.2.2.2,#2.3.1 

2.2.7.8 

$JUSTIFY 

$J [USTIFY] (式,整数式) 

この形式は,整数式で示す幅の領域に,式の値を右詰めにした値を返す。mを$L(式),nを整数式の値

とすると,次のとおりに規定する。 

(1) m≧nのとき,$Jの値は式の値とする。 

(2) それ以外のときは,S (n−m) を式に連結したものを$Jの値とする。ここで,S (x) はx個の間隔を表

す。 

$J [USTIFY] (数式,整数式1,整数式2) 

この形式は,数式を編集した値を返す。数式の小数部分を整数式2で示すけた数に四捨五入した値をr

とする。必要なら後ろに0を付ける。(整数式2が0のとき,rには小数点を付けない。)返す値は,$J(r,

整数式1)とする。−1<数式<1のとき,$Jの値は小数点の左側に0が付く。整数式2の負の値は,$J関

数の拡張のための保留とする。 

参照一覧 式2.3,整数式2.2.4.1,数式2.2.4 

2.2.7.9 

$LENGTH 

$L [ENGTH] (式) 

この形式は,式の値の文字数を整数値で返す。式の値が空文字列のとき,$L(式)は0を返す。 

$L [ENGTH] (式1,式2) 

この形式は,式1の値の文字列の中に,式2の値の文字列が重なることなく生起する回数に1を加えた

数を返す。式2の値が空文字列のとき,$L(式1,式2)は0を返す。 

参照一覧 式2.3 

2.2.7.10 $NEXT(1) 

$N [EXT] (変数名) 

この形式は,過去との互換性を保つためにある。$NEXTの開始と終了の状態を除いては,$NEXTと

$ORDERは同じ動作をするので,できる限り$ORDER関数を使うことが望ましい。 

$Nは,添字の順序列に従った添字の値を返す。この順序列を,照合順序列を決めるための関数COによ

16 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

って,次のとおりに規定する。 

文字列sとtに対し,順序列の中でtがsに続くとき,CO (s, t) はtを返し,それ以外のときは,CO (s, t) 

はsを返すものと定義する。 

mとnを数値データ値(2.2.3.1参照)の規定を満足する文字列とし,uとvをこの規定を満たさない非

空文字列とする。順序列を次の条件(1)〜(4)によって規定する。 

(1) CO (” ”, s) =s 

(2) n>mのときCO (m, n) =nで,それ以外のときCO (m, n) =m 

(3) CO (m, u) =u 

(4) v]uのときCO (u, v) =vで,それ以外のときCO (u, v) =u 

すなわち,空文字列の後ろにすべての文字列が続き,数値どうしは数値順序で並び,数値の後ろに非数

値文字列が続き,非数値文字列どうしはJIS X 0201及びJIS X 0208での照合順序に従って並ぶ。 

局所変数名と大域変数名の添字付きの形式だけを許す。局所変数名又は大域変数名の形式がName (s1, s2,

…,sn) であったとする。snが−1のとき,Aをすべての添字の集合とする。snが−1でないとき,Aをsn

に続くすべての添字の集合とする。すなわち,Aの中のすべてのsについて,条件(5)と(6)が成り立つ。 

(5) CO (sn, s) =s 

(6) $D (Name(s1, s2,…,sn-1, s))が0でない。 

そのとき,$N (Name (s1, s2, …,sn))は,t以外のすべてのsに対してCO (t, s) =sとなる,A内の値tを

返す。すなわち,snに続く他のすべての添字もtに続く。 

そのとおりのtが存在しないとき,−1を返す。 

$Nは,添字の値が負の数値をもつ局所変数名と大域変数名に対しては,あいまいな結果を返す。 

注(1) $NEXT関数は,ISO/IEC 11756の次の版において含まれないかもしれない。 

参照一覧 変数名2.2.2.2,]2.3.2.2 

2.2.7.11 $ORDER 

$O [RDER] (変数名) 

この形式は,添字の順序列に従った添字の値を返す。この順序列を,照合順序列を決めるための関数CO

によって,次のとおりに規定する。 

CO (s, t) を,文字列sとtに対し,順序列の中でtがsに続くとき,CO (s, t) はtを返し,それ以外のと

き,CO (s, t) はsを返すものと定義する。 

mとnを数値データ値(2.2.3.1参照)の規定を満足する文字列とし,uとvをこの規定を満足しない非

空文字列とする。順序列を次の条件(1)〜(4)によって規定する。 

(1) CO (” ”, s) =s 

(2) n>mのときCO (m, n) =nで,それ以外のときCO (m, n) =m 

(3) CO (m, u) =u 

(4) v]uのときCO (u, v) =vで,それ以外のときCO (u, v) =u 

すなわち,空文字列の後ろにすべての文字列が続き,数値どうしは数値順序で並び,数値の後ろに非数

値文字列が続き,非数値文字列どうしはJIS X 0201及びJIS X 0208での照合順序に従って並ぶ。 

局所変数名と大域変数名の添字付きの形式だけを許す。局所変数名又は大域変数名の形式がName (s1, s2,

…,sn) であったとする。ここでsnは空文字列であってもよい。Aをsnに続くすべての添字の集合とする。

すなわち,Aの中のすべてのsについて,条件(5)と(6)が成り立つ。 

(5) CO (sn, s) =s 

17 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

(6) $D (Name (s1, s2, …,sn-1, s)) が0でない, 

そのとき,$O (Name (s1, s2, …,sn)) は,t以外のすべてのsに対してCO (t, s) =sとなる,A内の値t

を返す。すなわち,snに続く他のすべての添字もtに続く。 

そのとおりのtが存在しないとき,$Oは空文字列を返す。 

参照一覧 変数名2.2.2.2,]2.3.2.2 

2.2.7.12 $PIECE 

$P [IECE] (式1,式2) 

この形式は,関数NFによって規定する。関数NFは,規定の目的だけに用いられ,m番目の生起に続

く位置を見いだす。 

NF (s, d, m) は,文字列s,dと整数mによって,次のとおりに規定する。 

(1) dが空文字列のとき,その結果は0とする。 

(2) m≦0のとき,その結果は0とする。 

(3) dがsの部分文字列でないとき,すなわち,$F (s, d) =0のとき,その結果は,$L (s) +$L (d) +1と

する。 

(4) それ以外のとき,NF (s, d, 1) =$F (s, d) とする。 

(5) m>1のとき,NF (s, d, m) =NF ($E (s, $F (s, d) , $L (s)), d, m−1) +$F (s, d) −1とする。 

(6) すなわちNFは,$Fを拡張することによって,文字列sの中でm番目に生起する文字列dの右側にあ

る文字の位置を示す数値を与える。 

sを式1の値とし,dを式2の値とする。$P (s, d) は,sの部分文字列のうち,最初(一番左)のdの生

起までの文字列(dは含めない)を返す。 

$P (s, d) =$E (s, 0, NF (s, d, 1) −$L (d) −1) とする。 

$P [IECE] (式1,式2,数式) 

mを整数式の整数値とする。$P (s, d, m) は,sの部分文字列のうち,m−1番目のdの生起とm番目のd

の生起ではさまれる文字列(m−1とm番目のdは含めない)を返す。 

$P (s, d, m) =$E (s, NF (s, d, m−1) , NF (s, d, m) −$L (d) −1) とする。 

$P [IECE] (式1,式2,整数式1,整数式2) 

nを整数式2の整数値とする。$P (s, d, m, n) は,sの部分文字列のうち,左側をm−1番目のdの生起,

右側をn番目のdの生起ではさまれる文字列(m−1とn番目のdは含めない)を返す。 

$P (s, d, m, n) =$E (s, NF (s, d, m−1) , NF (s, d, n) −$L (d) −1)  

$P (s, d, m, m) =$P (s, d, m) で,$P (s, d, 1) =$P (s, d) とする。 

参照一覧 式2.3,整数式2.2.4.1 

2.2.7.13 $QUERY 

$Q [UERY] (変数名) 

変数名1=^A (i1,i2,…,ip) ,変数名2=^A (j1,j2,…,jq) とするとき,変数名1と変数名2の間に照合

順序関係が存在する。どのような (ik, jk) の組合せにおいても,次の(1)〜(3)のいずれかの条件を満足する

とき,変数名2は変数名1に続くと規定する。 

(1) p<qかつ0<k≦pであるすべてのkに対して,ik=jk 

(2) P=0かつq>0 

(3) k>0でk≦min (p, q) ,かつ 

ik≠jkであるkが存在し,かつ 

18 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

0<n<kでin≠jnとなるnは存在せず,かつ 

2.2.7.11($ORDERの規定)で規定されている関数CO (ik, jk) がjkに等しい。 

すなわち,初めの指標が異なるとき,最初に異なる指標について,変数名2のほうが変数名1のも

のより後ろに続く場合とする。 

上の規定に従って,変数名2が変数名1に続くとき,変数名2を返すように関数CQ(変数名1,変数名

2)を定義する。 

名前値 : : =式 

名前値は,変数名の構文をもち,(4)〜(6)の条件を満足する。 

(4) その変数名は,略式参照でない。 

(5) 2.2.3.1で規定されている数の形式をもつ添字は,それぞれ定数字列数値として表す。 

(6) 2.2.3.1で規定されている数の形式をもたないそれぞれの添字は,次のとおりに規定する添字文字列と

して表す。 

添字文字列 : : = ” 

” ” 

...” 

添字用非引用符文字 

ここで,添字用非引用符文字を次のとおりに規定する。 

添字用非引用符文字 : : =添字における引用符記号を除いたすべての有効な文字 

このとき,関数$QUERYの値を,(7),(8)によって規定する。 

(7) CQ(変数名1,変数名2)=変数名2となる変数名2が存在するとき, 

CQ(変数名1,変数名3)=変数名3,かつ 

CQ(変数名3,変数名2)=変数名2となる変数名3が存在しない場合に限り,$QUERY(変数名1)

関数の値は,変数名2を表す名前値とする。 

(8) CQ(変数名1,変数名2)=変数名2となる変数名2が存在しないとき,$QUERY(変数名1)関数

の値は,空文字列とする。 

参照一覧 変数名2.2.2.2,式2.3 

2.2.7.14 $RANDOM 

$R [ANDOM] (整数式) 

この形式は,閉域区間[0,整数式−1]で一様分布する整数の乱数又は疑似乱数を返す。整数式の値が

1より小さいとき,誤りとする。 

参照一覧 整数式2.2.4.1 

2.2.7.15 $SELECT 

$S [ELECT] (L | 真偽値式:式 | ) 

この形式は,対応する真偽値式が真である最も左の式の値を返す。評価の過程は,真偽値式を左から右

の順に一つずつ,その値が真である最初の一つを見つけるまで行う。この真偽値式に対応する式だけが評

価され,この値を$Sの値とする。すべての真偽値式が偽のとき,誤りとする。$Sの呼出しにおいては,

一つの式しか評価しないので,少なくともその式は,定義された値をもたなければならない。 

参照一覧 真偽値式2.2.4.2,式2.3,L1 

2.2.7.16 $TEXT 

$T [EXT] ( +整数式 

) 

入り口参照 

この形式は,引数によって示された行の内容の文字列を返す。厳密には,行終端を消去して行の全体を

19 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

返す。 

$T関数の引数が入り口参照の場合,行は入り口参照によって示す。入り口参照が実在ラベルを含まない

場合,行はルーチンの最初の行を示す。引数が+整数式で示される場合,次のとおりとする。整数式の値

が0より大きいとき,そのルーチンの整数式番目の行を示し,整数式の値が0に等しいとき,そのルーチ

ンのルーチン名を示す。整数式の値が0より小さいとき,誤りとする。 

引数によって記述された行が存在しないとき,空文字列を返す。行指定があいまいな場合,その結果は

規定しない。 

参照一覧 整数式2.2.4.1,入り口参照2.5.7 

2.2.7.17 $TRANSLATE 

$TR [ANSLATE] (式1,式2) 

式1の値をsとする。$TR(式1,式2)は,sの中の文字から,式2に含まれる文字をすべて取り除い

た結果を返す。 

$TR [ANSLATE] (式1,式2,式3) 

式1の値をsとする。$TR(式1,式2,式3)は,sの中の文字から,式2の文字を式3の文字にすべ

て置き換えた結果を返す。sの中の文字が式2の中で1回以上生起したとき,最初(一番左)のものを変

換対象の位置とする。 

変換は,sの中の各々の文字について一度だけ行う。sの中に式2の文字がない場合は,そのままとする。

式2の中の文字で,式3の中の同じ位置に文字がないものは,sから取り除く(これは,式3が式2より

短い場合とする。)。 

式2の値が空文字列のとき,変換は行わず,sは変化させない。 

参照一覧 式2.3 

2.2.7.18 $VIEW 

$V [IEW] (規定なし) 

この形式によって,処理系作成者は機械に依存する情報を調べるための呼出しができる。$V関数を含む

ルーチンは,移植性が保証され得ないことを理解すべきである。 

2.2.7.19 $Z 

ここで規定する以外の$Zで始まる形式は,規格外の組込み関数のための予約先頭文字とする。この目的

は,将来用いるために保留されている関数名の使用を許すことにある。 

2.2.7.19.1 $ZPOSITION 

$ZP [OSITION] (式,整数式) 

この形式は,式の値の文字列について,JIS X 0201の1文字に対してはピッチを1とし,JIS X 0208の

1文字に対してはピッチを2として,先頭からのピッチ数が整数式の整数値を超えない文字位置数を返す。

次の形式の数式が省略され,p=2としたものとする。 

参考 ピッチは,文字の表示横幅の単位で,JIS X 0201及びJIS X 0208の文字が混在する文字列の出

力処理を容易にするために,便宜上用いる。 

$ZP [OSITION] (式,整数式,数式) 

sを式の値の文字列,fを整数式の整数値,pを数式の値とすると,次のとおりに規定する。 

(1) $ZWIDTH (s, p) ≦fのとき,$LENGTH (s) を返す。 

(2) $ZWIDTH (s, p) >fのとき,nを,$ZWIDTH ($EXTRACT (s, 1, n) , p) ≦fが成り立つ最大の整数とす

る。 

20 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

$ZWIDTH ($EXTRACT (s, 1, n) , p) =fのとき,nを返す。 

$ZWIDTH ($EXTRACT (s, 1, n) , P) <fのとき, 

n+ (f−$ZWIDTH ($EXTRACT (s, 1, n) , p)) ÷$ZWIDTH ($EXTRACT (s, n+1) , p) を返す。 

参照一覧 $ZWIDTH 2.2.7.19.2,式 2.3,数式 2.2.4,整数式 2.2.4.1 

2.2.7.19.2 $ZWIDTH 

$ZW [IDTH] (式) 

この形式は,式の値の文字列について,JIS X 0201の1文字に対してはピッチを1とし,JIS X 0208の

1文字に対してはピッチを2として計算したピッチ数を返す。 

$ZW [IDTH] (式,数式) 

この形式は,式の値の文字列に対して,JIS X 0201の1文字に対してはピッチを1とし,JIS X 0208の

1文字に対してはピッチを数式の値として計算したピッチ数を返す。 

参照一覧 式 2.3,数式 2.2.4 

2.2.8 

単項演算子 単項演算子には, ʼ(否定),+(プラス),−(マイナス)の三つがある。 

否定は,その右側の式子の真偽値を逆転する。式子の真偽値解釈が0のとき, ʼ式子の値は1,ほかの

条件のときその値は0とする。(ʼ ʼは二度逆転するため,元の式子の値と同じになることに注意) 

プラスは,単に数値解釈を意味する。+式子の値は,式子の値の数値解釈とする。 

マイナスは,式子の数値解釈を負にする。−式子の値は,−Nの数値解釈とする。ここで,Nは式子の

値とする。 

単項演算子の演算の順は,右から左とする。 

2.2.9 

外部特殊変数 

外部特殊変数 : : =$$行ラベル参照 

外部特殊変数は,$$を行ラベル参照に前置することによって示す。外部特殊変数は,何らかの値を返す

サブルーチンを呼び出す。外部特殊変数を実行するとき,$Tの現在値,現在実行中のレベル及び現在実行

中の位置を,“処理スタック”上の外部特殊変数枠に保存する。 

実行は,行ラベル参照によって示された仮パラメタ行の最初の命令に続く。レベル行への外部特殊変数

の実行は誤りとする。 

サブルーチンから戻ると,$Tの値と実行レベルは元に戻され,サブルーチンを終了させたQUIT命令の

引数の値が,外部特殊変数の値として戻る。 

行ラベル参照がxである外部特殊変数は,次の外部関数と同じとする。 

$$x() 

行ラベルxは,仮パラメタ並び(空でもよい。)をもたなければならない。 

参照一覧 行ラベル参照2.5.7 

2.2.10 外部関数 

外部関数 : : =$$行ラベル参照 実パラメタ並び 

外部関数は,先頭の$$,それに続く行ラベル参照及びパラメタの実パラメタ並びによって示す。外部関

数は,何らかの値を返すサブルーチンを呼び出す。外部関数を実行するとき,$Tの現在値,現在実行中の

レベル及び現在実行中の位置を,“処理スタック”上の外部関数枠に保存する。実パラメタ並びのパラメタ

は2.59の規定によって処理する。 

実行は,行ラベル参照によって示された仮パラメタ行の最初の命令に続く。この仮パラメタ行は,実パ

ラメタ並びに含まれる名前の個数以上の名前の個数をもつ仮パラメタ並びを含まなければならない。レベ

background image

21 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

ル行への外部関数の実行は誤りとする。 

サブルーチンから戻ると,$Tの値と実行レベルは元に戻され,サブルーチンを終了させたQUIT命令の

引数の値が,外部関数の値として戻る。 

参照一覧 行ラベル参照2.5.7,実パラメタ並び2.5.9 

2.3 

式 式は,式子を算術2項演算子,文字2項演算子又は真偽2項演算子で区切って並べることで構

成する。 

式 

 : : = 

式子[式尾]…  

式尾 

 : : = 

2項演算子 

式子 

[ ʼ] 真偽演算子  

[ ʼ] ?パターン  

̲ (注意:アンダースコア) 

+  

− (注意:ハイフン) 

2項演算子 

 : : = 

*  

/  

¥  

#  

真偽演習子  : : = 

関係演算子 

論理演習子 

=  

[  

関係演習子 : : = 

<  

]  

>  

論理演習子 

 : : = 

&  

!  

参考 国際規格表現は,ASCII文字による。JIS X 0201図形記号とは,次の図形記号が異なる。 

JIS X 0201 

名称 

ASCII図形記号 

¥ 

円記号 

\ 

式の評価順は,次のとおりとする。 

(1) 左側の式子を評価する。 

(2) すぐ右側に式尾があれば,その式子又はパターンを評価し,その演算子を適用する。 

(3) 必要なら(2)を右方向へ繰り返す。 

演算子の優先順位は,文字列2項演算子,算術2項演算子及び真偽2項演算子を区別せず,左から右へ

の順番を適用する。 

22 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

不定の値の局所変数名,大域変数名又は組込み特殊変数名を含んでいる場合,誤りとする。 

参照一覧 式子2.2,パターン2.3.3 

2.3.1 

算術2項演算子 2項演算子+,−,*,/,¥,#を算術2項演算子と呼ぶ。これらは,被演算子

を数値として解釈し,数値(ある場合は整数)の結果を与える。 

+ 代数加算 

− 代数減算 

代数乗算 

代数除算。一つの引数が正で,もう一つの引数が負ならば結果は負とする。 

0で除した場合,誤りとする。 

¥ 

商。代数除算の結果の整数値解釈を行う。 

剰余。左引数の右引数による剰余を与える。右引数が0でなければ, 

A#B=A− (B×floor(A÷B))  

ここでfloor (x) は,xを超えない最大の整数とする。 

参考 国際規格表現は,ASCII文字による。JIS X 0201図形記号とは,次の図形記号が異なる。 

JIS X 0201 

名称 

ASCII図形記号 

¥ 

円記号 

\ 

2.3.2 

関係演算子 関係演算子=,<,>,],[は,演算の結果が真ならば真偽値1を返し,それ以外な

らば0を返す。複合演算子 ʼ関係演算子は,次のとおりに規定する。 

A ʼ関係演算子Bは, ʼA関係演算子B)と同じとする。 

2.3.2.1 

数値関係 不等式>,<は,被演算子の数値解釈をする。これらは,通常の代数的に大きいか小

さいかを表す。 

2.3.2.2 

文字列関係 文字列関係演算子=,],[では,その両被演算子を数値解釈することがない。 

文字列関係演算子=は,等値性を検査する。被演算子が数値でないかもしれない状況で,数値としての

等値性を検査する場合,プログラマは適切な単項演算子を,その非数値の被演算子に適用してもよい。両

方の引数が数値であると分かっている場合には(例えば,2項演算子̲以外の演算の結果の場合など),単

項演算子は必要ない。両方の被演算子が数値である場合,数値表現は一意なので,双方の文字列としての

等値性と数値としての等値性が等価であることが保証されている。ただし,算術精度に伴う一般的な問題

があるので,除算演算子/が誤った結果を導く可能性があることに注意しなければならない。 

関係演算子[を包含演算子と呼ぶ。A[Bは,BがAの部分文字列であるときだけ真とする。すなわち,

A[Bは, ʼʼ$F (A, B) に等しい。空文字列は,あらゆる文字列において部分文字列となる。 

関係演算子]を追従演算子と呼ぶ。A]Bは,JIS X 0201及びJIS X 0208の照合順序で,AがBに追従

するときだけ真とする。AがBに“追従する”のは,次の場合だけとする。 

(1) Bは空文字列で,Aは空文字列でないとき。 

(2) AもBも空文字列でなく,Aの文字列の最左端の文字が,Bの文字列の最左端の文字に追従している,

すなわち,Aの文字列の最左端が,Bの文字列の最左端の文字のJIS X 0201またはJIS X 0208の照合

順序で後ろに続くとき。 

(3) nが正整数で,文字列A,Bの先頭からn文字が一致している。すなわち, 

$E (A, 1, n) =$E (B, 1, n) で, 

Aの残りの文字列が,Bの残りの文字列に追従している,すなわち, 

$E (A, n+1, $L(A)) が$E (B, n+1, $L(B)) に追従しているとき。 

background image

23 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

2.3.3 

パターン照合 パターン照合演算子?は,左側被演算子の文字列の形式を検査する。S?Pは,Sが

パターンPで指定された文字列クラスに含まれていれば真とし,そうでなければ偽とする。 

パターンは,パターン子並びとする。 

パターン : : = 

パターン子 … 

@ 式子 V パターン 

パターンが,n組のパターン子からなるとすると,S?パターンは,次のとおりのn組のSの部分文字列

の分割が存在すれば真とし,そうでなければ偽とする。 

S=S1,S2,…,Sn 

ただし,部分文字列S1とパターン子は,1対1に順番に対応し,各S1は,それぞれのパターン子を満

足していなければならない。S1の幾つかは,空文字列でもよい。 

それぞれのパターン子は,反復回数とそれに続くパターン符号又は定文字列からなる。Sの部分文字列

S1は,それぞれ対応するパターン符号又は定文字列を満足する部分文字列に分解させることができるなら

ば,パターン子の条件を満足する。 

パターン子  : : = 反復回数 

パターン符号 

定文字列 

反復回数 

 : : = 

定整数列 

[定整数列1].[定整数列2] 

パターン符号 

 : : = 

… 

カ 

全 

パターン符号で,大文字と小文字は同等とする。それぞれのパターン符号は,次のとおりに文字クラス

を1文字で表現する。 

JIS X 0201の33個の制御文字,DELを含む 

JIS X 0201の10個の数値文字 

JIS X 0201の33個の句読文字,間隔を含む 

JIS X 0201の52個のアルファベット 

JIS X 0201の26個の英小文字 

JIS X 0201の26個の英大文字 

すべての文字 

カ 

JIS X 0201の8単位符号10列から13列の文字 

全 

JIS X 0208の図形文字 

すべての未使用のパターン符号文字は,保留してある。 

定文字列は,定文字列に等しい文字列だけが満足する。 

反復回数が繰返しを表す“.”の形式ならば,個々のS1がパターン子の条件を満足する0個以上のS1の

background image

24 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

連結からなる文字列が,そのパターン子を満足する。 

反復回数が一つの定整数列ならば,パターン子は,個々のS1がパターン子の条件を満足した定整数列個

のS1を連結させたものとする。特に,定整数列が0の場合には,対応するS1は空文字列とする。 

反復回数が定整数列1.定整数列2の形式ならば,定整数列1が範囲の下限,定整数列2が範囲の上限を

表す。上限が下限よりも小さいならば誤りとする。下限が省略され上限が指示されている場合,すなわち

“,定整数列2”の形式の場合,下限を0とする。上限が省略され下限が指示されている場合,すなわち

“定整数列1.”の形式の場合,上限を無限回とする。すなわち,反復回数の範囲は少なくとも定整数列1

とする。パターン子の指定に適合する幾つかのS1を連結することで,そのパターン子を満足するが,その

S1の個数は,明示的又は暗黙的に指示された境界を含む範囲内になければならない。 

2重演算子“?”は,次のとおりとする。 

Aʼ?B=ʼ(A?B) 

参照一覧 式子2.2,V1,定文字列2.2.5,定整数列2.2.3 

2.3.4 

論理演算子 演算子!と&を論理演算子と呼ぶ(これらを,論理和及び論理積という。)。これらは,

引数の真偽値解釈を行い,真偽値を結果としてもたらす。 

A!B= 

A及びBがともに0ならば0 

それ以外ならば1 

A&B= 

A及びBがともに1ならば1 

それ以外ならば0 

2重演算子ʼ&及びʼ!の規定は,次のとおりとする。 

Aʼ&B=ʼ(A&B) 

Aʼ!B=ʼ(A!B) 

2.3.5 

連結演算子 アンダスコア記号̲を連結演算子とする。この演算子は,いかなる数値解釈も行わな

い。A̲Bの結果は,Aの文字列の後ろにBの文字列を連結した文字列とする。 

2.4 

ルーチン ルーチンは,ルーチンの情報交換の単位とする。ルーチンの情報交換では,各ルーチン

は,識別名であるルーチン名を含むルーチン頭から始まり,実行される命令を含むルーチン体が続く。ル

ーチン頭は,実行コードには含まれない。 

ルーチン 

 : : = ルーチン頭 ルーチン体 

ルーチン頭 

 : : = ルーチン名 行終端 

ルーチン名 

 : : = 名前 

参照一覧 ルーチン体2.4.1,名前2.2.1 

2.4.1 

ルーチン構造 ルーチン体は,ルーチン終端で終わる行の連続とする。それぞれの行は,一つの行

開始で始まり,その前に省略可能な行ラベル及び仮パラメタ並びを付けることができる。行開始の後には,

0個以上のレベル指標が続き,更に0個以上の命令及び行終端が続く。行の最後の命令と注釈の間には,1

個以上の間隔を置く。行の“深さ”は,レベル指標の数に1を加えた値とする。 

ルーチン体 

 : : = 行…ルーチン終端 

行 

 : : = 仮パラメタ行  

レベル行 

仮パラメタ行  : : = 行ラベル 仮パラメタ並び 行開始 行体 

レベル行 

 : : = [行ラベル]行開始[レベル指標]…行体 

background image

25 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

行体 

 : : = 

命令の並び[命令分離子 注釈] 

 行終端 

注釈 

仮パラメタ並び 

 : : = ([L名前]) 

行ラベル 

 : : = 

名前 

定整数列 

命令の並び 

 : : = 命令[命令分離子 命令]… 

行開始 

 : : = 間隔… 

レベル指標 

 : : = .[間隔]… 

命令分離子 

 : : = 間隔… 

行終端 

 : : = 復帰 改行 

ルーチン終端  : : = 復帰 書式送り 

行の行開始の左に行ラベルが存在するとき,その位置を行ラベルの“定義位置” (defining occurrence) と

いう。一つのルーチン体の中では,異なる定義位置の行ラベルが,同一のつづりであってはならない。仮

パラメタ並びは,”深さ”が1の行(レベル指標を含まない)だけに与えることができる。 

参照一覧 注釈2.5.3,名前2.2.1,L1,定整数列2.2.3,命令2.5 

2.4.2 

ルーチンの実行 ルーチンは,ブロックの順番に実行する。各ブロックは,動的に定義され,引数

なしDO命令,DO引数,外部関数又は外部特殊変数によって呼び出す。それぞれのブロックは,同じ“深

さ”の行の集合であり,各ブロックは,DO,外部関数又は外部特殊変数によって,その参照行から開始さ

れ,明示又は暗黙のQUIT命令で終了する。DO引数,外部関数又は外部特殊変数で行ラベルが指定され

なければ,ルーチン体の最初の行が使われる。“実行レベル”は,現在実行される行の“深さ”と規定する。

現在の実行の“深さ”よりも大きな“深さ”をもっている行は無視する。すなわち,そのような行は実行

されない。現在の実行より小さい“深さ”をもった行又はルーチン終端に遭遇したならば,このブロック

を終了させるための暗黙のQUIT命令を実行する。プロセスでの初期の“深さ”は1とする。無引数DO

命令は,実行レベルを1増加させる。 

ルーチン又はサブルーチンの中での実行の過程は,呼び出された行ラベルの行又は行ラベルの指定がな

い場合にはルーチンの先頭の行から,終端方向に行単位で行われる。行の実行の中では,左端の命令から

右方向へと命令単位で実行する。ルーチン制御を行うDO命令,ELSE命令,FOR命令,GOTO命令,IF

命令,QUIT命令及びXECUTE命令,外部関数並びに外部特殊変数は,この実行の流れを変える。命令の

中においては,この規格で特に明示的に規定を与えない限り,すべての式子は,左端から右方向へ評価す

る。ある式子を評価するときには,その前にその左側にあるすべての式子を評価する。式子が間接指定を

含むときは,先にそれを完全に解決してからその式子を評価する。式子は,式子の規定を満足する最も長

い文字列で構成する。 

仮パラメタ行は,外部関数,外部特殊変数又は実パラメタ並びを含むDO引数付きDO命令の結果とし

て,呼び出さなければならない。それ以外で仮パラメタ行を実行開始することは誤りとする。 

参照一覧 QUIT2.6.15,DO2.6.3,GOTO2.6.6 

2.5 

命令の一般則 すべての命令は,その命令の構文と解釈を示す命令語で始まる。命令語で,大文字

と小文字は同等とする。この規格には次の命令語を含む。 

B [REAK]  

C [LOSE]  

D [O]  

26 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

E [LSE]  

F [OR]  

G [OTO]  

H [ALT]  

H [ANG]  

I [F]  

J [OB]  

K [ILL]  

L [OCK]  

N [EW]  

O [PEN]  

Q [UIT]  

R [EAD]  

S [ET]  

U [SE]  

V [IEW]  

W [RITE]  

X [ECUTE]  

Z[規定なし] 

現在命令語として使用していない頭文字は,この規格を将来拡張するための保留とする。 

命令の構文の規定は,次のとおり,2.6で規定する個々の命令構文からの選択とする。 

命令 : : = 

BREAK命令の構文 

CLOSE命令の構文 

・ 

・ 

・ 

XECUTE命令の構文 

あらゆる処理系は,個々の命令を,その短縮された表記も省略されない表記も同様に認識できなければ

ならない。二つの命令語の頭文字が同じ場合,それらは引数の構文で区別することができる。 

複数の引数をもつことのできる命令では, 

命令語 引数1,引数2,… 

という構文はすべて次の命令と等価とする。 

命令語 引数1 命令語 引数2… 

2.5.1 

後置条件並び ELSE,FOR及びIFを除くすべての命令は,命令語の直後に条件として後置条件を

付けることで,命令全体を条件付けることができる。 

後置条件 : : =[:真偽値式] 

後置条件がないか,後置条件があってもその真偽値式の値が真なら,その命令を実行する。後置条件が

あって,その真偽値式の値が偽なら,その命令語とその引数は実行せず,次へ移る。 

後置条件は,DO命令,GOTO命令又はXECUTE命令の引数の条件付けにも用いることができる。その

場合,その後置条件を評価する前に,その後置条件の付いた引数の式子を評価する。 

27 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

参照一覧 真偽値式2.2.4.2 

2.5.2 

命令間の間隔 間隔は意味のある文字とする。行の中でそれらを用いるときには,次の規則を適用

する。 

(1) 行が注釈で終了する場合にだけ,行終端の直前に間隔があってもよい(行開始を行終端の直前に配置

することができるので,行開始としての間隔にはこの規則は適用しない。)。 

(2) 命令が少なくとも一つの引数を含む場合,命令語又は後置条件の後ろには,正確に一つの間隔を置く。

その命令がその行の最後ではない場合又は注釈が後ろに続く場合,その命令の後ろには一つ以上の間

隔を置く。 

(3) 命令が引数をもたず,その行の最後の命令ではない場合又はその後ろに注釈が続く場合,その命令語

又は後置条件の後ろには,少なくとも二つの間隔を置く。それが行の最後の命令で,注釈が続かない

とき,その命令の後ろ又は後置条件の直後に行終端を置く。 

2.5.3 

注釈 命令語の最初の文字の位置にセミコロンがあると,それは注釈の先頭とする。その行の行終

端までの残りは,図形文字だけで構成されなくてはならず,それ以外の場合は無視し,何も機能しない。 

注釈 : : =;[図形文字]… 

参照一覧 図形文字2.1 

2.5.4 

READとWRITEにおける書式 書式は,READ命令とWRITE命令の中で使うことができ,出力

書式の制御を指定する。書式のパラメタは,一時に一つずつ,左から右へ順に処理する。 

  

 !…[?整数式] 

書式 : : =  #  

  

?整数式 

一つの書式の中にパラメタが複数ある場合,それらをコンマで区切る必要はない。それらのパラメタは,

次の形式とする。 

!は,現用装置上で,“行更新” (new line) 処理を起こす。これは純粋な文字入出力装置で,復帰

に続けて改行を出力するのと等価とする。更に,$Xが0となり,$Yが1増加する。 

#は,現用装置上で,“ページ更新” (top of form) 処理を起こす。この効果は,純粋な文字入出力装

置で,復帰に続けて書式送りを出力するのと等価とする。更に,$Xと$Yは0とする。現用装置が

表示装置なら,画面を消去し,カーソルは左上隅に移動する。 

?整数式は,整数式文字の“欄まで移動” (tab to column) するのと同様な効果をもつ。$Xが整数

式以上の場合,何も起こらない。そうでない場合,これは(整数式−$X)個の間隔を出力するのと

同じとする(各行の左端の欄は位置0とする。)。 

参照一覧 整数式2.2.4.1 

2.5.5 

$X組込み特殊変数と$Y組込み特殊変数に対する副作用 READ命令及びWRITE命令は,一時に

1文字ずつ転送する。そのとき,ある文字又は文字の組合せが,現用装置の種類によっては装置の制御機

能を表すことがある。入出力監視機構が,これらの制御文字又は制御文字列を検出できる限りにおいて,

$X及び$Yの値は次のとおりに変わる。 

図形文字: キャリッジや水平カーソルが実際に移動した値を$Xに加える。 

後退文字: キャリッジや水平カーソルが実際に後退した値を$Xから減ずる。 

改行: $Yを1増やす。 

復帰: $Xの値を0にする。 

background image

28 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

改頁: $Yと$Xの値をともに0にする。 

2.5.6 

時間制限 OPEN命令,LOCK命令,JOB命令及びREAD命令には,時間制限の指定を付け,外部

の条件を調べることができる。 

時間制限 : : =:数式 

時間制限がない場合,その命令の規定に関連した条件が満足されれば,その命令の処理が進行する。条

件が満足されなければ,それが満足されるまで命令の実行を待ち,満足されてから処理が進行する。 

時間制限がなければ,$T組込み特殊変数の値は変わらない。 

時間制限がある場合,数式の値は0又は正の値でなくてはならない。負の値の場合は,0とみなす。数

式の値をtとすると,数式はt秒の時間制限を示す。 

t=0の場合,その命令の条件を調べる。それが真なら,$Tの値を1とする。偽なら,$Tの値を0

とする。実行は止まることなく次へ進む。 

tが正の場合,実行はその命令の条件が真になるまで一時停止する。しかしt秒以上停止することは

ない。実行が再開する時点で,条件が真なら$Tの値を1とし,条件が偽なら$Tの値を0とする。 

参照一覧 数式2.2.4 

2.5.7 

行参照 DO命令,GOTO命令,外部関数,外部特殊変数及び$TEXT関数の引数は,任意のルーチ

ンの,ある行を参照する。この箇条では,行を参照する方法について記述する。 

あるルーチン内の任意の行は,ある行自身又はそれより前の行に実在する行ラベルを利用して表す。 

実在ラベル 

 : : = 

行ラベル 

@ 式子 V 実在ラベル 

ルーチン参照 

 : : = 

ルーチン名 

@ 式子 V ルーチン参照 

DO及びGOTOの中で行を指定する形は,入り口参照という形式とする。 

入り口参照 

 : : = 実在ラベル[+整数式][^ルーチン参照] 

^ルーチン参照 

区切り記号^がなければ,ルーチンは,そのときに実行されているルーチンのこととみなす。行の参照

(実在ラベル[+整数式])がなければ,最初の行のこととみなす。 

DO命令,JOB命令,外部関数及び外部特殊変数が,指定したルーチンに渡すパラメタをもっていると

き,+整数式という形式の入り口参照は許されず,指定された行は仮パラメタ行でなくてはならない。 

行ラベル参照  : : = 行ラベル[^ルーチン名] 

^ルーチン名 

+整数式がなければ,実在ラベルで指定される行は,行ラベルの付いた行とする。+整数式があり,そ

の値nが,n≧0の場合,それは行ラベルの付いた行から数えてn番目の行を表す。整数式の値が負の場合

は誤りとする。定整数列の形式の行ラベルでは,その先頭に0が付いていた場合,それはその行ラベルの

つづりの一部として意味をもつ。 

DO命令及びGOTO命令の中では,次の条件はどれも誤りとする。 

(1) 整数式の値が大きすぎて,そのルーチンの最後の行以降の存在しない行を指し示している場合 

(2) 行ラベルと同じつづりのラベルをもった行がそのルーチンに存在しない場合 

すべての場合で,あるつづりの行ラベルをもった行がそのルーチンに複数存在する場合,それを参照し

た結果は不定とする。 

組込み関数$TEXTと同じく,DO命令,GOTO命令及びJOB命令は,それらが属するルーチン以外のル

background image

29 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

ーチンの行を参照することができる。その場合は,ルーチン名を指定しなくてはならない。 

参照一覧 行ラベル2.4.1,ルーチン名2.4,式子2.2,V1,整数式2.2.4.1 

2.5.8 

命令の引数の間接指定 一つの命令の一つの引数又は連続した複数の引数を評価するために,間接

指定を用いることができる。間接指定が使えるかどうかは,個々の命令の構文規定の中で示す。 

典型的には,命令語には,次のとおりに一連の引数が続く。 

命令語 間隔 L 引数 

このうち引数の構文は,次のとおりとする。 

引数 

 : : = 一つ一つの引数の構文 

@ 式子 V L 引数 

この構文は,引数の間接指定がもつ,次の特性を表現する。 

(1) 引数の間接指定は,再帰的に用いることができる。 

(2) 引数の間接指定は,一つの完全な引数又は引数全体のうちの部分並びとして評価することができる。 

明示的に否定していない限り,各命令の仕様は,すべての間接指定が評価された後の引数について記述

する。 

参照一覧 式子2.2,V1,L1 

2.5.9 

パラメタ渡し パラメタ渡しは,一定の手順に従ったサブルーチン間情報渡しの方法で,実パラメ

タ並び付きの外部関数,外部特殊変数又はDO命令を使って処理する。 

実パラメタ並び 

 : : = ([L実パラメタ]) 

実パラメタ 

 : : = 

.実パラメタ名前 

式 

実パラメタ名前 

 : : = 

名前 

@ 式子 V 実パラメタ名前 

パラメタ渡しがある場合は,行ラベル参照で指定される仮パラメタ行には仮パラメタ並びが必要であり,

そこに含まれる名前の数は,実パラメタ並びに含まれる実パラメタの数以上でなくてはならない。実パラ

メタと,仮パラメタ並びの名前の間での対応の規定は,次のとおりとする。すなわち,実パラメタ並び内

の最初の実パラメタは,仮パラメタ並び内の最初の名前に対応し,2番目の実パラメタは仮パラメタ並び

の2番目の名前に対応する,などとする。同様に,次に規定するパラメタ並びの各要素と,実パラメタ又

は仮パラメタ並びの名前の間の対応もまた,左から右への順番で,位置で決まる。実パラメタの構文が実

パラメタ名前の場合,その実パラメタは“参照呼出し形式” (call-by-reference) であるといい,そうでなけ

ればその実パラメタは“値呼出し形式” (call-by-value) であるという。 

パラメタ渡しがあれば,次の段階で実行する。 

(1) 実パラメタを左から右への順に処理し,パラメタ並びと呼ぶ“データセル”への指標のリストを得る。

パラメタ並びには,実パラメタごとに対応する項目が一つずつ含まれる。パラメタ並びを生成する規

則は,次のとおりとする。 

(a) 実パラメタが値呼出しの場合,その式を評価し,結果として0値をもった値組を一つ“データセル”

に生成する。その“データセル”への指標をパラメタ並びの項目とする。 

(b) 実パラメタが参照呼出しの場合,“名前表”を検索し,実パラメタ並びの名前をもつ見出しを探す。

見出しが一つ見つかると,そのパラメタ並びの項目を,“名前表”のこの見出し内の“データセル”

指標とする。実パラメタ並びの名前がなければ,その名前をもつ“名前表”見出しと新しい(空の)

30 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

“データセル”への指標を生成する。この指標を,パラメタ並びのその項目とする。 

(2) 仮パラメタ並びを含む“処理スタック”上にパラメタ枠を生成する。 

(3) 仮パラメタ並び内のそれぞれの名前について,その名前を含む見出しを“名前表”内で探し,その見

出しが存在すれば,“名前表”のその見出しをパラメタ枠に複写して,それを“名前表”から削除する。

これを,仮パラメタ並びの名前について暗黙のNEWを実行する段階とする。 

(4) パラメタリストの各項目について,仮パラメタ並びの名前と対応する,パラメタリストの項目(デー

タセル指標)を含む見出しを“名前表”に生成する。これを,実パラメタ並びの名前を各実パラメタ

に結び付ける段階とする。 

これらの段階の結果,二つ以上の“名前表”見出しが同じ“データセル”を指し示すことがあり得る。

この共通の連結が有効である限りにおいて,名前のうちの一つをもつ局所変数名をSET又はKILLすると,

これは他の名前の局所変数名を暗黙のうちに,SET又はKILLすることになる。KILL命令が,同一の“デ

ータセル”に対応する複数の名前についてこの連結を解除することはないが,この後実行されるパラメタ

渡し又はNEW命令によってこの連結は解除されうる。 

この後実行は,行ラベル参照で指定された行の行開始に続く最初の命令から始まる。サブルーチンの実

行は,ルーチン終端又は続いて実行されたDO引数,XECUTE引数,外部関数,外部特殊変数,FOR命令

の有効範囲にないQUITまで続く。外部関数又は外部特殊変数の場合は,引数をもったQUIT命令によっ

て終了しなければならない。 

QUITで終了する場合,仮パラメタ並びの名前の連結は解除され,元の変数環境に戻る。 

参照一覧 L1,式2.3,名前2.2.1,式子2.2,V1,QUIT操作の意味2.6.15 

2.6 

命令の規定 命令の規定は,次のとおりとする。 

2.6.1 

BREAK 

B [REAK] 後置条件 

[間隔] 

引数構文 規定なし 

BREAKは,この規格外のプログラミングのために,規格内のアクセス点を与える。引数なしのBREAK

は装置からの信号(ここでは規定していない。)を受け取るまで実行を一時停止する。 

参照一覧 後置条件2.5.1 

2.6.2 

CLOSE 

C [LOSE] 後置条件 間隔 L CLOSE引数 

CLOSE引数 

 : : = 

式[:装置パラメタ並び] 

@ 式子 V L CLOSE引数 

装置パラメタ並び 

 : : = 

式 

([[式]:]…式) 

各々のCLOSE引数の最初の式の値は,装置(又はファイルやデータ集合)を識別する。この式の値の

解釈は,処理系作成者に委ねる。装置パラメタ並びは,処理系作成者の解釈に従って,手続の終了を規定

したり,装置の占有権を解除したりすることに使用してもよい。 

CLOSEは,指定された各々の装置を占有から解除する。実行されたCLOSEの引数によって指定された

装置が占有されていない場合,この命令は,装置の占有権やその装置に関するパラメタの値に何の影響も

及ぼさない。CLOSEが実行されたときに有効であった装置パラメタは,再度利用できるようその装置に関

連して保存して置かれる。実行されたCLOSEの引数が現用装置を指定している場合,処理系作成者は,

命令OPEN P USE Pを暗黙の内に実行してもよい(ここでPは,前もって定められた省略時装置名とする。)。

31 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

そうしない場合,処理系作成者は,組込み特殊変数$IOに空値を与える。 

参照一覧 後置条件2.5.1,L1,式2.3,式子2.2,V1 

2.6.3 

DO 

D [0] 後置条件 

[間隔] 

間隔 L DO引数 

  

入り口参照 後置条件 

DO引数 

 : : = 行ラベル参照 実パラメタ並び 後置条件 

@ 式子 V L DO引数 

引数なしDOは,内側の行ブロックの実行を開始する。後置条件が存在し,かつ真偽値式が偽ならば,

命令の実行は終了する。後置条件が存在しないか又は後置条件があって真偽値式が真ならば,DOは現在

の実行位置,現在の実行レベル,$Tの現在値を含むDO枠を“処理スタック”に置く。そして,実行レベ

ルを1増加させ,ルーチンの次の行を実行する。続いて実行されるDO引数,XECUTE引数,外部関数,

外部特殊変数又はFOR命令の有効範囲にない明示的若しくは暗黙的なQUITに出合うと,このブロックの

実行は終了する。引数なしのDOに続く命令(もしあれば)から実行は再開する。 

引数付きのDOは,それぞれのDO引数内における入り口参照又は行ラベル参照によって指定されるサ

ブルーチンの一般的な呼出しの方法とする。入り口参照や行ラベル参照によって指定する行は,“実行レベ

ル”が1でなければならない。“実行レベル”が1でない行をDO引数が実行することは誤りとする。 

実行されたDO引数に実パラメタ並びが存在するならば,パラメタ渡しが行われる。行ラベル参照によ

って指定された仮パラメタ行には,その実パラメタ並びの中の実パラメタの個数以上の名前を含んだ仮パ

ラメタ並びが必要である。 

各々のDO引数は,一度に一つずつ,左から右への順に次のとおりの段階で実行する。 

(1) DO引数の式子を評価する。 

(2) 後置条件が存在し,かつ真偽値式が偽であるならば,DO引数の実行は終了する。 

後置条件がないか,又は後置条件があって真偽値式が真であれば,(3)へ進む。 

(3) 現在の実行位置と現在の実行レベルを含むDO枠を”処理スタック”に置く。 

(4) 実パラメタ並びが存在すれば,2.5.9に記述されたパラメタ渡しの段階を実行する。 

(5) 実行は,入り口参照又は行ラベル参照で指定された行の行開始に続く最初の命令に続く。そのサブル

ーチンの実行は,引き続いて実行されるFOR,引数なしのDO,DO引数,XECUTE引数,外部関数

若しくは外部特殊変数の有効範囲にはない,QUIT又はルーチン終端の実行によって終了する。この

DO引数の有効範囲は,QUIT又はルーチン終端の実行までとする。次に実行は,そのDO引数に続く

最初の文字位置に帰る。 

参照一覧 後置条件2.5.1,L1,ルーチンの実行2.4.2,QUIT2.6.15,式子2.2 

V1,入り口参照2.5.7,行ラベル参照2.5.7,実パラメタ並び2.5.9 

2.6.4 

ELSE 

E [LSE] [間隔] 

$Tの値が1ならば,ELSEの右にある行の残りは実行されない。$Tの値が0であれば,次の命令から引

き続き通常どおり実行する。 

2.6.5 

FOR 

F [OR]  

[間隔] 

32 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

間隔 局所変数名=L FORパラメタ 

式 

FORパラメタ 

 : : = 

数式1:数式2:数式3 

数式1:数式2 

FOR命令の“有効範囲”は,同じ行のFORに続く次の命令に始まり,その行の行終端の直前で終わる。 

引数をもつFORは,FORパラメタを左から右へ連続的に制御し,局所変数名のさまざまな値に対して

その有効範囲内の命令を繰返し実行する。添字や間接指定の式のような局所変数名に含まれるあらゆる式

は,FORを実行するたびに,最初のFORパラメタを実行する前に必ず一度評価する。 

各々のFORパラメタは,次の(1)〜(5)に規定するとおりに,有効範囲内の命令の実行を制御する。(ここ

で,A,B,Cは,仮の変数とする。)  

(1) FORパラメタが,式の形式のとき, 

(a) 局所変数名に式の値を代入する。 

(b) 有効範囲内の命令を1回実行する。 

(c) このFORパラメタの処理を終了する。 

(2) FORパラメタが,数式1:数式2:数式3の形式で数式2が負数でないとき, 

(a) Aに数式1を代入する。 

(b) Bに数式2を代入する。 

(c) Cに数式3を代入する。 

(d) 局所変数名にAを代入する。 

(e) 局所変数名>Cであれば,このFORパラメタの処理を終了する。 

(f) 有効範囲内の命令を1回実行する。局所変数名の値が不定ならば,誤りとする。 

(g) 局所変数名 (C−B) ならば,このFORパラメタの処理を終了する。 

(h) そうでなければ,局所変数名+Bを局所変数名に代入する。 

(i) (f)に戻る。 

(3) FORパラメタが,数式1:数式2:数式3の形式で数式2が負数のとき, 

(a) Aに数式1を代入する。 

(b) Bに数式2を代入する。 

(c) Cに数式3を代入する。 

(d) 局所変数名にAを代入する。 

(e) 局所変数名<Cならば,このFORパラメタの処理を終了する。 

(f) 有効範囲内の命令を1回実行する。局所変数名の値が不定ならば誤りとする。 

(g) 局所変数名< (C−B) ならば,このFORパラメタの処理を終了する。 

(h) そうでなければ,局所変数名+Bを局所変数名に代入する。 

(i) (f)に戻る。 

(4) FORパラメタが,数式1:数式2の形式のとき, 

(a) Aに数式1を代入する。 

(b) Bに数式2を代入する。 

(c) 局所変数名にAを代入する。 

(d) 有効範囲内の命令を1回実行する。局所変数名の値が不定ならば,誤りとする。 

33 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

(e) そうでなければ,局所変数名+Bを局所変数名に代入する。 

(f) (d)に戻る。 

(5) FOR命令が引数をもたないとき, 

(a) 有効範囲内の命令を1回実行する。局所変数名は定義されていないので,参照されることはない。 

(b) (a)に戻る。 

形式(4)と引数なしのFORは,無限ループを指定する。このループは,FOR命令の有効範囲内でQUIT

又はGOTOが実行されたときに終了する。この二つの終了方法は,現在,その有効範囲の実行を制御して

いるFORパラメタの形式に左右されない。更に,形式(4)のFORパラメタの右側にあるFORパラメタは,

実行できない。 

一つのFOR“外側”のFOR)の有効範囲内にもう一つのFOR(“内側”のFOR)が含まれる場合,外側

のFORの有効範囲の命令を1回実行することは,内側のFORの有効範囲の命令を,内側のFOR命令の

FORパラメタ並びの完全な走査に呼応して,すべて実行することを意味する。 

一つのFORの有効範囲におけるQUITの実行は,次の(6)〜(7)の二つの作用をもつ。 

(6) その有効範囲内の実行をQUITの位置で終了する。QUITから右側に位置する命令は実行しない。 

(7) QUITを実行すると,実行中のFORパラメタの値はその時点のものが残り,同じFORパラメタ並び

内の残りのFORパラメタは実行されず,有効範囲内の命令もこれらの制御のもとでは実行しない。 

言い替えればQUITの実行は,有効範囲にそのQUITを含むもののうち,最も内側のFORを直ちに終了

させる。 

GOTO命令の実行は,そのGOTO命令を含む行のすべてのFOR命令を直ちに終了させる。そして,実

行の制御を定義された地点へと移す。FORの有効範囲におけるQUITの実行は,変数の環境に影響を与え

ない。例えば,スタックされたNEW枠は削除されたり変更されることはない。 

参照一覧 局所変数名2.2.2.1,L1,式2.3,数式2.2.4 

2.6.6 

GOTO 

G [OTO] 後置条件 間隔 L GOTO引数 

GOTO引数 

 : : = 入り口参照 後置条件 

@ 式子 V L GOTO引数 

GOTO命令は,一般化された制御の移行とする。実行が戻ることを望むならば,DO命令を用いるのが

よい。 

各々のGOTO引数を,一度に一つずつ左から右へと,後置条件がないか,又は,後置条件があってその

真偽値式が真であるものを見つけるまで調べる。そのとおりのGOTO引数が見つからない場合は,制御は

移ることなく,通常どおり処理が継続する。そのとおりのGOTO引数が見つかれば,そのGOTO引数に

よって指定された行の左端から実行が継続する。ただし,その行がGOTO命令を含む行と同じ“深さ”で

なければならず,かつ,そのGOTO命令を含む行の“深さ”が2以上の場合には,GOTO引数で定義され

た行と,GOTO命令を含む行との間に,これより浅い“深さ”の行が存在していてはならない。更に,GOTO

を含んでいる行とGOTO引数で示される行は,同じルーチン内になければならない。 

参照一覧 

後置条件2.5.1,L1,式子2.2,V1 

FORの有効範囲内で実行されたGOTOの附加的な影響2.6.5 

2.6.7 

HALT 

H [ALT] 後置条件[間隔] 

最初に,引数のないLOCK命令が実行され,次いでこのプロセスの実行が終了する。 

background image

34 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

参照一覧 後置条件2.5.1 

2.6.8 

HANG 

H [ANG] 後置条件 間隔 L HANG引数 

HANG引数 

 : : = 

数式 

@ 式子 V L HANG引数 

数式の値をtとする。t≦0のとき,HANGは実行しない。そうでないときは,t秒間実行が停止する。 

参照一覧 後置条件2.5.1,L1,数式2.2.4,式子2.2,V1 

2.6.9 

IF 

I [F]  

[間隔] 

間隔 L IF引数 

IF引数 

 : : = 

真偽値式 

@ 式子 V L IF引数 

引数なしの形式では,IF命令はELSE命令の反対とする。すなわち,$Tの値が0ならば,その行のIF

から右の部分は実行されない。$Tの値が1ならば,次の命令から通常どおり実行が続く。 

ただ一つの引数が存在する場合は,真偽値式の値を$Tに入れ,上の機能を実行する。 

IFがn個の引数をもつ場合,それは引数と同じ順で各々1個の引数をもつIF命令がn個並んだものと同

じとする。これは,引数によって表現された条件の暗黙の論理積であると解釈することもできる。 

参照一覧 真偽値式2.2.4.2,式子2.2,V1,L1 

2.6.10 JOB 

J [OB] 後置条件 間隔 L JOB引数 

入り口参照[:JOBパラメタ並び] 

JOB引数  : : = 

行ラベル参照 JOB実パラメタ並び[:JOBパラメタ並び] 

@ 式子 V L JOB引数 

JOB実パラメタ並び : : =(L 式) 

JOBパラメタ並び 

 : : = 

処理パタメタ並び[時間制限] 

時間制限 

処理パタメタ並び 

 : : = 

式 

[[式]:]…式) 

JOB命令は,各JOB引数を用いて,別のプロセスの起動を図る。JOB引数の中にJOB実パラメタ並び

がある場合には,行ラベル参照によって示された仮パラメタ行は,名前の個数がJOB実パラメタ並びの式

の個数以上の仮パラメタ並びを含まなければならない。 

JOB命令は,入り口参照又は行ラベル参照によって指定された行のプロセスを起動する。JOB実パラメ

タ並びがある場合には,そのプロセスは起動時に確定した変数をもつことになる。これらの変数は,行ラ

ベル参照によって示された仮パラメタ行の仮パラメタ並びから取り出す。仮パラメタ並びの名前は,JOB

実パラメタ並びにある式と同数だけ作られ,その値として対応するJOB実パラメタ並びの式の値が与えら

れる。起動されたプロセスと,それを起動させたプロセスとの間には何の連係もなく,JOB実パラメタ並

びの式は,値だけを渡す。JOB実パラメタ並びがない場合には,プロセスの起動時には確定した変数をも

たない。 

処理パタメタ並びは,処理系作成者の固有の方法によって,主記憶分割の大きさや主装置などを明示す

35 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

るために用いることができる。 

時間制限がある場合には,その時間制限内に起動できたかどうかが$Tに入る。時間制限内に起動できな

かったとき,及び起動に成功したとき,このJOB命令の実行は終了する。時間制限がない場合には,$T

の値は変化せず,JOB引数で指定されたプロセスの起動が成功するまで,起動したプロセスの実行は一時

停止する。どちらの場合でも成功の意味は,処理系作成者が規定する。 

参照一覧 

後置条件2.5.1,L1,入り口参照2.5.7,行ラベル参照2.5.7,式子2.2 

V1,式2.3,時間制限2.5.6 

2.6.11 KILL 

K [ILL] 後置条件 

[間隔] 

間隔 L KILL引数 

変数名 

KILL引数  : : = 

(L 局所変数) 

@ 式子 V L KILL引数 

局所変数 

 : : = 

名前 

@ 式子 V 名前 

KILLの三つの引数の形式を,次の(1)〜(3)の名前で呼ぶ。 

(1) 

変数名 

:選択的KILL 

(2) 

(L局所変数) 

:排他的KILL 

(3) 

引数の付かないもの :全面的KILL 

KILL命令は,補助関数K (V) を用いて次の(4)〜(6)に規定する。ここで,Vは変数名とする。 

(4) 名前Vを“名前表”で検索する。名前Vの項目が見つからないときには,関数K (V) は終了する。

見つかったときには,“データセル”指標を抽出して,(5)の処理を行う。 

(5) Vに添字が付いていない場合には,“データセル”のすべての値組を消去する。 

(6) Vに添字が付いている場合には,NをVの添字の個数とする。N個以上の添字が付いていて,かつ最

初のN個の添字がVの添字と同じである,“データセル”中のすべての値組を消去する。 

K (V) の手順の結果,$D (V) =0,すなわち,Vは値が不定,下位成分なし,となる。 

KILL命令の三つの形式の動作を,次の(7)〜(9)に規定する。 

(7) 選択的KILL−指定された変数名に関数Kを適用する。 

(8) 排他的KILL−引数並びに指定した名前を除いて,“名前表”のすべての名前に関数Kを適用する。排

他的KILL命令の引数並びの中の名前には,添字を付けることはできない。 

(9) 全面的KILL−“名前表”のすべての名前に関数Kを適用する。 

変数Mの下位成分である変数NがKILLされた場合,Nに対するKILLの実行は,$D (M) の値に影響

を与える。すなわち,NがMの唯一の下位成分でない場合,$D (M) は不変とし,NがMの唯一の下位成

分の場合,Mが定義された値をもつとき,$D (M) は11から1に変わり,Mが不定のとき,$D (M) は10

から0に変わる。 

参照一覧 後置条件2.5.1,L1,変数名2.2.2.2,式子2.2,V1,名前2.2.1 

2.6.12 LOCK 

L [OCK] 後置条件 

[ 間隔 ] 

間隔 L LOCK引数 

36 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

   

  + 

名前参照 

LOCK引数  : : = 

  − 

 (L 名前参照) [時間制限] 

 @ 式子 V L LOCK引数 

名前参照  

 : : = 

[^] 名前[(L 式)] 

@ 式子 V 名前参照 

LOCK命令は,応用プログラムで適切に使用することで,同時実行するプロセスが利用可能な一般化さ

れた連動 (interlock) 機能を提供する。LOCK命令の実行は,すべての大域変数,局所変数の値又は略式指

標の値や状態に直接影響せず,またそれらに影響されない。LOCK命令の使用は,大域変数の操作を要求

するのではなく,他のプロセスからの大域変数操作を抑制するものではない。LOCK命令の使用は,使用

するプログラマ側が利用の慣例を確立して用いることに依存した連動機構とする。 

各LOCK引数は,実行中のプロセスから排他的要求の取得や排他的要求の解放を行うために,MUMPS

のすべての名前空間 (name space) の部分空間を指定する。この部分空間仕様の詳細は,次のとおりとする。 

説明のため,“名前空間”とは,すべての間接指定の実行後の,すべての可能な名前参照の集合と定義す

る。プロセスごとにLOCK表と呼ぶ表が存在する。LOCK表は,0個以上の名前参照を保持する。ある名

前参照は,一つのプロセスのLOCK表に二度以上現れうるが,異なるプロセスのLOCK表に現れることは

ない。各名前参照は,名前空間の一部分を表す。 

LOCK表内の全名前空間中の,各名前参照が要求する部分空間は,次の(1)〜(2)のとおりとする。 

(1) その名前参照に添字が付いていなかった場合,部分空間は,その添字の付かない名前参照の変数名,

及び添字の付いたすべての変数名N (s1,…,si) とする。ここで,Nは名前参照と同じつづりとする。 

(2) 名前参照に添字が付いている場合,その変数名をN (s1, s2, …,sn) とする。そのとき,部分空間は,

N, N (s1) , N (s1, s2) ,…,N (s1, …,Si) (ここでi≦nとする)の集合,及び名前参照の各下位成分とす

る。 

LOCK命令に引数が付いていない場合には,LOCKは,このプロセスのLOCK表からすべての名前参照

を削除する。 

LOCK引数の実行は,次の(3)〜(7)の順序で処理する。 

(3) そのLOCK引数の処理に関連したあらゆる式評価を実行する。 

(4) LOCK引数の形式が,先頭に+又は−符号を含まない場合,そのLOCK引数の残りの評価又は実行の

前に,LOCK命令は,最初にこのプロセスのLOCK表内のすべての名前参照を削除する。(5)〜(7)で

は,最初に+符号が存在した場合と同等に扱う。 

(5) 明示的な又は暗黙的な先行する+符号が存在する場合, 

(a) このプロセスは,そのLOCK引数によって指定されたすべての部分空間を確保できるかどうかの検

査を行う。そのLOCK引数の各名前参照が,この時点で,すべての他のプロセスのLOCK表の中に

ある名前参照によって確保された部分空間を結合したものと重ならなければ,この部分空間を確保

することができる。 

(b) 上記の検査を実行し,プロセスが指定された部分空間を確保できない場合,繰返しその検査を行い,

プロセスが指定した部分空間の確保ができるか又は時間制限が付いている場合,時間制限が終了す

るかのどちらかまで,このプロセスの実行は一時停止する。時間制限が終了した場合,次の(c)は行

background image

37 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

わない。 

(c) LOCK引数の名前参照のすべてを,LOCK表に挿入する。この結果,名前参照のうち幾つかは,こ

のプロセスのLOCK表に2回以上入ることがありうる。そのLOCK引数の名前参照は,全部同時に

挿入されるか,全く挿入されないかのいずれかとなる。 

(6) LOCK引数の先頭に−符号をもつ場合,そのLOCK引数の各々の名前参照について,その名前参照が

このプロセスのLOCK表に存在するときは,その名前参照の一つをLOCK表から削除する。 

(7) 時間制限が付いている場合,LOCK引数の実行の終了時に$Tによって報告される状態は,要求又は放

棄の成功又は失敗を意味する。LOCK要求が成功した場合には1の値をもち,時間制限が終了した場

合には0とする。時間制限が付いていないならば,$Tは,LOCK引数の実行によって変化しない。 

参照一覧 

後置条件2.5.1,L1,名前参照2.6.12,時間制限2.5.6 

式子2.2,V1,名前2.2.1,式2.3,下位成分2.2.7.3の$DATA 

2.6.13 NEW 

N [EW] 後置条件 

[間隔] 

間隔 L NEW引数 

局所変数 

NEW引数 

 : : = 

(L 局所変数 ) 

@ 式子 V L NEW引数 

NEW命令は,変数の有効範囲の設定方法を提供する。 

NEW命令の三つの引数の形式を,次の(1)〜(3)の名前で呼ぶ。 

(1) 

局所変数 

:選択的NEW 

(2) 

(L局所変数) :排他的NEW 

(3) 

引数並びの付かないもの :全面的NEW 

NEW命令の各引数は,NEW命令の引数を含んだ枠を“処理スタック”に入れ,“名前表”の一組の項

目をその枠に複写する。 

NEW命令の三つの形式の動作を,次の(4)〜(6)に規定する。 

(4) 選択的NEW−局所変数に対応する“名前表”中の項目を,その枠に複写する。 

(5) 排他的NEW−引数内の名前を除き,“名前表”内のすべての名前に対応する項目を,その枠に複写す

る。 

(6) 全面的NEW−“名前表”のすべての項目を,その枠に複写する。 

三つのすべての場合,枠に複写された“名前表”の項目を,続いて“名前表”から削除する。この削除

は,現在の処理の過程で,それらの変数を不定の状態にする効果がある。 

参照一覧 

後置条件2.5.1,L1,局所変数2.6.11,式子2.2,V1,QUIT2.6.15 

2.6.14 OPEN 

O [PEN] 後置条件 間隔 L OPEN引数 

OPEN引数 : : = 

式[:OPENパラメタ並び] 

@ 式子 V L OPEN引数 

OPENパラメタ並び  : : = 

装置パラメタ並び[時間制限] 

時間制限 

各OPEN引数の最初の式の値は,装置(又はファイル若しくはデータ集合)を識別するのに用いる。こ

38 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

の式の値及び装置パラメタ並びの式の解釈は,処理系作成者に委ねる。 

OPEN命令は,装置の占有権を獲得するために用い,現用装置又は$IO組込み特殊変数の値に影響を与

えない。 

OPEN命令は,各OPEN引数によって指定された装置の排他的な占有権を獲得しようとする。OPENは,

OPEN引数の処理よりも先に占有権獲得の処理を実行する。占有権が獲得できなかった場合,その装置の

占有権と装置パラメタの値に関してはなんら影響を与えない。時間制限がある場合,占有権の獲得が成功

したかどうかが,$Tに入る。時間制限がない場合,$Tの値は変化せず,占有権の獲得ができるまで,処

理の実行は一時停止する。 

占有権は,CLOSE命令の実行によって放棄する。占有権が放棄されるとき,すべての装置パラメタを保

持する。装置の占有権の確立において,OPENパラメタ並びの中に特に指示がなければ,最後にその装置

に使った値をパラメタに用いる。その値も存在しない場合,処理系作成者が定めた省略値を用いる。 

参照一覧 

後置条件2.5.1,L1,式2.3,式子2.2,V1,装置パラメタ並び2.6.2 

時間制限2.5.6,USE2.6.18 

2.6.15 QUIT 

Q [UIT] 後置条件 

[間隔] 

間隔 式 

QUITは,引数なしDO命令,DO引数,XECUTE引数,外部関数,外部特殊変数又はFOR命令の実行

を終わらせる。 

ルーチン終端に出会うことは,無条件の引数なしのQUITに相当する。 

FORの中でのQUITの効果については,2.6.5を参照のこと。ルーチン終端は,FOR命令の有効範囲に

ありえない。 

実行されたQUITがFORの有効範囲にない場合,明示的でなければ暗黙的に,QUITは,引数なしDO

命令,DO引数,XECUTE引数,外部関数又は外部特殊変数の有効範囲内にある。なぜなら,プロセスの

最初の起動は,JOB引数の実行による場合を含めて,そのプロセスの最初に実行されたルーチン名を指名

したDOの実行によって引き起こされたとみなすことができるからである。 

引数なしDO命令,DO引数,XECUTE引数,外部関数又は外部特殊変数の有効範囲内でのQUITの実

行は,必要ならば前の変数環境や$Tの値を復元し,実行レベルを復元する。そして,その呼び手の引数な

しDO命令,DO引数,XECUTE引数,外部関数又は外部特殊変数の位置から実行を継続する。 

QUITに引数式が存在する場合,このQUITは,外部関数又は外部特殊変数に対する出口でなければな

らない。同様に,式が存在しない場合には,このQUITは,引数なしDO命令,DO引数又はXECUTE引

数に対する出口でなければならない。他の場合は,誤りとする。 

QUITに出会うと,次の段階で実行する。 

(1) 式が存在する場合,それを評価する。この値を,起動された外部関数又は外部特殊変数の値とする。 

(2) “処理スタック”の最上段の枠を除去する。枠が存在しない場合には,暗黙のHALTを実行する。 

(3) NEWが作成した枠の場合,保存してあるNEWの引数を検討し,その形式によって次の処理の一つを

行う。 

(a) 選択的NEW−引数の局所変数に対して暗黙のKILL命令を実行する。 

(b) 排他的NEW−“名前表”のすべての名前からNEWの引数の名前を除いたものに対して暗黙の

KILL命令を実行する。 

(c) 

全面的NEW−暗黙の全面的KILL命令を実行する。 

39 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

最後に,その枠のすべての“名前表”の項目について,枠から“名前表”へ複写する。 

この枠の処理を終了し,(2)へ戻る。 

(4) パラメタ枠の場合,仮パラメタ並びを抽出し,次の段階によって並びの各名前の処理を行う。 

(a) “名前表”を検索し,その名前を含む項目を見つける。そのとおりの項目が見つからない場合は,

この名前の処理を終了する。その他の場合は,(b)へ進む。 

(b) この名前の“名前表”の項目を削除する。 

最後に,すべての“名前表”の項目を,この枠から“名前表”へ複写する。 

この枠の処理を終了し,(2)へ戻る。 

(5) 外部関数,外部特殊変数又は引数なしのDO命令が作成した枠の場合,その枠に保存されている値を

$Tの値とする。 

(6) 実行レベルを回復し,その枠で指定された位置から実行を継続する。 

参照一覧 

後置条件2.5.1,式2.3,FORの有効範囲でのQUIT2.6.5 

2.6.16 READ 

R [EAD] 後置条件 間隔 L READ引数 

定文字列 

書式 

READ引数 

 : : = 局所変数名[READ計数][時間制限] 

*局所変数名[時間制限] 

@ 式子 V L READ引数 

READ計数 

 : : = #整数式 

READ引数は,一度に一つずつ,左から右への順で実行する。 

上から1番目及び2番目の引数形式は,現用装置に出力操作を行う。上から3番目及び4番目の引数形

式は,現用装置から指定の局所変数に入力操作を行う。時間制限がない場合,入力が,READ計数を用い

て明示的又は暗黙的に終了するまで実行を一時停止する。 

時間制限がある場合,t秒間の時間制限とみなす。この場合には,入力終了時まで実行を一時停止する

が,この停止時間はt秒以内とする。t<0の場合,t=0とする。 

時間制限がある場合,$Tの値は次のとおりに変化する。実行の再開時又は再開前に,入力が終了してい

たとき,$Tは1の値をとる。それ以外のときには,0の値をとる。 

*局所変数名[時間制限]の形式の引数を使用する場合,入力は1文字分の長さをもつ。1文字を入力す

ると,入力は明示的に終了する。この文字は,JIS X 0201及びJIS X 0208の文字集合の文字である必要は

ない。局所変数名がとる値は,整数値とする。入力文字の集合と局所変数名がとる整数値の集合間の対応

づけは,装置特有の形式で処理系作成者が定める。時間制限があり,かつ時間切れとなる場合には,局所

変数名の値を−1とする。 

局所変数名[時間制限]の形式の引数を使用する場合,入力は可変長の文字列とする。この文字列は,

処理系作成者が規定した方法で終了する。この終了方法は,装置によって異なってもよい。局所変数名が

とる値は,時間制限がありかつ時間切れとなる場合,時間切れとなるまでに入力した文字列とする。それ

以外の場合,文字列全体とする。 

局所変数名#整数式[時間制限]の形式の引数を使用する場合,整数式の値をnとする。n≦0の場合,

40 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

誤りとする。それ以外の場合は,最大n個分の長さをもつ文字列を入力とする。この文字列は,処理系作

成者が規定した方法で終了する。例えば,n番目の文字を受信した時に終了させる方法でもよい。この終

了方法は,装置によって異なってもよい。時間制限を使用し,今述べた処理系作成者が規定した方法で入

力が終了する前に時間切れとなった場合,局所変数名がとる値は,時間切れとなるまでに入力した文字列

とする。それ以外の場合,局所変数名は処理系作成者が規定した,装置特有の方法で終了する最大n個の

文字をもつ文字列とする。 

定文字列の形式の引数を使用する場合,現用装置が出力可能ならば,その定文字列を現用装置に出力す

る。 

書式の形式の引数を使用する場合,出力動作(2.5.4参照)を実行する。READの$Xと$Yに対する影響

は,命令がWRITEで,引数の並び(時間制限を除く。)が同じであり,各WRITE引数の式の値がそのREAD

の実行の結果得られる,対応する局所変数名の最終値と同一である場合と,全く同じとする。 

参照一覧 

後置条件2.5.1,L1,定文字列2.2.5,書式2.5.4,式子2.2,V1 

局所変数名2.2.2.1,時間制限2.5.6,整数式2.2.4.1 

値の代入操作2.2.2.3,現用装置2.6.18 

2.6.17 SET 

S [ET] 後置条件 間隔 L SET引数 

SET引数 

 : : = 

左側$P 

変数名 

=式 

(L 変数名) 

@ 式子 V L SET引数 

左側$P : : = 

$P [IECE] (変数名,式1[,整数式1[,整数式2]]) 

SET命令は,変数に値を明示的に代入するため及び変数の一部を新しい値で置き換えるための一般的な

方法を提供する。SET引数は,式が定義する値を一つ算出する。その後,その値を一つ以上の変数にそれ

ぞれ代入するか又は左側$Pのように,変数の現時点での値の一つ以上の部分を置き換えるかする。変数名

それぞれが,対象とする変数を表す。 

SET引数は,一度に一つずつ左から右の順で実行する。SET引数は,次の順で実行する。 

(1) 次の(1.1)又は(1.2)の操作を実行する。 

(1.1) SET引数の=の左辺の部分が,一つ以上の変数名からなる場合,それらの変数名を左から右への順

で走査する。 

それぞれの変数名の添字をすべて,左から右への順で評価する。 

(1.2) SET引数の=の左辺の部分が,左側$Pからなる場合,その左側$Pの最初の引数である変数名を左

から右への順で走査し,その添字をすべて左から右への順で評価する。その後,左側$Pの残りの引

数を左から右への順で評価する。 

(2) 右辺の式を評価する。 

(3) 次の(3.1)又は(3.2)を実行する。 

(3.1) SETの左辺が一つ以上の変数名の場合,式の値を左から右への順にそれぞれの変数名に代入する。 

(3.2) SETの左辺が$P(変数名,d,m,n)という形式の左側$Pの場合,変数名のこの時点での値のm番

目からn番目の切片を,式の値に置き換える。ここで,dの値は,区切り記号とする。m及びnは

ともに省略可能とする。両者ともに存在しない場合は,m=n=1とする。mだけが存在する場合は,

n=mとする。変数名がこの時点で値をもたない場合は,空文字列を現在の値とする。変数名の現在

41 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

の値は,置き換えの直前に取得する。つまり,変数名の値を取得するに先だって,それ以外の左側

$Pの引数を左から右への順で評価し,右辺の式を評価する。 

sをこの時点での変数名の値とする。kをsに含まれるdの繰返し回数,すなわちk=max (0, $L (s, 

d) −1) とする。 

tを式の値とする。 

連結演算子̲を用いて,次の(a)〜(d)の場合に分けて規定する。 

(a) m>n又はn<1のとき 

変数名は変化せず,略式指標も変化しない。 

(b) n≧m−1>kのとき 

変数名の値は,s̲F (m−1−k) ̲tと置き換わる。ここでF (x) は,x>0のとき,dをx回繰返した

文字列とする。それ以外の場合は,F (x) =””とする。いずれの場合でも,変数名は略式指標に影

響を与える。 

(c) m−1≦k<nのとき 

変数名の値は,$P (s, d, 1, m−1) ̲F (mim (m−1, 1)) ̲tと置き換わる。 

(d) それ以外のとき 

変数名の値は, 

$P (s, d, 1, m−1) ̲F (min (m−1, 1)) ̲t̲d̲$P (s, d, n+1, k+1)  

と置き換わる。 

変数名が大域変数の場合,変数名が値を獲得した時点で,略式指標を設定する。変数名が略式参照の場

合には,変数名が値を獲得する直前に,その名前と最初の添字列を決めるために,略式指標の参照を行う。 

参照一覧 

後置条件式2.5.1,L1,変数名2.2.2.2,式2.3,式子2.2,V1 

整数式2.2.4.1,値の代入操作2.2.2.3,連結演算子2.3.5, 

略式指標2.2.2.2 

2.6.18 USE 

U [SE] 後置条件 間隔 L USE引数 

USE引数 

 : : = 

式 [:装置パラメタ並び] 

@ 式子 V L USE引数 

それぞれのUSE引数の最初の式の値は,装置(又はファイル若しくはデータ集合)を識別する。この式

又は装置パラメタ並び内の式の値の解釈は,処理系作成者に委ねる。 

装置を入力又は出力のデータ転送に使用する前に,USE命令を実行してその装置を現用装置として指定

しなければならない。USE引数の実行で装置を指定する前に,OPEN命令を実行して,その装置の占有権

を確保しておかなければならない。 

USE命令で指定した装置は,あらたにUSE命令を実行するときまで,現用装置とする。現用装置を指

定するために式を使用すると,副作用として,$IO組込み特殊変数がその式の値をとる。 

装置パラメタ並びの中で式を用いて装置のパラメタを指定するという行為は,通常その装置の占有権を

獲得する過程で行う。しかし,USE命令を実行することによって,既に獲得した装置のパラメタを変更す

ることもできる。 

それぞれの装置に対し,個別の$X及び$Yの値を保持する。組込み特殊変数$X及び$Yは,現用装置の

それらの値を表す。USE命令を実行した結果,現用装置が変わるとき,以前の$X及び$Yの値は保存され,

新しい現用装置に関する値を$X及び$Yの値とする。 

background image

42 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

参照一覧 後置条件2.5.1,L1,式2.3,装置パラメタ並び2.6.2,式子2.2,V1 

2.6.19 VIEW 

V [IEW] 後置条件 引数規定なし 

VIEWは,機械特有の情報を調べる機構を処理系作成者が利用できるようにする。VIEW命令を含むル

ーチンは,移植性が保証され得ないことを理解すべきである。 

参照一覧 後置条件2.5.1 

2.6.20 WRITE 

W [RITE] 後置条件 間隔 L WRITE引数 

WRITE引数  : : = 

書式 

式 

*整数式 

@ 式子 V L WRITE引数 

WRITE引数は,一度に一つずつ,左から右への順で実行する。各引数の形式は,現用装置への出力操作

を規定する。 

引数として書式の形式を使用する場合,2.5.4で記述した出力動作を実行する。出力する文字は,2.5.4

及び2.5.5のとおり,$X及び$Yの値に順次影響を与える。 

引数として式の形式を使用する場合,式の値を装置に出力する。装置におけるこの文字列の影響は,JIS 

X 0201及びJIS X 0208による。出力の文字は,2.5.5のとおり,$X及び$Yの値に順次影響を与える。 

引数として*整数式の形式を使用する場合,その整数式の値が10進数として表されたものとして,対応

する1文字を装置に出力する。出力される文字は,JIS X 0201及びJIS X 0208文字集合以外の文字でも差

し支えない。装置におけるこの文字は,装置によって異なる形で処理系作成者が規定してもよい。 

参照一覧 

後置条件2.5.1,L1,書式2.5.4,式2.3,整数式2.2.4.1,式子2.2 

V1 

2.6.21 XECUTE 

X [ECUTE] 後置条件 間隔 L XECUTE引数 

XECUTE引数 

 : : = 

式 後置条件 

@ 式子 V L XECUTE引数 

XECUTE命令は,式を評価する過程で生じるMUMPSコードを実行する手段を提供する。 

XECUTE引数は,一度に一つずつ,左から右への順で評価する。XECUTE引数内に後置条件が存在し,

かつその真偽値式が偽の場合,そのXECUTE引数は実行しない。それ以外の場合で,式の値がxのとき,

XECUTE引数の実行はDO yの実行と等しい結果をもたらす。ここで,yは,次に示す2行からなるサブ

ルーチンに付けた行ラベルとし,他で未使用のつづりのものとする。このサブルーチンは,現在実行中の

ルーチンの一部とみなす。 

行開始 

x 

行終端 

行開始 

QUIT 行終端 

参照一覧 

後置条件2.5.1,L1,式2.3,式子2.2,V1,行開始2.4.1 

行終端2.4.1 

2.6.22 Z 

Z[規定なし]引数規定なし 

処理系作成上で,この規格で規定されていない命令はすべて,Zの文字で始めなければならない。この

43 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

取り決め事項は,将来の拡張からこの規格を保護する。 

第2部 MUMPS移植要件 

序文 第2部では,処理系作成者と応用プログラマの利益を目的としてプログラムの移送性(ソースコー

ドが種々の処理系の間で移植性をもつこと)を保証するために,特別の注意を必要とする諸相について記

述する。ここでは,処理系作成者とプログラマの両者が移植性を重んじるときに順守しなければならない

制限の仕様を提供する。この目的を遂げるために,処理系作成者はこれらの制限を必要最低限の基準とし

て,制限に合致するか又は制限を超えなければならない。処理系作成者は,現在未規定である領域につい

て規定を与える場合には,それによって今後この規格が改定される際に,この処理系が上位互換性を失う

危険をもつことを考慮しなければならない。移植性のあるプログラムを開発しようと努力する応用プログ

ラマは,処理系作成者が提供する言語の“一方的な拡張”を用いることの危険性について考慮しなければ

ならない。 

第2部では,“明示的な制限”と“暗黙的な制限”に当たるものを規定する。明示的な制限とは,参照する

言語構成要素に直接当てはまるものをいう。暗黙的な制限とは,他の言語構成要素に加わる明示的な制限

によって,二次的に当該言語構成要素の上に加わる制限をいう。例えば,命令行の長さの明示的な制限は,

一つの命令行の中で表現されなければならない言語構成要素の長さに暗黙的な制限を与える。 

1. 式の要素 

1.1 

名前 名前の中に用いるアルファベットは,大文字のアルファベットに制限する。名前は,その長

さに明白な制限はないが,始まりの8文字だけによって識別する。この長さの制限は,存在できる一意な

名前の個数に暗黙的な制限を与える。 

1.2 

局所変数 

1.2.1 

局所変数の個数 存在しうる局所変数の名前の個数には,いかなる時点でも明白な制限はない。た

だし,記憶容量の制限によってもたらされる暗黙的な制限を受ける(5.参照)。 

1.2.2 

添字の個数 一つの局所変数の添字の個数は,その局所配列参照において,評価されたすべての添

字のバイト数の合計に,添字の個数の2倍と局所変数名のバイト数を加えたものが127を超えてはならな

いという制限をおく。 

1.2.3 

添字の値 局所変数の添字の値は,JIS X 0201及びJIS X 0208の図形文字部分集合の文字だけを含

む非空文字列とする。個々の添字のバイト数の制限は,63とする。添字の値が数値データの規定(本体2.2.3.1

参照)を満足するものは,更に,1.5に示す数値範囲の規定がある。これらの範囲に合致しない添字の値の

使用については,$ORDER関数の構文の中で参照する最後の添字としての空文字列の使用及び$NEXT関

数の構文の中で参照する最後の添字“−1”の使用を除いて,未定義とする。 

1.2.4 

ノードの個数 局所変数の配列が別々に定義するノードの個数に明示的な制限はないが,局所変数

の個数に対する制限(1.2.1参照)及び添字の個数に対する制限(1.2.2参照)によって,ノードの個数には,

暗黙的な制限がある。 

1.3 

大域変数 

1.3.1 

大域変数の個数 存在しうる独立した大域変数の名前の個数には,いかなる時点でも明示的な制限

はない。 

44 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

1.3.2 

添字の個数 一つの大域変数の添字の個数は,大域配列参照において,評価したすべての添字のバ

イト数の合計に,添字の個数の2倍と大域変数名のバイト数を加えたものが127を超えてはならない。大

域配列参照を指定するための略式参照を用いる際は,略式参照を正式参照に展開したうえでこの制限を適

用する。 

1.3.3 

添字の値 大域変数の添字の値には,局所変数の添字に課した制限と同じ制限をおく(1.2.3参照)。 

1.3.4 

ノードの個数 定義される個々の大域変数のノードの個数に制限はない。 

1.4 

データ型 この規格は,単一のデータ型,すなわち可変長文字列だけをおく。数値,整数値又は真

偽値に解釈したいときは,一意的な規則に従って文字列データを数値,整数値又は真偽値に写像する。 

処理系作成者が用いる内部表現には,何の制限もない。必要なあらゆる自動的なモード変換を行うこと

で外部動作が規格に一致する限り,どのような内部表現を採用してもよい。例えば,整数を2進数で蓄え,

文字列操作が要求されるつど10進数文字列に変換するのでもよい。 

1.5 

数値の範囲 算術演算に用いるすべての値及び数値解釈を必要とする文脈の中に用いるすべての値

は, [−1025, −10−25] 又は [10−25, 1025] の区間内にあるか若しくは0とする。 

数値解釈を必要とする算術演算に用いる数値の有効精度は,12けたとする。 

プログラマは非整数計算を行う際に注意する必要がある。一般に,非整数の被演算子に対する算術演算,

及び非整数結果をもたらす算術演算は,正確ではない。特に,非整数算術でループ制御又は算術検定を行

う場合には,予想しない結果を生ずることがある。 

1.6 

整数 整数解釈の結果の値の大きさは,数値としての精度によって,限度がある(1.5参照)。整数

値演算子又は整数値関数の生成する値も,この範囲とする(本体2.2.4.1参照)。 

1.7 

文字列 文字列のバイト数の制限は,255とする。JIS X 0201及びJIS X 0208の規定する文字は,

すべて文字列に許される文字とする。 

1.8 

組込み特殊変数 組込み特殊変数$X及び$Yは,非負の整数とする(1.6参照)。$X又は$Yが最大

許容整数値を超えて増分した場合の効果は,規定しない。 

参照一覧 $X及び$Yが増分するときの記述本体2.5.5 

2. 式 

2.1 

式の入れ子 式の中での入れ子の深さには,明示的な制限はない。文字列の長さの最大制限値が,

入れ子の深さを暗黙的に制限する(1.7参照)。 

2.2 

結果 中間結果であれ最終結果であれ,文字列の制限(1.7参照)を満足しない場合は誤りとする。

更に,整数結果が整数の制限(1.6参照)を満足しない場合も,誤りとする。 

3. ルーチン及び命令行 

3.1 

命令行 命令行(行)は,文字列の制限(1.7参照)を満足しなければならない。命令行の長さは,

行の行終端までの行終端を含まない文字の個数とする。 

一つの命令行の中の文字は,図形文字に限る。この文字集合の制限が,それに応じて間接指定区切り記

号の引数の値に対しても暗黙的に制限する(4.参照)。 

3.2 

命令行の個数 一つのルーチン内の命令行の個数に明示的な制限はないが,記憶容量の制限(5.参照)

が影響を与える。 

3.3 

命令の個数 命令行の長さの最大制限だけが,一つの行の中の命令の個数を制限する(3.1参照)。 

45 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

3.4 

行ラベル 名前の形式をもつ行ラベルには,名前にかかわる制限がある。定整数列の形式をもつ行

ラベルには,名前の長さにかかわる制限がある(1.1参照)。 

3.5 

行ラベルの個数 一つのルーチン内の行ラベルの個数に制限はない。ただし,次の制約がある。 

(1) 一つの命令行に付けられる行ラベルは,ただ一つとする。 

(2) 等価な(独特なものとして識別できない)行ラベルは,二つの命令行に付けてはならない。 

3.6 

ルーチンの個数 ルーチンの個数には,明白な制限はない。名前の長さの制限が,ルーチンの個数

を暗黙に制限する(1.1参照)。 

4. 間接指定 間接指定の引数及びXECUTE命令の引数の値には,文字列の長さに関する制限がある(1.7

参照)。間接指定の引数及びXECUTE命令の引数の値には,更に,命令行に許される文字集合に関する制

限がある(3.1参照)。 

5. 記憶容量の制限 一つのルーチンの大きさは,5 000バイトを超えてはならない。ルーチンの大きさと

は,ルーチン内のすべての行の大きさの和をいう。行の大きさとは,そのバイト数(3.1参照)に2を加え

たものとする。 

局所変数の記憶容量は,5 000バイトを超えてはならない。この容量は,現在のNEWの文脈の中につい

ても,上位のNEWの文脈の中についても,定義されたすべての局所変数の大きさの和とする。添字をも

たない局所変数の大きさとは,名前の文字のバイト数にその値の文字のバイト数を加え,それに4を加え

たものをいう。一つの局所配列の大きさは,次の(1)〜(4)の和とする。 

(1) 配列の名前のバイト数 

(2) 各配列の値のバイト数に4を加えたもの 

(3) 各配列の添字並びの各添字のバイト数 

(4) ノードNの$DATA (N) が10か,11である場合は,ノードごとに2を加える。 

すべての添字及び値は,文字列として考える。 

6. 入れ子 実行中のDO,外部関数,外部特殊変数,FOR,EXECUTE及び間接指定の生起回数は,入れ

子の深さとして数える。制御のための記憶容量としては,入れ子の深さ30を提供しなければならない。実

際には,これらすべてを使用するときの深さは,記憶容量の制限(5.参照)によって制約を受けるであろ

う。 

一つの式の中の入れ子は,この制限のうちには数えない。式の入れ子の個数には,明示的な制限はない

が,記憶容量の制限による暗黙の制限を受ける(5.参照)。 

7. その他の移植要件 プログラマは,HANG命令及び時間制限で非整数値を用いる場合の注意を必要と

する。一般的に,HANG命令を実行するとき,実際に経過する時間間隔を正確なものと予期することはで

きない。特に,非整数値を信頼して用いると,HANG命令及び時間制限の構文で予期しない結果をまねく

ことがある。 

8. $Z関数 $ZPOSITIONと$ZWIDTHの数式の値としては,1,1.25,1.5,2に制限する。 

background image

46 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

附属書A(参考) ASCII文字集合 

8進数 

10進数 

16進数 

文字 

パターン符号 

00 

NUL 

C, E 

01 

SOH 

C, E 

02 

STX 

C, E 

03 

ETX 

C, E 

04 

EOT 

C, E 

05 

ENQ 

C, E 

06 

ACK 

C, E 

07 

BELL 

C, E 

10 

08 

BS 

C, E 

11 

09 

HT 

C, E 

12 

10 

0A 

LF 

C, E 

13 

11 

0B 

VT 

C, E 

14 

12 

0C 

FF 

C, E 

15 

13 

0D 

CR 

C, E 

16 

14 

0E 

SO 

C, E 

17 

15 

0F 

SI 

C, E 

20 

16 

10 

DLE 

C, E 

21 

17 

11 

DC1 

C, E 

22 

18 

12 

DC2 

C, E 

23 

19 

13 

DC3 

C, E 

24 

20 

14 

DC4 

C, E 

25 

21 

15 

NAK 

C, E 

26 

22 

16 

SYN 

C, E 

27 

23 

17 

ETB 

C, E 

30 

24 

18 

CAN 

C, E 

31 

25 

19 

EM 

C, E 

32 

26 

1A 

SUB 

C, E 

33 

27 

1B 

ESC 

C, E 

34 

28 

1C 

FS 

C, E 

35 

29 

1D 

GS 

C, E 

36 

30 

1E 

RS 

C, E 

37 

31 

1F 

US 

C, E 

40 

32 

20 

SP 

P, E 

41 

33 

21 

! 

P, E 

42 

34 

22 

” 

P, E 

43 

35 

23 

P, E 

44 

36 

24 

P, E 

45 

37 

25 

% 

P, E 

46 

38 

26 

P, E 

47 

39 

27 

, 

P, E 

50 

40 

28 

P, E 

51 

41 

29 

P, E 

52 

42 

2A 

P, E 

53 

43 

2B 

+ 

P, E 

54 

44 

2C 

, 

P, E 

55 

45 

2D 

− 

P, E 

56 

46 

2E 

. 

P, E 

8進数 

10進数 

16進数 

文字 

パターン符号 

57 

47 

2F 

P, E 

60 

48 

30 

N, E 

61 

49 

31 

N, E 

62 

50 

32 

N, E 

63 

51 

33 

N, E 

64 

52 

34 

N, E 

65 

53 

35 

N, E 

66 

54 

36 

N, E 

67 

55 

37 

N, E 

70 

56 

38 

N, E 

71 

57 

39 

N, E 

72 

58 

3A 

: 

P, E 

73 

59 

3B 

; 

P, E 

74 

60 

3C 

< 

P, E 

75 

61 

3D 

= 

P, E 

76 

62 

3E 

> 

P, E 

77 

63 

3F 

? 

P, E 

100 

64 

40 

@ 

P, E 

101 

65 

41 

A, U, E 

102 

66 

42 

A, U, E 

103 

67 

43 

A, U, E 

104 

68 

44 

A, U, E 

105 

69 

45 

A, U, E 

106 

70 

46 

A, U, E 

107 

71 

47 

A, U, E 

110 

72 

48 

A, U, E 

111 

73 

49 

A, U, E 

112 

74 

4A 

A, U, E 

113 

75 

4B 

A, U, E 

114 

76 

4C 

A, U, E 

115 

77 

4D 

A, U, E 

116 

78 

4E 

A, U, E 

117 

79 

4F 

A, U, E 

120 

80 

50 

A, U, E 

121 

81 

51 

A, U, E 

122 

82 

52 

A, U, E 

123 

83 

53 

A, U, E 

124 

84 

54 

A, U, E 

125 

85 

55 

A, U, E 

126 

86 

56 

A, U, E 

127 

87 

57 

A, U, E 

130 

88 

58 

A, U, E 

131 

89 

59 

A, U, E 

132 

90 

5A 

A, U, E 

133 

91 

5B 

P, E 

134 

92 

5C 

P, E 

135 

93 

5D 

P, E 

background image

47 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

8進数 

10進数 

16進数 

文字 

パターン符号 

136 

94 

5E 

P, E 

8進数 

10進数 

16進数 

文字 

パターン符号 

137 

95 

5F 

̲ 

P, E 

140 

96 

60 

, 

P, E 

141 

97 

61 

A, L, E 

142 

98 

62 

A, L, E 

143 

99 

63 

A, L, E 

144 

100 

64 

A, L, E 

145 

101 

65 

A, L, E 

146 

102 

66 

A, L, E 

147 

103 

67 

A, L, E 

150 

104 

68 

A, L, E 

151 

105 

69 

A, L, E 

152 

106 

6A 

A, L, E 

153 

107 

6B 

A, L, E 

154 

108 

6C 

A, L, E 

155 

109 

6D 

A, L, E 

156 

110 

6E 

A, L, E 

157 

111 

6F 

A, L, E 

160 

112 

70 

A, L, E 

161 

113 

71 

A, L, E 

162 

114 

72 

A, L, E 

163 

115 

73 

A, L, E 

164 

116 

74 

A, L, E 

165 

117 

75 

A, L, E 

166 

118 

76 

A, L, E 

167 

119 

77 

A, L, E 

170 

120 

78 

A, L, E 

171 

121 

79 

A, L, E 

172 

122 

7A 

A, L, E 

173 

123 

7B 

P, E 

174 

124 

7C 

P, E 

175 

125 

7D 

P, E 

176 

126 

7E 

̅ 

P, E 

177 

127 

7F 

DEL 

C, E 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

background image

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

附属書B(参考) 生成規則一覧 

要素 

意味 

−−−−− 

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 

: : = 

規定 

[ ] 

省略可能 

| | 

くくり 

… 0回以上の反復 

2項演算子 

: : = 

̲ 

(注意:アンダースコア) 

+  

− (注意:ハイフン) 

¥ 

$FN符号式 

: : = 

式 V $FN符号 

$FN符号 

: : = 

$FN符号子 … 

$FN符号子 

: : = 

, (注意:コンマ) 

+  

− (注意:ハイフン) 

CLOSE引数 : : = 

式 [:装置パラメタ並び] 

@ 式子 V L CLOSE引数 

入り口参照 後置条件 

DO引数 

: : = 

行ラベル参照 実パラメタ並び 後置条件 

@ 式子 V L DO引数 

式 

FORパラメタ 

: : = 

数式1:数式2:数式3 

数式1:数式2 

GOTO引数 

= 

入り口参照 後置条件 

@ 式子 V L GOTO引数 

HANG引数 

: : 

= 

数式 

@ 式子V L HANG引数 

IF引数 

= 

真偽値式 

@ 式子 V L IF引数 

入り口参照[:JOBパラメタ並び] 

JOB引数 

: : = 

行ラベル参照 JOB実パラメタ並び[:JOBパラメタ並び] 

@ 式子 V L JOB引数 

background image

49 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

JOB実パラメタ並び 

: : = 

(L 式) 

JOBパラメタ並び 

: : = 

処理パラメタ並び[時間制限] 

時間制限 

変数名 

KILL引数 

: : = 

( L 局所変数名 ) 

@ 式子 V L KILL引

数 

並び 

+ 

名前参照 

LOCK引数 

: : = 

− 

(L 名前参照) [時間制限] 

@ 式子 V L LOCK引数 

局所変数名 

NEW引数 

: : = 

( L 局所変数名 ) 

@ 式子 V L NEW引数 

OPEN引数 

: : = 

式[:OPENパラメタ並び] 

@ 式子 V L OPEN引数 

OPENパラメタ並び 

: : = 

装置パラメタ並び[時間制限] 

時間制限 

定文字列 

書式 

READ引数 

: : = 局所変数名[READ計数][時間制限] 

*局所変数名[時間制限] 

@式子 V L READ引数 

READ計数 

: : = #整数式 

SET引数 

: : = 

左側$P 

変数名 

=式 

(L 変数名)  

@ 式子 V L SET引数 

USE引数 

: : = 

式[:装置パラメタ並び] 

@ 式子 V L USE引数 

値 

WRITE引数 

: : = 

書式 

式 

*整数式 

@ 式子 V L WRITE引数 

XECUTE引数 

: : = 

式 後置条件 

@ 式子 V L XECUTE引数 

後置条件 

: : = [:真偽値式] 

アルファベット 

: : = JIS X 0201の大文字A〜Z及び小文字a〜z 

background image

50 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

入り口参照 

: : = 実在ラベル[+整数式][^ルーチン参照] 

^ルーチン参照 

改行 

 (LF)  

外部特殊変数 

: : = $$行ラベル参照 

外部関数 

: : = $$行ラベル参照 実パラメタ並び 

仮数部 

: : = 

定整数列[.定整数列] 

.定整数列 

仮パラメタ行 

: : = 行ラベル 仮パラメタ並び 行開始 行体 

仮パラメタ並び 

: : = 

([L 名前]) 

間隔 

 (SP)  

= 

[ 

関係演算子 

: : = 

< 

] 

> 

間接指定大域変数名 

: : = 

実式子 V 大域変数名 

間接指定局所変数名 

: : = 

実式子 V 局所変数名 

行 

: : = 仮パラメタ行 

レベル行 

行開始 

: : = 間隔… 

行終端 

: : = 復帰 改行 

行体 

: : =  

命令の並び[命令分離子 注釈] 

 行終端 

注釈 

  

行ラベル 

: : = 

名前 

定整数列 

組込み関数 

: : = 

$ASCII関数の構文 

$CHAR関数の構文 

・ 

・ 

・ 

$ZWIDTH関数の構文 

組込み特殊変数名 

: : = 

$HOROLOG組込み特殊変数の構文 

$IO組込み特殊変数の構文 

・ 

・ 

・ 

$Y組込み特殊変数の構文 

background image

51 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

大域変数名 

: : = 

実大域変数名 

@ 式子 V 大域変数名 

項 

: : = 

組込み特殊変数名 

組込み関数 

外部関数 

外部特殊変数 

定数字列 

定文字列 

(式) 

単項演算子 式子 

時間制限 

: : = :数式 

式 

: : = 式子[式尾]… 

局所変数名 

式子 

: : = 大域変数名 

項 

式尾 

: : =  

2項演算子 

式子 

[ʼ] 真偽演算子 

[ʼ] ?パターン 

 +  

指数部 

: : = 

 E 

  

 定整数列 

 −  

  

  

真偽演算子 

: : = 関係演算子 

論理演算子 

真偽値式 

: : = 式 

^( L 式 ) 

実大域変数名 

: : = 

^名前[( L 式 )] 

@ 間接指定大域変数名 @ (L 式) 

実在ラベル 

: : = 

行ラベル 

@ 式子 V 実在ラベル 

実局所変数名 

実式子 

: : = 

実大域変数名 

項 

実パラメタ並び 

: : = 

([L 実パラメタ]) 

実パラメタ 

: : = 

・実パラメタ名前 

式 

実パラメタ名前 

: : = 

名前 

@ 式子 V 実パラメタ名前 

background image

52 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

実局所変数名 

: : = 

名前[(L 式)] 

@ 間接指定局所変数名 @ (L 式) 

! 

…[?整数式] 

書式 

: : = 

? 整数式 

書式送り 

 (FF)  

処理パラメタ並び 

: : = 

式 

([[式]:]…式) 

数字 

: : = 

JIS X 0201の0〜9の数字 

数式 

: : = 

式 

整数式 

: : = 

式 

図形文字 

: : = 

JIS X 0201及びJIS X 0208による図形文字(間隔を含む。) 

装置パラメタ並び 

: : = 

式 

([[式]:]…式) 

添字文字列 

: : = 

” 

” ” 

…” 

添字用非引用符文字 

添字用非引用符文字 

: : = 

添字における引用符記号を除いたすべての有効な文字 

ʼ (注:アポストロフィ) 

単項演算子 

: : = 

+  

− (注:ハイフン) 

注釈 

: : = 

;[図形文字]… 

定数字列 

: : = 

仮数部[指数部] 

定整数列 

: : = 

数字 … 

定文字列 

: : = 

” 

” ” 

…” 

非引用符 

名前 

: : = 

% 

数字 

… 

アルファベット 

アルファベット 

名前参照 

: : = 

[^] 名前[(L 式)] 

@ 式子 V 名前参照 

名前値 

: : = 

式 

パターン 

: : = 

パターン子 … 

@ 式子 V パターン 

パターン符号 : : =  

… 

カ 
全 

background image

53 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

パターン子 

: : = 

反復回数 

パターン符号 

定文字列 

反復回数 

定整数列 

[定整数列1].[定整数列2] 

非引用符 

: : = 

JIS X 0201の (”) 引用符を除く図形文字 

引数 

: : = 

一つ一つの引数の構文 

@ 式子 V L 引数 

左側$P 

: : = 

$P [IECE] (変数名,式1[,整数式1[,整数式2]]) 

レベル指標 

: : = 

.[間隔] … 

復帰 

 (CR)  

変数名 

: : = 

大域変数名 

局所変数名 

命令 

: : = 

BREAK命令の構文 

CLOSE命令の構文 

・ 

・ 

・ 

XECUTE命令の構文 

命令の並び 

: : = 

命令[命令分離子 命令]… 

命令分離子 

: : = 

間隔 … 

行ラベル参照 

: : = 

行ラベル[^ルーチン名] 

^ルーチン名 

ルーチン 

: : = 

ルーチン頭 ルーチン体 

ルーチン参照 

: : = 

ルーチン名 

@ 式子 V ルーチン参照 

ルーチン終端 

: : = 

復帰 書式送り 

ルーチン頭 

: : = 

ルーチン名 行終端 

ルーチン名 

: : = 

名前 

ルーチン体 

: : = 

行 … ルーチン終端 

レベル行 

: : = 

[行ラベル]行開始[レベル指標]… 行体 

局所変数名 

: : = 

名前 

@ 式子 V 名前 

局所変数名 

: : = 

実局所変数名 

@ 式子 V 局所変数名 

論理演算子 

: : = 

! 

54 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

言語標準化調査研究委員会 構成表(敬称略・順不同) 

氏名 

所属 

(委員長) 

中 田 育 男 

筑波大学 

(幹事) 

土 居 範 久 

慶應義塾大学 

田 中   清 

日本電信電話株式会社 

黒 川 利 明 

日本アイ・ビー・エム株式会社 

(委員) 

西 村 恕 彦 

東京農工大学 

原 田 賢 一 

慶應義塾大学 

筧   捷 彦 

早稲田大学 

湯 浅 太 一 

豊橋技術科学大学 

武 市 正 人 

東京大学 

田 中   茂 

富士通株式会社 

神 野 俊 昭 

株式会社日立製作所 

佐 伯 正 夫 

三菱電機株式会社 

落 合 正 雄 

株式会社東芝 

桜 井 弘 之 

日本電気株式会社 

原 田   稔 

沖電気工業株式会社 

栗 林 雅 人 

日本ユニシス株式会社 

一 本 有 三 

東芝情報システム株式会社 

村 田 賢 一 

情報処理振興事業協会 

大 櫛 陽 一 

東海大学 

中 島 一 郎 

通商産業省 

瀬戸屋 英 雄 

工業技術院 

(事務局) 

楡 木 武 久 

社団法人日本電子工業振興協会 

内 山 誠 作 

社団法人日本電子工業振興協会 

MUMPS言語原案作成専門委員会 構成表(敬称略・順不同) 

氏名 

所属 

(委員長) 

大 櫛 陽 一 

東海大学 

(幹事) 

本 多 正 幸 

千葉大学 

藤 江   昭 

住友電工システムズ株式会社 

(委員) 

嶋   芳 成 

日本ダイナシステム株式会社 

山 下 芳 範 

福井医科大学 

若 井 一 朗 

マンプスシステム研究所 

山 本 和 子 

島根医科大学 

河 村 徹 郎 

鈴鹿医療科学技術大学 

木 村 一 元 

獨協医科大学 

根 岸 重 夫 

日本アイ・ビー・エム株式会社 

高 橋   隆 

京都大学 

里 村 洋 一 

千葉大学 

松 本 重 雄 

日本エム・エス・エム株式会社 

永 井   肇 

日本電気株式会社 

岩 田   稔 

富士通株式会社 

小 林 泰 道 

日本ディジタルイクイップメント株式会社 

丸 尾 誠 史 

工業技術院 

加 山 英 男 

財団法人日本規格協会 

(事務局) 

内 山 誠 作 

社団法人日本電子工業振興協会 

55 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

英和対訳 

【A】 

$A 

→$ASCII 

access 

操作する 

actual 

実パラメタ 

actuallist 

実パラメタ並び 

actualname 

実パラメタ名前 

alpha 

アルファベット 

alphabet 

アルファベット 

and operator (&)  

論理積演算子 (&)  

apostrophe 

アポストロフィ 

argument 

引数(ひきすう) 

indirection 

引数の間接指定 

list 

引数並び 

argument, QUIT 

引数付きQUIT 

argument less 

引数なしの 

arguments 

引数の並び 

arithmetic operator 

算術演算子 

arithmetic binary operator 

算術2項演算子 

array 

配列 

array traversal 

配列の横断 

$ASCII 

$ASCII関数 

ascendant 

上位の 

ascendant, immediate 

直接上位の 

assignment 

代入 

association 

対応 

atom 

最小の単位 

attribute block 

属性ブロック 

auxiliary storage device 

補助記憶装置 

【B】 

→BREAK 

basic alphabet 

基本文字 

binary 

2項の 

binary operator 

2項演算子 

binaryop 

2項演算子 

block 

ブロック 

bound 

束縛された 

BREAK 

BREAK命令 

【C】 

$C 

→$CHAR 

→CLOSE 

call 

呼出し 

call-by-reference 

参照呼出し 

call-by-value 

値呼出し 

callee 

働き手 

caller 

呼び手 

case sensitivity 

大文字小文字の区別 

character 

文字 

pointer 

文字指標 

carriage 

キャリッジ 

$CHAR 

$CHAR関数 

choice 

選択対象 

clock 

クロック 

register 

タイマ 

CLOSE 

CLOSE命令 

closeargument 

CLOSE引数 

CO 

→($NEXT,$ORDER

の定義に使われて

いる関数) 

code 

コード 

collating order 

照合順序 

command 

命令 

word 

命令語 

command argument indirection 命令引数の間接指定 

command structure 

命令構造 

commands 

命令の並び 

comment 

注釈 

component 

成分 

computer language 

プログラム言語 

concatenation operator (̲)  

連結演算子 (̲)  

conceptual model 

概念模型 

conditional command 

条件付き命令 

connotation 

用法 

contains operator ([)  

包含演算子 ([)  

content 

内容 

56 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

control flow 

制御流れ 

CQ 

→($QUERYの定義に

使われている関数) 

CR 

復帰 

create 

生成する 

cs 

命令分離子 

current 

その時点での 

current device 

現用装置 

designator 

現用装置指定子 

horizontal cursor 

現用装置水平カーソ

ル 

ownership rule 

現用装置占有規則 

vertical cursor 

現用装置垂直カーソ

ル 

【D】 

$D 

→$DATA 

→DO 

$DATA 

$DATA関数 

database 

データベース 

data-cell 

データセル 

data type 

データ型 

data value 

データ値 

date 

日付 

decimal digit 

10進数字 

declaration of variable 

変数の宣言 

declaration statement 

宣言文 

defined 

確定 

defining occurrence of label 

実在のラベル 

definition 

定義 

degree 

位数 

delete 

消去 

delimiter 

区切り記号 

denote 

表す 

descendant 

下位成分,下位の 

exclusivity rule 

下位排他規則 

descendant, immediate 

直接下位の 

device, current 

現用装置,→current 

device 

device 

装置 

exclusivity rule 

装置排他規則 

designator 

装置指定子 

handling 

装置の操作 

parameter 

装置パラメタ 

specifier 

装置指定式 

deviceparameters 

装置パラメタ並び 

difference operator (−)  

減算演算子 (−)  

digit 

数字 

directory node 

ディレクトリノード 

division operator (/)  

除算演算子 (/)  

division operator, integer (¥)  整数除算演算子 (¥)  

dlabel 

実在ラベル 

DO 

DO命令 

frame 

DO枠 

doargument 

DO引数 

dynamic syntax 

動的構文 

【E】 

$E 

→$EXTRACT 

ELSE 

ELSE命令 

element 

要素 

empty 

空の 

empty string 

空文字列 

empty value 

空値 

endless loop 

無限ループ 

entry 

項目,見出し 

entry reference 

入り口参照 

entryref 

入り口参照 

eol 

行終端 

eor 

ルーチン終端 

equality 

等値性 

equals operator (=)  

等価演算子 (=)  

erroneous 

誤り 

error 

誤り 

evaluation 

評価 

command argument 

命令引数の評価 

expression 

式の評価 

indirection 

間接指定の評価 

naked indicator 

略式指標の評価 

parameter 

パラメタの評価 

exclusive 

排他的 

execution 

実行 

background image

57 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

execution level 

実行レベル 

execution location 

実行位置 

exfunc 

外部関数 

exfunc frame 

外部関数枠 

exp 

指数部 

exponent 

指数 

exponential expression atom 

指数式子 

exponential value 

指数値 

expr 

式 

expratom 

式子 

expression 

式 

tail 

式尾 

expritem 

項 

exprtail 

式尾 

$EXTRACT 

$EXTRACT関数 

extrinsic 

外部の 

function 

外部関数 

special variable 

外部特殊変数 

exvar 

外部特殊変数 

exvar frame 

外部特殊変数枠 

【F】 

$F 

→$FIND 

→FOR 

FF 

書式送り 

file 

ファイル 

file traversal 

ファイルの横断 

$FIND 

$FIND関数 

floor 

FLOOR関数 

$FN 

→$FNUMBER 

$FNUMBER 

$FNUMBER関数 

fncodatom 

$FN符号子 

fncode 

$FN符号 

fncodexpr 

$FN符号式 

follows operator (])  

追従演算子 (])  

FOR 

FOR命令 

parameter 

FORパラメタ 

scope switch 

FOR有効範囲スイッ

チ 

form 

形式 

formal 

形式的な 

formalline 

仮パラメタ行 

formallist 

仮パラメタ並び 

format 

書式 

forparameter 

FORパラメタ 

fraction 

小数 

part 

小数部 

value 

小数値 

frame 

枠 

full (string)  

正式(文字列) 

full reference 

正式参照 

func 

組込み関数呼出し 

function 

組込み関数 

【G】 

→GOTO 

$G 

→$GET 

$GET 

$GET関数 

global variable 

大域変数 

glvn 

変数名 

gnamind 

間接指定大域変数名 

GOTO 

GOTO命令 

gotoargument 

GOTO引数 

graphic 

図形文字 

greater than operator (>)  

大号演算子 (>)  

grouping 

くくり 

gvn 

大域変数名 

【H】 

$H 

→$HOROLOG 

→HALT, HANG 

HALT 

HALT命令 

handling 

扱い 

HANG 

HANG命令 

hangargument 

HANG引数 

$HOROLOG 

$HOROLOG組込み特

殊変数 

【I】 

$I 

→$IO 

→IF 

IF 

IF命令 

ifargument 

IF引数 

implementation 

処理系 

background image

58 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

implementor 

処理系作成者 

informal 

非形式的な 

indirection 

間接指定 

command argument 

命令引数の間接指定 

name 

名前の間接指定 

pattern  

パターンの間接指定 

subscript 

添字の間接指定 

integer division operator (¥)  

整数除算演算子 (¥)  

interpretation 

解釈 

interpreter 

インタプリタ 

integer 

整数 

expression 

整数式 

expression atom 

整数式子 

interpretation 

整数解釈 

literal 

定整数列 

numeric 

整数値 

part 

整数部 

truth value 

真偽値解釈 

value 

整数値 

interchange 

情報交換 

intexpr 

整数式 

intlit 

定整数列 

intrinsic function 

組込み関数 

intrinsic special variable 

組込み特殊変数 

$IO 

$IO組込み特殊変数 

【J】 

$J 

→$JOB, $JUSTIFY 

→JOB 

JOB 

JOB命令 

job number 

ジョブ番号 

$JOB 

$JOB組込み特殊変数 

jobactuallist 

JOB実パラメタ並び 

jobargument 

JOB引数 

jobparameters 

JOBパラメタ並び 

$JUSTIFY 

$JUSTIFY関数 

juxtaposition 

併置 

【K】 

→KILL 

KILL 

KILL命令 

implicit 

暗黙のKILL 

killargument 

KILL引数 

【L】 

$L 

→$LENGTH 

→LOCK 

→(超言語で並びを意

味する記号) 

label 

行ラベル 

label offset 

行ラベル相対位置 

labelref 

行ラベル参照 

last-in-first-out 

後入れ先出し 

left-side 

左辺の 

$LENGTH 

$LENGTH関数 

less than operator (<)  

小号演算子 (<)  

level 

深さ 

execution 

実行レベル 

indicator 

レベル指標 

line 

レベル行 

precedence 

優先順位 

levelline 

レベル行 

LF 

改行 

li 

レベル指標 

life time 

生存期間 

line 

行 

line reference 

行参照 

linebody 

行体 

list 

並び 

literal 

定数 

lname 

局所変数名 

lnamind 

間接指定局所変数名 

local variable 

局所変数 

location 

位置 

LOCK 

LOCK命令 

list 

LOCK並び 

lockargument 

LOCK引数 

locktable 

LOCK表 

logicalop 

論理演算子 

logical operator 

論理演算子 

lower case (letter)  

小文字 

ls 

行開始 

lvn 

局所変数名 

59 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

【M】 

mant 

仮数 

mantissa 

仮数 

many-to-one 

多対1の 

metalanguage 

超言語 

minus operator (−)  

減算演算子 (−)  

modulo operator (#)  

剰余演算子 (#)  

multidimensional 

多次元 

MUMPS environment 

MUMPS環境 

【N】 

$N 

→$NEXT 

→NEW 

n-tuple 

n組 

naked indicator 

略式指標 

naked reference 

略式参照 

name 

名前 

name indirection 

名前の間接指定 

name-table 

名前表 

named partition storage 

名前付きパーティシ

ョン記憶域 

named system storage 

名前付きシステム記

憶域 

namevalue 

名前値 

negative 

負の 

nest 

入れ子 

nesting level 

入れ子の深さ 

NEW 

NEW命令 

frame 

NEW枠 

implicit 

暗黙のNEW 

newargument 

NEW引数 

$NEXT 

$NEXT関数 

node 

ノード 

designator 

ノード指定子 

nonzero digit 

非ゼロの数字 

nonnegative 

非負の 

integer 

非負の整数 

nonquote 

非引用符 

normal execution sequence 

通常の実行順序 

not operator (ʼ)  

否定演算子 (ʼ)  

nref 

名前参照 

number 

数 

numeric 

数値 

data value 

数値データ値 

expression 

数式 

expression evaluation 

数式評価 

interpretation 

数値解釈 

literal 

定数字列 

relation 

数値関係 

value 

数量値 

numexpr 

数式 

numlit 

定数字列 

【O】 

$O 

→$ORDER 

→OPEN 

occurrence 

生起 

offset, label 

行ラベル相対位置 

one-to-one 

1対1の 

OPEN 

OPEN命令 

openargument 

OPEN引数 

openparameters 

OPENパラメタ並び 

operating system 

オペレーティングシ

ステム 

operation 

操作,演算 

operator 

演算子 

arithmetic 

算術演算子 

concatenation 

連結演算子 

logical 

論理演算子 

metalanguage 

超言語演算子 

pattern 

パターン演算子 

precedence of 

演算子の優先順位 

relational 

論理演算子 

truth-value 

真偽値演算子 

unary 

単項演算子 

option 

省略可能な 

or operator (!)  

論理和演算子 (!)  

$ORDER 

$ORDER関数 

order of evaluation 

評価の順序 

ownership of device 

装置の占有権 

【P】 

$P 

→$PIECE 

background image

60 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

parameter frame 

パラメタ枠 

parameter passing 

パラメタ渡し 

partition 

パーティション 

marker 

パーティションマー

カ 

space 

パーティション域 

stack 

パーティションスタ

ック 

storage 

パーティション記憶

域 

patatom 

パターン子 

patcode 

パターン符号 

pattern 

パターン 

atom 

パターン子 

code 

パターン符号 

indirection 

パターンの間接指定 

match 

パターン照合 

match operator (?)  

パターン照合演算子 

(?)  

$PIECE 

$PIECE関数 

plus operator (+)  

加算演算子 (+)  

point 

指す 

pointer 

指標 

portability requirement 

移植要件 

positive 

正の 

post conditionals 

後置条件並び 

postcond 

後置条件 

precedence of operator 

演算子の優先順位 

prefix 

前置きする 

primitive 

終端記号 

printable character 

図形文字 

process 

処理 

process-stack 

処理スタック 

processparameters 

処理パタメタ並び 

product operator (*)  

乗算演算子 (*)  

【Q】 

$Q 

→$QUERY 

→QUIT 

$QUERY 

$QUERY関数 

QUIT 

QUIT命令 

implicit 

暗黙のQUIT命令 

quotient operator (/)  

除算演算子 (/)  

integer (¥)  

整数除算演算子 (¥)  

【R】 

$R 

→$RANDOM 

→READ 

$RANDOM 

$RANDOM関数 

READ 

READ命令 

readargument 

READ引数 

readcount 

READ計数 

reference 

参照 

relation 

関係演算子 

relational operator 

関係演算子 

relation 

関係 

numeric 

数値関係 

string 

文字列関係 

repcount 

反復回数 

repetition 

繰返し 

representation 

表現 

result 

結果 

resume 

再開する 

rexpratom 

実式子 

rgvn 

実大域変数名 

right-side 

右辺の 

rlvn 

実局所変数名 

routine 

ルーチン 

execution 

ルーチンの実行 

reference 

ルーチン参照 

routinebody 

ルーチン体 

routinehead 

ルーチン頭 

routinename 

ルーチン名 

routineref 

ルーチン参照 

【S】 

$S 

$SELECT, 

$STORAGE 

→SET 

scope 

有効範囲 

marker 

有効範囲マーカ 

scoping 

有効範囲 

FOR 

FOR有効範囲 

background image

61 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

variable 

変数有効範囲 

secondary peripheral device 

2次周辺装置 

see 

参照 

$SELECT 

$SELECT関数 

selective 

選択的 

semantics 

意味 

SET 

SET命令 

separator 

分離子 

sequence 

列 

setargument 

SET引数 

setpiece 

左側$P 

shared 

共用の 

sbared database 

共用データベース 

sign 

符号 

single atomic operation 

単元操作 

SP 

間隔 

space 

間隔 

in command 

命令間の間隔 

special variable 

特殊変数 

square bracket 

角括弧 

stack 

スタック 

start-step parameter 

初値増分パラメタ 

state 

状態 

static syntax 

静的構文 

step 

段階 

$STORAGE 

$STORAGE組込み特

殊変数 

storage reference 

記憶域参照 

string 

文字列 

function 

文字列関数 

literal 

定文字列 

operator 

文字列演算子 

relation 

文字列関係 

strlit 

定文字列 

sublit 

添字文字列 

subnonquote 

添字用非引用符文字 

subscript 

添字(そえじ) 

subscript indirection 

添字の間接指定 

substring 

部分文字列 

subroutine 

サブルーチン 

subtraction operator (−)  

減算演算子 (−)  

sum operator (+)  

加算演算子 (+)  

svn 

組込み特殊変数名 

symbol 

記号 

symbol table 

記号表 

syntactic object 

構文単位 

syntactic type 

構文規則上の用語型 

syntax 

構文 

system-wide 

システム全体の 

【T】 

$T 

→$TEST, $TEXT 

term 

用語 

termination procedure 

終結手順 

$TEST 

$TEST組込み特殊変

数 

$TEXT 

$TEXT関数 

the language 

MUMPS 

the MUMPS standard 

この規格 

time 

時刻 

timeout 

時間制限 

$TR 

→$TRANSLATE 

$TRANSLATE 

$TRANSLATE関数 

transferability 

移送性 

truth operator 

真偽演算子 

truth value 

真偽値 

expression 

真偽値式 

expression atom 

真偽値式子 

interpretation 

真偽値解釈 

truthop 

真偽演算子 

tuple 

値組 

types 

種類 

type conversion 

型変換 

type declaration 

型宣言 

tvexpr 

真偽値式 

【U】 

→USE 

unary 

単項の 

unary operator 

単項演算子 

unaryop 

単項演算子 

undefined 

不定 

62 

X 3011-1995  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

unlock 

LOCK解放 

upper case (letter)  

大文字 

USE 

USE命令 

useargument 

USE引数 

【V】 

$V 

→$VIEW 

→VIEW 

→(超言語で値を意味

する記号) 

value 

値 

value attribute 

値属性 

value-table 

値表 

variable, 

変数 

context 

変数環境 

extrinsic special 

外部特殊変数 

global 

大域変数 

intrinsic special 

組込み特殊変数 

local 

局所変数 

name 

変数名 

VIEW 

VIEW命令 

$VIEW 

$VIEW関数 

【W】 

→WRITE 

WRITE 

WRITE命令 

writeargument 

WRITE引数 

【X】 

→XECUTE 

$X 

$X組込み特殊変数 

xargument 

XECUTE引数 

XECUTE 

XECUTE命令 

【Y】 

$Y 

$Y組込み特殊変数 

【Z】 

$Z 

$Z組込み特殊変数