名称列表输入规则

任何限定 name 的下标,条带和子串范围表达式都必须是没有类型参数的整数字面值常量。

如果 name 不是 数组派生类型的对象,那么 constant_list 必须包含单个常量。

您在输入文件中指定的变量名称必须出现在 NAMELIST 语句的 variable_name_list 中。 变量可以按任意顺序显示。

如果在 EQUIVALENCE 语句中指定的名称与 name共享存储器,那么不能在 variable_name_list中替换该名称。

可以在 name之前或之后使用一个或多个可选空格,但 name 不得包含嵌入式空格。

在每个 name-value 子序列中,该名称必须是具有可选限定的名称列表组项的名称。 具有可选资格的名称不得为:
  • 零大小的 array
  • 零大小的数组部分。
  • 零长度字符串。
如果指定可选限定,那么它不得包含 vector 下标

如果 name 是数组,没有向量下标的数组部分或结构,那么 name 将根据 有效列表项 (Fortran 2003)中概述的规则,在适用的情况下扩展为内部数据类型的标量列表项序列。

如果 name 是数组或结构,那么 constant_list 中的常量数必须小于或等于 name的扩展所指定的项数。 如果常量数小于项数,那么其余项将保留其先前的值。

可以使用以下命令指定空值:
  • r * 表单,指示空值的 r 连续出现。
  • 两个连续的 值分隔符 之间的空格跟在等号之后。
  • 在第一个值分隔符之前且在等号之后的零个或多个空格。
  • 两个连续的非空白值分隔符。

空值对相应输入列表项的定义状态没有影响。 如果定义了名称列表组对象列表项,那么它将保留其先前的值; 如果未定义,那么它将保持未定义状态。

如果十进制逗号方式有效,那么分号充当值分隔符而不是逗号。

不得将空值用作 复杂常量的实部分或虚部分。 单个空值可以表示整个复杂常量。

值分隔符后的记录末尾 (中间有空格或不有空格) 未指定空值。

设置 LANGLVL=EXTENDED 运行时选项时, IBM® Open XL Fortran 允许您与单个 array 元素一起指定多个输入值。 IBM Open XL Fortran 按数组元素顺序将值分配给该数组的连续元素。 数组元素不得指定子对象指示符。

请考虑以下示例,该示例声明数组 A ,如下所示:
      INTEGER A(100)
      NAMELIST /FOO/ A
      READ (5, FOO)
单元 5 包含以下输入:
 &FOO
 A(3) = 2, 10, 15, 16
 /
在执行 READ 语句期间, IBM Open XL Fortran 会分配以下值:
  • 2 to A(3)
  • 10 to A(4)
  • 15 to A(5)
  • 16 to A(6)

如果指定多个值与单个数组元素结合使用,那么必须使用前导句点指定任何 逻辑常量 ,例如 .T

如果在运行时使用 NAMELIST=OLD 选项,那么 OPENREAD 语句中的 BLANK= 说明符将确定 IBM Open XL Fortran 如何解释非字符常量之间的嵌入空格和尾部空格。

如果指定 -qmixed 编译器选项,那么名称列表组名和列表项名区分大小写。

作为 值分隔符 出现的斜杠将在前一个值的赋值后终止输入语句。 名称列表组对象中的任何其他项接收空值