| 1 | 501 program
|
|---|
| 2 | 502 program unit
|
|---|
| 3 | 503 external subprogram
|
|---|
| 4 | 504 specification part
|
|---|
| 5 | 505 implicit part
|
|---|
| 6 | 506 implicit part stmt
|
|---|
| 7 | 507 declaration construct
|
|---|
| 8 | 508 specification construct
|
|---|
| 9 | 509 execution part
|
|---|
| 10 | 510 execution part construct
|
|---|
| 11 | 511 internal subprogram part
|
|---|
| 12 | 512 internal subprogram
|
|---|
| 13 | 513 other specification stmt
|
|---|
| 14 | 514 executable construct
|
|---|
| 15 | 515 action stmt
|
|---|
| 16 | 516 keyword
|
|---|
| 17 |
|
|---|
| 18 | 601 alphanumeric character
|
|---|
| 19 | 602 underscore
|
|---|
| 20 | 603 name
|
|---|
| 21 | 604 constant
|
|---|
| 22 | 605 literal constant
|
|---|
| 23 | 606 named constant
|
|---|
| 24 | 607 int constant
|
|---|
| 25 | 608 intrinsic operator
|
|---|
| 26 | 609 defined operator
|
|---|
| 27 | 610 extended intrinsic op
|
|---|
| 28 | 611 label
|
|---|
| 29 |
|
|---|
| 30 | 701 type param value
|
|---|
| 31 | 702 type spec
|
|---|
| 32 | 703 declaration type spec
|
|---|
| 33 | 704 intrinsictype spec
|
|---|
| 34 | 705 integer type spec
|
|---|
| 35 | 706 kind selector
|
|---|
| 36 | 707 signed int literal constant
|
|---|
| 37 | 708 int literal constant
|
|---|
| 38 | 709 kind param
|
|---|
| 39 | 710 signed digit string
|
|---|
| 40 | 711 digit string
|
|---|
| 41 | 712 sign
|
|---|
| 42 | 713 signed real literal constant
|
|---|
| 43 | 714 real literal constant
|
|---|
| 44 | 715 significand
|
|---|
| 45 | 716 exponent letter
|
|---|
| 46 | 717 exponent
|
|---|
| 47 | 718 complex literal constant
|
|---|
| 48 | 719 real part
|
|---|
| 49 | 720 imag part
|
|---|
| 50 | 721 char selector
|
|---|
| 51 | 722 length selector
|
|---|
| 52 | 723 char length
|
|---|
| 53 | 724 char literal constant
|
|---|
| 54 | 725 logical literal constant
|
|---|
| 55 | 726 derived type def
|
|---|
| 56 | 727 derived type stmt
|
|---|
| 57 | 728 type attr spec
|
|---|
| 58 | 729 private or sequence
|
|---|
| 59 | 730 end type stmt
|
|---|
| 60 | 731 sequence stmt
|
|---|
| 61 | 732 type param def stmt
|
|---|
| 62 | 733 type param decl
|
|---|
| 63 | 734 type param attr spec
|
|---|
| 64 | 735 component part
|
|---|
| 65 | 736 component def stmt
|
|---|
| 66 | 737 data component def stmt
|
|---|
| 67 | 738 component attr spec
|
|---|
| 68 | 739 component decl
|
|---|
| 69 | 740 component array spec
|
|---|
| 70 | 741 proc component def stmt
|
|---|
| 71 | 742 proc component attr spec
|
|---|
| 72 | 743 component initialization
|
|---|
| 73 | 744 initial data target
|
|---|
| 74 | 745 private components stmt
|
|---|
| 75 | 746 type bound procedure part
|
|---|
| 76 | 747 binding private stmt
|
|---|
| 77 | 748 type bound procedure stmt
|
|---|
| 78 | 749 type bound procedure stmt
|
|---|
| 79 | 750 type bound proc decl
|
|---|
| 80 | 751 type bound generic stmt
|
|---|
| 81 | 752 binding attr
|
|---|
| 82 | 753 final procedure stmt
|
|---|
| 83 | 754 derived type spec
|
|---|
| 84 | 755 type param spec
|
|---|
| 85 | 756 structure constructor
|
|---|
| 86 | 757 component spec
|
|---|
| 87 | 758 component data source
|
|---|
| 88 | 759 enum def
|
|---|
| 89 | 760 enum def stmt
|
|---|
| 90 | 761 enumerator def stmt
|
|---|
| 91 | 762 enumerator
|
|---|
| 92 | 763 end enum stmt
|
|---|
| 93 | 764 boz literal constant (bin,oct and hex)
|
|---|
| 94 | 765 binary constant
|
|---|
| 95 | 766 octal constant
|
|---|
| 96 | 767 hex constant
|
|---|
| 97 | 768 hex digit
|
|---|
| 98 | 769 array constructor
|
|---|
| 99 | 770 ac spec
|
|---|
| 100 | 771 lbracket
|
|---|
| 101 | 772 rbracket
|
|---|
| 102 | 773 ac value
|
|---|
| 103 | 774 ac implied do
|
|---|
| 104 | 775 ac implied do control
|
|---|
| 105 | 776 ac do variable
|
|---|
| 106 |
|
|---|
| 107 | 801 type declaration stmt
|
|---|
| 108 | 802 attr spec
|
|---|
| 109 | 803 entity decl
|
|---|
| 110 | 804 object name
|
|---|
| 111 | 805 initialization
|
|---|
| 112 | 806 null init
|
|---|
| 113 | 807 access spec
|
|---|
| 114 | 808 language binding spec
|
|---|
| 115 | 809 coarray spec
|
|---|
| 116 | 810 deferred coshape spec
|
|---|
| 117 | 811 explicit coshape spec
|
|---|
| 118 | 812 lower cobound
|
|---|
| 119 | 813 upper cobound
|
|---|
| 120 | 814 dimension spec
|
|---|
| 121 | 815 array spec
|
|---|
| 122 | 816 eplicit shape spec
|
|---|
| 123 | 817 lower bound
|
|---|
| 124 | 818 upper bound
|
|---|
| 125 | 819 assumed shape spec
|
|---|
| 126 | 820 deferred shape spec
|
|---|
| 127 | 821 assumed implied spec
|
|---|
| 128 | 822 assumed size spec
|
|---|
| 129 | 823 implied shape or assumed size spec
|
|---|
| 130 | 824 implied shape spec
|
|---|
| 131 | 825 assumed rank spec
|
|---|
| 132 | 826 intent spec
|
|---|
| 133 | 827 access stmt
|
|---|
| 134 | 828 access id
|
|---|
| 135 | 829 allocatable stmt
|
|---|
| 136 | 830 allocatable decl
|
|---|
| 137 | 831 asynchronous stmt
|
|---|
| 138 | 832 bind stmt
|
|---|
| 139 | 833 bind entity
|
|---|
| 140 | 834 codimension stmt
|
|---|
| 141 | 835 codimension decl
|
|---|
| 142 | 836 contiguous stmt
|
|---|
| 143 | 837 data stmt
|
|---|
| 144 | 838 data stmt set
|
|---|
| 145 | 839 data stmt object
|
|---|
| 146 | 840 data implied do
|
|---|
| 147 | 841 data i do object
|
|---|
| 148 | 842 data i do variable
|
|---|
| 149 | 843 data stmt value
|
|---|
| 150 | 844 data stmt repeat
|
|---|
| 151 | 845 data stmt constant
|
|---|
| 152 | 846 int constant subobject
|
|---|
| 153 | 847 constant subobject
|
|---|
| 154 | 848 dimension stmt
|
|---|
| 155 | 849 intent stmt
|
|---|
| 156 | 850 optional stmt
|
|---|
| 157 | 851 parameter stmt
|
|---|
| 158 | 852 named constant def
|
|---|
| 159 | 853 pinter stmt
|
|---|
| 160 | 854 pointer decl
|
|---|
| 161 | 855 protected stmt
|
|---|
| 162 | 856 save stmt
|
|---|
| 163 | 857 saved entity
|
|---|
| 164 | 858 proc pointer name
|
|---|
| 165 | 859 target stmt
|
|---|
| 166 | 860 target decl
|
|---|
| 167 | 861 value stmt
|
|---|
| 168 | 862 volatile stmt
|
|---|
| 169 | 863 implicit stmt
|
|---|
| 170 | 864 implicit spec
|
|---|
| 171 | 865 letter spec
|
|---|
| 172 | 866 implicit none spec
|
|---|
| 173 | 867 import stmt
|
|---|
| 174 | 868 namelist stmt
|
|---|
| 175 | 869 namelist group object
|
|---|
| 176 | 870 equivalence stmt
|
|---|
| 177 | 871 euivalence set
|
|---|
| 178 | 872 equivalence object
|
|---|
| 179 | 873 common stmt
|
|---|
| 180 | 874 common block object
|
|---|
| 181 |
|
|---|
| 182 | 901 designator
|
|---|
| 183 | 902 variable
|
|---|
| 184 | 903 variable name
|
|---|
| 185 | 904 logical variable
|
|---|
| 186 | 905 char variable
|
|---|
| 187 | 906 default char variable
|
|---|
| 188 | 907 int variable
|
|---|
| 189 | 908 substring
|
|---|
| 190 | 909 parent string
|
|---|
| 191 | 910 substring range
|
|---|
| 192 | 911 data ref
|
|---|
| 193 | 912 part ref
|
|---|
| 194 | 913 structure component
|
|---|
| 195 | 914 coindexed named object
|
|---|
| 196 | 915 complex part designator
|
|---|
| 197 | 916 type param inquiry
|
|---|
| 198 | 917 array element
|
|---|
| 199 | 918 array section
|
|---|
| 200 | 919 subscript
|
|---|
| 201 | 920 section subscript
|
|---|
| 202 | 921 subscript triplet
|
|---|
| 203 | 922 stride
|
|---|
| 204 | 923 vector subscript
|
|---|
| 205 | 924 image selector
|
|---|
| 206 | 925 cosubscript
|
|---|
| 207 | 926 image selector spec
|
|---|
| 208 | 927 allocate stmt
|
|---|
| 209 | 928 alloc opt
|
|---|
| 210 | 929 errmsg variable
|
|---|
| 211 | 930 source expr
|
|---|
| 212 | 931 allocation
|
|---|
| 213 | 932 allocate object
|
|---|
| 214 | 933 allocate shape spec
|
|---|
| 215 | 934 lower bound expr
|
|---|
| 216 | 935 upper bound expr
|
|---|
| 217 | 936 allocate coarray spec
|
|---|
| 218 | 937 allocate coshape spec
|
|---|
| 219 | 938 nullify stmt
|
|---|
| 220 | 939 pointer object
|
|---|
| 221 | 940 deallocate stmt
|
|---|
| 222 | 941 dealloc opt
|
|---|
| 223 | 942 stat variable
|
|---|
| 224 |
|
|---|
| 225 | 1001 primary
|
|---|
| 226 | 1002 level 1 expr
|
|---|
| 227 | 1003 defined unary op . letter+ .
|
|---|
| 228 | 1004 mult operand
|
|---|
| 229 | 1005 add operand
|
|---|
| 230 | 1006 level 2 expr
|
|---|
| 231 | 1007 power op **
|
|---|
| 232 | 1008 mult op * or /
|
|---|
| 233 | 1009 add op + or
|
|---|
| 234 | 1010 level 3 expr
|
|---|
| 235 | 1011 concat op //
|
|---|
| 236 | 1012 level 4 expr
|
|---|
| 237 | 1013 rel op .EQ. (==) or .NE.(/=) or .LT. (<) or .LE. (<=) or .GT. (>) or .GE. (>=)
|
|---|
| 238 | 1014 and operand
|
|---|
| 239 | 1015 or operand
|
|---|
| 240 | 1016 equiv operand
|
|---|
| 241 | 1017 level 5 expr
|
|---|
| 242 | 1018 not op .NOT.
|
|---|
| 243 | 1019 and op .AND.
|
|---|
| 244 | 1020 or op .OR.
|
|---|
| 245 | 1021 equiv op .EQV. or .NEQV.
|
|---|
| 246 | 1022 expr
|
|---|
| 247 | 1023 defined binary op . letter+ .
|
|---|
| 248 | 1024 logical expr
|
|---|
| 249 | 1025 default char expr
|
|---|
| 250 | 1026 int expr
|
|---|
| 251 | 1027 numeric expr
|
|---|
| 252 | 1028 specification expr
|
|---|
| 253 | 1029 constant expr
|
|---|
| 254 | 1030 default char constant expr
|
|---|
| 255 | 1031 int constant expr
|
|---|
| 256 | 1032 assignment stmt
|
|---|
| 257 | 1033 pointer assignment stmt
|
|---|
| 258 | 1034 data pointer object
|
|---|
| 259 | 1035 bounds spec
|
|---|
| 260 | 1036 bounds remapping
|
|---|
| 261 | 1037 data target
|
|---|
| 262 | 1038 proc pointer object
|
|---|
| 263 | 1039 proc component ref
|
|---|
| 264 | 1040 proc target
|
|---|
| 265 | 1041 where stmt
|
|---|
| 266 | 1042 where construct
|
|---|
| 267 | 1043 where construct stmt
|
|---|
| 268 | 1044 where body construct
|
|---|
| 269 | 1045 where assignment stmt
|
|---|
| 270 | 1046 mask expr
|
|---|
| 271 | 1047 masked elsewhere stmt
|
|---|
| 272 | 1048 elsewhere stmt
|
|---|
| 273 | 1049 end where stmt
|
|---|
| 274 | 1050 forall construct
|
|---|
| 275 | 1051 forall construct stmt
|
|---|
| 276 | 1052 forall body construct
|
|---|
| 277 | 1053 forall assignment stmt
|
|---|
| 278 | 1054 end forall stmt
|
|---|
| 279 | 1055 forall stmt
|
|---|
| 280 |
|
|---|
| 281 | 1101 block
|
|---|
| 282 | 1102 associate construct
|
|---|
| 283 | 1103 associate stmt
|
|---|
| 284 | 1104 association
|
|---|
| 285 | 1105 selector
|
|---|
| 286 | 1106 end associate stmt
|
|---|
| 287 | 1107 block construct
|
|---|
| 288 | 1108 block stmt
|
|---|
| 289 | 1109 block specification part
|
|---|
| 290 | 1110 end block stmt
|
|---|
| 291 | 1111 change team construct
|
|---|
| 292 | 1112 change team stmt
|
|---|
| 293 | 1113 coarray association
|
|---|
| 294 | 1114 end change team stmt
|
|---|
| 295 | 1115 team value
|
|---|
| 296 | 1116 critical construct
|
|---|
| 297 | 1117 critical stmt
|
|---|
| 298 | 1118 end critical stmt
|
|---|
| 299 | 1119 do construct
|
|---|
| 300 | 1120 do stmt
|
|---|
| 301 | 1121 label do stmt
|
|---|
| 302 | 1122 nonlabel do stmt
|
|---|
| 303 | 1123 loop control
|
|---|
| 304 | 1124 do variable
|
|---|
| 305 | 1125 concurrent header
|
|---|
| 306 | 1126 concurrent control
|
|---|
| 307 | 1127 concurrent limit
|
|---|
| 308 | 1128 concurrent step
|
|---|
| 309 | 1129 concurrent locality
|
|---|
| 310 | 1130 locality spec
|
|---|
| 311 | 1131 end do
|
|---|
| 312 | 1132 end do stmt
|
|---|
| 313 | 1133 cycle stmt
|
|---|
| 314 | 1134 if construct
|
|---|
| 315 | 1135 if then stmt
|
|---|
| 316 | 1136 else if stmt
|
|---|
| 317 | 1137 else stmt
|
|---|
| 318 | 1138 end if stmt
|
|---|
| 319 | 1139 if stmt
|
|---|
| 320 | 1140 case construct
|
|---|
| 321 | 1141 select case stmt
|
|---|
| 322 | 1142 case stmt
|
|---|
| 323 | 1143 end select stmt
|
|---|
| 324 | 1144 case expr
|
|---|
| 325 | 1145 case selector
|
|---|
| 326 | 1146 case value range
|
|---|
| 327 | 1147 case value
|
|---|
| 328 | 1148 select rank construct
|
|---|
| 329 | 1149 select rank stmt
|
|---|
| 330 | 1150 select rank case stmt
|
|---|
| 331 | 1151 end select rank stmt
|
|---|
| 332 | 1152 select type construct
|
|---|
| 333 | 1153 select type stmt
|
|---|
| 334 | 1154 type guard stmt
|
|---|
| 335 | 1155 end select type stmt
|
|---|
| 336 | 1156 exit stmt
|
|---|
| 337 | 1157 goto stmt
|
|---|
| 338 | 1158 computed goto stmt
|
|---|
| 339 | 1159 continue stmt
|
|---|
| 340 | 1160 stop stmt
|
|---|
| 341 | 1161 error stop stmt
|
|---|
| 342 | 1162 stop code
|
|---|
| 343 | 1163 fail image stmt
|
|---|
| 344 | 1164 sync all stmt
|
|---|
| 345 | 1165 sync stat
|
|---|
| 346 | 1166 sync images stmt
|
|---|
| 347 | 1167 image set
|
|---|
| 348 | 1168 sync memory stmt
|
|---|
| 349 | 1169 sync team stmt
|
|---|
| 350 | 1170 event post stmt
|
|---|
| 351 | 1171 event variable
|
|---|
| 352 | 1172 event wait stmt
|
|---|
| 353 | 1173 event wait spec
|
|---|
| 354 | 1174 until spec
|
|---|
| 355 | 1175 form team stmt
|
|---|
| 356 | 1176 team number
|
|---|
| 357 | 1177 team variable
|
|---|
| 358 | 1178 form team spec
|
|---|
| 359 | 1179 lock stmt
|
|---|
| 360 | 1180 lock stat
|
|---|
| 361 | 1181 unlock stmt
|
|---|
| 362 | 1182 lock variable
|
|---|
| 363 |
|
|---|
| 364 | 1201 io unit
|
|---|
| 365 | 1202 file until number
|
|---|
| 366 | 1203 internal file variable
|
|---|
| 367 | 1204 open stmt
|
|---|
| 368 | 1205 connect spec
|
|---|
| 369 | 1206 file name expr
|
|---|
| 370 | 1207 iomsg variable
|
|---|
| 371 | 1208 close stmt
|
|---|
| 372 | 1209 close spec
|
|---|
| 373 | 1210 read stmt
|
|---|
| 374 | 1211 write stmt
|
|---|
| 375 | 1212 print stmt
|
|---|
| 376 | 1213 io control spec
|
|---|
| 377 | 1214 id variable
|
|---|
| 378 | 1215 format
|
|---|
| 379 | 1216 input item
|
|---|
| 380 | 1217 output item
|
|---|
| 381 | 1218 io implied do
|
|---|
| 382 | 1219 io implied do object
|
|---|
| 383 | 1220 io implied do control
|
|---|
| 384 | 1221 dtv type spec
|
|---|
| 385 | 1222 wait stmt
|
|---|
| 386 | 1223 wait spec
|
|---|
| 387 | 1224 backspace stmt
|
|---|
| 388 | 1225 endfile stmt
|
|---|
| 389 | 1226 rewind stmt
|
|---|
| 390 | 1227 position spec
|
|---|
| 391 | 1228 flush stmt
|
|---|
| 392 | 1229 flush spec
|
|---|
| 393 | 1230 inquire stmt
|
|---|
| 394 | 1231 inquire spec
|
|---|
| 395 |
|
|---|
| 396 | 1301 format stmt
|
|---|
| 397 | 1302 format specification
|
|---|
| 398 | 1303 format items
|
|---|
| 399 | 1304 format item
|
|---|
| 400 | 1305 unlimited format item
|
|---|
| 401 | 1306 r
|
|---|
| 402 | 1307 data edit spec
|
|---|
| 403 | 1308 w
|
|---|
| 404 | 1309 m
|
|---|
| 405 | 1310 d
|
|---|
| 406 | 1311 e
|
|---|
| 407 | 1312 v
|
|---|
| 408 | 1313 control edit spec
|
|---|
| 409 | 1314 k
|
|---|
| 410 | 1315 position edit spec
|
|---|
| 411 | 1316 n
|
|---|
| 412 | 1317 sign edit desc
|
|---|
| 413 | 1318 blank interp edit desc
|
|---|
| 414 | 1319 round edit desc
|
|---|
| 415 | 1320 decimal edit desc
|
|---|
| 416 | 1321 char string edit spec
|
|---|
| 417 |
|
|---|
| 418 | 1401 main program
|
|---|
| 419 | 1402 program stmt
|
|---|
| 420 | 1403 end program stmt
|
|---|
| 421 | 1404 module
|
|---|
| 422 | 1405 module stmt
|
|---|
| 423 | 1406 end module stmt
|
|---|
| 424 | 1407 module subprogram part
|
|---|
| 425 | 1408 module subprogram
|
|---|
| 426 | 1409 use stmt
|
|---|
| 427 | 1410 module nature
|
|---|
| 428 | 1411 rename
|
|---|
| 429 | 1412 only
|
|---|
| 430 | 1413 only use stmt
|
|---|
| 431 | 1414 local defined operator
|
|---|
| 432 | 1415 use defined operator
|
|---|
| 433 | 1416 submodule
|
|---|
| 434 | 1417 submodule stmt
|
|---|
| 435 | 1418 parent identifier
|
|---|
| 436 | 1419 end submodule stmt
|
|---|
| 437 | 1420 block data
|
|---|
| 438 | 1421 block data stmt
|
|---|
| 439 | 1422 end block data stmt
|
|---|
| 440 |
|
|---|
| 441 | 1501 interface block
|
|---|
| 442 | 1502 interface specification
|
|---|
| 443 | 1503 interface stmt
|
|---|
| 444 | 1504 end interface stmt
|
|---|
| 445 | 1505 interface body
|
|---|
| 446 | 1506 procedure stmt
|
|---|
| 447 | 1507 specific procedure
|
|---|
| 448 | 1508 generic spec
|
|---|
| 449 | 1509 defined io generic spec
|
|---|
| 450 | 1510 generic stmt
|
|---|
| 451 | 1511 external stmt
|
|---|
| 452 | 1512 procedure declaration stmt
|
|---|
| 453 | 1513 proc interface
|
|---|
| 454 | 1514 proc attr spec
|
|---|
| 455 | 1515 proc decl
|
|---|
| 456 | 1516 interface name
|
|---|
| 457 | 1517 proc pointer init
|
|---|
| 458 | 1518 initial proc target
|
|---|
| 459 | 1519 intrinsic stmt
|
|---|
| 460 | 1520 function reference
|
|---|
| 461 | 1521 call stmt
|
|---|
| 462 | 1522 procedure designator
|
|---|
| 463 | 1523 actual arg spec
|
|---|
| 464 | 1524 actual arg
|
|---|
| 465 | 1525 alt return spec
|
|---|
| 466 | 1526 prefix
|
|---|
| 467 | 1527 prefix spec
|
|---|
| 468 | 1528 proc language binding spec
|
|---|
| 469 | 1529 function subprogram
|
|---|
| 470 | 1530 function stmt
|
|---|
| 471 | 1531 dummy arg stmt
|
|---|
| 472 | 1532 suffix
|
|---|
| 473 | 1533 end function stmt
|
|---|
| 474 | 1534 subroutine subprogram
|
|---|
| 475 | 1535 subroutine stmt
|
|---|
| 476 | 1536 dymmy arg
|
|---|
| 477 | 1537 end subroutine stmt
|
|---|
| 478 | 1538 separate module subprogram
|
|---|
| 479 | 1539 mp subprogram stmt
|
|---|
| 480 | 1540 end mp subprogram stmt
|
|---|
| 481 | 1541 entry stmt
|
|---|
| 482 | 1542 return stmt
|
|---|
| 483 | 1543 contains stmt
|
|---|
| 484 | 1544 stmt fucntion stmt
|
|---|
| 485 |
|
|---|
| 486 | In total, there are 474 real rules. (And 3 assumed rules) |
|---|