Supported FORTRAN 2018 Subset
WIP FORTRAN 2018 parse-rules
R868 namelist stmt
R1404 module
Planned FORTRAN 2018 parse-rules for DRB (Data-Race Benchmark)
The coverage rate of supported FORTRAN2018 features
| Supported rule coverage summary | |||
| Chp. | #Supported | #Unsupported | #Total |
| Chp.5 | 0 (0.0%) | 16 (100.0%) | 16 |
| Chp.6 | 0 (0.0%) | 11 (100.0%) | 11 |
| Chp.7 | 0 (0.0%) | 76 (100.0%) | 76 |
| Chp.8 | 0 (0.0%) | 74 (100.0%) | 74 |
| Chp.9 | 0 (0.0%) | 42 (100.0%) | 42 |
| Chp.10 | 0 (0.0%) | 55 (100.0%) | 55 |
| Chp.11 | 0 (0.0%) | 82 (100.0%) | 82 |
| Chp.12 | 0 (0.0%) | 31 (100.0%) | 31 |
| Chp.13 | 0 (0.0%) | 21 (100.0%) | 21 |
| Chp.14 | 0 (0.0%) | 22 (100.0%) | 22 |
| Chp.15 | 0 (0.0%) | 44 (100.0%) | 44 |
| Ext.CIVL | 0 (0.0%) | 0 (100.0%) | 0 |
| Total | 0 (0.0%) | 474 (100.0%) | 474 |
Status of all FORTRAN 2018 parse-rules
| RuleID | Rule Name | Status |
| Chapter.5 | ||
| R501 | program | Supported |
| R502 | program unit | Supported |
| R503 | external subprogram | Supported |
| R504 | specification part | Supported |
| R505 | implicit part | |
| R506 | implicit part stmt | |
| R507 | declaration construct | |
| R508 | specification construct | |
| R509 | execution part | |
| R510 | execution part construct | Supported |
| R511 | internal subprogram part | |
| R512 | internal subprogram | |
| R513 | other specification stmt | |
| R514 | executable construct | |
| R515 | action stmt | |
| R516 | keyword | |
| Chapter.6 | ||
| R601 | alphanumeric character | |
| R602 | underscore | |
| R603 | name | |
| R604 | constant | |
| R605 | literal constant | |
| R606 | named constant | |
| R607 | int constant | |
| R608 | intrinsic operator | |
| R609 | defined operator | |
| R610 | extended intrinsic op | |
| R611 | label | Supported |
| Chapter.7 | ||
| R701 | type param value | |
| R702 | type spec | |
| R703 | declaration type spec | Supported |
| R704 | intrinsictype spec | Supported |
| R705 | integer type spec | Supported |
| R706 | kind selector | |
| R707 | signed int literal constant | |
| R708 | int literal constant | |
| R709 | kind param | |
| R710 | signed digit string | |
| R711 | digit string | |
| R712 | sign | |
| R713 | signed real literal constant | Supported |
| R714 | real literal constant | Supported |
| R715 | significand | |
| R716 | exponent letter | |
| R717 | exponent | |
| R718 | complex literal constant | Supported |
| R719 | real part | Supported |
| R720 | imag part | Supported |
| R721 | char selector | Supported |
| R722 | length selector | |
| R723 | char length | Supported |
| R724 | char literal constant | Supported |
| R725 | logical literal constant | Supported |
| R726 | derived type def | |
| R727 | derived type stmt | |
| R728 | type attr spec | |
| R729 | private or sequence | |
| R730 | end type stmt | |
| R731 | sequence stmt | |
| R732 | type param def stmt | |
| R733 | type param decl | |
| R734 | type param attr spec | |
| R735 | component part | |
| R736 | component def stmt | |
| R737 | data component def stmt | |
| R738 | component attr spec | |
| R739 | component decl | |
| R740 | component array spec | |
| R741 | proc component def stmt | |
| R742 | proc component attr spec | |
| R743 | component initialization | |
| R744 | initial data target | |
| R745 | private components stmt | |
| R746 | type bound procedure part | |
| R747 | binding private stmt | |
| R748 | type bound procedure stmt | |
| R749 | type bound procedure stmt | |
| R750 | type bound proc decl | |
| R751 | type bound generic stmt | |
| R752 | binding attr | |
| R753 | final procedure stmt | |
| R754 | derived type spec | |
| R755 | type param spec | |
| R756 | structure constructor | |
| R757 | component spec | |
| R758 | component data source | |
| R759 | enum def | |
| R760 | enum def stmt | |
| R761 | enumerator def stmt | |
| R762 | enumerator | |
| R763 | end enum stmt | |
| R764 | boz literal constant | |
| R765 | binary constant | |
| R766 | octal constant | |
| R767 | hex constant | |
| R768 | hex digit | |
| R769 | array constructor | |
| R770 | ac spec | |
| R771 | lbracket | |
| R772 | rbracket | |
| R773 | ac value | |
| R774 | ac implied do | |
| R775 | ac implied do control | |
| R776 | ac do variable | |
| Chapter.8 | ||
| R801 | type declaration stmt | Supported |
| R802 | attr spec | Supported |
| R803 | entity decl | Supported |
| R804 | object name | |
| R805 | initialization | Supported |
| R806 | null init | Supported |
| R807 | access spec | |
| R808 | language binding spec | |
| R809 | coarray spec | |
| R810 | deferred coshape spec | |
| R811 | explicit coshape spec | |
| R812 | lower cobound | |
| R813 | upper cobound | |
| R814 | dimension spec | |
| R815 | array spec | Supported |
| R816 | eplicit shape spec | |
| R817 | lower bound | |
| R818 | upper bound | |
| R819 | assumed shape spec | |
| R820 | deferred shape spec | |
| R821 | assumed implied spec | |
| R822 | assumed size spec | |
| R823 | implied shape or assumed size spec | |
| R824 | implied shape spec | |
| R825 | assumed rank spec | |
| R826 | intent spec | Supported |
| R827 | access stmt | |
| R828 | access id | |
| R829 | allocatable stmt | |
| R830 | allocatable decl | |
| R831 | asynchronous stmt | |
| R832 | bind stmt | |
| R833 | bind entity | |
| R834 | codimension stmt | |
| R835 | codimension decl | |
| R836 | contiguous stmt | |
| R837 | data stmt | Supported |
| R838 | data stmt set | Supported |
| R839 | data stmt object | Supported |
| R840 | data implied do | |
| R841 | data i do object | |
| R842 | data i do variable | |
| R843 | data stmt value | Supported |
| R844 | data stmt repeat | |
| R845 | data stmt constant | |
| R846 | int constant subobject | |
| R847 | constant subobject | |
| R848 | dimension stmt | |
| R849 | intent stmt | |
| R850 | optional stmt | |
| R851 | parameter stmt | Supported |
| R852 | named constant def | Supported |
| R853 | pinter stmt | |
| R854 | pointer decl | |
| R855 | protected stmt | |
| R856 | save stmt | Supported |
| R857 | saved entity | Supported |
| R858 | proc pointer name | |
| R859 | target stmt | |
| R860 | target decl | |
| R861 | value stmt | |
| R862 | volatile stmt | |
| R863 | implicit stmt | |
| R864 | implicit spec | |
| R865 | letter spec | |
| R866 | implicit none spec | |
| R867 | import stmt | |
| R868 | namelist stmt | |
| R869 | namelist group object | |
| R870 | equivalence stmt | Supported |
| R871 | euivalence set | Supported |
| R872 | equivalence object | Supported |
| R873 | common stmt | Supported |
| R874 | common block object | Supported |
| Chapter.9 | ||
| R901 | designator | Supported |
| R902 | variable | |
| R903 | variable name | |
| R904 | logical variable | |
| R905 | char variable | |
| R906 | default char variable | |
| R907 | int variable | |
| R908 | substring | Supported |
| R909 | parent string | |
| R910 | substring range | Supported |
| R911 | data ref | |
| R912 | part ref | |
| R913 | structure component | |
| R914 | coindexed named object | |
| R915 | complex part designator | |
| R916 | type param inquiry | |
| R917 | array element | |
| R918 | array section | |
| R919 | subscript | |
| R920 | section subscript | Supported |
| R921 | subscript triplet | |
| R922 | stride | |
| R923 | vector subscript | |
| R924 | image selector | |
| R925 | cosubscript | |
| R926 | image selector spec | |
| R927 | allocate stmt | |
| R928 | alloc opt | |
| R929 | errmsg variable | |
| R930 | source expr | |
| R931 | allocation | |
| R932 | allocate object | |
| R933 | allocate shape spec | |
| R934 | lower bound expr | |
| R935 | upper bound expr | |
| R936 | allocate coarray spec | |
| R937 | allocate coshape spec | |
| R938 | nullify stmt | |
| R939 | pointer object | |
| R940 | deallocate stmt | |
| R941 | dealloc opt | |
| R942 | stat variable | |
| Chapter.10 | ||
| R1001 | primary | |
| R1002 | level 1 expr | |
| R1003 | defined unary op | |
| R1004 | mult operand | |
| R1005 | add operand | |
| R1006 | level 2 expr | |
| R1007 | power op | |
| R1008 | mult op | |
| R1009 | add op | |
| R1010 | level 3 expr | |
| R1011 | concat op | |
| R1012 | level 4 expr | |
| R1013 | rel op | |
| R1014 | and operand | |
| R1015 | or operand | |
| R1016 | equiv operand | |
| R1017 | level 5 expr | |
| R1018 | not op | |
| R1019 | and op | |
| R1020 | or op | |
| R1021 | equiv op | |
| R1022 | expr | |
| R1023 | defined binary op | |
| R1024 | logical expr | |
| R1025 | default char expr | |
| R1026 | int expr | |
| R1027 | numeric expr | |
| R1028 | specification expr | |
| R1029 | constant expr | |
| R1030 | default char constant expr | |
| R1031 | int constant expr | |
| R1032 | assignment stmt | |
| R1033 | pointer assignment stmt | |
| R1034 | data pointer object | |
| R1035 | bounds spec | |
| R1036 | bounds remapping | |
| R1037 | data target | |
| R1038 | proc pointer object | |
| R1039 | proc component ref | |
| R1040 | proc target | |
| R1041 | where stmt | |
| R1042 | where construct | |
| R1043 | where construct stmt | |
| R1044 | where body construct | |
| R1045 | where assignment stmt | |
| R1046 | mask expr | |
| R1047 | masked elsewhere stmt | |
| R1048 | elsewhere stmt | |
| R1049 | end where stmt | |
| R1050 | forall construct | |
| R1051 | forall construct stmt | |
| R1052 | forall body construct | |
| R1053 | forall assignment stmt | |
| R1054 | end forall stmt | |
| R1055 | forall stmt | |
| Chapter.11 | ||
| R1101 | block | Supported |
| R1102 | associate construct | |
| R1103 | associate stmt | |
| R1104 | association | |
| R1105 | selector | |
| R1106 | end associate stmt | |
| R1107 | block construct | |
| R1108 | block stmt | |
| R1109 | block specification part | |
| R1110 | end block stmt | |
| R1111 | change team construct | |
| R1112 | change team stmt | |
| R1113 | coarray association | |
| R1114 | end change team stmt | |
| R1115 | team value | |
| R1116 | critical construct | |
| R1117 | critical stmt | |
| R1118 | end critical stmt | |
| R1119 | do construct | Supported |
| R1120 | do stmt | Supported |
| R1121 | label do stmt | |
| R1122 | nonlabel do stmt | |
| R1123 | loop control | |
| R1124 | do variable | |
| R1125 | concurrent header | |
| R1126 | concurrent control | |
| R1127 | concurrent limit | |
| R1128 | concurrent step | |
| R1129 | concurrent locality | |
| R1130 | locality spec | |
| R1131 | end do | |
| R1132 | end do stmt | Supported |
| R1133 | cycle stmt | |
| R1134 | if construct | |
| R1135 | if then stmt | |
| R1136 | else if stmt | |
| R1137 | else stmt | |
| R1138 | end if stmt | |
| R1139 | if stmt | |
| R1140 | case construct | |
| R1141 | select case stmt | |
| R1142 | case stmt | |
| R1143 | end select stmt | |
| R1144 | case expr | |
| R1145 | case selector | |
| R1146 | case value range | |
| R1147 | case value | |
| R1148 | select rank construct | |
| R1149 | select rank stmt | |
| R1150 | select rank case stmt | |
| R1151 | end select rank stmt | |
| R1152 | select type construct | |
| R1153 | select type stmt | |
| R1154 | type guard stmt | |
| R1155 | end select type stmt | |
| R1156 | exit stmt | |
| R1157 | goto stmt | Supported |
| R1158 | computed goto stmt | Supported |
| R1159 | continue stmt | |
| R1160 | stop stmt | |
| R1161 | error stop stmt | |
| R1162 | stop code | |
| R1163 | fail image stmt | |
| R1164 | sync all stmt | |
| R1165 | sync stat | |
| R1166 | sync images stmt | |
| R1167 | image set | |
| R1168 | sync memory stmt | |
| R1169 | sync team stmt | |
| R1170 | event post stmt | |
| R1171 | event variable | |
| R1172 | event wait stmt | |
| R1173 | event wait spec | |
| R1174 | until spec | |
| R1175 | form team stmt | |
| R1176 | team number | |
| R1177 | team variable | |
| R1178 | form team spec | |
| R1179 | lock stmt | |
| R1180 | lock stat | |
| R1181 | unlcok stmt | |
| R1182 | lock variable | |
| Chapter.12 | ||
| R1201 | io unit | |
| R1202 | file until number | |
| R1203 | internal file variable | |
| R1204 | open stmt | Supported |
| R1205 | connect spec | Supported |
| R1206 | file name expr | |
| R1207 | iomsg variable | |
| R1208 | close stmt | Supported |
| R1209 | close spec | Supported |
| R1210 | read stmt | Supported |
| R1211 | write stmt | Supported |
| R1212 | print stmt | |
| R1213 | io control spec | Supported |
| R1214 | id variable | |
| R1215 | format | Supported |
| R1216 | input item | Supported |
| R1217 | output item | |
| R1218 | io implied do | |
| R1219 | io implied do object | |
| R1220 | io implied do control | |
| R1221 | dtv type spec | |
| R1222 | wait stmt | |
| R1223 | wait spec | |
| R1224 | backspace stmt | |
| R1225 | endfile stmt | |
| R1226 | rewind stmt | |
| R1227 | position spec | |
| R1228 | flush stmt | |
| R1229 | flush spec | |
| R1230 | inquire stmt | |
| R1231 | inquire spec | |
| Chapter.13 | ||
| R1301 | format stmt | Supported |
| R1302 | format specification | Supported |
| R1303 | format items | Supported |
| R1304 | format item | Supported |
| R1305 | unlimited format item | |
| R1306 | r | |
| R1307 | data edit spec | |
| R1308 | w | |
| R1309 | m | |
| R1310 | d | |
| R1311 | e | |
| R1312 | v | |
| R1313 | control edit spec | |
| R1314 | k | |
| R1315 | position edit spec | |
| R1316 | n | |
| R1317 | sign edit desc | |
| R1318 | blank interp edit desc | |
| R1319 | round edit desc | |
| R1320 | decimal edit desc | |
| R1321 | char string edit spec | |
| Chapter.14 | ||
| R1401 | main program | |
| R1402 | program stmt | |
| R1403 | end program stmt | |
| R1404 | module | |
| R1405 | module stmt | |
| R1406 | end module stmt | |
| R1407 | module subprogram part | |
| R1408 | module subprogram | |
| R1409 | use stmt | |
| R1410 | module nature | |
| R1411 | rename | |
| R1412 | only | |
| R1413 | only use stmt | |
| R1414 | local defined operator | |
| R1415 | use defined operator | |
| R1416 | submodule | |
| R1417 | submodule stmt | |
| R1418 | parent identifier | |
| R1419 | end submodule stmt | |
| R1420 | block data | |
| R1421 | block data stmt | |
| R1422 | end block data stmt | |
| Chapter.15 | ||
| R1501 | interface block | |
| R1502 | interface specification | |
| R1503 | interface stmt | |
| R1504 | end interface stmt | |
| R1505 | interface body | |
| R1506 | procedure stmt | |
| R1507 | specific procedure | |
| R1508 | generic spec | |
| R1509 | defined io generic spec | |
| R1510 | generic stmt | |
| R1511 | external stmt | Supported |
| R1512 | procedure declaration stmt | |
| R1513 | proc interface | |
| R1514 | proc attr spec | |
| R1515 | proc decl | |
| R1516 | interface name | |
| R1517 | proc pointer init | |
| R1518 | initial proc target | |
| R1519 | intrinsic stmt | Supported |
| R1520 | function reference | Supported |
| R1521 | call stmt | Supported |
| R1522 | procedure designator | Supported |
| R1523 | actual arg spec | |
| R1524 | actual arg | |
| R1525 | alt return spec | |
| R1526 | prefix | Supported |
| R1527 | prefix spec | Supported |
| R1528 | proc language binding spec | |
| R1529 | function subprogram | Supported |
| R1530 | function stmt | Supported |
| R1531 | dummy arg stmt | |
| R1532 | suffix | |
| R1533 | end function stmt | Supported |
| R1534 | subroutine subprogram | |
| R1535 | subroutine stmt | Supported |
| R1536 | dymmy arg | |
| R1537 | end subroutine stmt | Supported |
| R1538 | separate module subprogram | |
| R1539 | mp subprogram stmt | |
| R1540 | end mp subprogram stmt | |
| R1541 | entry stmt | |
| R1542 | return stmt | Supported |
| R1543 | contains stmt | |
| R1544 | stmt fucntion stmt | |
| CIVL extensions | ||
| R898 | pragma stmt | Supported |
Last modified
12 months ago
Last modified on 05/21/25 14:46:29
Note:
See TracWiki
for help on using the wiki.
