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

  22
X 3001-1 : 2009 (ISO/IEC 1539-1 : 2004)
or -
R711 連結演算子 is //
R713 関係演算子 is .EQ.
or .NE.
or .LT.
or .LE.
or .GT.
or .GE.
or ==
or /=
or <
or <=
or >
or >=
R718 否定演算子 is .NOT.
R719 論理積演算子 is .AND.
R720 論理和演算子 is .OR.
R721 論理等否演算子 is .EQV.
or .NEQV.
R311 利用者定義演算子 is 利用者定義単項演算子
or 利用者定義 2 項演算子
or 拡張組込み演算子
R703 利用者定義単項演算子 is . 英字 [ 英字 ] ... .
R723 利用者定義 2 項演算子is . 英字 [ 英字 ] ... .
R312 拡張組込み演算子 is 組込み演算子
3.2.4 文番号
文番号は,個々の文を参照する手段を与える。
R313 文番号 is 数字 [ 数字 [ 数字 [ 数字 [ 数字 ] ] ] ]
C304 (R313) 文番号の少なくとも一つの数字は,0 以外でなければならない。
文が文番号をもつとき,その文は,空白以外の文字を含まなければならない。一つの有効域中の二つ以上の文に対
して,同じ文番号を与えてはならない。先行する数字 0 は,文番号を区別する上では意味がない。

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

                                                                                                   23
X 3001-1 : 2009 (ISO/IEC 1539-1 : 2004)
例 3.4 次の三つの文番号のうち,後の二つは等価になる。
99999
10
010
文番号は 99999 種類あり,処理系は,それらのいずれをも文番号として受け入れなければならない。
しかし,処理系は,一つのプログラム単位中の異なる文番号の個数について,実装上の制限をもって
もよい。
幾つかの文は,文番号をもつ。文番号は,次の場合にだけ利用できる。
(1) 飛び先文(8.2 参照)の文番号は,その文が分岐可能な飛び先であることを識別するために用いる。
(2) ORMAT 文(10.1.1 参照)の文番号は,その文がデータ転送文(9.5 参照)に対する書式仕様であることを識
別するために用いる。
(3) O 構文(8.1.6 参照)の幾つかの形において,DO 構文の範囲は,その範囲内にある最後の文の文番号によって
識別される。
3.2.5 括弧類
括弧類 (delimiter) は,構文並びをくくるために使用する。次の組は,括弧類とする。
( ······ )
/ ······ /
[ ······ ]
(/ ······ /)
3.3 プログラム形式
プログラム単位は,Fortran の文,注釈 及び INCLUDE 行から構成される一つ以上の行の列とする。文 (statement)
は,一つ以上の完全な行 又は 部分的な行の列とする。行 (line) は,任意の文字の列とする。プログラム単位の END
文に続く行は,そのプログラム単位に含まれない。
文字文脈 (character context) とは,文字定数表現 (4.4.4) 又は 文字列編集記述子 (10.2.1) の中の文字とする。
注釈は,任意の文字文脈に指定できる任意の文字を含んでもよい。
自由形式 の プログラム形式 (source form) を定める。自由形式 及び 固定形式は,一つのプログラム単位中で混在させ
及び 固定形式の二つ
てはならない。プログラム単位のプログラム形式を指定する方法は,処理系依存とする。
3.3.1 自由形式
自由形式 (free source form) では,一つの文(又は 文の一部)は,一つの行中のどこに書いてもよい。一つの行に,
文字を一つも含まなくてもよい。一つの行が基本文字型の文字 (4.4.4) だけで構成されるとき,その行には最大 132
個の文字を含むことができる。一つの行に基本文字型でない文字を含むとき,その行に書くことができる最大の文字
数は,処理系依存とする。
文字文脈 及び 書式仕様中を除き,一つの構文素の途中に空白文字を書いてはならない。空白は,読みやすくする
ために,構文素の間に自由に挿入できる。例えば,複素定数表現を形成する構文素の間に空白を挿入してもよい。文
字文脈以外での空白列は,一つの空白文字と等価とする。
名前,定数 又は 文番号を,隣接するキーワード,名前,定数 又は 文番号から分離するために,これらの間には空
白を挿入しなければならない。

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

  24
X 3001-1 : 2009 (ISO/IEC 1539-1 : 2004)
例 3.5 次の REAL,READ,30 及び DO の後ろに空白が必要である。
REAL X
READ 10
30 DO K=1,3
隣接するキーワードの間には,一つ以上の空白を用いなければならない。ただし,次の場合は空白が省略できる。
分離のための空白が省略できるキーワード
BLOCK DATA DOUBLE PRECISION
ELSE IF ELSE WHERE
END ASSOCIATE END BLOCK DATA
END DO END ENUM
END FILE END FORALL
END FUNCTION END IF
END INTERFACE END MODULE
END PROGRAM END SELECT
END SUBROUTINE END TYPE
END WHERE GO TO
IN OUT SELECT CASE
SELECT TYPE
3.3.1.1 自由形式での注釈
文字 “!” は,それが文字文脈中に指定される場合を除いて,注釈 (comment) の開始とする。注釈は,行の終わり
までとする。行の空白でない最初の文字が “!” であるとき,その行は,注釈行とする。空白だけの行 及び 文字を含
まない行も,注釈行とする。注釈は,プログラム単位中の任意の場所にあってもよく,プログラム単位の最初の文よ
り前にあってもよいし,プログラム単位の最後の文より後ろにあってもよい。注釈は,プログラム単位の解釈に影響
を与えない。
注記 3.6 連続する注釈行の行数に制限はない。
3.3.1.2 自由形式での文の継続
文字 “&” は,現在の行を注釈行でない次の行に継続することを示す。注釈行は,継続することができない。つまり,
注釈の中の “&” は,効果をもたない。継続された文(前の行)の中に注釈を書いてもよい。“&” は,継続として使用
するとき,文の一部ではない。空白でない文字が一つの “&” だけの行,又は 注釈の開始を示す “!” の前の空白でな
い文字が一つの “&” だけの行を書くことはできない。
文字文脈でない部分を継続する場合,“&” は,その行の空白でない最後の文字であるか,又は “!” の前の空白でな
い最後の文字であるかのいずれかでなければならない。このとき,注釈行でない後続の行がなければならず,文はそ
の後続の行に継続する。その行の空白でない最初の文字が “&” のとき,文はその “&” に続く次の文字位置に継続し,
それ以外のとき,その行の最初のけたに継続する。
構文素が行の終わりで分断されるとき,注釈行でない次の行の空白でない最初の文字は,“&” でなければならず,そ
の直後に分断された構文素の続きの文字を書かなければならない。
文字文脈を継続する場合,“&” は,その行の空白でない最後の文字でなければならず,注釈を続けてはならない。
このとき,注釈行でない後続の行がなければならず,その後続の行の空白でない最初の文字は,“&” でなければなら
ない。また,その文は,その “&” に続く文字に継続する。

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

                                                                                                   25
X 3001-1 : 2009 (ISO/IEC 1539-1 : 2004)
3.3.1.3 自由形式での文の終了
文が継続しない場合,注釈 又は 行の終わりで,その文は終了する。
文は,文字文脈の中 又は 注釈の中以外に現れる文字 “;” で終了してもよい。その “;” は,文の一部ではない。文
末記号 “;” の後に,他の文が同じ行に現れてもよいし,その行で始まって継続してもよい。文末記号 “;” は,行中の
空白でない最初の文字であってはならない。文末記号 “;” の後ろに 0 個以上の空白 及び 1 個以上の “;” が続く場合,
順序にかかわらず,それらは一つの文末記号 “;” と等価とする。
3.3.1.4 自由形式での文
文番号は,他の文の部分とならない任意の文の前に付けることができる。
注記 3.7 数字で始まる Fortran の文はない。
文は,255 行を超える継続行をもってはならない。
3.3.2 固定形式
固定形式 (fixed source form) では,一つの行の中で一つの文を書くことのできる位置には制約がある。一つの行が基本文字型の文字だけを含むとき,それはちょ
うど 72 文字でなければならない。それ以外のとき,文字の最大数は,処理系依存とする。
文字文脈以外では,空白は,意味をもたず,プログラム内のあらゆるところで自由に使用してよい。
3.3.2.1 固定形式での注釈
文字 “!” は,文字文脈の中 又は 第 6 けたに現れる場合を除いて,注釈 (comment) の開始とする。注釈は,その行の終わりまでとする。行の空白でない最初の
文字が,第 6 けた以外の任意のけたに現れた “!” であるとき,その行は注釈行とする。 第 1 けたが “C” 又は “*” で始まる行 及び 空白だけからなる行も,注釈行
とする。注釈は,プログラム単位の任意の場所に現れてもよく,プログラム単位の最初の文の前又は 最後の文の後ろに現れてもよい。注釈は,プログラム単位の解釈
に影響を与えない。
注記 3.8 連続する注釈行の行数に制限はない。
3.3.2.2 固定形式での文の継続
注釈の中を除き,第 6 けたは,継続を示すために使用する。第 6 けたが空白 又は 数字 0 であるとき,その行は,第 7 けたから始まる新しい文の開始行とする。
第 6 けたが空白でもなく数字 0 でもないとき,その行の第 772 けたは,先行する注釈でない行の継続行とする。
注記 3.9 第 6 けたの “!” 又は “;” は,第 1 けたの “C” 若しくは “*”,又は 第 15 けたの “!” によって指示される注釈中に現れた場合以外
は,継続の指示として解釈する)。
注釈行は,継続することができない。注釈は,継続される文(前の行)の中に書いてもよい。
3.3.2.3 固定形式での文の終了
文が継続しない場合,注釈 又は 行の終わりで,その文は終了する。
文は,文字文脈の中,注釈の中 又は 第 6 けた以外に現れる文字 “;” で終了してもよい。その “;” は,文の一部ではない。文末記号 “;” の後に,他の文が同じ行
に現れてもよいし,その行で始まって継続してもよい。文末記号 “;” は,第 6 けたに現れる場合を除いて,行中の空白でない最初の文字であってはならない。0 個以
上の空白 及び 1 個以上の “;” が続く場合,順序にかかわらず,それらは一つの文末記号 “;” と等価とする。
3.3.2.4 固定形式での文
文に文番号を付けるときは,文番号は,文の最初の行の第 15 けたに付けなければならない。付けないときは,第 15 けたは,空白でなければならない。空白
は,文番号の中のどこに挿入してもよい。一つの行の中で “;” に続く文は,文番号をもつことができない。すべての継続行の第 15 けたは,空白でなければならな
い。文は,255 を超える継続行をもってはならない。プログラム単位の END 文は,継続してはならない。文を継続することによって,プログラム単位の END 文で
あるとみなせるような開始行を書いてはならない。
3.4 文字列の取込み

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

  26
X 3001-1 : 2009 (ISO/IEC 1539-1 : 2004)
処理系の動作中に,プログラム単位の文字列の中に別の文字列を取り入れることができる。これは,次の形の INC
LUDE 行 (INCLUDE line) によって実現する。
INCLUDE 文字定数表現
文字定数表現には,名前付き定数である種別型パラメタ値を指定してはならない。
INCLUDE 行は,Fortran の文ではない。
INCLUDE 行は,文を置くことのできる場所に 1 行で書かなければならない。INCLUDE 行は,省略可能な後続の
注釈を除いて,その行の空白でないただ一つの文字列でなければならない。したがって,文番号を付けてはならない。
INCLUDE 行の効果は,プログラムの処理に先立って,参照された文字列がその INCLUDE 行を物理的に置き換え
たものと同じとする。取り込まれる文字列は,任意のものを含んでよく,更に INCLUDE 行を含んでいてもよい。その
ような入れ子になった INCLUDE 行は,指定した文字列で同様に置き換えられる。入れ子になったときの INCLUDE
行の入れ子の最大の深さは,処理系依存とする。INCLUDE 行によって引用される文字列は,すべての入れ子のレベ
ルにおいて,結果として同じ文字列を取り込んではならない。
INCLUDE 行が解決されるとき,取り込まれる最初の文の行は,継続行であってはならず,取り込まれる最後の文
の行は,継続してはならない。
文字定数表現の解釈は,処理系依存とする。解釈可能で有効な一つの例として,文字定数表現は,取り込まれる文
字列を含むファイルの名前とすることが考えられる。
注記 3.10 ある状況では,INCLUDE 行で引用するファイル中に保持されているプログラム部分を,固定形式 又は 自由形式のいずれのプログラ
ム形式からも使用したいことがある。その場合,次の規則を守れば,そのプログラム部分はいずれの形式からも使用することができる。
(1) 文番号は,第 15 けたに書き,文は,第 772 けたに書く。
(2) 空白は,意味があるものとして扱う。
(3) 注釈の指示には,感嘆符 “!” だけを使用する。しかも,第 6 けたで注釈を開始しない。
(4) 文が継続するときは,継続される行の第 73 けた 及び 継続する行の第 6 けたの両方にアンド記号 “&” を書く。
4 型
Fortran は,特定の物理的表現によらずにデータを分類する抽象的手段を提供する。この抽象的手段は,型 (type)
の概念とする。
組込み型は,この言語で定められている。組込み型は,整数型,実数型,複素数型,文字型 及び 論理型とする。
派生型は,派生型定義(4.5.1 参照)で定義される。
派生型は,その定義が参照可能な場所でだけ使用できる(4.5.1.1 参照)。組込み型は,どこででも参照可能とする。
型は,型指定子 (type specier) によって,複数の文脈で指定される。
R401 型指定子 is 組込み型指定子
or 派生型指定子
C401 (R401) 派生型指定子には,抽象型(4.5.6 参照)を指定してはならない。
4.1 型の概念
型は,名前,有効な値の集合,その値の記述方法(定数),及び その値を操作する演算の集合をもつ。
注記 4.1 例えば,論理型は,二つの値からなる集合をもち,それらの値は構文素 .TRUE. 及び .FALSE.
で記述され,論理演算によって操作される。
より制限の少ない型の例として,整数型がある。整数型は,処理系依存の整数値の集合をもち,そ
れらの値は省略可能な符号に続く数字列で記述され,整数値の算術演算 及び 関係演算で操作される。
4.1.1 値の集合

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

次のページ PDF 41

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

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

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

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

規格番号
規格名称