Changes between Version 5 and Version 6 of FortranOverview


Ignore:
Timestamp:
05/10/19 17:56:46 (7 years ago)
Author:
wuwenhao
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • FortranOverview

    v5 v6  
    8282== Appendix A. FORTRAN 2018 parse rules ==
    8383
    84 || Rule ID || Rule Name     || Status ||
    85 || R0000 ||
     84=== A.1. Overview ===
     85|||||||| '''Supported rule coverage summary'''         ||
     86|| Chp.     || #Supported   || #Unsupported ||  #Total ||
     87|| Chp.5    ||   0 (0.0%)   ||  16 (100.0%) ||   16    ||
     88|| Chp.6    ||   0 (0.0%)   ||  11 (100.0%) ||   11    ||
     89|| Chp.7    ||   0 (0.0%)   ||  76 (100.0%) ||   76    ||
     90|| Chp.8    ||   0 (0.0%)   ||  74 (100.0%) ||   74    ||
     91|| Chp.9    ||   0 (0.0%)   ||  42 (100.0%) ||   42    ||
     92|| Chp.10   ||   0 (0.0%)   ||  55 (100.0%) ||   55    ||
     93|| Chp.11   ||   0 (0.0%)   ||  82 (100.0%) ||   82    ||
     94|| Chp.12   ||   0 (0.0%)   ||  31 (100.0%) ||   31    ||
     95|| Chp.13   ||   0 (0.0%)   ||  21 (100.0%) ||   21    ||
     96|| Chp.14   ||   0 (0.0%)   ||  22 (100.0%) ||   22    ||
     97|| Chp.15   ||   0 (0.0%)   ||  44 (100.0%) ||   44    ||
     98|| Ext.CIVL ||   0 (0.0%)   ||   0 (100.0%) ||    0    ||
     99|| Total    ||   0 (0.0%)   || 474 (100.0%) ||  474    ||
     100
     101=== A.2. Details ===
     102
     103|| RuleID || Rule Name                          || Status      ||
     104|||||| Chapter.5                                               ||
     105|| R501   || program                            ||  ||
     106|| R502   || program unit                       ||  ||
     107|| R503   || external subprogram                ||  ||
     108|| R504   || specification part                 ||  ||
     109|| R505   || implicit part                      ||  ||
     110|| R506   || implicit part stmt                 ||  ||
     111|| R507   || declaration construct              ||  ||
     112|| R508   || specification construct            ||  ||
     113|| R509   || execution part                     ||  ||
     114|| R510   || execution part construct           ||  ||
     115|| R511   || internal subprogram part           ||  ||
     116|| R512   || internal subprogram                ||  ||
     117|| R513   || other specification stmt           ||  ||
     118|| R514   || executable construct               ||  ||
     119|| R515   || action stmt                        ||  ||
     120|| R516   || keyword                            ||  ||
     121|||||| Chapter.6 ||
     122|| R601   || alphanumeric character             ||  ||
     123|| R602   || underscore                         ||  ||
     124|| R603   || name                               ||  ||
     125|| R604   || constant                           ||  ||
     126|| R605   || literal constant                   ||  ||
     127|| R606   || named constant                     ||  ||
     128|| R607   || int constant                       ||  ||
     129|| R608   || intrinsic operator                 ||  ||
     130|| R609   || defined operator                   ||  ||
     131|| R610   || extended intrinsic op              ||  ||
     132|| R611   || label                              ||  ||
     133|||||| Chapter.7 ||
     134|| R701   || type param value                   ||  ||
     135|| R702   || type spec                          ||  ||
     136|| R703   || declaration type spec              ||  ||
     137|| R704   || intrinsictype spec                 ||  ||
     138|| R705   || integer type spec                  ||  ||
     139|| R706   || kind selector                      ||  ||
     140|| R707   || signed int literal constant        ||  ||
     141|| R708   || int literal constant               ||  ||
     142|| R709   || kind param                         ||  ||
     143|| R710   || signed digit string                ||  ||
     144|| R711   || digit string                       ||  ||
     145|| R712   || sign                               ||  ||
     146|| R713   || signed real literal constant       ||  ||
     147|| R714   || real literal constant              ||  ||
     148|| R715   || significand                        ||  ||
     149|| R716   || exponent letter                    ||  ||
     150|| R717   || exponent                           ||  ||
     151|| R718   || complex literal constant           ||  ||
     152|| R719   || real part                          ||  ||
     153|| R720   || imag part                          ||  ||
     154|| R721   || char selector                      ||  ||
     155|| R722   || length selector                    ||  ||
     156|| R723   || char length                        ||  ||
     157|| R724   || char literal constant              ||  ||
     158|| R725   || logical literal constant           ||  ||
     159|| R726   || derived type def                   ||  ||
     160|| R727   || derived type stmt                  ||  ||
     161|| R728   || type attr spec                     ||  ||
     162|| R729   || private or sequence                ||  ||
     163|| R730   || end type stmt                      ||  ||
     164|| R731   || sequence stmt                      ||  ||
     165|| R732   || type param def stmt                ||  ||
     166|| R733   || type param decl                    ||  ||
     167|| R734   || type param attr spec               ||  ||
     168|| R735   || component part                     ||  ||
     169|| R736   || component def stmt                 ||  ||
     170|| R737   || data component def stmt            ||  ||
     171|| R738   || component attr spec                ||  ||
     172|| R739   || component decl                     ||  ||
     173|| R740   || component array spec               ||  ||
     174|| R741   || proc component def stmt            ||  ||
     175|| R742   || proc component attr spec           ||  ||
     176|| R743   || component initialization           ||  ||
     177|| R744   || initial data target                ||  ||
     178|| R745   || private components stmt            ||  ||
     179|| R746   || type bound procedure part          ||  ||
     180|| R747   || binding private stmt               ||  ||
     181|| R748   || type bound procedure stmt          ||  ||
     182|| R749   || type bound procedure stmt          ||  ||
     183|| R750   || type bound proc decl               ||  ||
     184|| R751   || type bound generic stmt            ||  ||
     185|| R752   || binding attr                       ||  ||
     186|| R753   || final procedure stmt               ||  ||
     187|| R754   || derived type spec                  ||  ||
     188|| R755   || type param spec                    ||  ||
     189|| R756   || structure constructor              ||  ||
     190|| R757   || component spec                     ||  ||
     191|| R758   || component data source              ||  ||
     192|| R759   || enum def                           ||  ||
     193|| R760   || enum def stmt                      ||  ||
     194|| R761   || enumerator def stmt                ||  ||
     195|| R762   || enumerator                         ||  ||
     196|| R763   || end enum stmt                      ||  ||
     197|| R764   || boz literal constant               ||  ||
     198|| R765   || binary constant                    ||  ||
     199|| R766   || octal constant                     ||  ||
     200|| R767   || hex constant                       ||  ||
     201|| R768   || hex digit                          ||  ||
     202|| R769   || array constructor                  ||  ||
     203|| R770   || ac spec                            ||  ||
     204|| R771   || lbracket                           ||  ||
     205|| R772   || rbracket                           ||  ||
     206|| R773   || ac value                           ||  ||
     207|| R774   || ac implied do                      ||  ||
     208|| R775   || ac implied do control              ||  ||
     209|| R776   || ac do variable                     ||  ||
     210|||||| Chapter.8 ||
     211|| R801   || type declaration stmt              ||  ||
     212|| R802   || attr spec                          ||  ||
     213|| R803   || entity decl                        ||  ||
     214|| R804   || object name                        ||  ||
     215|| R805   || initialization                     ||  ||
     216|| R806   || null init                          ||  ||
     217|| R807   || access spec                        ||  ||
     218|| R808   || language binding spec              ||  ||
     219|| R809   || coarray spec                       ||  ||
     220|| R810   || deferred coshape spec              ||  ||
     221|| R811   || explicit coshape spec              ||  ||
     222|| R812   || lower cobound                      ||  ||
     223|| R813   || upper cobound                      ||  ||
     224|| R814   || dimension spec                     ||  ||
     225|| R815   || array spec                         ||  ||
     226|| R816   || eplicit shape spec                 ||  ||
     227|| R817   || lower bound                        ||  ||
     228|| R818   || upper bound                        ||  ||
     229|| R819   || assumed shape spec                 ||  ||
     230|| R820   || deferred shape spec                ||  ||
     231|| R821   || assumed implied spec               ||  ||
     232|| R822   || assumed size spec                  ||  ||
     233|| R823   || implied shape or assumed size spec ||  ||
     234|| R824   || implied shape spec                 ||  ||
     235|| R825   || assumed rank spec                  ||  ||
     236|| R826   || intent spec                        ||  ||
     237|| R827   || access stmt                        ||  ||
     238|| R828   || access id                          ||  ||
     239|| R829   || allocatable stmt                   ||  ||
     240|| R830   || allocatable decl                   ||  ||
     241|| R831   || asynchronous stmt                  ||  ||
     242|| R832   || bind stmt                          ||  ||
     243|| R833   || bind entity                        ||  ||
     244|| R834   || codimension stmt                   ||  ||
     245|| R835   || codimension decl                   ||  ||
     246|| R836   || contiguous stmt                    ||  ||
     247|| R837   || data stmt                          ||  ||
     248|| R838   || data stmt set                      ||  ||
     249|| R839   || data stmt object                   ||  ||
     250|| R840   || data implied do                    ||  ||
     251|| R841   || data i do object                   ||  ||
     252|| R842   || data i do variable                 ||  ||
     253|| R843   || data stmt value                    ||  ||
     254|| R844   || data stmt repeat                   ||  ||
     255|| R845   || data stmt constant                 ||  ||
     256|| R846   || int constant subobject             ||  ||
     257|| R847   || constant subobject                 ||  ||
     258|| R848   || dimension stmt                     ||  ||
     259|| R849   || intent stmt                        ||  ||
     260|| R850   || optional stmt                      ||  ||
     261|| R851   || parameter stmt                     ||  ||
     262|| R852   || named constant def                 ||  ||
     263|| R853   || pinter stmt                        ||  ||
     264|| R854   || pointer decl                       ||  ||
     265|| R855   || protected stmt                     ||  ||
     266|| R856   || save stmt                          ||  ||
     267|| R857   || saved entity                       ||  ||
     268|| R858   || proc pointer name                  ||  ||
     269|| R859   || target stmt                        ||  ||
     270|| R860   || target decl                        ||  ||
     271|| R861   || value stmt                         ||  ||
     272|| R862   || volatile stmt                      ||  ||
     273|| R863   || implicit stmt                      ||  ||
     274|| R864   || implicit spec                      ||  ||
     275|| R865   || letter spec                        ||  ||
     276|| R866   || implicit none spec                 ||  ||
     277|| R867   || import stmt                        ||  ||
     278|| R868   || namelist stmt                      ||  ||
     279|| R869   || namelist group object              ||  ||
     280|| R870   || equivalence stmt                   ||  ||
     281|| R871   || euivalence set                     ||  ||
     282|| R872   || equivalence object                 ||  ||
     283|| R873   || common stmt                        ||  ||
     284|| R874   || common block object                ||  ||
     285|||||| Chapter.9 ||
     286|| R901   || designator ||  ||
     287|| R902   || variable ||  ||
     288|| R903   || variable name ||  ||
     289|| R904   || logical variable ||  ||
     290|| R905   || char variable ||  ||
     291|| R906   || default char variable ||  ||
     292|| R907   || int variable ||  ||
     293|| R908   || substring ||  ||
     294|| R909   || parent string ||  ||
     295|| R910   || substring range ||  ||
     296|| R911   || data ref ||  ||
     297|| R912   || part ref ||  ||
     298|| R913   || structure component ||  ||
     299|| R914   || coindexed named object ||  ||
     300|| R915   || complex part designator ||  ||
     301|| R916   || type param inquiry ||  ||
     302|| R917   || array element ||  ||
     303|| R918   || array section ||  ||
     304|| R919   || subscript ||  ||
     305|| R920   || section subscript ||  ||
     306|| R921   || subscript triplet ||  ||
     307|| R922   || stride ||  ||
     308|| R923   || vector subscript ||  ||
     309|| R924   || image selector ||  ||
     310|| R925   || cosubscript ||  ||
     311|| R926   || image selector spec ||  ||
     312|| R927   || allocate stmt ||  ||
     313|| R928   || alloc opt ||  ||
     314|| R929   || errmsg variable ||  ||
     315|| R930   || source expr ||  ||
     316|| R931   || allocation ||  ||
     317|| R932   || allocate object ||  ||
     318|| R933   || allocate shape spec ||  ||
     319|| R934   || lower bound expr ||  ||
     320|| R935   || upper bound expr ||  ||
     321|| R936   || allocate coarray spec ||  ||
     322|| R937   || allocate coshape spec ||  ||
     323|| R938   || nullify stmt ||  ||
     324|| R939   || pointer object ||  ||
     325|| R940   || deallocate stmt ||  ||
     326|| R941   || dealloc opt ||  ||
     327|| R942   || stat variable ||  ||
     328|||||| Chapter.10 ||
     329|| R1001  || primary ||  ||
     330|| R1002  || level 1 expr ||  ||
     331|| R1003  || defined unary op ||  ||
     332|| R1004  || mult operand ||  ||
     333|| R1005  || add operand ||  ||
     334|| R1006  || level 2 expr ||  ||
     335|| R1007  || power op  ||  ||
     336|| R1008  || mult op   ||  ||
     337|| R1009  || add op  ||  ||
     338|| R1010  || level 3 expr ||  ||
     339|| R1011  || concat op  ||  ||
     340|| R1012  || level 4 expr ||  ||
     341|| R1013  || rel op ||  ||
     342|| R1014  || and operand ||  ||
     343|| R1015  || or operand ||  ||
     344|| R1016  || equiv operand ||  ||
     345|| R1017  || level 5 expr ||  ||
     346|| R1018  || not op  ||  ||
     347|| R1019  || and op   ||  ||
     348|| R1020  || or op  ||  ||
     349|| R1021  || equiv op  ||  ||
     350|| R1022  || expr ||  ||
     351|| R1023  || defined binary op   ||  ||
     352|| R1024  || logical expr ||  ||
     353|| R1025  || default char expr ||  ||
     354|| R1026  || int expr ||  ||
     355|| R1027  || numeric expr ||  ||
     356|| R1028  || specification expr ||  ||
     357|| R1029  || constant expr ||  ||
     358|| R1030  || default char constant expr ||  ||
     359|| R1031  || int constant expr ||  ||
     360|| R1032  || assignment stmt ||  ||
     361|| R1033  || pointer assignment stmt ||  ||
     362|| R1034  || data pointer object ||  ||
     363|| R1035  || bounds spec ||  ||
     364|| R1036  || bounds remapping ||  ||
     365|| R1037  || data target ||  ||
     366|| R1038  || proc pointer object ||  ||
     367|| R1039  || proc component ref ||  ||
     368|| R1040  || proc target ||  ||
     369|| R1041  || where stmt ||  ||
     370|| R1042  || where construct ||  ||
     371|| R1043  || where construct stmt ||  ||
     372|| R1044  || where body construct ||  ||
     373|| R1045  || where assignment stmt ||  ||
     374|| R1046  || mask expr ||  ||
     375|| R1047  || masked elsewhere stmt ||  ||
     376|| R1048  || elsewhere stmt ||  ||
     377|| R1049  || end where stmt ||  ||
     378|| R1050  || forall construct ||  ||
     379|| R1051  || forall construct stmt ||  ||
     380|| R1052  || forall body construct ||  ||
     381|| R1053  || forall assignment stmt ||  ||
     382|| R1054  || end forall stmt ||  ||
     383|| R1055  || forall stmt ||  ||
     384|||||| Chapter.11 ||
     385|| R1101  || block ||  ||
     386|| R1102  || associate construct ||  ||
     387|| R1103  || associate stmt ||  ||
     388|| R1104  || association ||  ||
     389|| R1105  || selector ||  ||
     390|| R1106  || end associate stmt ||  ||
     391|| R1107  || block construct ||  ||
     392|| R1108  || block stmt ||  ||
     393|| R1109  || block specification part ||  ||
     394|| R1110  || end block stmt ||  ||
     395|| R1111  || change team construct ||  ||
     396|| R1112  || change team stmt ||  ||
     397|| R1113  || coarray association ||  ||
     398|| R1114  || end change team stmt ||  ||
     399|| R1115  || team value ||  ||
     400|| R1116  || critical construct ||  ||
     401|| R1117  || critical stmt ||  ||
     402|| R1118  || end critical stmt ||  ||
     403|| R1119  || do construct ||  ||
     404|| R1120  || do stmt ||  ||
     405|| R1121  || label do stmt ||  ||
     406|| R1122  || nonlabel do stmt ||  ||
     407|| R1123  || loop control ||  ||
     408|| R1124  || do variable ||  ||
     409|| R1125  || concurrent header ||  ||
     410|| R1126  || concurrent control ||  ||
     411|| R1127  || concurrent limit ||  ||
     412|| R1128  || concurrent step ||  ||
     413|| R1129  || concurrent locality ||  ||
     414|| R1130  || locality spec ||  ||
     415|| R1131  || end do ||  ||
     416|| R1132  || end do stmt ||  ||
     417|| R1133  || cycle stmt ||  ||
     418|| R1134  || if construct ||  ||
     419|| R1135  || if then stmt ||  ||
     420|| R1136  || else if stmt ||  ||
     421|| R1137  || else stmt ||  ||
     422|| R1138  || end if stmt ||  ||
     423|| R1139  || if stmt ||  ||
     424|| R1140  || case construct ||  ||
     425|| R1141  || select case stmt ||  ||
     426|| R1142  || case stmt ||  ||
     427|| R1143  || end select stmt ||  ||
     428|| R1144  || case expr ||  ||
     429|| R1145  || case selector ||  ||
     430|| R1146  || case value range ||  ||
     431|| R1147  || case value ||  ||
     432|| R1148  || select rank construct ||  ||
     433|| R1149  || select rank stmt ||  ||
     434|| R1150  || select rank case stmt ||  ||
     435|| R1151  || end select rank stmt ||  ||
     436|| R1152  || select type construct ||  ||
     437|| R1153  || select type stmt ||  ||
     438|| R1154  || type guard stmt ||  ||
     439|| R1155  || end select type stmt ||  ||
     440|| R1156  || exit stmt ||  ||
     441|| R1157  || goto stmt ||  ||
     442|| R1158  || computed goto stmt ||  ||
     443|| R1159  || continue stmt ||  ||
     444|| R1160  || stop stmt ||  ||
     445|| R1161  || error stop stmt ||  ||
     446|| R1162  || stop code ||  ||
     447|| R1163  || fail image stmt ||  ||
     448|| R1164  || sync all stmt ||  ||
     449|| R1165  || sync stat ||  ||
     450|| R1166  || sync images stmt ||  ||
     451|| R1167  || image set ||  ||
     452|| R1168  || sync memory stmt ||  ||
     453|| R1169  || sync team stmt ||  ||
     454|| R1170  || event post stmt ||  ||
     455|| R1171  || event variable ||  ||
     456|| R1172  || event wait stmt ||  ||
     457|| R1173  || event wait spec ||  ||
     458|| R1174  || until spec ||  ||
     459|| R1175  || form team stmt ||  ||
     460|| R1176  || team number ||  ||
     461|| R1177  || team variable ||  ||
     462|| R1178  || form team spec ||  ||
     463|| R1179  || lock stmt ||  ||
     464|| R1180  || lock stat ||  ||
     465|| R1181  || unlcok stmt ||  ||
     466|| R1182  || lock variable ||  ||
     467|||||| Chapter.12 ||
     468|| R1201  || io unit ||  ||
     469|| R1202  || file until number ||  ||
     470|| R1203  || internal file variable ||  ||
     471|| R1204  || open stmt ||  ||
     472|| R1205  || connect spec ||  ||
     473|| R1206  || file name expr ||  ||
     474|| R1207  || iomsg variable ||  ||
     475|| R1208  || close stmt ||  ||
     476|| R1209  || close spec ||  ||
     477|| R1210  || read stmt ||  ||
     478|| R1211  || write stmt ||  ||
     479|| R1212  || print stmt ||  ||
     480|| R1213  || io control spec ||  ||
     481|| R1214  || id variable ||  ||
     482|| R1215  || format ||  ||
     483|| R1216  || input item ||  ||
     484|| R1217  || output item ||  ||
     485|| R1218  || io implied do ||  ||
     486|| R1219  || io implied do object ||  ||
     487|| R1220  || io implied do control ||  ||
     488|| R1221  || dtv type spec ||  ||
     489|| R1222  || wait stmt ||  ||
     490|| R1223  || wait spec ||  ||
     491|| R1224  || backspace stmt ||  ||
     492|| R1225  || endfile stmt ||  ||
     493|| R1226  || rewind stmt ||  ||
     494|| R1227  || position spec ||  ||
     495|| R1228  || flush stmt ||  ||
     496|| R1229  || flush spec ||  ||
     497|| R1230  || inquire stmt ||  ||
     498|| R1231  || inquire spec ||  ||
     499|||||| Chapter.13 ||
     500|| R1301  || format stmt ||  ||
     501|| R1302  || format specification ||  ||
     502|| R1303  || format items ||  ||
     503|| R1304  || format item ||  ||
     504|| R1305  || unlimited format item ||  ||
     505|| R1306  || r ||  ||
     506|| R1307  || data edit spec ||  ||
     507|| R1308  || w ||  ||
     508|| R1309  || m ||  ||
     509|| R1310  || d ||  ||
     510|| R1311  || e ||  ||
     511|| R1312  || v ||  ||
     512|| R1313  || control edit spec ||  ||
     513|| R1314  || k ||  ||
     514|| R1315  || position edit spec ||  ||
     515|| R1316  || n ||  ||
     516|| R1317  || sign edit desc ||  ||
     517|| R1318  || blank interp edit desc ||  ||
     518|| R1319  || round edit desc ||  ||
     519|| R1320  || decimal edit desc ||  ||
     520|| R1321  || char string edit spec ||  ||
     521|||||| Chapter.14 ||
     522|| R1401  || main program ||  ||
     523|| R1402  || program stmt ||  ||
     524|| R1403  || end program stmt ||  ||
     525|| R1404  || module ||  ||
     526|| R1405  || module stmt ||  ||
     527|| R1406  || end module stmt ||  ||
     528|| R1407  || module subprogram part ||  ||
     529|| R1408  || module subprogram ||  ||
     530|| R1409  || use stmt ||  ||
     531|| R1410  || module nature ||  ||
     532|| R1411  || rename ||  ||
     533|| R1412  || only ||  ||
     534|| R1413  || only use stmt ||  ||
     535|| R1414  || local defined operator ||  ||
     536|| R1415  || use defined operator ||  ||
     537|| R1416  || submodule ||  ||
     538|| R1417  || submodule stmt ||  ||
     539|| R1418  || parent identifier ||  ||
     540|| R1419  || end submodule stmt ||  ||
     541|| R1420  || block data ||  ||
     542|| R1421  || block data stmt ||  ||
     543|| R1422  || end block data stmt ||  ||
     544|||||| Chapter.15 ||
     545|| R1501  || interface block ||  ||
     546|| R1502  || interface specification ||  ||
     547|| R1503  || interface stmt ||  ||
     548|| R1504  || end interface stmt ||  ||
     549|| R1505  || interface body ||  ||
     550|| R1506  || procedure stmt ||  ||
     551|| R1507  || specific procedure ||  ||
     552|| R1508  || generic spec ||  ||
     553|| R1509  || defined io generic spec ||  ||
     554|| R1510  || generic stmt ||  ||
     555|| R1511  || external stmt ||  ||
     556|| R1512  || procedure declaration stmt ||  ||
     557|| R1513  || proc interface ||  ||
     558|| R1514  || proc attr spec ||  ||
     559|| R1515  || proc decl ||  ||
     560|| R1516  || interface name ||  ||
     561|| R1517  || proc pointer init ||  ||
     562|| R1518  || initial proc target ||  ||
     563|| R1519  || intrinsic stmt ||  ||
     564|| R1520  || function reference ||  ||
     565|| R1521  || call stmt ||  ||
     566|| R1522  || procedure designator ||  ||
     567|| R1523  || actual arg spec ||  ||
     568|| R1524  || actual arg ||  ||
     569|| R1525  || alt return spec ||  ||
     570|| R1526  || prefix ||  ||
     571|| R1527  || prefix spec ||  ||
     572|| R1528  || proc language binding spec ||  ||
     573|| R1529  || function subprogram ||  ||
     574|| R1530  || function stmt ||  ||
     575|| R1531  || dummy arg stmt ||  ||
     576|| R1532  || suffix ||  ||
     577|| R1533  || end function stmt ||  ||
     578|| R1534  || subroutine subprogram ||  ||
     579|| R1535  || subroutine stmt ||  ||
     580|| R1536  || dymmy arg ||  ||
     581|| R1537  || end subroutine stmt ||  ||
     582|| R1538  || separate module subprogram ||  ||
     583|| R1539  || mp subprogram stmt ||  ||
     584|| R1540  || end mp subprogram stmt ||  ||
     585|| R1541  || entry stmt ||  ||
     586|| R1542  || return stmt ||  ||
     587|| R1543  || contains stmt ||  ||
     588|| R1544  || stmt fucntion stmt ||  ||
     589
     590
    86591== Appendix B. OpenMP directives ==
    87592