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

                                                                                                  437
附属書 D
X 3001-1 : 2009 (ISO/IEC 1539-1 : 2004)
C486 (R458) その構成子中の先行する各成分指定から “キーワード=” を省略するときだけ,成分指定から “
キーワード=” を省略できる。
C487 (R458) キーワードは,その型の成分の名前でなければならない。
C488 (R457) 型名 及び 成分指定が書かれた型のすべての成分は,構造体構成子を含んでいる有効域内で参照
可能でなければならない。
C489 (R457) 派生型指定子が総称名と同じ型名であるとき,成分指定並びは,総称引用として解決される
(12.4.4.1) 関数引用の有効な実引数指定並びであってはならない。
C490 (R459) データ指示先は,手続ポインタではないポインタ成分に対応しなければならない。手続指示先
は,手続ポインタである成分に対応しなければならない。
C491 (R459) データ指示先は,対応する成分と同じ次元数でなければならない。
R460 列挙体定義 is 列挙体定義文
列挙子定義文
[ 列挙子定義文 ] ...
列挙体定義終了文
R461 列挙体定義文 is ENUM , BIND ( C )
R462 列挙子定義文 is ENUMERATOR [ :: ] 列挙子並び
R463 列挙子 is 名前付き定数 [ = スカラ整数初期値式 ]
R464 列挙体定義終了文 is END ENUM
C492 (R462) 列挙子に = を書いたとき,列挙子並びの前に,区切りの 2 連コロンを書かなければならない。
R465 配列構成子 is (/ 配列構成子指定 /)
or 左角括弧 配列構成子 右角括弧
R466 配列構成子指定 is 型指定子 ::
or [ 型指定子 :: ] 配列構成項目並び
R467 左角括弧 is [
R468 右角括弧 is ]
R469 配列構成項目 is 式
or 配列構成 DO 形反復
R470 配列構成 DO 形反復 is ( 配列構成項目並び , 配列構成 DO 制御 )
R471 配列構成 DO 制御 is 配列構成 DO 変数 = スカラ整数式 , スカラ整数式 [ , スカラ整数式 ]
R472 配列構成 DO 変数 is スカラ整変数
C493 (R472) 配列構成 DO 変数は,名前付き変数でなければならない。
C494 (R466) 型指定子が省略されたとき,一つの配列構成子中の配列構成項目の式の型 及び 種別型パラメタ
は,すべて同じでなければならない。
C495 (R466) 型指定子が組込み型を指定するとき,一つの配列構成子中の配列構成項目の式の型は,表 7.8 で
指定したとおりに型指定子の型の変数と型が適合する組込み型でなければならない。
C496 (R466) 型指定子が派生型を指定するとき,一つの配列構成子中の配列構成項目の式の型は,その派生型
であって,型指定子で指定した型と同じ種別型パラメタ値をもたなければならない。

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

  438
附属書 D
X 3001-1 : 2009 (ISO/IEC 1539-1 : 2004)
C497 (R470) 配列構成 DO 形反復の配列構成 DO 変数に,その配列構成 DO 形反復に含まれる配列構成 DO
形反復の配列構成 DO 変数と同じ変数を指定してはならない。
箇条 5
R501 型宣言文 is 宣言型指定子 [ [ , 属性指定子 ] ... :: ] データ要素宣言並び
R502 宣言型指定子 is 組込み型指定子
or TYPE ( 派生型指定子 )
or CLASS ( 派生型指定子 )
or CLASS (*)
C501 (R502) 宣言型指定子において,“:” 及び “*” 以外の型パラメタ値は,宣言式でなければならない。
C502 (R502) “CLASS(派生型指定子)” の場合,その派生型指定子には,拡張可能型を指定しなければならない。
C503 (R502) “TYPE(派生型指定子)” の場合,その派生型には,抽象型(4.5.6 参照)を指定してはならない。
R503 属性指定子 is 参照許可指定子
or ALLOCATABLE
or ASYNCHRONOUS
or DIMENSION ( 配列形状指定 )
or EXTERNAL
or INTENT ( 授受特性指定 )
or INTRINSIC
or 言語束縛指定子
or OPTIONAL
or PARAMETER
or POINTER
or PROTECTED
or SAVE
or TARGET
or VALUE
or VOLATILE
R504 データ要素宣言 is 実体名 [ ( 配列形状指定 ) [ * 文字長 ] [ 初期値指定 ]
or 関数名 [ * 文字長 ]
C504 (R504) データ要素宣言中に現れる “:” と “*” 以外の文字長中の型パラメタ値は,宣言式でなければな
らない。
R505 実体名 is 名前
C505 (R505) 実体名は,データ実体の名前でなければならない。
R506 初期値指定 is = 初期値式
or => 空初期化
R507 空初期化 is 関数引用
C506 (R507) 関数引用は,引数なしの組込み関数 NULL の引用でなければならない。
C507 (R501) 同じ属性指定子を,一つの型宣言文中で 2 回以上指定してはならない。
C508 一つのデータ要素には,一つの有効域内で,どの属性も 2 回以上明示的に指定してはならない。

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

                                                                                                  439
附属書 D
X 3001-1 : 2009 (ISO/IEC 1539-1 : 2004)
C509 (R501) LASS によって宣言された要素は,仮引数であるか,ALLOCATABLE 属性 又は POINTER 属
性をもっていなければならず,VALUE 属性をもってはならない。
C510 (R501) OINTER 属性 又は ALLOCATABLE 属性をもって宣言された配列は,無指定上下限並び
(5.1.2.5.3 参照)の形の配列形状指定で指定しなければならない。
C511 (R501) LLOCATABLE 属性 及び POINTER 属性をもたない関数結果としての実体名に対する配列形
状指定は,明示上下限並びでなければならない。
C512 (R501) OINTER 属性を指定したとき,ALLOCATABLE 属性,TARGET 属性, 及び INTRINSIC
属性は指定してはならない。
C513 (R501) ARGET 属性を指定したとき,POINTER 属性,EXTERNAL 属性,INTRINSIC 属性 及び
PARAMETER 属性は指定してはならない。
C514 (R501) ARAMETER 属性は,仮引数,ポインタ,割付け要素,関数 及び 共通ブロック中の実体には
指定してはならない。
C515 (R501) NTENT 属性,VALUE 属性 及び OPTIONAL 属性は,仮引数に対してだけ指定してよい。
C516 (R501) NTENT 属性は,POINTER 属性をもたない仮手続には指定してはならない。
C517 (R501) AVE 属性は,共通ブロック中の個々の実体,仮引数,手続,関数結果,自動割付けデータ実体
及び PARAMETER 属性をもつ実体には指定してはならない。
C518 一つのデータ要素は,INTRINSIC 属性をもつとき,EXTERNAL 属性をもつことはできない。
C519 (R501) データ要素宣言並び中の関数以外のデータ要素には,EXTERNAL 属性 及び INTRINSIC 属性
を指定してはならない。
C520 (R504) “* 文字長” は,型指定が文字型である場合にだけ指定してよい。
C521 (R504) 関数名は,外部関数,組込み関数,仮手続関数,手続ポインタ 又は の名前でなければな
文関数
らない。
C522 (R501) ARAMETER 属性(5.1.2.10 参照)があるときは,初期値指定を省略してはならない。
C523 (R501) 初期値指定を書いたとき,そのデータ要素宣言並びの前の区切りの 2 連コロンを省略してはなら
ない。
C524 (R504) 初期値指定は,実体名が仮引数,関数結果,型宣言が初期値設定プログラム単位以外にある名前
付き共通ブロック中の実体,無名共通ブロック中の実体,割付け変数,外部名,組込み名 又は 自動割付
け実体のいずれかであるならば,指定してはならない。
C525 (R504) 初期値指定に “=>” を書いたとき,実体は,POINTER 属性をもたなければならない。初期値指
定に “=” を書いたとき,実体は,POINTER 属性をもってはならない。
C526 (R501) OLATILE 属性を指定したとき,PARAMETER 属性,INTRINSIC 属性,EXTERNAL 属性,
及び INTENT(IN) 属性は,指定してはならない。
C527 (R501) ALUE 属性を指定したとき,PARAMETER 属性,EXTERNAL 属性,POINTER 属性,ALLO-
CATABLE 属性,DIMENSION 属性,VOLATILE 属性,INTENT(INOUT) 属性 及び INTENT(OUT)
属性は,指定してはならない。
C528 (R501) ALUE 属性を指定したとき,長さ型パラメタ値は,省略するか,初期値式で指定しなければな
らない。
C529 (R501) ALUE 属性は,仮手続に対して指定してはならない。
C530 (R501) LLOCATABLE 属性,POINTER 属性 及び OPTIONAL 属性は,手続言語束縛指定子をもつ
手続の仮引数に対して指定してはならない。
C531 (R503) 言語束縛指定子は,モジュールの宣言部にだけ書くことができる。

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

  440
附属書 D
X 3001-1 : 2009 (ISO/IEC 1539-1 : 2004)
C532 (R501) 言語束縛指定子で宣言された要素は,相互利用可能変数(15.2 参照)でなければならない。
C533 (R501) 言語束縛指定子が NAME 指定子とともに指定された場合,データ要素宣言並びはただ一つの
データ要素宣言でなければならない。
C534 (R503) ROTECTED 属性は,モジュールの宣言部にだけ書くことができる。
C535 (R501) ROTECTED 属性は,共通ブロック中にない手続ポインタ 又は 名前付き変数に対してだけ指
定できる。
C536 (R501) ROTECTED 属性を指定したとき,INTRINSIC 属性 及び PARAMETER 属性は,指定して
はならない。PROTECTED 属性と EXTERNAL 属性を同時に指定するときは,POINTER 属性も指定
しなければならない。
C537 PROTECTED 属性をもつポインタでない実体が参照結合で参照された場合,その実体は,変数定義文
脈(16.5.7 参照) 及び ポインタ代入文中のデータ指示先 又は 手続指示先に現れてはならない。
C538 PROTECTED 属性をもつポインタである実体が参照結合で参照された場合,それは,次のいずれにも
現れてはならない。
(1) NULLIFY 文中のポインタ実体
(2) ポインタ代入文中のデータポインタ実体 又は 手続ポインタ実体
(3) ALLOCATE 文中 又は DEALLOCATE 文中の割付け実体
(4) 仮引数に INTENT(OUT) 属性 又は INTENT(INOUT) 属性をもつポインタがあるような手続
を引用するとき,その仮引数に結合する実引数
R508 参照許可指定子 is PUBLIC
or PRIVATE
C539 (R508) 参照許可指定子は,モジュールの宣言部にだけ書くことができる。
R509 言語束縛指定子 is BIND ( C [, NAME = スカラ文字初期値式 ] )
C540 (R509) スカラ文字初期値式は,基本文字型の種別をもたなければならない。
R510 配列形状指定 is 明示上下限並び
or 引継ぎ上下限並び
or 無指定上下限並び
or 大きさ引継ぎ配列形状指定
C541 (R510) 次元数は,最大 7 次元とする。
R511 明示上下限 is [ 下限 : ] 上限
R512 下限 is 宣言式
R513 上限 is 宣言式
C542 (R511) 上下限が初期値式でない形状明示配列は,副プログラム 又は 引用仕様本体の中でだけ宣言で
きる。
R514 引継ぎ上下限 is [ 下限 ] :
R515 無指定上下限 is :
R516 大きさ引継ぎ配列形状指定 is [ 明示上下限並び , ] [ 下限 : ] *
C543 大きさ引継ぎ配列形状指定は,仮引数の配列上下限の宣言以外に現れてはならない。

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

                                                                                                  441
附属書 D
X 3001-1 : 2009 (ISO/IEC 1539-1 : 2004)
C544 INTENT(OUT) 属性をもつ大きさ引継ぎ配列は,多相的であってはならず,後始末可能な型,割付け可
能な末端成分をもつ型,及び 暗黙的初期値指定が指定された型であってはならない。
R517 授受特性指定 is IN
or OUT
or INOUT
C545 (R517) NTENT(IN) 属性をもつポインタでない実体は,変数確定文脈(16.5.7 参照)に現れてはなら
ない。
C546 (R517) NTENT(IN) 属性をもつポインタ実体は,次の箇所に現れてはならない。
(1) NULLIFY 文中のポインタ実体
(2) ポインタ代入文中のデータポインタ実体 又は 手続ポインタ実体
(3) ALLOCATE 文 又は DEALLOCATE 文中の割付け実体
(4) 仮引数に INTENT(OUT) 属性 又は INTENT(INOUT) 属性をもつポインタがあるような手続を
引用するとき,その仮引数に結合する実引数
C547 (R503)(R1216) 総称組込み手続の名前が明示的に INTRINSIC 属性をもつと宣言され,更にそれが,同
一の有効域内で参照可能な一つ以上の総称引用仕様 (12.3.2.1) の総称名でもあるとき,引用仕様内の手
続 及び 個別名をもつ組込み手続は,すべて関数 又は すべてサブルーチンでなければならない。個別名
である組込み手続と引用仕様内の手続は,16.2.3 のとおり特性が異なる。
R518 参照許可宣言文 is 参照許可指定子 [ [ :: ] 参照対象並び ]
R519 参照対象 is 参照対象名
or 総称指定
C548 (R518) 参照許可宣言文は,モジュールの宣言部にだけ書くことができる。参照対象並びを省略した参照
許可宣言文は,一つのモジュールの宣言部内に高々一つ指定できる。
C549 (R519) それぞれの参照対象名は,名前付き変数,手続,派生型,名前付き定数 又は 変数群の名前でな
ければならない。
R520 ALLOCATABLE 文 is ALLOCATABLE [ :: ] 実体名 [ ( 無指定上下限並び )
[ , 実体名 [ ( 無指定上下限並び ) ] ...
R521 ASYNCHRONOUS 文 is ASYNCHRONOUS [ :: ] 実体名並び
R522 BIND 文 is 言語束縛指定子 [ :: ] 束縛要素並び
R523 束縛要素 is 要素名
or / 共通ブロック名 /
C550 (R522) IND 文中の束縛要素に要素名が含まれる場合,その BIND 文は,モジュールの宣言部に現れな
ければならず,その要素は相互利用可能変数でなければならない(15.2.4 及び 15.2.5 参照)。
C551 (R522) 言語束縛指定子が NAME 指定子である場合,束縛要素並び中の要素は,1 個だけとする。
C552 (R522) 束縛要素が共通ブロックである場合,その中の各変数は,相互利用可能でなければならない
(15.2.4 及び 15.2.5 参照)。
R524 DATA 文 is DATA 初期化対応 [ [ , ] 初期化対応 ] ...
R525 初期化対応 is 初期化項目並び / 初期値表現並び /

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

次のページ PDF 456

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

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

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

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

規格番号
規格名称