Rule 913 - Control information list.
io-control-spec-list is a list of io-control-spec items.
Subject to the following constraints:
C909 No specifier shall appear more than once in a given
io-control-spec-list.
C910 An io-unit shall be specified; if the optional characters UNIT= are
omitted, the io-unit shall be the first item in the
io-control-spec-list.
C911 A DELIM= or SIGN= specifier shall not appear in a read-stmt.
C912 A BLANK=, PAD=, END=, EOR=, or SIZE=specifier shall not appear in a
write-stmt.
C913 The label in the ERR=, EOR=, or END= specifier shall be the statement
label of a branch target statement that appears in the same scoping
unit as the data transfer statement.
C914 A namelist-group-name shall be the name of a namelist group.
C915 A namelist-group-name shall not appear if an input-item-list or an
output-item-list appears in the data transfer statement.
C916 An io-control-spec-list shall not contain both a format and a
namelist-group-name.
C917 If format appears without a preceding FMT=, it shall be the second
item in the iocontrol-spec-list and the first item shall be io-unit.
C918 If namelist-group-name appears without a preceding NML=, it shall be
the second item in the io-control-spec-list and the first item shall
be io-unit.
C919 If io-unit is not a file-unit-number, the io-control-spec-list shall
not contain a REC= specifier or a POS= specifier.
C920 If the REC= specifier appears, an END= specifier shall not appear, a
namelist-groupname shall not appear, and the format, if any, shall not
be an asterisk.
C921 An ADVANCE= specifier may appear only in a formatted sequential or
stream input/output statement with explicit format specification
(10.1) whose control information list does not contain an
internal-file-variable as the io-unit.
C922 If an EOR= specifier appears, an ADVANCE= specifier also shall appear.
C923 If a SIZE= specifier appears, an ADVANCE= specifier also shall appear.
C924 The scalar-char-initialization-expr in an ASYNCHRONOUS= specifier
shall be of type default character and shall have the value YES or NO.
C925 An ASYNCHRONOUS= specifier with a value YES shall not appear unless
io-unit is a file-unit-number.
C926 If an ID= specifier appears, an ASYNCHRONOUS= specifier with the value
YES shall also appear.
C927 If a POS= specifier appears, the io-control-spec-list shall not
contain a REC= specifier.
C928 If a DECIMAL=, BLANK=, PAD=, SIGN=, or ROUND= specifier appears, a
format or namelist-group-name shall also appear.
C929 If a DELIM= specifier appears, either format shall be an asterisk or
namelist-group-name shall appear.
TODO #267. Of these constraints, only C910 & C916-918 are currently
enforced.
Definition at line 8117 of file Fortran2003.py.