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

                                                                                                   17
X 3001-1 : 2009 (ISO/IEC 1539-1 : 2004)
2.5.1 名前 及び 特定子
名前 (name) は,プログラム単位,名前付き変数,名前付き定数,仮引数,派生型などの,プログラムの構成要素
を識別するために用いる。名前の構成を規定する規則は,3.2.1 による。特定子 (designator) は,ゼロ個以上の成分
選択子,部分配列選択子,配列要素選択子 又は 部分列選択子を続けたものとする。
実体特定子 (object designator) は,データ実体に対する特定子とする。手続特定子 (procedure designator) は,手
続に対する特定子とする。
注記 2.5 実体名は,実体特定子の特別な場合である。
2.5.2 キーワード
キーワード (keyword) という用語は,次の 2 通りに用いる。
(1) 文の構文規則に現れる単語をつづるために用いる。それらのキーワードは,予約語ではない。すなわち,同じつ
づりをもった名前が許される。構文規則では,そのようなキーワードをつづりどおりに書く。規格中で,この意味
の用語は,修飾語を付けずに “キーワード” と書く。キーワードの例としては,IF,READ,UNIT,KIND,INTEGER
などがある。
(2) 並びにある項目を名前で識別するために用いる。それらの項目は,実引数並び,型パラメタ並び 及び 構造体構
成子の中で,並び中の位置による代わりに,先行する “キーワード=” によって識別してよい。引数キーワード
(argument keyword) は,引用される手続の引用仕様内の仮引数名とする。型パラメタキーワード (type parameter
keyword) は,指定される型の型パラメタ名とする。成分キーワード (component keyword) は,構造体構成子の
成分名とする。
R215 キーワード is 名前
注記 2.6 並びの中で位置によって項目を識別するよりも,キーワードを使用したほうが読みやすく,並び
中の順序を変えることもできる。これによって,並びの宣言の一部の項目を省略することもできる。
2.5.3 結合
結合 (association) は,名前結合(16.4.1 参照),ポインタ結合(16.4.2 参照),記憶列結合(16.4.3 参照)又は
継承結合(16.4.4 参照)のいずれかとする。名前結合は,引数結合,親子結合,参照結合,他言語結合 又は 構文結
合のいずれかとする。
記憶列結合は,異なる要素に同じ記憶場所を使用させる。どの結合も,一つの要素を,同じ有効域内での異なる名
前によって識別したり,異なる有効域内での同じ名前 又は 異なる名前によって識別したりできるようにする。
2.5.4 宣言
宣言 (declaration) という用語は,いろいろな言語要素の属性の指定に対して用いる。多くの場合,これは,名前付
きデータ実体の型を指定するか,又は 名前付き配列実体の形状を指定する。
2.5.5 定義
定義 (denition) という用語は,次の 2 通りに用いる。
(1) 派生型の宣言 及び 手続の宣言を意味する。
(2) プログラムの実行中に有効な値が実体に与えられることとし,このときその実体は 確定 (dened) になるという。
これは,しばしば代入文 又は 入力文の実行によってなされる。変数が想定できるような値をもたないとき,そ
のような変数は,不定 (undened) であるという。同様に,ポインタが指示先と結合するか,又は 空状態になる
とき,そのポインタの結合状態は 確定 (dened) になるという。ポインタの結合状態が想定できない状態のとき,
そのポインタの結合状態は不定 (undened) であるという。

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

  18
X 3001-1 : 2009 (ISO/IEC 1539-1 : 2004)
変数が確定になったり不定になったりする要因は,箇条 16 による。
2.5.6 引用
データ実体引用 (data object reference) とは,実行中のその時点での値を要求する形でデータ実体特定子を書くこ
ととする。
手続引用 (procedure reference) とは,その時点での手続の実行を要求する形で手続特定子,演算子記号 又は 代入
記号を書くこととする。利用者定義の派生型入出力(10.6.5 参照)又は 利用者定義の派生型後始末(4.5.5.1 参照)
が行われることも,手続引用とする。
データ実体特定子 又は 手続特定子を実引数並び中に書いても,それは,その実引数の指定を完全にするために引
用が必要な場合を除いて,そのデータ実体 又は その手続の引用とはみなさない。
モジュール引用 (module reference) とは,USE 文にモジュール名を書くこととする(11.2.1 参照)。
2.5.7 組込み
組込み (intrinsic) という修飾語は,次の 2 通りの意味をもつ。
(1) 修飾された用語の表す言語要素がこの規格中で定義されていることを意味する。“組込み” は,型,手続,代入
及び 演算子を修飾する。すべての組込み型,組込み手続,組込み代入 及び 組込み演算子は,どの有効域におい
ても何らの定義も指定もなしに使用することができる。組込みモジュールは,参照結合によって参照できる。こ
の規格中で定義されている組込み手続 及び 組込みモジュールは,それぞれ標準組込み手続 及び 標準組込みモ
ジュールと呼ばれる。
(2) 処理系が提供するが,この規格中で定義されていない手続 又は モジュールを修飾する(箇条 13,14 及び 15.1
参照)。そのような手続 及び モジュールは,それぞれ非標準組込み手続 及び 非標準組込みモジュールと呼ぶ。
2.5.8 演算子
演算子 (operator) は,一つ(単項演算子の場合)又は 二つ(2 項演算子の場合)のデータ値すなわち演算対象
(operand) に対する計算処理を指定する。この規格は,幾つかの組込み演算子(例えば,数値演算対象に対する算術
演算子 +,-,*,/ 及び **,論理演算対象に対する論理演算子 .AND.,.OR. など)を指定する。プログラム中で,演
算子を追加して定義することもできる(7.1.3 参照)。
2.5.9 列
列 (sequence) は,番号 1, 2, . . . , n と 1 対 1 に対応させて順序付けられた集合とする。ここで,n は,列の要素の
個数とする。列は,空であってもよい。空の列には,要素がない。
空でない列の要素を,1 番目の要素,2 番目の要素,··· という。n を列の要素の個数とするとき,n 番目の要素を
最後の要素という。空の列には,1 番目の要素も最後の要素もない。
2.5.10 連携処理系
処理系は,一つ以上の連携処理系をもつ。連携処理系 (companion processor) は,大域的なデータ 及び 手続を引
用したり確定したりできる,処理系依存の機構とする。連携処理系は,Fortran 以外の手段(12.5.3 参照)によって,
そのような言語要素を引用 及び 確定する機構であってもよい。その処理系は,その Fortran 処理系自体であっても,
他の Fortran 処理系であってもよい。二つ以上の連携処理系がある場合,Fortran 処理系がそれらの中から選択する
手段は,処理系依存とする。
手続が,その Fortran 処理系自体ではない連携処理系によって定義される場合,この規格は,その手続を定義する
C 関数を引用する。ただし,手続を言語 C によって定義する必要はない。
注記 2.7 連携処理系は,言語 C の国際規格に合致する機構であってもなくてもよい。
例えば,処理系は,言語 C の国際規格の 6.7.5.3 で規定している C 原型で記述することができる
限り,Fortran 及び C 以外の言語で定義された手続を呼び出してもよい。

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

                                                                                                   19
X 3001-1 : 2009 (ISO/IEC 1539-1 : 2004)
3 文字,構文素 及び プログラム形式
箇条 3 では,Fortran 文字集合,及び 名前,演算子などの様々な構文素を規定する。更に,Fortran プログラムの
形式の規則についても規定する。
3.1 処理系の文字集合
処理系の文字集合は,処理系依存とする。処理系の文字集合の構成は,次のとおりとする。
(1) 制御文字 (control character)
(2) 図形文字 (graphic character)
(a) 英字(3.1.1 参照)
(b) 数字(3.1.2 参照)
(c) 下線(3.1.3 参照)
(d) 特殊文字(3.1.4 参照)
(e) その他の文字(3.1.5 参照)
Fortran文字集合 (Fortran character set) は,英字,数字,下線 及び 特殊文字からなる。
R301 文字 is 英数字下線
or 特殊文字
R302 英数字下線 is 英字
or 数字
or 下線
文字として使用する図形は,通貨記号を除いて,3.1.1,3.1.2,3.1.3 及び 3.1.4 で規定してあるものでなければ
ならない。しかし,図形の様式は,定義しない。
基本文字型は,Fortran 文字集合を包含する文字集合を提供しなければならない。処理系は,基本文字型でない文
字型を提供することによって,追加の文字集合を提供してもよい。ASCII 及び ISO 10646 文字集合で利用可能な文
字は,それぞれ JIS X 0201-1997 及び JIS X 0221-1 : 2001 UCS-4 で規定されている。他の基本文字型でない文
字型で利用可能な文字については,この規格では規定しない。ただし,基本文字型でない文字型においても,処理系
は,空白詰めのための空白文字として一つの文字を特定しておかなければならない。
3.1.1 英字
26 個の 英字 (letter) は,次のとおりとする。
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
英字の集合は,構文概念としての英字を定義する。処理系の文字集合には,英小文字 及び 英大文字を含まなけれ
ばならない。英小文字は,プログラム中の文字文脈(3.3 参照)の中を除いて,対応する英大文字と等価とする。
注記 3.1 次に示す文は等価である。
CALL BIG_COMPLEX_OPERATION (NDATE)
call big_complex_operation (ndate)
Call Big_Complex_Operation (NDate)
3.1.2 数字
10 個の 数字 (digit) は,次のとおりとする。
0 1 2 3 4 5 6 7 8 9
これらは,構文概念としての数字を定義する。

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

  20
X 3001-1 : 2009 (ISO/IEC 1539-1 : 2004)
3.1.3 下線
下線は,名前において意味のある文字として使用することができる。
R303 下線 is
3.1.4 特殊文字
特殊文字 (special character) は,表 3.1 のとおりとする。
表 3.1―特殊文字
文字 文字の名称 文字 文字の名称
空白 ; セミコロン
= 等号 ! 感嘆符
+ 正符号 " 引用符
- 負符号 % パーセント記号
* 星印 & アンド記号
/ 斜線 ~ チルド
\ 逆斜線 < 小記号
( 左括弧 > 大記号
) 右括弧 ・ 疑問符
[ 左角括弧 ’ アポストロフィ
] 右角括弧 ‘ 低アクセント
[{ 左波括弧 ^ 山記号
}] 右波括弧 | 縦線
, コンマ $ 通貨記号
. 小数点 又は ピリオド # 番号記号
: コロン @ 単価記号
特殊文字は,構文概念として特殊文字を定義する。特殊文字の幾つかは,演算子,括弧類,他の構文素の区切り記
号などとして使用する。
3.1.5 その他の文字
処理系によっては,その他の文字が表現可能であってもよいが,注釈 (3.3.1.1,3.3.2.1),文字定数 (4.4.4),入出
力記録 (9.1.1) 及び 文字列編集記述子 (10.2.1) にだけ指定することができる。
3.2 低水準構文
低水準構文 (low-level syntax) は,プログラム単位の基本的な構文素を規定する。構文素 (lexical token) は,プロ
グラムを構成する要素としての文字の列とする。構文素は,キーワード,名前,複素定数表現以外の定数表現,演算
子,文番号,括弧類,コンマ,=,=>,:,::,; 及び % とする。
3.2.1 名前
名前 (name) は,変数,プログラム単位,仮引数,名前付き定数,派生型などの各種の言語要素に使用する。
R304 名前 is 英字 [ 英数字下線 ] ...
C301 (R304) 名前の最大の長さは,63 文字とする。

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

                                                                                                   21
X 3001-1 : 2009 (ISO/IEC 1539-1 : 2004)
例 3.2 名前の例
A1
NAME_LENGTH (一つの下線)
S_P_R_E_A_D__O_U_T (二つの連続する下線)
TRAILER_ (最後の下線)
注記 3.3 “名前” という用語は,いつもこの特定の構文形式を示している。“識別子” という用語は,言語
要素が他の構文形式 又は 値によって識別される箇所で使う。その特定の意味は,使われる文脈に依
存する。
3.2.2 定数
R305 定数 is 定数表現
or 名前付き定数
R306 定数表現 is 整定数表現
or 実定数表現
or 複素定数表現
or 論理定数表現
or 文字定数表現
or 非 10 進定数表現
R307 名前付き定数 is 名前
R308 整定数 is 定数
C302 (R308) 整定数は,整数型でなければならない。
R309 文字定数 is 定数
C303 (R309) 文字定数は,文字型でなければならない。
3.2.3 演算子
R310 組込み演算子 is べき乗演算子
or 乗除演算子
or 加減演算子
or 連結演算子
or 関係演算子
or 否定演算子
or 論理積演算子
or 論理和演算子
or 論理等否演算子
R707 べき乗演算子 is **
R708 乗除演算子 is *
or /
R709 加減演算子 is +

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

次のページ PDF 36

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

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

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

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

規格番号
規格名称