この規格ページの目次
7
X 3001-1 : 2009 (ISO/IEC 1539-1 : 2004)
JIS X 0221-1 : 2001 国際符号化文字集合 第 1 部 : 体系及び基本多言語面
注記 対応国際規格 : ISO/IEC 10646-1 : 2000, Information technology Universal multiple-octet
coded character set (UCS) Part 1: Architecture and basic multilingual plane (IDT)
これらの規格は廃止され,JIS X 0221 : 2007 及び ISO/IEC 10646 : 2003 が制定されている。
IEC 60559 (1989-01), Binary oating-point arithmetic for microprocessor systems.
ISO/IEC 646 : 1991 は国際規格であり,ASCII として知られている ANSI X3.4-1986 と一致している。
この規格は,JIS X 3010 : 2003 を引用するとき,それと一致する ISO/IEC 9899 : 1999 にちなんで,それを
“言語 C の国際規格” と呼ぶ。
IEC 60559 (1989-01) の内容は,IEEE 754 -1985 (Standard for binary oating-point arithmetic) と技術的に同
一であり,この名前で広く知られているので,この規格では “IEEE 国際規格” と呼ぶ。
2 Fortran の用語 及び 概念
2.1 高水準構文
2.1 では,構造構文,文 及び 式の水準より高位の Fortran の概念に関連する構文,すなわちプログラム単位その他
を規定し,それらの関係を示す。この規格での記述法は,1.7 による。
注記 2.1 R2 以外で始まる構文規則に関する制約 及び その他の情報は,適切な箇条に書く。
R201 プログラム is プログラム単位
[ プログラム単位 ] ...
一つのプログラムは,主プログラムを一つだけプログラム単位として含むか,又は Fortran 以外の手段で定義され
た主プログラムを一つだけ含んでいなければならない。ただし,これらの両方を含んでいてはならない。
R202 プログラム単位 is 主プログラム
or 外部副プログラム
or モジュール
or 初期値設定プログラム単位
R1101 主プログラム is [ PROGRAM 文 ]
[ 宣言部 ]
[ 実行部 ]
[ 内部副プログラム部 ]
END PROGRAM 文
R203 外部副プログラム is 関数副プログラム
or サブルーチン副プログラム
R1223 関数副プログラム is FUNCTION 文
[ 宣言部 ]
[ 実行部 ]
[ 内部副プログラム部 ]
END FUNCTION 文
R1231 サブルーチン副プログラム is SUBROUTINE 文
[ 宣言部 ]
――――― [JIS X 3001-1 pdf 21] ―――――
8
X 3001-1 : 2009 (ISO/IEC 1539-1 : 2004)
[ 実行部 ]
[ 内部副プログラム部 ]
END SUBROUTINE 文
R1104 モジュール is MODULE 文
[ 宣言部 ]
[ モジュール副プログラム部 ]
END MODULE 文
R1116 初期値設定プログラム単位 is BLOCK DATA 文
[ 宣言部 ]
END BLOCK DATA 文
R204 宣言部 is [ USE 文 ] ...
[ IMPORT 文 ] ...
[ 暗黙型宣言部 ]
[ 宣言構文 ] ...
R205 暗黙型宣言部 is [ 暗黙型宣言部文 ] ...
IMPLICIT 文
R206 暗黙型宣言部文 is IMPLICIT 文
or PARAMETER 文
or FORMAT 文
or ENTRY 文
R207 宣言構文 is 派生型定義
or ENTRY 文
or 列挙体定義
or FORMAT 文
or 引用仕様宣言
or PARAMETER 文
or 手続宣言文
or 単純宣言文
or 型宣言文
or 文関数定義文
R208 実行部 is 実行構文
[ 実行部構文 ] ...
R209 実行部構文 is 実行構文
or FORMAT 文
or ENTRY 文
or DATA 文
R210 内部副プログラム部 is CONTAINS 文
内部副プログラム
――――― [JIS X 3001-1 pdf 22] ―――――
9
X 3001-1 : 2009 (ISO/IEC 1539-1 : 2004)
[ 内部副プログラム ] ...
R211 内部副プログラム is 関数副プログラム
or サブルーチン副プログラム
R1107 モジュール副プログラム部 is CONTAINS 文
モジュール副プログラム
[ モジュール副プログラム ] ...
R1108 モジュール副プログラム is 関数副プログラム
or サブルーチン副プログラム
R212 単純宣言文 is 参照許可宣言文
or ALLOCATABLE 文
or ASYNCHRONOUS 文
or BIND 文
or COMMON 文
or DATA 文
or DIMENSION 文
or EQUIVALENCE 文
or EXTERNAL 文
or INTENT 文
or INTRINSIC 文
or NAMELIST 文
or OPTIONAL 文
or POINTER 文
or PROTECTED 文
or SAVE 文
or TARGET 文
or VOLATILE 文
or VALUE 文
R213 実行構文 is 単純実行文
or ASSOCIATE 構文
or CASE 構文
or DO 構文
or FORALL 構文
or IF 構文
or SELECT TYPE 構文
or WHERE 構文
R214 単純実行文 is ALLOCATE 文
or 代入文
or BACKSPACE 文
or CALL 文
――――― [JIS X 3001-1 pdf 23] ―――――
10
X 3001-1 : 2009 (ISO/IEC 1539-1 : 2004)
or CLOSE 文
or CONTINUE 文
or CYCLE 文
or DEALLOCATE 文
or ENDFILE 文
or END FUNCTION 文
or END PROGRAM 文
or END SUBROUTINE 文
or EXIT 文
or FLUSH 文
or FORALL 文
or GO TO 文
or IF 文
or INQUIRE 文
or NULLIFY 文
or OPEN 文
or ポインタ代入文
or PRINT 文
or READ 文
or RETURN 文
or REWIND 文
or STOP 文
or WAIT 文
or 単純 WHERE 文
or WRITE 文
or 算術 IF 文
or 計算形 GO TO 文
C201 (R208) 実行部は,END FUNCTION 文,END PROGRAM 文 及び END SUBROUTINE 文を含んで
はならない。
2.2 プログラム単位の概念
プログラム単位は,Fortran プログラムの基本的な構成要素とする。プログラム単位 (program unit) は,主プログ
ラム,外部副プログラム,モジュール 又は 初期値設定プログラム単位のいずれかとする。副プログラムは,関数副プ
ログラム 又は サブルーチン副プログラムのいずれかとする。モジュールは,他のプログラム単位から参照可能とす
べき定義を含む。初期値設定プログラム単位は,名前付き共通ブロック中のデータ実体に初期値を指定するために用
いる。それぞれの種類のプログラム単位は,箇条 11 及び 12 による。外部副プログラム (external subprogram) は,
主プログラムにもモジュールにも他の副プログラムにも含まれない副プログラムとする。内部副プログラム (internal
subprogram) は,主プログラムに含まれるか,又は 他の副プログラムに含まれる副プログラムとする。モジュール副
プログラム (module subprogram) は,モジュールに含まれていて内部副プログラムではない副プログラムとする。
プログラム単位は,重なりのない有効域の集合からなる。一つの 有効域 (scoping unit) は,次のいずれかとする。
(1) 一つのプログラム単位 又は 副プログラムから,その中に含まれる有効域を除いた部分。
――――― [JIS X 3001-1 pdf 24] ―――――
11
X 3001-1 : 2009 (ISO/IEC 1539-1 : 2004)
(2) 一つの派生型定義(4.5.1 参照)。
(3) 一つの引用仕様本体から,その中に含まれる有効域を除いた部分。
他の有効域を直接に包む有効域を,親有効域 (host scoping unit) [又は 親プログラム (host)]と呼ぶ。
2.2.1 プログラム
プログラム (program) は,一つの主プログラム,任意個(0 個でもよい。)の他の種類のプログラム単位,並びに
Fortran 以外の手段で定義された任意個(0 個でもよい。)の外部手続 及び 他の言語要素からなる。
注記 2.2 二つ以上の名前なし初期値設定プログラム単位があってはならない(11.3 参照)。
この規格では,一つのプログラムを構成するプログラム単位の順序については何も要求しないが,モ
ジュール引用を処理する時にはモジュールの公開部分は利用可能になっていなければならない(11.2.1
参照)ので,処理系は,プログラム単位の処理に特別の順序を要求してもよい。
2.2.2 主プログラム
Fortran の主プログラムは,11.1 による。
2.2.3 手続
手続 (procedure) は,任意の処理の列をまとめたものであり,プログラムの実行中に直接呼び出すことができる。
手続は,関数 又は サブルーチンのいずれかとする。関数 (function) は,式の中で呼び出される手続とする。関数が
呼び出されると,値が計算され,その値が式の評価に使われる。関数の値を返す変数を,結果変数 (result variable)
と呼ぶ。サブルーチン (subroutine) は,CALL 文で,利用者定義代入文によって 又は 派生型要素に幾つかの操作を
することによって呼び出される手続とする。サブルーチンは,純粋手続でないとき,そのサブルーチンで参照可能な
データ実体の値を変更することによって,プログラムの状態を変更することができる。関数も,純粋手続でないとき,
関数値を計算するだけでなく,同様にしてプログラムの状態を変更することができる。
手続は,箇条 12 で更に規定する。
2.2.3.1 外部手続
外部手続 (external procedure) は,外部副プログラムによって 又は Fortran 以外の手段によって定義された手続と
する。外部手続は,主プログラムから 又は プログラムの任意の手続から呼び出すことができる。
2.2.3.2 モジュール手続
モジュール手続 (module procedure) は,モジュール副プログラム (R1108) によって定義された手続とする。その
副プログラムを含むモジュールを,そのモジュール手続の親有効域とする。
2.2.3.3 内部手続
内部手続 (internal procedure) は,内部副プログラム (R211) によって定義された手続とする。その内部副プログラ
ムを含む主プログラム 又は 副プログラムを,その内部手続の親有効域とする。内部手続は,親プログラムの有効域
及び 親プログラムの他のすべての内部手続の有効域の内部からは参照できるが,その他の場所からは参照できない。
この意味で,内部手続は,その親プログラムに対して局所的である。
2.2.3.4 引用仕様宣言
引用仕様本体 (interface body) は,抽象引用仕様 又は 仮手続,外部手続,手続ポインタ 及び 型束縛手続の引用仕
様を定義する。
引用仕様宣言 (interface block) は,個別引用仕様宣言,抽象引用仕様宣言 又は 総称引用仕様宣言とする。個別引
用仕様宣言は,引用仕様本体の集合とする。総称引用仕様宣言は,次のいずれかによって手続が起動されることを指
定するのにも使われる。
(1) 総称名の使用
(2) 利用者定義演算子の使用
――――― [JIS X 3001-1 pdf 25] ―――――
次のページ PDF 26
JIS X 3001-1:2009の引用国際規格 ISO 一覧
- ISO/IEC 1539-1:2004(IDT)
JIS X 3001-1:2009の国際規格 ICS 分類一覧
- 35 : 情報技術.事務機械 > 35.060 : 情報技術に使用される言語
JIS X 3001-1:2009の関連規格と引用規格一覧
- 規格番号
- 規格名称