JIS X 3001-1:2009 プログラム言語Fortran―第1部:基底言語 | ページ 94

  452
附属書 D
X 3001-1 : 2009 (ISO/IEC 1539-1 : 2004)
R752 FORALL 構文 is 構造 FORALL 文
[ FORALL 本体構文 ] ...
END FORALL 文
R753 構造 FORALL 文 is [ FORALL 構文名 : ] FORALL FORALL 制御
R754 FORALL 制御 is ( FORALL 三つ組指定並び [, スカラ選別式 ] )
R755 FORALL 三つ組指定 is : 刻み幅 ]
指標変数名 = 添字 : 添字 [
R756 FORALL 本体構文 is FORALL 代入文
or 単純 WHERE 文
or WHERE 構文
or FORALL 構文
or 単純 FORALL 文
R757 FORALL 代入文 is 代入文
or ポインタ代入文
R758 END FORALL 文 is END FORALL [ FORALL 構文名 ]
C732 (R758) 構造 FORALL 文に FORALL 構文名を指定する場合は,対応する END FORALL 文にも,同じ
FORALL 構文名を指定しなければならない。構造 FORALL 文に FORALL 構文名を指定しない場合は,
対応する END FORALL 文に FORALL 構文名を指定してはならない。
C733 (R754) スカラ選別式は,論理型のスカラでなければならない。
C734 (R754) スカラ選別式の中で引用する手続(利用者定義演算によって引用する手続を含む。)は,純粋手
続(12.6)でなければならない。
C735 (R755) 指標変数名は,整数型の名前付きスカラ変数でなければならない。
C736 (R755) ORALL 三つ組指定中の添字 及び 刻み幅は,それが現れる FORALL 三つ組指定並び中のどの
指標変数名も引用してはならない。
C737 (R756) ORALL 本体構文中の文は,FORALL 構文の指標変数名を確定してはならない。
C738 (R756) ORALL 本体構文中で引用する手続(利用者定義演算,代入 又は 後始末によって引用する手
続を含む。)は,純粋手続でなければならない。
C739 (R756) ORALL 本体構文への飛越しは,禁止する。
R759 単純 FORALL 文 is FORALL FORALL 制御 FORALL 代入文
箇条 8
R801 ブロック is [ 実行部構文 ] ...
R802 IF 構文 is IF THEN 文
ブロック
[ ELSE IF 文
ブロック ] ...
[ ELSE 文

――――― [JIS X 3001-1 pdf 466] ―――――

                                                                                                  453
附属書 D
X 3001-1 : 2009 (ISO/IEC 1539-1 : 2004)
ブロック ]
END IF 文
R803 IF THEN 文 is [ IF 構文名 : ] IF ( スカラ論理式 ) HEN
R804 ELSE IF 文 is ELSE IF ( スカラ論理式 ) HEN [ IF 構文名 ]
R805 ELSE 文 is ELSE [ IF 構文名 ]
R806 END IF 文 is END IF [ IF 構文名 ]
C801 (R802) F 構文の IF THEN 文に IF 構文名を指定する場合は,対応する END IF 文にも同じ IF 構文名
を指定しなければならない。IF 構文の IF THEN 文に IF 構文名を指定しない場合は,対応する END IF
文に IF 構文名を指定してはならない。ELSE IF 文 又は ELSE 文に IF 構文名を指定する場合は,対応
する IF THEN 文にも同じ IF 構文名を指定しなければならない。
R807 IF 文 is IF ( スカラ論理式 ) 単純実行文
C802 (R807) F 文中の単純実行文は,IF 文,END PROGRAM 文,END FUNCTION 文 又は END SUB-
ROUTINE 文であってはならない。
R808 CASE 構文 is SELECT CASE 文
[ CASE 文
ブロック ] ...
END SELECT 文
R809 SELECT CASE 文 is [ CASE 構文名 : ] SELECTCASE ( 場合式 )
R810 CASE 文 is CASE 場合選択子 [ CASE 構文名 ]
R811 END SELECT 文 is END SELECT [ CASE 構文名 ]
C803 (R808) ASE 構文の SELECT CASE 文に CASE 構文名を指定する場合は,対応する END SELECT
文にも同じ CASE 構文名を指定しなければならない。CASE 構文の SELECT CASE 文に CASE 構文名
を指定しない場合は,対応する END SELECT 文に CASE 構文名を指定してはならない。CASE 文に
CASE 構文名を指定する場合は,対応する SELECT CASE 文にも同じ CASE 構文名を指定しなければ
ならない。
R812 場合式 is スカラ整数式
or スカラ文字式
or スカラ論理式
R813 場合選択子 is ( 場合値範囲並び )
or DEFAULT
C804 (R808) ASE 文中の高々一つの場合選択子が DEFAULT であってよい。
R814 場合値範囲 is 場合値
or 場合値 :
or : 場合値
or 場合値 : 場合値
R815 場合値 is スカラ整数初期値式
or スカラ文字初期値式

――――― [JIS X 3001-1 pdf 467] ―――――

  454
附属書 D
X 3001-1 : 2009 (ISO/IEC 1539-1 : 2004)
or スカラ論理初期値式
C805 (R808) 一つの CASE 構文中の場合値は,すべて場合式と同じ型でなければならない。文字型について,
長さは異なってもよいが,種別型パラメタは同じでなければならない。
C806 (R808) 場合式が論理型であるときは,コロンを使った場合値範囲は使用してはならない。
C807 (R808) 一つの CASE 構文において,場合値範囲に重なりがあってはならない。すなわち,二つ以上の
場合値範囲と一致する場合式の値が存在してはならない。
R816 ASSOCIATE 構文 is ASSOCIATE 文
ブロック
END ASSOCIATE 文
R817 ASSOCIATE 文 is [ ASSOCIATE 構文名 : ] ASSOCIATE ( 結合並び )
R818 結合 is 結合名 => 選択子
R819 選択子 is 式
or 変数
C808 (R818) 選択子が変数でないか,又は ベクトル添字をもつ変数である場合,結合名は変数確定の文脈
(16.5.7) 中に現れてはならない。
C809 (R818) 結合名は,それが属する ASSOCIATE 文中の他の結合名と同じであってはならない。
R820 END ASSOCIATE 文 is END ASSOCIATE [ ASSOCIATE 構文名 ]
C810 (R820) SSOCIATE 構文の ASSOCIATE 文に ASSOCIATE 構文名を指定する場合は,対応する END
ASSOCIATE 文にも同じ ASSOCIATE 構文名を指定しなければならない。ASSOCIATE 構文の ASSO-
CIATE 文に ASSOCIATE 構文名を指定しない場合は,対応する END ASSOCIATE 文に ASSOCIATE
構文名を指定してはならない。
R821 SELECT TYPE 構文 is SELECT TYPE 文
[ 型保持文
ブロック ] ...
END SELECT TYPE 文
R822 SELECT TYPE 文 is [ SELECT 構文名 : ] SELECT TYPE ( [ 結合名 => ] 選択子 )
C811 (R822) 選択子が名前付き変数でない場合,構文要素 “結合名 =>” が現れなければならない。
C812 (R822) 選択子が変数でないか,又は ベクトル添字をもつ変数である場合,結合名は変数確定の文脈
(16.5.7) に現れてはならない。
C813 (R822) ELECT TYPE 文中の選択子は多相的でなければならない。
R823 型保持文 is TYPE IS ( 型指定子 ) SELECT 構文名 ]
or CLASS IS ( 派生型指定子 ) SELECT 構文名 ]
or CLASS DEFAULT [ SELECT 構文名 ]
C814 (R823) 型指定子 及び 派生型指定子は,各長さ型パラメタが引き継がれることを指定する。
C815 (R823) 型指定子 及び 派生型指定子は,連続派生型 又は BIND 属性をもつ型を指定してはならない。
C816 (R823) 選択子が無制限多相的でない場合,型指定子 及び 派生型指定子はその選択子の宣言時の型の直
接拡張型を指定しなければならない。

――――― [JIS X 3001-1 pdf 468] ―――――

                                                                                                  455
附属書 D
X 3001-1 : 2009 (ISO/IEC 1539-1 : 2004)
C817 (R823) 一つの SELECT TYPE 構文について,同一の型 及び 種別型パラメタ値を二つ以上の TYPE
IS
IS で始まる型保持文で指定してはなら
で始まる型保持文で指定してはならず,かつ 二つ以上の CLASS
ない。
C818 (R823) 一つの SELECT TYPE 構文について,高々一つの CLASS DEFAULT で始まる型保持文を指定し
てよい。
R824 END SELECT TYPE 文 is END SELECT [ SELECT 構文名 ]
C819 (R821) ELECT TYPE 構文の SELECT TYPE 文に SELECT 構文名を指定する場合は,対応する
END SELECT TYPE 文にも同じ SELECT 構文名を指定しなければならない。SELECT TYPE 構文
の SELECT TYPE 文に SELECT 構文名を指定しない場合は,対応する END SELECT TYPE 文に
SELECT 構文名を指定してはならない。型保持文に SELECT TYPE 構文名を指定する場合は,対応す
る SELECT TYPE 文にも同じ SELECT 構文名を指定しなければならない。
R825 DO 構文 is 整構造 DO 構文
or 不整構造 DO 構文
R826 整構造 DO 構文 is DO 文
DO ブロック
整構造 DO 端末文
R827 DO 文 is 文番号 DO 文
or 単純 DO 文
R828 文番号 DO 文 is [ DO 構文名 : ] DO文番号 [ DO 制御 ]
R829 単純 DO 文 is [ DO 構文名 : ] DO [ DO 制御 ]
R830 DO 制御 is [ , ] DO 変数 = スカラ整数式 , スカラ整数式 [ , スカラ整数式 ]
or [ , ] WHILE ( スカラ論理式 )
R831 DO 変数 is スカラ整変数
C820 (R831) O 変数は,整数型の名前付きスカラ変数でなければならない。
R832 DO ブロック is ブロック
R833 整構造 DO 端末文 is END DO 文
or CONTINUE 文
R834 END DO 文 is END DO [ DO 構文名 ]
C821 (R826) 整構造 DO 構文の DO 文に DO 構文名を指定する場合,対応する整構造 DO 端末文は,同じ DO
構文名を指定した END DO 文でなければならない。整構造 DO 構文の DO 文に DO 構文名を指定しな
い場合は,対応する整構造 DO 端末文に DO 構文名を指定してはならない。
C822 (R826) O 文が単純 DO 文である場合,対応する整構造 DO 端末文は,END DO 文でなければなら
ない。
C823 (R826) O 文が文番号 DO 文である場合は,対応する整構造 DO 端末文にその同じ文番号を付けなけれ
ばならない。
R835 不整構造 DO 構文
is 実行端末 DO 構文
or 外郭共有 DO 構文

――――― [JIS X 3001-1 pdf 469] ―――――

  456
附属書 D
X 3001-1 : 2009 (ISO/IEC 1539-1 : 2004)
R836 実行端末 DO 構文
is 文番号 DO 文
DO 本体
実行 DO 端末文
R837 DO 本体 is [ 実行部構文 ] ...
R838 実行 DO 端末文
is 単純実行文
C824 (R838) 実行 DO 端末文は,CONTINUE 文,GO TO 文,RETURN 文,STOP 文,EXIT 文,CYCLE 文,END FUNCTION 文,END
SUBROUTINE 文,END PROGRAM 文 又は 算術 IF 文であってはならない。
C825 (R835) 実行 DO 端末文には文番号を付けなければならず,対応する文番号 DO 文はその同じ文番号を参照しなければならない。
R839 外郭共有 DO 構文
is 文番号 DO 文
DO 本体
共有端末 DO 構文
R840 共有端末 DO 構文
is 外郭共有 DO 構文
or 内郭共有 DO 構文
R841 内郭共有 DO 構文
is 文番号 DO 文
DO 本体
共有 DO 端末文
R842 共有 DO 端末文
is 単純実行文
C826 (R842) 共有 DO 端末文は,GO TO 文,RETURN 文,STOP 文,EXIT 文,CYCLE 文,END FUNCTION 文,END SUBROUTINE
文,END PROGRAM 文 又は 算術 IF 文であってはならない。
C827 (R840) 共有 DO 端末文には文番号を付けなければならず,その文を含むすべての内部共有 DO 構文 及び 外郭共有 DO 構文のすべての文番号 DO
文は,その同じ文番号を参照しなければならない。
R843 CYCLE 文 is CYCLE [ DO 構文名 ]
C828 (R843) YCLE 文に DO 構文名を指定する場合,その CYCLE 文は,その名前の DO 構文の範囲内に
なければならない。DO 構文名を指定しない場合,その CYCLE 文は,少なくとも一つの DO 構文の範
囲内になければならない。
R844 EXIT 文 is EXIT [ DO 構文名 ]
C829 (R844) XIT 文に DO 構文名を指定する場合,その EXIT 文は,その名前の DO 構文の範囲内になけ
ればならない。DO 構文名を指定しない場合,その EXIT 文は,少なくとも一つの DO 構文の範囲内に
なければならない。
R845 GO TO 文 is GO TO 文番号
C830 (R845) 文番号は,その GO TO 文と同じ有効域内にある飛び先文の文番号でなければならない。
R846 計算形 GO TO 文
is GO TO ( 文番号並び ) , ] スカラ整数式
C831 (R846) 文番号並び中の文番号は,その計算形 GO TO 文と同じ有効域内にある飛び先文の文番号でなければならない。
R847 算術 IF 文
is IF ( スカラ数値式 ) 文番号 , 文番号 , 文番号
C832 (R847) 各文番号は,その算術 IF 文と同じ有効域内にある飛び先文の文番号でなければならない。
C833 (R847) スカラ数値式は,複素数型であってはならない。
R848 CONTINUE 文 is CONTINUE
R849 STOP 文 is STOP [ 終了符号 ]
R850 終了符号 is スカラ文字定数
or 数字 [ 数字 [ 数字 [ 数字 [ 数字 ] ] ] ]
C834 (R850) スカラ文字定数は,基本文字型でなければならない。
箇条 9
R901 装置識別子 is ファイル装置番号

――――― [JIS X 3001-1 pdf 470] ―――――

次のページ PDF 471

JIS X 3001-1:2009の引用国際規格 ISO 一覧

  • ISO/IEC 1539-1:2004(IDT)

JIS X 3001-1:2009の国際規格 ICS 分類一覧

JIS X 3001-1:2009の関連規格と引用規格一覧

規格番号
規格名称