J3/01-352 Date: 6 Nov 2001 To: J3 From: R. Maine Subject: ANNEX E NOV 2001 ANNEX E J3/01-352 Annex E (Informative) Index of syntax terms In this index, page numbers in bold face denote primary definitions of syntax terms, that is, on the left-hand sides of syntax rules that appear in the sections in which their primary definitions appear. Syntax rules are sometimes quoted in sections other than the section in which their primary definition appears. A associate-name, 152­155 abstract-interface-name (R1215), 43, 44, 49, 249, associate-stmt (R822), 154, 154, 161 250, 250 association (R823), 154, 154 ac-do-variable (R465), 62, 62, 63 assumed-shape-spec (R518), 73, 74, 74 ac-implied-do (R463), 62, 62, 63 assumed-size-spec (R520), 74, 75, 76 ac-implied-do-control (R464), 62, 62 asynchronous-stmt (R525), 10, 82 ac-spec (R459), 62, 62 attr-spec (R504), 65, 65, 66, 73 ac-value (R462), 62, 62, 63 access-id (R523), 81, 81, 82 B access-spec (R512), 41­44, 50, 51, 65, 72, 72, 81, backspace-stmt (R923), 11, 198, 270 250 binary-constant (R409), 34, 35 access-stmt (R522), 10, 50, 81, 82 bind-entity (R527), 82, 82, 83 action-stmt (R216), 10, 11, 149, 161 bind-stmt (R526), 10, 82, 82 action-term-do-construct (R836), 157, 157 binding (R445), 43, 44, 44 actual-arg (R1221), 252, 252, 253 binding-attr (R444), 43, 44, 44 actual-arg-spec (R1220), 251, 252, 252 binding-name, 43, 252, 381, 407 add-op (R709), 25, 112, 112 binding-private-stmt (R439), 43, 43 add-operand (R705), 112, 112, 130 blank-interp-edit-desc (R1016), 211, 211 alloc-opt (R624), 104, 104, 105 block (R801), 147, 148, 150, 152, 154, 156 allocatable-stmt (R524), 10, 82, 383 block-data (R1114), 9, 239, 239 allocate-lower-bound (R630), 104, 104 block-data-name, 239 allocate-object (R628), 67, 70, 77, 104, 104, 105, block-data-stmt (R1115), 9, 239, 239 106, 108, 109, 395 block-do-construct (R826), 156, 156 allocate-shape-spec (R629), 104, 104, 105 bounds-remapping (R738), 135, 136, 136, 137 allocate-stmt (R623), 11, 67, 77, 104, 395 bounds-spec (R737), 135, 136, 136, 137 allocate-upper-bound (R631), 104, 104 boz-literal-constant (R408), 25, 34, 35 allocation (R627), 104, 104, 105 alphanumeric-character (R302), 23, 23, 25 C alt-return-spec (R1222), 160, 251, 252, 252, 253 call-stmt (R1218), 11, 76, 251, 253, 254 and-op (R719), 25, 113, 113 case-construct (R808), 11, 150, 150 and-operand (R714), 113, 113, 114 case-construct-name, 150 arithmetic-if-stmt (R847), 11, 157, 161, 161 case-expr (R812), 150, 150 array-constructor (R458), 62, 62, 63, 111 case-selector (R813), 150, 150 array-element (R616), 83, 84, 91, 97, 98, 101, 101 case-stmt (R810), 150, 150 array-name, 85, 384 case-value (R815), 150, 150 array-section (R617), 97, 101, 101, 102 case-value-range (R814), 150, 150 array-spec (R514), 6, 65, 66, 68, 73, 73, 85, 87 char-constant (R309), 25, 25, 162 assignment-stmt (R734), 11, 131, 132, 138, 141, char-expr (R725), 116, 116, 120, 150 143, 270, 395 char-initialization-expr (R731), 73, 120, 120, 150, associate-construct (R821), 10, 154, 154 178, 179 associate-construct-name, 154 char-length (R511), 42, 66, 67, 69, 69, 70 NOV 2001 ANNEX E 477 J3/01-352 ANNEX E NOV 2001 char-literal-constant (R421), 25, 30, 38, 194, 211, default-char-variable (R607), 97, 97, 104, 170, 173, 212 200­205 char-selector (R509), 65, 69, 70 default-logical-variable (R605), 97, 97, 200, 202­ char-string-edit-desc (R1019), 210, 212 204 char-variable (R606), 97, 97 deferred-shape-spec (R519), 42, 66, 73, 75, 75, 79, character (R301), 23 82, 86 close-spec (R909), 177, 177 defined-binary-op (R723), 26, 114, 114, 115, 116, close-stmt (R908), 11, 177, 270 237 common-block-name, 82, 87, 93, 238 defined-operator (R311), 26, 44, 238, 244 common-block-object (R562), 93, 93, 238, 384 defined-unary-op (R703), 26, 112, 112, 115, 116, common-stmt (R561), 10, 93, 384 129, 237 complex-literal-constant (R418), 25, 37 derived-type-def (R423), 10, 41, 41, 42, 44, 45, 71 component-array-spec (R434), 42, 42, 47 derived-type-spec (R447), 56, 56, 57, 60, 65, 71, component-attr-spec (R432), 42, 42, 43, 48 192, 381 component-decl (R433), 42, 42, 47, 70 derived-type-stmt (R424), 41, 41, 45, 50, 53, 384 component-def-stmt (R430), 41, 42, 42, 47, 71 designator (R603), 84, 97, 97, 100, 111 component-initialization (R435), 42, 42, 43, 236 digit, 5, 23, 24, 26, 34, 35, 162 component-name, 42 digit-string (R403), 34, 34, 36, 215 component-spec (R450), 56, 56, 57, 119 digit-string, 34 computed-goto-stmt (R846), 11, 161, 161 dimension-stmt (R539), 10, 85, 384 concat-op (R711), 25, 112, 113, 113 do-block (R832), 156, 156, 157, 158 connect-spec (R905), 173, 173 do-body (R837), 157, 157 constant (R305), 25, 25, 84, 98, 111 do-construct (R825), 11, 156, 159 constant-subobject (R538), 84, 84, 111 do-construct-name, 156, 159 contains-stmt (R1236), 10, 43, 267 do-stmt (R827), 156, 156, 157, 161 continue-stmt (R848), 11, 156, 157, 161 do-term-action-stmt (R838), 157, 157, 159, 161 control-edit-desc (R1011), 210, 211 do-term-shared-stmt (R842), 157, 157, 158, 159, cycle-stmt (R843), 11, 157, 159, 159 161 do-variable (R831), 156, 156, 158, 183, 184, 208 D dtio-generic-spec (R1208), 44, 49, 55, 191, 192, 195, d (R1008), 210, 211, 211, 215­218, 220, 221, 228 244, 244, 377 data-component-def-stmt (R431), 42, 42 dtv-type-spec (R920), 192 data-component-part (R428), 41, 41, 50 dummy-arg (R1232), 264, 264, 265 data-edit-desc (R1005), 210, 210 dummy-arg-name (R1226), 85­87, 261, 262, 262, data-i-do-object (R532), 83, 83, 84 264, 268, 269, 384 data-i-do-variable (R533), 83, 83 data-implied-do (R531), 83, 83, 84 E data-pointer-component-name, 135, 136 e (R1009), 210, 211, 211, 216, 217, 220, 228 data-pointer-object (R736), 135, 135, 136, 137 else-if-stmt (R804), 148, 148 data-ref (R612), 98, 99, 101, 181, 252, 254 else-stmt (R805), 148, 148 data-stmt (R528), 10, 83, 244, 270, 384 elsewhere-stmt (R749), 138, 138, 139 data-stmt-constant (R536), 84, 84, 85 end-associate-stmt (R824), 154, 154, 161 data-stmt-object (R530), 83, 83, 84 end-block-data-stmt (R1116), 9, 14, 15, 239, 239 data-stmt-repeat (R535), 84, 84 end-do (R833), 156, 156, 157, 159 data-stmt-set (R529), 83, 83 end-do-stmt (R834), 156, 156, 161 data-stmt-value (R534), 83, 84, 84 end-enum-stmt (R457), 60, 60 data-target (R739), 67, 135, 136, 136, 137, 144 end-forall-stmt (R757), 141, 141 dealloc-opt (R636), 108, 108 end-function-stmt (R1229), 9, 11, 14, 15, 149, 157, deallocate-stmt (R635), 11, 67, 77, 108, 395 244, 261, 262, 262, 267 decimal-edit-desc (R1018), 211, 212 end-if-stmt (R806), 148, 148, 161 declaration-construct (R207), 9, 10 end-interface-stmt (R1204), 244, 244 declaration-type-spec (R502), 42, 60, 65, 65, 68, 88, end-module-stmt (R1106), 9, 14, 15, 236, 236 89, 250, 262, 264 end-program-stmt (R1103), 9, 11, 14, 15, 149, 157, default-char-expr (R726), 116, 116, 173­183 235, 235 478 ANNEX E NOV 2001 NOV 2001 ANNEX E J3/01-352 end-select-stmt (R811), 150, 150, 151, 161 forall-stmt (R758), 11, 141, 145, 145 end-select-type-stmt (R820), 152, 153, 153, 154, forall-triplet-spec (R754), 141, 141, 142, 143, 145 161 format (R914), 178­180, 180, 188, 209, 210 end-subroutine-stmt (R1233), 9, 11, 14, 15, 149, format-item (R1003), 209, 210, 210 157, 264, 264, 267 format-specification (R1002), 209, 209 end-type-stmt (R446), 41, 44 format-stmt (R1001), 10, 209, 209, 236, 244 end-where-stmt (R750), 138, 138, 139 function-name, 66, 67, 76, 245, 249, 261­263, 268, endfile-stmt (R924), 11, 198, 270 269, 377, 383 entity-decl (R505), 65, 66, 66, 67, 68, 70, 73, 383 function-reference (R1217), 57, 76, 111, 251, 254, entity-name, 82, 86 260 entry-name, 265­267, 377 function-stmt (R1224), 9, 244, 245, 249, 261, 261, entry-stmt (R1234), 10, 236, 244, 265, 265, 377, 262, 267, 268, 377, 384 384 function-subprogram (R1223), 9, 10, 261 enum-alias-def (R453), 10, 60, 61 enum-def-stmt (R454), 60, 60 G enumerator (R456), 60, 60 generic-binding (R442), 43, 43, 44, 48, 49 enumerator-def-stmt (R455), 60, 60 generic-name, 44, 244, 384 equiv-op (R721), 25, 113, 113 generic-spec (R1207), 43, 44, 49, 55, 81, 129, 135, equiv-operand (R716), 113, 113, 114 192, 193, 237, 238, 244, 244, 384 equivalence-object (R560), 91, 91, 238 goto-stmt (R845), 11, 157, 161, 161 equivalence-set (R559), 91, 91, 92 equivalence-stmt (R558), 10, 91, 384 H errmsg-variable (R626), 104, 104, 105, 108, 392, hex-constant (R411), 35, 35 395 hex-digit (R412), 35, 35 executable-construct (R215), 10, 10, 13, 265 execution-part (R208), 9, 10, 11, 235, 261, 263, 264 I execution-part-construct (R209), 10, 10, 147, 157 if-construct (R802), 11, 148, 148 exit-stmt (R844), 11, 157, 159, 159 if-construct-name, 148 explicit-shape-spec (R515), 42, 66, 73, 74, 74, 75, if-stmt (R807), 11, 149, 149 76, 93, 94 if-then-stmt (R803), 148, 148, 161 exponent (R417), 36, 36 imag-part (R420), 37, 37 exponent-letter (R416), 36, 36 implicit-part (R205), 9, 10 expr (R722), 6, 56, 57, 59, 62, 111, 114, 114, 116, implicit-part-stmt (R206), 10, 10 117, 120, 131­136, 140, 143, 152, 183, 252, implicit-spec (R554), 88, 88 268­270 implicit-stmt (R553), 10, 88 extended-intrinsic-op (R312), 26, 26 import-name, 245 extensible-type-name, 153 import-stmt (R1209), 9, 245 external-name, 249 index-name, 141­146, 381, 382, 393, 394 external-stmt (R1210), 10, 249, 383 initialization (R507), 66, 66, 67, 68 external-subprogram (R203), 9, 9, 265 initialization-expr (R730), 41, 42, 46, 66, 68, 79, F 86, 120, 120 inner-shared-do-construct (R841), 157, 157 file-name-expr (R906), 173, 173, 175, 200, 201, 203 input-item (R915), 178, 179, 183, 183, 184, 196, file-unit-number (R902), 170, 170, 173, 177, 179, 208, 395 193, 197, 198, 200, 201, 270 inquire-spec (R928), 199, 200, 200, 201, 206, 208 final-binding (R443), 43, 44 inquire-stmt (R927), 11, 199, 270 final-subroutine-name, 44 int-constant (R308), 25, 25, 84 forall-assignment-stmt (R756), 141, 141, 143­145, int-constant-name, 34 271 int-constant-subobject (R537), 84, 84 forall-body-construct (R755), 141, 141, 143, 145 int-expr (R727), 32, 62, 83, 98, 101, 104, 116, 116, forall-construct (R751), 11, 141, 141, 142, 144, 145 118, 120, 141, 150, 156, 158, 161, 170, 173, forall-construct-name, 141 179, 183, 266 forall-construct-stmt (R752), 141, 141, 161 int-initialization-expr (R732), 60, 61, 66, 67, 69, forall-header (R753), 141, 141, 145, 146 120, 120, 150 NOV 2001 ANNEX E 479 J3/01-352 ANNEX E NOV 2001 int-literal-constant (R405), 25, 34, 34, 35, 69, 210, logical-variable (R604), 97, 97 211 loop-control (R830), 156, 156, 158, 160 int-variable (R608), 62, 83, 97, 97, 104, 156, 173, lower-bound (R516), 74, 74, 75, 76, 136 177, 179, 197­200, 203­206 intent-spec (R521), 66, 76, 85, 250 M intent-stmt (R540), 10, 85 m (R1007), 210, 211, 211, 214, 215 interface-block (R1201), 10, 244, 244, 270 main-program (R1101), 9, 235, 235 interface-body (R1205), 244, 244, 245, 383 mask-expr (R747), 138, 138, 139­141, 143­145 interface-specification (R1202), 244, 244 masked-elsewhere-stmt (R748), 138, 138, 139, 144 interface-stmt (R1203), 244, 244, 247, 384 module (R1104), 9, 236 internal-file-variable (R903), 170, 170, 179, 395 module-name, 236, 237, 383 internal-subprogram (R211), 10, 10 module-nature (R1108), 237, 237 internal-subprogram-part (R210), 9, 10, 235, 261, module-stmt (R1105), 9, 236, 236 262, 264, 270 module-subprogram (R213), 10, 10, 265 intrinsic-operator (R310), 25, 26, 112, 114, 115, module-subprogram-part (R212), 9, 10, 49, 55, 236 247 mult-op (R708), 25, 112, 112 intrinsic-procedure-name, 251, 384 mult-operand (R704), 112, 112, 130 intrinsic-stmt (R1216), 10, 251, 384 io-control-spec (R913), 178, 178, 179, 193, 208 N io-implied-do (R917), 183, 183, 184, 189, 208 n (R1014), 211, 211 io-implied-do-control (R919), 183, 183 name (R304), 19, 25, 25, 66, 87, 97, 153, 189, 250, io-implied-do-object (R918), 183, 183, 184 262 io-unit (R901), 170, 170, 178, 179, 270 name, 6 iomsg-variable (R907), 173, 173, 177, 179, 197, named-constant (R307), 25, 25, 30, 37, 60, 86, 384 198, 200, 207, 208, 392 named-constant-def (R543), 86, 86, 384 K namelist-group (R??), 394 namelist-group-name, 90, 178­181, 188, 190, 209, k (R1012), 211, 211, 216, 221, 224 230, 234, 238, 384, 395 keyword (R217), 19, 19, 56, 57, 252 namelist-group-object (R557), 90, 90, 188, 189, kind-param (R406), 34, 34, 35, 36, 38, 40, 69 191, 196, 208, 229, 230 kind-selector (R508), 6, 41, 60, 61, 65, 66, 67 namelist-object (R??), 238 L namelist-stmt (R556), 10, 90, 384, 395 nonblock-do-construct (R835), 156, 157 label (R313), 26, 26, 156, 157, 161, 173, 177­180, nonlabel-do-stmt (R829), 156, 156 197, 198, 200, 252, 253 not-op (R718), 25, 113, 113 label-do-stmt (R828), 156, 156, 157 nullify-stmt (R633), 11, 67, 77, 108, 395 language-binding-spec (R513), 66, 67, 73, 82, 83, numeric-expr (R728), 35, 116, 116, 161 250, 261, 268 left-square-bracket (R460), 62, 62 O length-selector (R510), 6, 68, 69, 69, 70 object-name (R506), 66, 66, 67, 68, 79, 82, 86­88, letter, 23, 23, 25, 26, 88, 112, 114 97, 383 letter-spec (R555), 88, 88 octal-constant (R410), 35, 35 level-1-expr (R702), 112, 112, 130 only (R1110), 237, 237, 238 level-2-expr (R706), 112, 112, 113, 130 only-use-name (R1111), 237, 237, 238 level-3-expr (R710), 113, 113 open-stmt (R904), 11, 173, 270 level-4-expr (R712), 113, 113, 114 optional-stmt (R541), 10, 86 level-5-expr (R717), 113, 113, 114 or-op (R720), 25, 113, 113 literal-constant (R306), 25, 25 or-operand (R715), 113, 113, 114 local-defined-operator (R1112), 237, 237, 238 outer-shared-do-construct (R839), 157, 157 local-name, 237, 238 output-item (R916), 178, 179, 183, 183, 184, 196, logical-expr (R724), 116, 116, 120, 138, 148­150, 199 156, 158, 159 logical-initialization-expr (R733), 120, 120, 150 P logical-literal-constant (R422), 25, 40, 112, 114 parameter-stmt (R542), 10, 86, 384 480 ANNEX E NOV 2001 NOV 2001 ANNEX E J3/01-352 parent-string (R610), 98, 98 rewind-stmt (R925), 11, 198, 270 parent-type-name, 41 right-square-bracket (R461), 62, 62 part-name, 98, 99, 101, 254 round-edit-desc (R1017), 211, 211 part-ref (R613), 83, 91, 98, 98, 99, 101, 102 pointer-assignment-stmt (R735), 11, 67, 77, 135, S 141, 144, 270, 395 save-stmt (R547), 10, 87, 383 pointer-decl (R545), 86, 86 saved-entity (R548), 68, 87, 87 pointer-object (R634), 67, 77, 108, 108, 136, 137, scalar-xyz (R103), 6, 6 144, 286, 395 section-subscript (R619), 98, 99, 101, 101, 102 pointer-stmt (R544), 10, 86, 383 select-case-stmt (R809), 150, 150, 161 position-edit-desc (R1013), 211, 211 select-construct-name, 152, 153 position-spec (R926), 198, 198 select-type-construct (R816), 11, 152, 153 power-op (R707), 25, 112, 112 select-type-stmt (R817), 152, 152, 153, 161 prefix (R1227), 261, 262, 262, 264 selector (R818), 152, 152, 153, 154, 386, 395 prefix-spec (R1228), 262, 262, 263­265, 269, 271 shared-term-do-construct (R840), 157, 157 primaries, 269 sign (R407), 34, 34, 36, 215 primary (R701), 111, 111, 112 sign-edit-desc (R1015), 211, 211 print-stmt (R912), 11, 178, 270 signed-digit-string (R402), 34, 36, 214, 215 private-sequence-stmt (R429), 41, 41, 42 signed-int-literal-constant (R404), 34, 34, 37, 84, proc-attr-spec (R1213), 249, 250 211 proc-binding-stmt (R440), 43, 43, 48, 321 signed-real-literal-constant (R413), 36, 37, 84 proc-component-attr-spec (R437), 43, 43 significand (R415), 36, 36 proc-component-def-stmt (R436), 42, 43, 43 source-variable (R632), 104, 104, 105 proc-decl (R1214), 43, 249, 250, 250 special-character, 23, 24 proc-entity-name, 86 specific-binding (R441), 43, 43 proc-interface (R1212), 43, 249, 250, 250 specification-expr (R729), 65, 66, 68, 74, 118, 271 proc-interface-name, 321 specification-part (R204), 9, 9, 44, 72, 82, 86, 119, proc-language-binding-spec (R1225), 261, 261, 262, 120, 235, 236, 239, 244, 261, 264, 269, 270 264, 265, 267, 268 specification-stmt (R214), 10, 10 proc-pointer-name (R549), 87, 87, 93, 108, 136, 384 stat-variable (R625), 104, 104, 105, 106, 108, 395 proc-pointer-object (R740), 135, 136, 137 stmt-function-stmt (R1237), 10, 236, 244, 268, 383, proc-target (R741), 67, 135, 136, 136, 137 384 procedure-component-name, 136, 252 stop-code (R850), 162, 162 procedure-declaration-stmt (R1211), 10, 86, 249 stop-stmt (R849), 11, 157, 162, 270 procedure-designator (R1219), 251, 251 stride (R621), 101, 101, 141, 143, 145, 187 procedure-entity-name, 250 structure-component (R614), 83, 84, 97­99, 99, procedure-name, 44, 49, 136, 137, 244, 245, 251­253 104, 108, 254 procedure-stmt (R1206), 244, 244, 245 structure-constructor (R449), 56, 57, 60, 84, 111 program (R201), 9, 9 subroutine-name, 76, 245, 249, 264, 376 program-name, 235 subroutine-stmt (R1231), 9, 244, 245, 249, 261, 262, program-stmt (R1102), 9, 235, 235 264, 264, 267, 268, 376, 377, 384 program-unit (R202), 6, 9, 9, 235 subroutine-subprogram (R1230), 9, 10, 264 protected-stmt (R546), 10, 86 subscript (R618), 6, 83, 101, 101, 141, 145, 187 subscript-triplet (R620), 101, 101, 102 R substring (R609), 91, 97, 98 r (R1004), 210, 210, 211, 212 substring-range (R611), 98, 98, 99, 101, 187 read-stmt (R910), 11, 178, 179, 270, 395 real-literal-constant (R414), 25, 36, 36 T real-part (R419), 37, 37 target (R??), 258, 270, 286 rel-op (R713), 25, 113, 113, 127 target-stmt (R550), 10, 87, 383 rename (R1109), 237, 237, 238 type-alias (R452), 53, 60, 60 rep-char, 38, 38, 212, 226, 231 type-alias-name, 56, 60, 61, 65, 384 result-name, 261, 263, 265, 384 type-alias-stmt (R451), 10, 60, 384 return-stmt (R1235), 11, 15, 157, 266, 266 type-attr-spec (R425), 41, 41, 46, 91 NOV 2001 ANNEX E 481 J3/01-352 ANNEX E NOV 2001 type-bound-procedure-part (R438), 41, 42, 43, 50 type-declaration-stmt (R501), 10, 65, 66, 70, 270, 383 type-guard-stmt (R819), 152, 153, 153 type-name, 41, 43­45, 53, 56, 71, 408 type-param-attr-spec (R427), 41, 41, 45 type-param-def-stmt (R426), 41, 41, 45 type-param-inquiry (R615), 100, 100, 111, 381 type-param-name, 41, 45, 100, 111, 381, 384 type-param-spec (R448), 56, 56 type-param-value (R401), 32, 32, 33, 42, 56, 63, 65, 66, 68­70, 104, 105 type-spec (R503), 62, 63, 65, 65, 70, 104, 105 U underscore (R303), 23, 24 upper-bound (R517), 74, 74, 136 use-defined-operator (R1113), 237, 237, 238 use-name, 81, 82, 237, 238 use-stmt (R1107), 9, 237, 237, 383 V v (R1010), 194, 211, 211, 222 value-stmt (R551), 10, 87 variable (R601), 59, 83, 97, 97, 104, 109, 111, 131­ 136, 139, 140, 143, 144, 152­154, 183, 208, 252, 254, 270, 395 variable-name (R602), 90, 91, 93, 94, 97, 97, 98, 104, 108, 135, 136, 384, 395 vector-subscript (R622), 101, 101, 102 volatile-stmt (R552), 10, 88 W w (R1006), 210, 211, 211, 214­217, 219­221, 226, 228 wait-spec (R922), 197, 197 wait-stmt (R921), 11, 197 where-assignment-stmt (R746), 138, 138, 139, 140, 144, 399 where-body-construct (R745), 138, 138, 139, 140 where-construct (R743), 11, 138, 138, 139, 141, 144 where-construct-name, 138, 139 where-construct-stmt (R744), 138, 138, 139, 144, 161 where-stmt (R742), 11, 138, 138, 139, 141, 144 write-stmt (R911), 11, 178, 179, 270, 395 X xyz-list (R101), 6 xyz-name (R102), 6 482 ANNEX E NOV 2001