FLECS VERSION 860214 27-MAR-87 11:25:42 PAGE 00001 L,L/-SP=[MP1Q.FLEALECOM]L/CO:FLECS 00001 00000 C;+ 00002 00000 C - L I S T 00003 00000 C****NAME: SUBROUTINE LIST 00004 00000 C IDENT: /860424/ 00005 00000 C FILE: L.FLX 00006 00000 C 00007 00000 C****PURPOSE: LIST STATEMENTS AND ERRORS 00008 00000 C 00009 00000 C****RESTRICTIONS: 00010 00000 C 00011 00000 C SYSTEM: RSX11M V4.0 00012 00000 C LANGUAGE: FLECS/FORTRAN 00013 00000 C AUTHOR: TERRY BEYER 00014 00000 C DATE: 20-NOV-74 00015 00000 C REVISIONS: 00016 00000 C 25-JAN-80 (MAO) DEFINE CINLIN IN /PARAM/ 00017 00000 C 26-JAN-80 (MAO) ADD COMMENTS 00018 00000 C 22-JUN-81 (MAO) ADD DIRECTIVE PROCESSING 00019 00000 C 29-JUN-81 (MAO) ADD ERRORS FOR .INCLUDE 00020 00000 C 30-JUN-81 (MAO) ADD ERRORS FOR .PASSx 00021 00000 C 29-NOV-82 (MAO) OUTPUT ERROR MESAGE IF INPUT ERROR 00022 00000 C 07-MAR-83 (MAO) ADD CODE TO PUT FORT LINE # IN FLL FILE 00023 00000 C 08-MAR-83 (MAO) ADD ERROR CODE 500 00024 00000 C 07-MAR-84 (MAO) ADD CODES FOR .IMPLICIT NONE 00025 00000 C 13-AUG-84 (MAO) REPLACE WHEN(ALECS)ELSE WITH .PASSIF ALECS/FLECS 00026 00000 C 860214mao Handle CLASS=TENDDO, TENDIF, TELSIF. Use .IMP NONE. 00027 00000 C 860228mao Handle missing ENDIF properly. 00028 00000 C 860407mao Remove .IMP NONE so can export .FTN w/o .FID file. 00029 00000 C 860423mao Handle BLKIF variable correctly. 00030 00000 C 860424mao Change output format for ENDIF and ENDDO. 00031 00000 C 00032 00000 C****CALLING SEQUENCE: CALL LIST 00033 00000 C 00034 00000 C INPUT: NONE 00035 00000 C 00036 00000 C OUTPUT: NONE 00037 00000 C 00038 00000 C CMN BLOCK I/O: BLANK COMMON, /PARAM/, /IOERR/ 00039 00000 C 00040 00000 C RESOURCES: 00041 00000 C LIBRARIES: NONE 00042 00000 C OTHER SUBR: [201,13]CATNUM,CATSTR,CATSUB,CPYSTR,CPYSUB, 00043 00000 C PUT,PUTNUM 00044 00000 C DISK FILES: NONE 00045 00000 C DEVICES: NONE 00046 00000 C SGAS: NONE 00047 00000 C EVENT FLAGS: NONE 00048 00000 C SYSTEM DIR: NONE 00049 00000 C 00050 00000 C****NOTES: 00051 00000 C;- 00052 00001 SUBROUTINE LIST 00053 00001 00054 00001 CCCCC .IMPLICIT NONE 00055 00001 FLECS VERSION 860214 27-MAR-87 11:25:42 PAGE 00002 L,L/-SP=[MP1Q.FLEALECOM]L/CO:FLECS 00056 00001 .PASSUNLESS ALECS 00057 00001 .PASSUNLESS FLECS 00059 00001 .PASSEND 00060 00001 .PASSEND 00061 00001 C 00062 00001 C 00063 00001 C SUBROUTINE TO LIST STATEMENT AND ERRORS 00064 00001 C 00065 00001 C--------------------------------------- 00066 00001 C 00067 00001 C FLECS TRANSLATOR (PRELIMINARY VERSION 22) 00068 00001 C (FOR A MORE PRECISE VERSION NUMBER, SEE THE STRING SVER) 00069 00001 C 00070 00001 C AUTHOR -- TERRY BEYER 00071 00001 C 00072 00001 C ADDRESS -- COMPUTING CENTER 00073 00001 C UNIVERSITY OF OREGON 00074 00001 C EUGENE, OREGON 97405 00075 00001 C 00076 00001 C TELEPHONE -- (503) 686-4416 00077 00001 C 00078 00001 C DATE -- NOVEMBER 20, 1974 00079 00001 C 00080 00001 C--------------------------------------- 00081 00001 C 00082 00001 C DISCLAIMER 00083 00001 C 00084 00001 C NEITHER THE AUTHOR NOR THE UNIVERSITY OF OREGON SHALL BE 00085 00001 C LIBAL FOR ANY DIRECT OR INDIRECT, INCIDENTAL, CONSEQUENTIAL, 00086 00001 C OR SPECIFIC DAMAGES OF ANY KIND OR FROM ANY CAUSE WHATSOEVER 00087 00001 C ARISING OUT OF OR IN ANY WAY CONNECTED WITH THE USE OR 00088 00001 C PERFORMANCE OF THIS PROGRAM. 00089 00001 C 00090 00001 C--------------------------------------- 00091 00001 C 00092 00001 C SPECIAL NOTES FOR THE PDP-11 00093 00001 C 00094 00001 C 00095 00001 C 1. DUE TO A RESTRICTION IN THE DOS FORTRAN COMPILER, 00096 00001 C ALL DATA STATEMENTS HAVE BEEN COMMENTED OUT IN THEIR 00097 00001 C ORIGINAL LOCATIONS AND HAVE BEEN REPRODUCED IN A BLOCK 00098 00001 C AT THE END OF THE OTHER DECLARATIONS. 00099 00001 C 00100 00001 C 2. DUE TO THE INABILITY OF THE DOS FORTRAN COMPILER TO 00101 00001 C CORRECTLY INTERPRET THE STATEMENT CALLNO=CALLNO+1 00102 00001 C THE VARIABLE CALLNO HAS BEEN RENAMED TO NOCALL 00103 00001 C 00104 00001 C--------------------------------------- 00105 00001 C 00106 00001 C THE FOLLOWING IS FOR THE LAMPF VERSION OF FLECS 00107 00001 C 00108 00002 INTEGER NUMLIN !830307 MAO 00109 00003 LOGICAL CNTALL !830307 MAO 00110 00004 COMMON/FLINE/CNTALL,NUMLIN !830307 MAO 00111 00004 C FLECS VERSION 860214 27-MAR-87 11:25:42 PAGE 00003 L,L/-SP=[MP1Q.FLEALECOM]L/CO:FLECS 00112 00005 INTEGER DTYPE !22-JUN-81 00113 00006 COMMON/DIR/DTYPE 00114 00006 C 00115 00007 LOGICAL PASFLG !30JUN81MAO 00116 00008 INTEGER CNDLVL !30JUN81MAO 00117 00009 INTEGER OFFLVL !30JUN81MAO 00118 00010 INTEGER COND !30JUN81MAO 00119 00011 INTEGER CNDVAL !30JUN81MAO 00120 00012 COMMON/COND/PASFLG,CNDLVL,OFFLVL,COND,CNDVAL(4,10) !30JUN81MAO 00121 00012 C 00122 00012 C ALECS VVVVV 00123 00013 LOGICAL*2 ALECS,LSTFUL !22-JUN-81 00124 00014 INTEGER*2 TYPIN,TYPLST,TYPOUT,CHCMNT !22-JUN-81 00125 00015 COMMON/MACVAL/ALECS,TYPIN,TYPLST,TYPOUT,CHCMNT,LSTFUL!22-JUN-81 00126 00015 C ALECS ^^^^^ 00127 00015 C 00128 00016 INTEGER ERR1,ERR2 !821129MAO 00129 00017 COMMON/IOERR/ERR1,ERR2 !821129MAO 00130 00017 00131 00018 COMMON/IFBLK/BLKIF !860214 00132 00019 INTEGER*2 BLKIF !860214 00133 00019 C 00134 00019 C INTEGER DECLARATIONS 00135 00019 C 00136 00019 C 00137 00020 INTEGER*2 AELS77 !860228 00138 00021 DATA AELS77/13/ !860228 00139 00022 INTEGER FORMFD !22-JUN-81 00140 00023 INTEGER DPAGE !22-JUN-81 00141 00024 INTEGER DINCL !29JUN81MAO 00142 00025 INTEGER DPEND,DPIF,DPUNL !30JUN81MAO 00143 00026 INTEGER DNAME !30JUN81MAO 00144 00027 INTEGER DIMP !840307MAO 00145 00028 INTEGER SNEST,SFNAM,SOPN !29JUN81MAO 00146 00029 INTEGER SFCONT !830308MAO 00147 00030 INTEGER SEPE,SNONAM,STRUN,SMPE !30JUN81MAO 00148 00031 INTEGER TDIR !22-JUN-81 00149 00032 INTEGER TOFF !30JUN81MAO 00150 00032 C 00151 00032 C ALECS VVVVV 00152 00033 INTEGER SPAGE 00153 00033 C ALECS ^^^^^ 00154 00033 C 00155 00034 INTEGER BLN , CHC , CHSPAC, CHZERO, CLASS , ERRCL 00156 00035 INTEGER CINLIN !25-JAN-80 00157 00036 INTEGER ERROR , ERRSTK, ERSTOP, ERTYPE, EXTYPE, FLXNO 00158 00037 INTEGER FORTCL, HOLDNO, I , LEVEL , LINENO 00159 00038 INTEGER LISTCL, LSTLEV 00160 00039 INTEGER MAJCNT, MINCNT, MLINE , NCHPWD, NUNITS, P 00161 00040 INTEGER PTABLE, QP , READ , REFNO , RETRY 00162 00041 INTEGER SB , SB2 , SB4 , SB6 , SB7 , SCOND 00163 00042 INTEGER SDASH , SELSE , SENDER, SETUP , SFIN , SFLX 00164 00043 INTEGER SENDIF,SIENDI !860228 00165 00044 INTEGER SFSPCR, SHOLD , SICOND, SIELSE, SIFIN , SIFIN2 00166 00045 INTEGER SIGN , SINSRT, SINS2 , SITODM, SIWHEN, SLIST , SMULER FLECS VERSION 860214 27-MAR-87 11:25:42 PAGE 00004 L,L/-SP=[MP1Q.FLEALECOM]L/CO:FLECS 00167 00046 INTEGER SNDER1, SNDER2, SNIER1, SNIER2, SOURCE 00168 00047 INTEGER SPINV , SPUTGO, SRDERR, SRP , SSPACR, SST , SSTMAX 00169 00048 INTEGER STABH , STACK , STODUM, SVER , SWHEN , SXER1 00170 00049 INTEGER SXER2 , SXER3 , SXER4 , SXER5 , TABLCL, TCEXP 00171 00050 INTEGER TELSE , TEND , TEXEC , TFIN , TOP , TTO 00172 00051 INTEGER TENDDO, TENDIF, TELSIF !860214 00173 00052 INTEGER ULEN , USTART, UTYPE , WWIDTH 00174 00052 C 00175 00052 C--------------------------------------- 00176 00052 C 00177 00052 C LOGICAL DECLARATIONS 00178 00052 C 00179 00052 C 00180 00053 LOGICAL DONE , ENDFIL, ENDPGM, ERLST , FIRST , FOUND ,MINER 00181 00054 LOGICAL NDERR , NIERR , NOPGM , PASS , SAVED 00182 00054 C 00183 00054 C--------------------------------------- 00184 00054 C 00185 00054 C ARRAY DECLARATIONS 00186 00054 C 00187 00054 C 00188 00054 C ARRAYS WHICH HOLD RESULTS OF SCANNERS ANALYSIS 00189 00055 DIMENSION UTYPE(3), USTART(3), ULEN(3) 00190 00055 C 00191 00055 C STACK/TABLE AREA AND POINTER TO TOP OF STACK 00192 00056 DIMENSION STACK(2000) 00193 00056 C 00194 00056 C SYNTAX ERROR STACK AND TOP POINTER 00195 00057 DIMENSION ERRSTK(5) 00196 00057 C 00197 00057 C--------------------------------------- 00198 00057 C 00199 00057 C COMMON DECLARATIONS 00200 00057 C (SEE ALSO PARAMETERS BELOW) 00201 00057 C 00202 00057 C 00203 00057 C THE FOLLOWING VARIABLES ARE COMMON TO TWO OR MORE SUBPROGRAMS 00204 00058 COMMON BLN , CLASS , DONE , ENDFIL, ENDPGM, ERLST 00205 00059 COMMON ERROR , ERRSTK, ERSTOP, EXTYPE, FIRST , FLXNO 00206 00060 COMMON FOUND , HOLDNO, LEVEL , LINENO, LSTLEV, MAJCNT 00207 00061 COMMON MINCNT, MLINE , NOPGM , NUNITS, PASS , PTABLE, QP 00208 00062 COMMON REFNO , SAVED , SFLX , SHOLD , SLIST , SOURCE 00209 00063 COMMON SPINV , SPUTGO, SST , STACK , TOP , ULEN 00210 00064 COMMON USTART, UTYPE , WWIDTH 00211 00064 C 00212 00064 C--------------------------------------- 00213 00064 C 00214 00064 C MNEMONIC DECLARATIONS 00215 00064 C 00216 00064 C 00217 00064 C I/O CLASS CODES FOR USE WITH SUBROUTINE PUT 00218 00064 C DATA FORTCL /1/, LISTCL /2/, ERRCL /3/ 00219 00064 C 00220 00064 C TYPE CODES ASSIGNED TO THE VARIABLE CLASS 00221 00064 C DATA TCEXP/1/, TELSE/2/, TEND/3/, TEXEC/4/, TFIN/5/, TTO/6/ FLECS VERSION 860214 27-MAR-87 11:25:42 PAGE 00005 L,L/-SP=[MP1Q.FLEALECOM]L/CO:FLECS 00222 00064 C DATA TDIR/7/ 00223 00064 C DATA TOFF/8/ !30JUN81 00224 00064 C DATA TENDDO /9/, TENDIF /11/, TELSIF /10/ !860214 00225 00064 C 00226 00064 C TYPE CODES ASSIGNED TO THE VARIABLE DTYPE 00227 00064 C 00228 00064 C DATA DPAGE /1/, DINCL /2/, DPIF/3/, DPUNL/4/, DPEND/5/ !30JUN81 00229 00064 C DATA DNAME/6/ !30JUN81 00230 00064 C DATA DIMP /7/ !840307M 00231 00064 C 00232 00064 C CODES INDICATING SOURCE OF NEXT STATEMENT 00233 00064 C IN SUBROUTINE ANALYZ 00234 00064 C DATA SETUP /1/, RETRY /2/, READ /3/ 00235 00064 C 00236 00064 C--------------------------------------- 00237 00064 C 00238 00064 C 00239 00064 C PARAMETERS 00240 00064 C 00241 00064 C THE FOLLOWING VARIABLES ARE PARAMETERS FOR THE PROGRAM. 00242 00064 C THE MEANING OF EACH IS GIVEN BRIEFLY BELOW. FOR MORE INFORMATION 00243 00064 C ON THE EFFECT OF THESE PARAMETERS, CONSULT THE SYSTEM MODIFICATION 00244 00064 C GUIDE. 00245 00064 C THE PARAMETERS NCHPWD, CHZERO, CHSPAC, AND CHC ARE SUPPLIED 00246 00064 C BY THE MAIN PROGRAM VIA THE FOLLOWING COMMON 00247 00065 COMMON /PARAM/ NCHPWD, CHZERO, CHSPAC, CHC, CINLIN !25-JAN-80 00248 00065 C 00249 00065 C--------------------------------------- 00250 00065 C 00251 00065 C STRING DECLARATIONS 00252 00065 C 00253 00065 C 00254 00065 C THE FOLLOWING ARRAYS ARE USED FOR STORAGE OF WORKING STRINGS 00255 00065 C AND CORRESPOND TO STRINGS OF THE LENGTHS INDICATED. 00256 00065 C THE SIZES GIVEN BELOW ARE EXCESSIVE AND SHOULD BE 00257 00065 C BE REDUCED AFTER CAREFUL ANALYSIS (NO TIME NOW). 00258 00065 C 00259 00065 C SFLX 100 CHARACTERS 00260 00066 DIMENSION SFLX (51) 00261 00066 C SHOLD 100 CHARACTERS 00262 00067 DIMENSION SHOLD (51) 00263 00067 C SLIST 200 CHARACTERS 00264 00068 DIMENSION SLIST (101) 00265 00068 C SPINV 80 CHARACTERS 00266 00069 DIMENSION SPINV (41) 00267 00069 C SPUTGO 20 CHARACTERS 00268 00070 DIMENSION SPUTGO (11) 00269 00070 C SST 200 CHARACTERS 00270 00071 DIMENSION SST (101) 00271 00071 C DATA SSTMAX /200/ 00272 00071 C 00273 00071 C THE FOLLOWING STRINGS REPRESENT CONSTANTS 00274 00071 C 00275 00071 C SB // // 00276 00072 DIMENSION SB (2) FLECS VERSION 860214 27-MAR-87 11:25:42 PAGE 00006 L,L/-SP=[MP1Q.FLEALECOM]L/CO:FLECS 00277 00072 C DATA SB / 1, 1H / 00278 00072 C SB2 // // 00279 00073 DIMENSION SB2 (2) 00280 00073 C DATA SB2 / 2, 2H / 00281 00073 C SB4 // // 00282 00074 DIMENSION SB4 (3) 00283 00074 C DATA SB4 / 4, 2H , 2H / 00284 00074 C SB6 // // 00285 00075 DIMENSION SB6 (4) 00286 00075 C DATA SB6 / 6, 2H , 2H , 2H / 00287 00075 C SB7 // // 00288 00076 DIMENSION SB7 (5) 00289 00076 C DATA SB7 / 7, 2H , 2H , 2H , 1H / 00290 00076 C SCOND // CONDITIONAL// 00291 00077 DIMENSION SCOND (10) 00292 00077 C DATA SCOND / 17, 2H , 2H , 2H , 2HCO, 2HND, 2HIT, 2HIO, 2HNA 00293 00077 C 1 , 1HL/ 00294 00077 C SDASH //----------------------------------------// 00295 00078 DIMENSION SDASH (21) 00296 00078 C DATA SDASH / 40, 2H--, 2H--, 2H--, 2H--, 2H--, 2H--, 2H--, 2H-- 00297 00078 C 1 , 2H--, 2H--, 2H--, 2H--, 2H--, 2H--, 2H--, 2H-- 00298 00078 C 1 , 2H--, 2H--, 2H--, 2H--/ 00299 00078 C SELSE // ELSE CONTINUE// 00300 00079 DIMENSION SELSE (11) 00301 00079 C DATA SELSE / 19, 2H , 2H , 2H , 2HEL, 2HSE, 2H C, 2HON, 2HTI 00302 00079 C 1 , 2HNU, 1HE/ 00303 00079 C SENDER //***** END STATEMENT IS MISSING// 00304 00080 DIMENSION SENDER (16) 00305 00080 C DATA SENDER / 30, 2H**, 2H**, 2H* , 2HEN, 2HD , 2HST, 2HAT, 2HEM 00306 00080 C 1 , 2HEN, 2HT , 2HIS, 2H M, 2HIS, 2HSI, 2HNG/ 00307 00080 C SENDIF // ENDIF// !860228 00308 00081 DIMENSION SENDIF (7) !860228 00309 00081 C DATA SENDIF / 11, 2H , 2H , 2H , 2HEN, 2HDI, 1HF/ !860228 00310 00081 C SEPE //***** EXTRA .PASSEND--IGNORED// 00311 00082 DIMENSION SEPE(15) !30JUN81MAO 00312 00082 C DATA SEPE /28, 2H**, 2H**, 2H* ,2HEX, 2HTR, 2HA ,2H.P, 00313 00082 C 1 2HAS, 2HSE, 2HND, 2H--, 2HIG, 2HOR, 2HED/ 00314 00082 C SFCONT //***** WARN--INPUT FORCED OUTPUT CONTINUATION LINE/ 00315 00083 DIMENSION SFCONT(26) !830308MAO 00316 00083 C DATA SFCONT /49, 2H**, 2H**, 2H* ,2HWA, 2HRN, 2H--, 00317 00083 C 1 2HIN, 2HPU, 2HT , 2HFO, 2HRC, 2HED, 2H O, 2HUT, 2HPU, 00318 00083 C 2 2HT , 2HCO, 2HNT, 2HIN, 2HUA, 2HTI, 2HON, 2H L, 2HIN, 00319 00083 C 3 1HE/ 00320 00083 C SFIN // FIN// 00321 00084 DIMENSION SFIN (6) 00322 00084 C DATA SFIN / 9, 2H , 2H , 2H , 2HFI, 1HN/ 00323 00084 C SFNAM //***** .INCLUDE FILE NAME ERROR// 00324 00085 DIMENSION SFNAM(16) !29JUN81MAO 00325 00085 C DATA SFNAM /30, 2H**, 2H**, 2H* ,2H.I, 2HNC, 2HLU, 2HDE, 00326 00085 C 1 2H F, 2HIL, 2HE , 2HNA, 2HME, 2H E, 2HRR, 2HOR/ 00327 00085 C SFSPCR //...// 00328 00086 DIMENSION SFSPCR (3) 00329 00086 C DATA SFSPCR / 3, 2H.., 1H./ 00330 00086 C SICOND //***** (CONDITIONAL OR SELECT IS APPARENTLY MISSING)// 00331 00087 DIMENSION SICOND (28) FLECS VERSION 860214 27-MAR-87 11:25:42 PAGE 00007 L,L/-SP=[MP1Q.FLEALECOM]L/CO:FLECS 00332 00087 C DATA SICOND / 54, 2H**, 2H**, 2H* , 2H , 2H (, 2HCO, 2HND, 2HIT 00333 00087 C 1 , 2HIO, 2HNA, 2HL , 2HOR, 2H S, 2HEL, 2HEC, 2HT 00334 00087 C 1 , 2HIS, 2H A, 2HPP, 2HAR, 2HEN, 2HTL, 2HY , 2HMI 00335 00087 C 1 , 2HSS, 2HIN, 2HG)/ 00336 00087 C SIELSE //***** (ELSE NECESSARY TO MATCH LINE // 00337 00088 DIMENSION SIELSE (21) 00338 00088 C DATA SIELSE / 39, 2H**, 2H**, 2H* , 2H , 2H (, 2HEL, 2HSE, 2H N 00339 00088 C 1 , 2HEC, 2HES, 2HSA, 2HRY, 2H T, 2HO , 2HMA, 2HTC 00340 00088 C 1 , 2HH , 2HLI, 2HNE, 1H / 00341 00088 C SIENDI //***** (ENDIF NECESSARY TO MATCH LINE // !860228 00342 00089 DIMENSION SIENDI (21) !860228 00343 00089 C DATA SIENDI / 40, 2H**, 2H**, 2H* , 2H , 2H (, 2HEN, 2HDI , 2HF 00344 00089 C 1 , 2HNE 00345 00089 C 1 , 2HCE, 2HSS, 2HAR, 2HY , 2HTO, 2H M, 2HAT, 2HCH 00346 00089 C 1 , 2H L, 2HIN, 2HE / 00347 00089 C SIFIN //***** (FIN NECESSARY TO MATCH LINE // 00348 00090 DIMENSION SIFIN (20) 00349 00090 C DATA SIFIN / 38, 2H**, 2H**, 2H* , 2H , 2H (, 2HFI, 2HN , 2HNE 00350 00090 C 1 , 2HCE, 2HSS, 2HAR, 2HY , 2HTO, 2H M, 2HAT, 2HCH 00351 00090 C 1 , 2H L, 2HIN, 2HE / 00352 00090 C SIFIN2 //ASSUMED ABOVE)// 00353 00091 DIMENSION SIFIN2 (8) 00354 00091 C DATA SIFIN2 / 14, 2HAS, 2HSU, 2HME, 2HD , 2HAB, 2HOV, 2HE)/ 00355 00091 C SIGN //***** (NO CONTROL PHRASE FOR FIN TO MATCH)// 00356 00092 DIMENSION SIGN (24) 00357 00092 C DATA SIGN / 45, 2H**, 2H**, 2H* , 2H , 2H (, 2HNO, 2H C, 2HON 00358 00092 C 1 , 2HTR, 2HOL, 2H P, 2HHR, 2HAS, 2HE , 2HFO, 2HR 00359 00092 C 1 , 2HFI, 2HN , 2HTO, 2H M, 2HAT, 2HCH, 1H)/ 00360 00092 C SINSRT //***** STATEMENT(S) NEEDED BEFORE LINE // 00361 00093 DIMENSION SINSRT (20) 00362 00093 C DATA SINSRT / 38, 2H**, 2H**, 2H* , 2HST, 2HAT, 2HEM, 2HEN, 2HT( 00363 00093 C 1 , 2HS), 2H N, 2HEE, 2HDE, 2HD , 2HBE, 2HFO, 2HRE 00364 00093 C 1 , 2H L, 2HIN, 2HE / 00365 00093 C SINS2 //ASSUMED BELOW// 00366 00094 DIMENSION SINS2 (8) 00367 00094 C DATA SINS2 / 13, 2HAS, 2HSU, 2HME, 2HD , 2HBE, 2HLO, 1HW/ 00368 00094 C SITODM //***** (ONLY TO AND END ARE VALID AT THIS POINT)// 00369 00095 DIMENSION SITODM (26) 00370 00095 C DATA SITODM / 50, 2H**, 2H**, 2H* , 2H , 2H (, 2HON, 2HLY, 2H T 00371 00095 C 1 , 2HO , 2HAN, 2HD , 2HEN, 2HD , 2HAR, 2HE , 2HVA 00372 00095 C 1 , 2HLI, 2HD , 2HAT, 2H T, 2HHI, 2HS , 2HPO, 2HIN 00373 00095 C 1 , 2HT)/ 00374 00095 C SIWHEN //***** (WHEN TO MATCH FOLLOWING ELSE)// 00375 00096 DIMENSION SIWHEN (21) 00376 00096 C DATA SIWHEN / 39, 2H**, 2H**, 2H* , 2H , 2H (, 2HWH, 2HEN, 2H T 00377 00096 C 1 , 2HO , 2HMA, 2HTC, 2HH , 2HFO, 2HLL, 2HOW, 2HIN 00378 00096 C 1 , 2HG , 2HEL, 2HSE, 1H)/ 00379 00096 C SMPE //***** MISSING .PASSEND// 00380 00097 DIMENSION SMPE(12) !30JUN81MAO 00381 00097 C DATA SMPE / 22, 2H**, 2H**, 2H* , 2HMI, 2HSS, 2HIN, 00382 00097 C 1 2HG , 2H.P, 2HAS, 2HSE, 2HND/ 00383 00097 C SMULER //***** (PROCEDURE ALREADY DEFINED ON LINE // 00384 00098 DIMENSION SMULER (23) 00385 00098 C DATA SMULER / 44, 2H**, 2H**, 2H* , 2H , 2H (, 2HPR, 2HOC, 2HED 00386 00098 C 1 , 2HUR, 2HE , 2HAL, 2HRE, 2HAD, 2HY , 2HDE, 2HFI FLECS VERSION 860214 27-MAR-87 11:25:42 PAGE 00008 L,L/-SP=[MP1Q.FLEALECOM]L/CO:FLECS 00387 00098 C 1 , 2HNE, 2HD , 2HON, 2H L, 2HIN, 2HE / 00388 00098 C SNDER1 //***** THE NEXT PROCEDURES WERE INVOKED ON// 00389 00099 DIMENSION SNDER1 (22) 00390 00099 C DATA SNDER1 / 42, 2H**, 2H**, 2H* , 2HTH, 2HE , 2HNE, 2HXT, 2H 00391 00099 C 1 , 2HPR, 2HOC, 2HED, 2HUR, 2HES, 2H W, 2HER, 2HE 00392 00099 C 1 , 2HIN, 2HVO, 2HKE, 2HD , 2HON/ 00393 00099 C SNDER2 //***** THE LINES GIVEN BUT WERE NEVER DEFINED// 00394 00100 DIMENSION SNDER2 (23) 00395 00100 C DATA SNDER2 / 44, 2H**, 2H**, 2H* , 2HTH, 2HE , 2HLI, 2HNE, 2HS 00396 00100 C 1 , 2HGI, 2HVE, 2HN , 2HBU, 2HT , 2HWE, 2HRE, 2H N 00397 00100 C 1 , 2HEV, 2HER, 2H D, 2HEF, 2HIN, 2HED/ 00398 00100 C SNIER1 //***** THE FOLLOWING PROCEDURES WERE DEFINED ON// 00399 00101 DIMENSION SNIER1 (24) 00400 00101 C DATA SNIER1 / 46, 2H**, 2H**, 2H* , 2HTH, 2HE , 2HFO, 2HLL, 2HOW 00401 00101 C 1 , 2HIN, 2HG , 2HPR, 2HOC, 2HED, 2HUR, 2HES, 2H W 00402 00101 C 1 , 2HER, 2HE , 2HDE, 2HFI, 2HNE, 2HD , 2HON/ 00403 00101 C SNIER2 //***** THE LINES GIVEN BUT WERE NEVER INVOKED// 00404 00102 DIMENSION SNIER2 (23) 00405 00102 C DATA SNIER2 / 44, 2H**, 2H**, 2H* , 2HTH, 2HE , 2HLI, 2HNE, 2HS 00406 00102 C 1 , 2HGI, 2HVE, 2HN , 2HBU, 2HT , 2HWE, 2HRE, 2H N 00407 00102 C 1 , 2HEV, 2HER, 2H I, 2HNV, 2HOK, 2HED/ 00408 00102 C SNEST //***** .INCLUDE FILES NESTED TOO DEEP// 00409 00103 DIMENSION SNEST(19) !29JUN81MAO 00410 00103 C DATA SNEST /36, 2H**, 2H**, 2H* ,2H.I, 2HNC, 2HLU, 2HDE, 00411 00103 C 1 2H F, 2HIL, 2HES, 2H N, 2HES, 2HTE, 2HD ,2HTO, 2HO , 00412 00103 C 2 2HDE, 2HEP/ 00413 00103 C SNONAM //***** NO NAME GIVEN WITH .PASS_// 00414 00104 DIMENSION SNONAM(17) !30JUN81MAO 00415 00104 C DATA SNONAM /31, 2H**, 2H**, 2H* ,2HNO, 2H N, 2HAM, 2HE , 00416 00104 C 1 2HGI, 2HVE, 2HN ,2HWI, 2HTH, 2H ., 2HPA, 2HSS, 1H_/ 00417 00104 C SOPN //***** OPEN FAIL ON .INCLUDE FILE// 00418 00105 DIMENSION SOPN(17) !29JUN81MAO 00419 00105 C DATA SOPN /32, 2H**, 2H**, 2H* ,2HOP, 2HEN, 2H F, 2HAI, 00420 00105 C 1 2HL ,2HON, 2H ., 2HIN, 2HCL, 2HUD, 2HE , 2HFI, 2HLE/ 00421 00105 C 00422 00105 C ALECS VVVVV 00423 00105 C SPAGE // .PAGE// 00424 00106 DIMENSION SPAGE(7) 00425 00106 C DATA SPAGE /11, 2H ,2H ,2H ,2H.P, 2HAG,1HE/ 00426 00106 C ALECS ^^^^^ 00427 00106 C 00428 00106 C SRDERR //***** (READ ERR ON INPUT LINE)// !821129M 00429 00107 DIMENSION SRDERR(18) !821129MAO 00430 00107 C DATA SRDERR /33, 2H**, 2H**, 2H* , 2H , 2H (, 2HRE, !821129M 00431 00107 C 1 2HAD, 2H E, 2HRR, 2H O, 2HN , 2HIN, !821129M 00432 00107 C 2 2HPU, 2HT , 2HLI, 2HNE, 1H)/ !821129M 00433 00107 C SRP //)// 00434 00108 DIMENSION SRP (2) 00435 00108 C DATA SRP / 1, 1H)/ 00436 00108 C SSPACR //. // 00437 00109 DIMENSION SSPACR (3) 00438 00109 C DATA SSPACR / 3, 2H. , 1H / 00439 00109 C STABH // PROCEDURE CROSS-REFERENCE TABLE// 00440 00110 DIMENSION STABH (20) 00441 00110 C DATA STABH / 37, 2H , 2H , 2H , 2HPR, 2HOC, 2HED, 2HUR, 2HE FLECS VERSION 860214 27-MAR-87 11:25:42 PAGE 00009 L,L/-SP=[MP1Q.FLEALECOM]L/CO:FLECS 00442 00110 C 1 , 2HCR, 2HOS, 2HS-, 2HRE, 2HFE, 2HRE, 2HNC, 2HE 00443 00110 C 1 , 2HTA, 2HBL, 1HE/ 00444 00110 C STODUM // TO DUMMY-PROCEDURE// 00445 00111 DIMENSION STODUM (13) 00446 00111 C DATA STODUM / 24, 2H , 2H , 2H , 2HTO, 2H D, 2HUM, 2HMY, 2H-P 00447 00111 C 1 , 2HRO, 2HCE, 2HDU, 2HRE/ 00448 00111 C STRUN //***** .PASS_ NAME HAS > 6 CHARACTERS--TRUNCATED// 00449 00112 DIMENSION STRUN(25) 00450 00112 C DATA STRUN / 47, 2H**, 2H**, 2H* ,2H.P, 2HAS, 2HS_, 00451 00112 C 1 2H N, 2HAM, 2HE , 2HHA, 2HS ,2H> , 2H6 ,2HCH, 00452 00112 C 2 2HAR, 2HAC, 2HTE, 2HRS, 2H--, 2HTR, 2HUN, 2HCA, 00453 00112 C 3 2HTE, 1HD/ 00454 00112 C SVER //(FLECS VERSION 22.38)// 00455 00113 DIMENSION SVER (12) 00456 00113 C DATA SVER / 21, 2H(F, 2HLE, 2HCS, 2H V, 2HER, 2HSI, 2HON, 2H 2 00457 00113 C 1 , 2H2., 2H38, 1H)/ 00458 00113 C SWHEN // WHEN (.TRUE.) CALL EXIT// 00459 00114 DIMENSION SWHEN (16) 00460 00114 C DATA SWHEN / 29, 2H , 2H , 2H , 2HWH, 2HEN, 2H (, 2H.T, 2HRU 00461 00114 C 1 , 2HE., 2H) , 2HCA, 2HLL, 2H E, 2HXI, 1HT/ 00462 00114 C SXER1 //***** (INVALID CHARACTER IN STATEMENT NUMBER FIELD)// 00463 00115 DIMENSION SXER1 (28) 00464 00115 C DATA SXER1 / 54, 2H**, 2H**, 2H* , 2H , 2H (, 2HIN, 2HVA, 2HLI 00465 00115 C 1 , 2HD , 2HCH, 2HAR, 2HAC, 2HTE, 2HR , 2HIN, 2H S 00466 00115 C 1 , 2HTA, 2HTE, 2HME, 2HNT, 2H N, 2HUM, 2HBE, 2HR 00467 00115 C 1 , 2HFI, 2HEL, 2HD)/ 00468 00115 C SXER2 //***** (RECOGNIZABLE STATEMENT FOLLOWED BY GARBAGE)// 00469 00116 DIMENSION SXER2 (28) 00470 00116 C DATA SXER2 / 53, 2H**, 2H**, 2H* , 2H , 2H (, 2HRE, 2HCO, 2HGN 00471 00116 C 1 , 2HIZ, 2HAB, 2HLE, 2H S, 2HTA, 2HTE, 2HME, 2HNT 00472 00116 C 1 , 2H F, 2HOL, 2HLO, 2HWE, 2HD , 2HBY, 2H G, 2HAR 00473 00116 C 1 , 2HBA, 2HGE, 1H)/ 00474 00116 C SXER3 //***** (LEFT PAREN DOES NOT FOLLOW CONTROL WORD)// 00475 00117 DIMENSION SXER3 (26) 00476 00117 C DATA SXER3 / 50, 2H**, 2H**, 2H* , 2H , 2H (, 2HLE, 2HFT, 2H P 00477 00117 C 1 , 2HAR, 2HEN, 2H D, 2HOE, 2HS , 2HNO, 2HT , 2HFO 00478 00117 C 1 , 2HLL, 2HOW, 2H C, 2HON, 2HTR, 2HOL, 2H W, 2HOR 00479 00117 C 1 , 2HD)/ 00480 00117 C SXER4 //***** (MISSING RIGHT PAREN)// 00481 00118 DIMENSION SXER4 (16) 00482 00118 C DATA SXER4 / 30, 2H**, 2H**, 2H* , 2H , 2H (, 2HMI, 2HSS, 2HIN 00483 00118 C 1 , 2HG , 2HRI, 2HGH, 2HT , 2HPA, 2HRE, 2HN)/ 00484 00118 C SXER5 //***** (VALID PROCEDURE NAME DOES NOT FOLLOW TO)// 00485 00119 DIMENSION SXER5 (26) 00486 00119 C DATA SXER5 / 50, 2H**, 2H**, 2H* , 2H , 2H (, 2HVA, 2HLI, 2HD 00487 00119 C 1 , 2HPR, 2HOC, 2HED, 2HUR, 2HE , 2HNA, 2HME, 2H D 00488 00119 C 1 , 2HOE, 2HS , 2HNO, 2HT , 2HFO, 2HLL, 2HOW, 2H T 00489 00119 C 1 , 2HO)/ 00490 00119 C 00491 00119 C--------------------------------------- 00492 00119 C 00493 00119 C THE DATA DECLARATIONS FOLLOW 00494 00119 C 00495 00119 C 00496 00120 DATA FORMFD /"14/ !22-JUN-81 FLECS VERSION 860214 27-MAR-87 11:25:42 PAGE 00010 L,L/-SP=[MP1Q.FLEALECOM]L/CO:FLECS 00497 00121 DATA FORTCL /1/, LISTCL /2/, ERRCL /3/ 00498 00122 DATA TCEXP/1/, TELSE/2/, TEND/3/, TEXEC/4/, TFIN/5/, TTO/6/ 00499 00123 DATA TENDDO/9/, TENDIF/11/, TELSIF/10/ !860214 00500 00124 DATA TDIR/7/ !22-JUN-81 00501 00125 DATA TOFF/8/ !30JUN81MAO 00502 00126 DATA DPAGE/1/ !22-JUN-81 00503 00127 DATA DINCL/2/ !29JUN81MAO 00504 00128 DATA DPIF/3/, DPUNL/4/, DPEND/5/ !29JUN81MAO 00505 00129 DATA DNAME /6/ !30JUN81MAO 00506 00130 DATA DIMP /7/ !840307MAO 00507 00131 DATA SETUP /1/, RETRY /2/, READ /3/ 00508 00132 DATA SSTMAX /200/ 00509 00133 DATA SB / 1, 1H / 00510 00134 DATA SB2 / 2, 2H / 00511 00135 DATA SB4 / 4, 2H , 2H / 00512 00136 DATA SB6 / 6, 2H , 2H , 2H / 00513 00137 DATA SB7 / 7, 2H , 2H , 2H , 1H / 00514 00138 DATA SCOND / 17, 2H , 2H , 2H , 2HCO, 2HND, 2HIT, 2HIO, 2HNA 00515 00139 1 , 1HL/ 00516 00140 DATA SDASH / 40, 2H--, 2H--, 2H--, 2H--, 2H--, 2H--, 2H--, 2H-- 00517 00141 1 , 2H--, 2H--, 2H--, 2H--, 2H--, 2H--, 2H--, 2H-- 00518 00142 1 , 2H--, 2H--, 2H--, 2H--/ 00519 00143 DATA SELSE / 19, 2H , 2H , 2H , 2HEL, 2HSE, 2H C, 2HON, 2HTI 00520 00144 1 , 2HNU, 1HE/ 00521 00145 DATA SENDER / 30, 2H**, 2H**, 2H* , 2HEN, 2HD , 2HST, 2HAT, 2HEM 00522 00146 1 , 2HEN, 2HT , 2HIS, 2H M, 2HIS, 2HSI, 2HNG/ 00523 00147 DATA SENDIF / 11, 2H , 2H , 2H , 2HEN, 2HDI, 1HF/ !860228 00524 00148 DATA SEPE /28, 2H**, 2H**, 2H* ,2HEX, 2HTR, 2HA ,2H.P, !30JUN81 00525 00149 1 2HAS, 2HSE, 2HND, 2H--, 2HIG, 2HOR, 2HED/ !30JUN81 00526 00150 DATA SFCONT /49, 2H**, 2H**, 2H* ,2HWA, 2HRN, 2H--, !830308 00527 00151 1 2HIN, 2HPU, 2HT , 2HFO, 2HRC, 2HED, 2H O, 2HUT, 2HPU, !830308 00528 00152 2 2HT , 2HCO, 2HNT, 2HIN, 2HUA, 2HTI, 2HON, 2H L, 2HIN, !830308 00529 00153 3 1HE/ 00530 00154 DATA SFIN / 9, 2H , 2H , 2H , 2HFI, 1HN/ 00531 00155 DATA SFNAM /30, 2H**, 2H**, 2H* ,2H.I, 2HNC, 2HLU, 2HDE, !29JUN81 00532 00156 1 2H F, 2HIL, 2HE , 2HNA, 2HME, 2H E, 2HRR, 2HOR/ !29JUN81 00533 00157 DATA SFSPCR / 3, 2H.., 1H./ 00534 00158 DATA SICOND / 54, 2H**, 2H**, 2H* , 2H , 2H (, 2HCO, 2HND, 2HIT 00535 00159 1 , 2HIO, 2HNA, 2HL , 2HOR, 2H S, 2HEL, 2HEC, 2HT 00536 00160 1 , 2HIS, 2H A, 2HPP, 2HAR, 2HEN, 2HTL, 2HY , 2HMI 00537 00161 1 , 2HSS, 2HIN, 2HG)/ 00538 00162 DATA SIELSE / 39, 2H**, 2H**, 2H* , 2H , 2H (, 2HEL, 2HSE, 2H N 00539 00163 1 , 2HEC, 2HES, 2HSA, 2HRY, 2H T, 2HO , 2HMA, 2HTC 00540 00164 1 , 2HH , 2HLI, 2HNE, 1H / 00541 00165 DATA SIENDI / 40, 2H**, 2H**, 2H* , 2H , 2H (, 2HEN, 2HDI , 2HF 00542 00166 1 , 2HNE 00543 00167 1 , 2HCE, 2HSS, 2HAR, 2HY , 2HTO, 2H M, 2HAT, 2HCH 00544 00168 1 , 2H L, 2HIN, 2HE / 00545 00169 DATA SIFIN / 38, 2H**, 2H**, 2H* , 2H , 2H (, 2HFI, 2HN , 2HNE 00546 00170 1 , 2HCE, 2HSS, 2HAR, 2HY , 2HTO, 2H M, 2HAT, 2HCH 00547 00171 1 , 2H L, 2HIN, 2HE / 00548 00172 DATA SIFIN2 / 14, 2HAS, 2HSU, 2HME, 2HD , 2HAB, 2HOV, 2HE)/ 00549 00173 DATA SIGN / 45, 2H**, 2H**, 2H* , 2H , 2H (, 2HNO, 2H C, 2HON 00550 00174 1 , 2HTR, 2HOL, 2H P, 2HHR, 2HAS, 2HE , 2HFO, 2HR 00551 00175 1 , 2HFI, 2HN , 2HTO, 2H M, 2HAT, 2HCH, 1H)/ FLECS VERSION 860214 27-MAR-87 11:25:42 PAGE 00011 L,L/-SP=[MP1Q.FLEALECOM]L/CO:FLECS 00552 00176 DATA SINSRT / 38, 2H**, 2H**, 2H* , 2HST, 2HAT, 2HEM, 2HEN, 2HT( 00553 00177 1 , 2HS), 2H N, 2HEE, 2HDE, 2HD , 2HBE, 2HFO, 2HRE 00554 00178 1 , 2H L, 2HIN, 2HE / 00555 00179 DATA SINS2 / 13, 2HAS, 2HSU, 2HME, 2HD , 2HBE, 2HLO, 1HW/ 00556 00180 DATA SITODM / 50, 2H**, 2H**, 2H* , 2H , 2H (, 2HON, 2HLY, 2H T 00557 00181 1 , 2HO , 2HAN, 2HD , 2HEN, 2HD , 2HAR, 2HE , 2HVA 00558 00182 1 , 2HLI, 2HD , 2HAT, 2H T, 2HHI, 2HS , 2HPO, 2HIN 00559 00183 1 , 2HT)/ 00560 00184 DATA SIWHEN / 39, 2H**, 2H**, 2H* , 2H , 2H (, 2HWH, 2HEN, 2H T 00561 00185 1 , 2HO , 2HMA, 2HTC, 2HH , 2HFO, 2HLL, 2HOW, 2HIN 00562 00186 1 , 2HG , 2HEL, 2HSE, 1H)/ 00563 00187 DATA SMPE / 22, 2H**, 2H**, 2H* , 2HMI, 2HSS, 2HIN, !30JUN81 00564 00188 1 2HG , 2H.P, 2HAS, 2HSE, 2HND/ !30JUN81 00565 00189 DATA SMULER / 44, 2H**, 2H**, 2H* , 2H , 2H (, 2HPR, 2HOC, 2HED 00566 00190 1 , 2HUR, 2HE , 2HAL, 2HRE, 2HAD, 2HY , 2HDE, 2HFI 00567 00191 1 , 2HNE, 2HD , 2HON, 2H L, 2HIN, 2HE / 00568 00192 DATA SNDER1 / 42, 2H**, 2H**, 2H* , 2HTH, 2HE , 2HNE, 2HXT, 2H 00569 00193 1 , 2HPR, 2HOC, 2HED, 2HUR, 2HES, 2H W, 2HER, 2HE 00570 00194 1 , 2HIN, 2HVO, 2HKE, 2HD , 2HON/ 00571 00195 DATA SNDER2 / 44, 2H**, 2H**, 2H* , 2HTH, 2HE , 2HLI, 2HNE, 2HS 00572 00196 1 , 2HGI, 2HVE, 2HN , 2HBU, 2HT , 2HWE, 2HRE, 2H N 00573 00197 1 , 2HEV, 2HER, 2H D, 2HEF, 2HIN, 2HED/ 00574 00198 DATA SNIER1 / 46, 2H**, 2H**, 2H* , 2HTH, 2HE , 2HFO, 2HLL, 2HOW 00575 00199 1 , 2HIN, 2HG , 2HPR, 2HOC, 2HED, 2HUR, 2HES, 2H W 00576 00200 1 , 2HER, 2HE , 2HDE, 2HFI, 2HNE, 2HD , 2HON/ 00577 00201 DATA SNIER2 / 44, 2H**, 2H**, 2H* , 2HTH, 2HE , 2HLI, 2HNE, 2HS 00578 00202 1 , 2HGI, 2HVE, 2HN , 2HBU, 2HT , 2HWE, 2HRE, 2H N 00579 00203 1 , 2HEV, 2HER, 2H I, 2HNV, 2HOK, 2HED/ 00580 00204 DATA SNEST /36, 2H**, 2H**, 2H* ,2H.I, 2HNC, 2HLU, 2HDE, !29JUN81 00581 00205 1 2H F, 2HIL, 2HES, 2H N, 2HES, 2HTE, 2HD ,2HTO, 2HO , !29JUN81 00582 00206 2 2HDE, 2HEP/ !29JUN81 00583 00207 DATA SNONAM /31, 2H**, 2H**, 2H* ,2HNO, 2H N, 2HAM, !30JUN81 00584 00208 1 2HE , 2HGI, 2HVE, 2HN ,2HWI, 2HTH, 2H ., 2HPA, !30JUN81 00585 00209 2 2HSS, 1H_/ 00586 00210 DATA SOPN /32, 2H**, 2H**, 2H* ,2HOP, 2HEN, 2H F, 2HAI, !29JUN81 00587 00211 1 2HL ,2HON, 2H ., 2HIN, 2HCL, 2HUD, 2HE , 2HFI, 2HLE/ !29JUN81 00588 00211 C 00589 00211 C ALECS VVVVV 00590 00212 DATA SPAGE /11, 2H ,2H ,2H ,2H.P ,2HAG ,1HE/ 00591 00212 C ALECS ^^^^^ 00592 00212 C 00593 00213 DATA SRDERR /33, 2H**, 2H**, 2H* , 2H , 2H (, 2HRE, !821129 00594 00214 1 2HAD, 2H E, 2HRR, 2H O, 2HN , 2HIN, !821129 00595 00215 2 2HPU, 2HT , 2HLI, 2HNE, 1H)/ !821129 00596 00216 DATA SRP / 1, 1H)/ 00597 00217 DATA SSPACR / 3, 2H. , 1H / 00598 00218 DATA STABH / 37, 2H , 2H , 2H , 2HPR, 2HOC, 2HED, 2HUR, 2HE 00599 00219 1 , 2HCR, 2HOS, 2HS-, 2HRE, 2HFE, 2HRE, 2HNC, 2HE 00600 00220 1 , 2HTA, 2HBL, 1HE/ 00601 00221 DATA STODUM / 24, 2H , 2H , 2H , 2HTO, 2H D, 2HUM, 2HMY, 2H-P 00602 00222 1 , 2HRO, 2HCE, 2HDU, 2HRE/ 00603 00223 DATA STRUN / 47, 2H**, 2H**, 2H* ,2H.P, 2HAS, 2HS_, !30JUN81 00604 00224 1 2H N, 2HAM, 2HE , 2HHA, 2HS ,2H> , 2H6 ,2HCH, !30JUN81 00605 00225 2 2HAR, 2HAC, 2HTE, 2HRS, 2H--, 2HTR, 2HUN, 2HCA, !30JUN81 00606 00226 3 2HTE, 1HD/ !30JUN81 FLECS VERSION 860214 27-MAR-87 11:25:42 PAGE 00012 L,L/-SP=[MP1Q.FLEALECOM]L/CO:FLECS 00607 00227 DATA SVER / 21, 2H(F, 2HLE, 2HCS, 2H V, 2HER, 2HSI, 2HON, 2H 2 00608 00228 1 , 2H2., 2H38, 1H)/ 00609 00229 DATA SWHEN / 29, 2H , 2H , 2H , 2HWH, 2HEN, 2H (, 2H.T, 2HRU 00610 00230 1 , 2HE., 2H) , 2HCA, 2HLL, 2H E, 2HXI, 1HT/ 00611 00231 DATA SXER1 / 54, 2H**, 2H**, 2H* , 2H , 2H (, 2HIN, 2HVA, 2HLI 00612 00232 1 , 2HD , 2HCH, 2HAR, 2HAC, 2HTE, 2HR , 2HIN, 2H S 00613 00233 1 , 2HTA, 2HTE, 2HME, 2HNT, 2H N, 2HUM, 2HBE, 2HR 00614 00234 1 , 2HFI, 2HEL, 2HD)/ 00615 00235 DATA SXER2 / 53, 2H**, 2H**, 2H* , 2H , 2H (, 2HRE, 2HCO, 2HGN 00616 00236 1 , 2HIZ, 2HAB, 2HLE, 2H S, 2HTA, 2HTE, 2HME, 2HNT 00617 00237 1 , 2H F, 2HOL, 2HLO, 2HWE, 2HD , 2HBY, 2H G, 2HAR 00618 00238 1 , 2HBA, 2HGE, 1H)/ 00619 00239 DATA SXER3 / 50, 2H**, 2H**, 2H* , 2H , 2H (, 2HLE, 2HFT, 2H P 00620 00240 1 , 2HAR, 2HEN, 2H D, 2HOE, 2HS , 2HNO, 2HT , 2HFO 00621 00241 1 , 2HLL, 2HOW, 2H C, 2HON, 2HTR, 2HOL, 2H W, 2HOR 00622 00242 1 , 2HD)/ 00623 00243 DATA SXER4 / 30, 2H**, 2H**, 2H* , 2H , 2H (, 2HMI, 2HSS, 2HIN 00624 00244 1 , 2HG , 2HRI, 2HGH, 2HT , 2HPA, 2HRE, 2HN)/ 00625 00245 DATA SXER5 / 50, 2H**, 2H**, 2H* , 2H , 2H (, 2HVA, 2HLI, 2HD 00626 00246 1 , 2HPR, 2HOC, 2HED, 2HUR, 2HE , 2HNA, 2HME, 2H D 00627 00247 1 , 2HOE, 2HS , 2HNO, 2HT , 2HFO, 2HLL, 2HOW, 2H T 00628 00248 1 , 2HO)/ 00629 00248 C 00630 00248 C--------------------------------------- 00631 00248 C 00632 00248 C BODY OF SUBROUTINE FOLLOWS 00633 00248 C 00634 00248 CONDITIONAL 00635 00250 . (SOURCE.EQ.SETUP) SOURCE=RETRY 00636 00251 . (ERROR.EQ.0.AND.ERSTOP.EQ.0) 00637 00252 . . SOURCE=READ !IF NO ERROR, GET NEXT LINE FROM FLX FILE 00638 00254 . . LIST-FLEX 00639 00254 . ...FIN 00640 00256 . (OTHERWISE) 00641 00257 . . MINER=(((ERROR.GE.5).AND.(ERROR.LE.6)).OR. 00642 00258 1. . ((ERROR.GE.13).AND.(ERROR.LE.15))) 00643 00259 . . MINER=MINER.OR.((ERROR.GE.1).AND.(ERROR.LE.3)).OR.(ERROR.EQ.25) 00644 00260 1. . .OR. (ERROR.EQ.404) .OR. (ERROR.EQ.500) 00645 00262 . . WHEN (MINER) MINCNT=MINCNT+1 !INC WARNING COUNT 00646 00265 . . ELSE MAJCNT=MAJCNT+1 !INC ERROR COUNT 00647 00267 . . WHEN (ERROR.EQ.0) ERTYPE=1 00648 00268 . . ELSE 00649 00268 . . . CONDITIONAL !ATTEMPT ERROR RECOVERY 00650 00271 . . . . (ERROR.LE.3) INSERT-FIN 00651 00275 . . . . (ERROR.EQ.4) INSERT-ELSE 00652 00278 . . . . (ERROR.LE.6) ERTYPE=3 00653 00281 . . . . (ERROR.EQ.7) INSERT-ELSE 00654 00285 . . . . (ERROR.EQ.8) INSERT-WHEN 00655 00289 . . . . (ERROR.EQ.9) INSERT-TO-DUMMY-PROCEDURE 00656 00293 . . . . (ERROR.EQ.10) INSERT-WHEN-OR-FIN 00657 00297 . . . . (ERROR.LE.12) INSERT-FIN 00658 00301 . . . . (ERROR.LE.15) INSERT-FIN 00659 00305 . . . . (ERROR.EQ.16) INSERT-ELSE 00660 00309 . . . . (ERROR.EQ.17) INSERT-CONDITIONAL 00661 00313 . . . . (ERROR.EQ.18) INSERT-TO-DUMMY-PROCEDURE FLECS VERSION 860214 27-MAR-87 11:25:42 PAGE 00013 L,L/-SP=[MP1Q.FLEALECOM]L/CO:FLECS 00662 00317 . . . . (ERROR.LE.19) INSERT-CONDITIONAL 00663 00321 . . . . (ERROR.EQ.20) INSERT-ELSE 00664 00325 . . . . (ERROR.EQ.21) INSERT-TO-DUMMY-PROCEDURE 00665 00329 . . . . (ERROR.LE.23) INSERT-FIN 00666 00333 . . . . (ERROR.EQ.24) INSERT-ELSE 00667 00336 . . . . (ERROR.EQ.25) ERTYPE=4 00668 00338 . . . . (ERROR.EQ.26) ERTYPE=5 00669 00340 . . . . (ERROR.GT.300 .AND. ERROR.LE.303)ERTYPE=6 !29JUN81 MAO 00670 00342 . . . . (ERROR.GT.400 .AND. ERROR.LE.403)ERTYPE=7 !30JUN81MAO 00671 00345 . . . . (ERROR.EQ.404) INSERT-MISSING-PASSENDS !30JUN81MAO 00672 00347 . . . . (ERROR.EQ.500) !830308MAO 00673 00349 . . . . . LIST-FLEX !830308MAO 00674 00350 . . . . . CALL PUT(0,SFCONT,ERRCL) !WARNING MSG !830308MAO 00675 00350 . . . . ...FIN 00676 00351 . . . ...FIN 00677 00351 . . ...FIN 00678 00353 . . SOURCE=READ 00679 00353 . . SELECT (ERTYPE) 00680 00354 . . . (1) 00681 00355 . . . . CALL PUT(-LINENO,SHOLD,ERRCL) 00682 00356 . . . . DO (I=1,ERSTOP) !LIST ALL ERRORS 00683 00356 . . . . . SELECT (ERRSTK(I)) 00684 00358 . . . . . . (1) CALL PUT(0,SXER1,ERRCL) 00685 00360 . . . . . . (2) CALL PUT(0,SXER2,ERRCL) 00686 00362 . . . . . . (3) CALL PUT(0,SXER3,ERRCL) 00687 00364 . . . . . . (4) CALL PUT(0,SXER4,ERRCL) 00688 00366 . . . . . . (5) CALL PUT(0,SXER5,ERRCL) 00689 00367 . . . . . ...FIN 00690 00367 . . . . ...FIN 00691 00368 . . . ...FIN 00692 00370 . . . (2) SOURCE=SETUP !MISSING STATEMENT INSERTED 00693 00371 . . . (3) 00694 00372 . . . . CALL PUT(-LINENO,SFLX,ERRCL) !EXTRA FIN 00695 00373 . . . . CALL PUT(0,SIGN,ERRCL) 00696 00373 . . . ...FIN 00697 00375 . . . (4) CALL PUT(0,SENDER,ERRCL) !MISSING END 00698 00376 . . . (5) 00699 00377 . . . . CALL PUT(LINENO,SFLX,ERRCL) !PROCEDURE ALREADY DEFINED 00700 00378 . . . . CALL CPYSTR(SST,SMULER) 00701 00379 . . . . CALL CATNUM(SST,MLINE) 00702 00380 . . . . CALL CATSTR(SST,SRP) 00703 00381 . . . . CALL PUT(0,SST,ERRCL) 00704 00381 . . . ...FIN 00705 00382 . . . (6) !INCLUDE FILE ERRORS !29JUN81 00706 00383 . . . . CALL PUT (-LINENO,SFLX,ERRCL) 00707 00383 . . . . SELECT(ERROR) 00708 00385 . . . . . (301) CALL PUT (0,SNEST,ERRCL) !MAX NESTING DEPTH EXCEEDED 00709 00387 . . . . . (302) CALL PUT (0,SFNAM,ERRCL) !FILE NAME ERROR 00710 00389 . . . . . (303) CALL PUT (0,SOPN,ERRCL) !FILE OPEN ERROR 00711 00390 . . . . ...FIN!select 00712 00390 . . . ...FIN 00713 00391 . . . (7) !.PASSx errors !30JUN81 00714 00392 . . . . CALL PUT (-LINENO,SFLX,ERRCL) 00715 00392 . . . . SELECT (ERROR) 00716 00394 . . . . . (401) CALL PUT (0,SEPE,ERRCL) !excess .PASSEND FLECS VERSION 860214 27-MAR-87 11:25:42 PAGE 00014 L,L/-SP=[MP1Q.FLEALECOM]L/CO:FLECS 00717 00396 . . . . . (402) CALL PUT (0,STRUN,ERRCL) !>6 char in name 00718 00398 . . . . . (403) CALL PUT (0,SNONAM,ERRCL) !name not given 00719 00399 . . . . ...FIN!select 00720 00399 . . . ...FIN 00721 00401 . . . (8) SOURCE=RETRY 00722 00402 . . ...FIN 00723 00402 . ...FIN 00724 00403 ...FIN 00725 00404 IF (ERR1.NE.0) !821129MAO 00726 00404 C . 00727 00404 C . IO ERROR--SHOULD PUT OUT ERR1/2, BUT PUTNUM CAN'T HANDLE NEG #S 00728 00404 C . 00729 00405 . CALL PUT(0,SRDERR,ERRCL) !821129MAO 00730 00406 . MINCNT=MINCNT+1 !INC WARNING COUNTER !821129MAO 00731 00406 ...FIN 00732 00407 00733 00408 IF (ENDPGM) 00734 00410 . PROCESS-TABLE 00735 00412 . LIST-BLANK-LINE 00736 00413 . CALL PUT(0,SVER,LISTCL) 00737 00413 ...FIN 00738 00415 RETURN ---------------------------------------- 00739 00416 TO INSERT-CONDITIONAL 00740 00418 . PREPARE-FOR-INSERTION 00741 00419 . CALL CPYSTR(SFLX,SCOND) 00742 00420 . CALL PUT(0,SICOND,ERRCL) 00743 00420 ...FIN ---------------------------------------- 00744 00422 TO INSERT-ELSE 00745 00424 . PREPARE-FOR-INSERTION 00746 00425 . CALL CPYSTR(SFLX,SELSE) 00747 00426 . CALL CPYSTR(SLIST,SIELSE) 00748 00427 . CALL CATNUM(SLIST,STACK(TOP-1)) 00749 00428 . CALL CATSTR(SLIST,SRP) 00750 00429 . CALL PUT(0,SLIST,ERRCL) 00751 00429 ...FIN ---------------------------------------- 00752 00431 TO INSERT-FIN 00753 00433 . PREPARE-FOR-INSERTION 00754 00434 . WHEN (STACK(TOP).EQ.AELS77) !860228 00755 00435 . . CALL CPYSTR(SFLX,SENDIF) !860228 00756 00436 . . CALL CPYSTR(SLIST,SIENDI) !860228 00757 00436 . ...FIN!when !860228 00758 00437 . ELSE !860228 00759 00438 . . CALL CPYSTR(SFLX,SFIN) 00760 00439 . . CALL CPYSTR(SLIST,SIFIN) 00761 00439 . ...FIN!else !860228 00762 00442 . WHEN (STACK(TOP-1).EQ.0) CALL CATSTR(SLIST,SIFIN2) FLECS VERSION 860214 27-MAR-87 11:25:42 PAGE 00015 L,L/-SP=[MP1Q.FLEALECOM]L/CO:FLECS 00763 00443 . ELSE 00764 00444 . . CALL CATNUM(SLIST,STACK(TOP-1)) 00765 00445 . . CALL CATSTR(SLIST,SRP) 00766 00445 . ...FIN 00767 00447 . CALL PUT(0,SLIST,ERRCL) 00768 00447 ...FIN ---------------------------------------- 00769 00449 TO INSERT-MISSING-PASSENDS !30JUN81MAO 00770 00451 . PREPARE-FOR-INSERTION 00771 00452 . ERTYPE=8 00772 00453 . DO (I=1,CNDLVL) 00773 00454 . . CALL PUT (0,SMPE,ERRCL) 00774 00454 . ...FIN!do 00775 00456 . CNDLVL=0 00776 00457 . PASFLG=.TRUE. 00777 00457 ...FIN!to insert-missing-passends ---------------------------------------- 00778 00459 TO INSERT-TO-DUMMY-PROCEDURE 00779 00461 . PREPARE-FOR-INSERTION 00780 00462 . CALL CPYSTR(SFLX,STODUM) 00781 00463 . CALL PUT(0,SITODM,ERRCL) 00782 00463 ...FIN ---------------------------------------- 00783 00465 TO INSERT-WHEN 00784 00467 . PREPARE-FOR-INSERTION 00785 00468 . CALL CPYSTR(SFLX,SWHEN) 00786 00469 . CALL PUT(0,SIWHEN,ERRCL) 00787 00469 ...FIN ---------------------------------------- 00788 00471 TO INSERT-WHEN-OR-FIN 00789 00471 . CONDITIONAL 00790 00474 . . (TOP.LE.7) INSERT-WHEN 00791 00478 . . (STACK(TOP-6).EQ.TELSE) INSERT-FIN 00792 00482 . . (OTHERWISE) INSERT-WHEN 00793 00484 . ... FIN 00794 00484 ... FIN ---------------------------------------- 00795 00486 TO LIST-BLANK-LINE 00796 00487 . LSTLEV=LEVEL 00797 00489 . WHEN (LSTLEV.EQ.0) CALL PUT(BLN,SB,LISTCL) 00798 00490 . ELSE 00799 00491 . . CALL CPYSTR(SLIST,SB6) 00800 00494 . . DO (I=1,LSTLEV) CALL CATSTR(SLIST,SSPACR) 00801 00496 . . WHEN (SLIST(1).GT.WWIDTH) CALL PUT(BLN,SB,LISTCL) 00802 00499 . . ELSE CALL PUT(BLN,SLIST,LISTCL) FLECS VERSION 860214 27-MAR-87 11:25:42 PAGE 00016 L,L/-SP=[MP1Q.FLEALECOM]L/CO:FLECS 00803 00499 . ...FIN 00804 00501 . BLN=0 00805 00501 ...FIN ---------------------------------------- 00806 00503 TO LIST-DASHES 00807 00504 . CALL PUT(0,SB,LISTCL) 00808 00505 . CALL PUT(0,SDASH,LISTCL) 00809 00506 . CALL PUT(0,SB,LISTCL) 00810 00506 ...FIN ---------------------------------------- 00811 00508 TO LIST-FLEX 00812 00513 . IF (CLASS.EQ.TTO) LIST-DASHES 00813 00514 . IF (SFLX(1).LT.7) CALL CATSTR(SFLX,SB7) 00814 00515 . CALL CPYSUB(SLIST,SFLX,1,6) 00815 00516 . UNLESS(LSTLEV.EQ.0) 00816 00519 . . DO (I=1,LSTLEV) CALL CATSTR(SLIST,SSPACR) 00817 00519 . ...FIN 00818 00521 . IF (BLKIF.NE.0 .AND. (CLASS.EQ.TELSIF .OR. CLASS.EQ.TELSE))!860423 00819 00521 C . . For block if ELSEIF or ELSE modify spacing 00820 00522 . . SLIST(1) = SLIST(1)-SSPACR(1) !860214 00821 00522 . ...FIN!if !860214 00822 00524 . IF(CLASS.EQ.TFIN .OR. CLASS.EQ.TENDDO .OR. CLASS.EQ.TENDIF)!860214 00823 00525 . . SLIST(1)=SLIST(1)-SSPACR(1) 00824 00526 . . IF (CLASS.EQ.TFIN) CALL CATSTR(SLIST,SFSPCR) !860424 00825 00526 . ...FIN 00826 00528 . CALL CATSUB(SLIST,SFLX,7,SFLX(1)-6) 00827 00528 C . 00828 00528 C . IF LINE IS TOO LONG FOR PAGE, JUST PUT OUT LINE FROM FLX FILE 00829 00528 C . 00830 00529 . IF (SLIST(1).GT.WWIDTH) CALL CPYSTR(SLIST,SFLX) 00831 00530 . WHEN (ERLST) 00832 00531 . . CALL PUT(LINENO,SLIST,ERRCL) 00833 00532 . . ERLST=.FALSE. 00834 00532 . ...FIN 00835 00535 . ELSE CALL PUT(LINENO,SLIST,LISTCL) 00836 00535 C . 00837 00535 C . FOR .PAGE + /FU, PUT LINE IN FORTRAN FILE TOO 00838 00535 C . 00839 00536 . IF (CLASS.EQ.TDIR) !22-JUN-81 00840 00537 . . IF ( DTYPE.EQ.DPAGE .AND. LSTFUL) !22-JUN-81 00841 00537 . . . .PASSIF ALECS 00843 00537 . . . .PASSEND 00844 00537 . . . .PASSIF FLECS 00845 00538 . . . CALL PUTCH (SLIST(2),1,FORMFD) !put in formfeed !22-JUN-81 00846 00539 . . . SLIST(1)=1 !22-JUN-81 00847 00540 . . . CALL PUT (LINENO,SLIST,FORTCL) !22-JUN-81 00848 00541 . . . UNLESS (CNTALL) NUMLIN=NUMLIN-1 !USUALLY DONT COUNT !830307 00849 00541 . . . .PASSEND 00850 00541 . . ...FIN!if 00851 00542 . ...FIN!if 00852 00543 ...FIN FLECS VERSION 860214 27-MAR-87 11:25:42 PAGE 00017 L,L/-SP=[MP1Q.FLEALECOM]L/CO:FLECS ---------------------------------------- 00853 00545 TO PREPARE-FOR-INSERTION 00854 00546 . ERTYPE=2 00855 00548 . SAVE-ORIGINAL-STATEMENT 00856 00549 . LINENO=0 00857 00550 . IF (SOURCE.EQ.READ) 00858 00551 . . CALL CPYSTR(SST,SINSRT) 00859 00553 . . WHEN (HOLDNO.GT.0) CALL CATNUM(SST,HOLDNO) 00860 00556 . . ELSE CALL CATSTR(SST,SINS2) 00861 00557 . . CALL PUT(0,SST,ERRCL) 00862 00557 . ...FIN 00863 00558 ...FIN ---------------------------------------- 00864 00560 TO PROCESS-TABLE !CROSS REF TABLE FOR PROCEDURES 00865 00561 . UNLESS (PTABLE.EQ.0) 00866 00562 . . TABLCL=LISTCL 00867 00564 . . LIST-DASHES 00868 00565 . . CALL PUT(0,STABH,LISTCL) 00869 00566 . . CALL PUT(0,SB,LISTCL) 00870 00567 . . P=PTABLE 00871 00568 . . NDERR=.FALSE. 00872 00569 . . NIERR=.FALSE. 00873 00572 . . REPEAT UNTIL (P.EQ.0) 00874 00573 . . . IF (STACK(P+2).EQ.0) 00875 00574 . . . . NDERR=.TRUE. 00876 00575 . . . . MAJCNT=MAJCNT+1 00877 00575 . . . ...FIN 00878 00577 . . . IF (STACK(P+3).EQ.0) 00879 00578 . . . . NIERR=.TRUE. 00880 00579 . . . . MINCNT=MINCNT+1 00881 00579 . . . ...FIN 00882 00582 . . . PRODUCE-ENTRY-LISTING 00883 00583 . . . P=STACK(P) 00884 00583 . . ...FIN 00885 00585 . . IF (NDERR) 00886 00586 . . . CALL PUT(0,SNDER1,ERRCL) 00887 00587 . . . CALL PUT(0,SNDER2,ERRCL) 00888 00589 . . . LIST-BLANK-LINE 00889 00590 . . . P=PTABLE 00890 00591 . . . TABLCL=ERRCL 00891 00594 . . . REPEAT UNTIL (P.EQ.0) 00892 00599 . . . . IF (STACK(P+2).EQ.0) PRODUCE-ENTRY-LISTING 00893 00600 . . . . P=STACK(P) 00894 00600 . . . ...FIN 00895 00601 . . ...FIN 00896 00603 . . IF (NIERR) 00897 00604 . . . CALL PUT(0,SNIER1,ERRCL) 00898 00605 . . . CALL PUT(0,SNIER2,ERRCL) 00899 00607 . . . LIST-BLANK-LINE 00900 00608 . . . P=PTABLE 00901 00609 . . . TABLCL=ERRCL FLECS VERSION 860214 27-MAR-87 11:25:42 PAGE 00018 L,L/-SP=[MP1Q.FLEALECOM]L/CO:FLECS 00902 00612 . . . REPEAT UNTIL (P.EQ.0) 00903 00617 . . . . IF(STACK(P+3).EQ.0) PRODUCE-ENTRY-LISTING 00904 00618 . . . . P=STACK(P) 00905 00618 . . . ...FIN 00906 00619 . . ...FIN 00907 00620 . ...FIN 00908 00621 ...FIN ---------------------------------------- 00909 00623 TO PRODUCE-ENTRY-LISTING !PUT OUT ENTRY IN CROSS REF TABLE 00910 00624 . CALL CPYSTR(SST,SB6) 00911 00625 . UNLESS (STACK(P+2).EQ.0) CALL PUTNUM(SST,STACK(P+2)) 00912 00626 . CALL CATSTR(SST,STACK(P+4)) 00913 00627 . CALL PUT(0,SST,TABLCL) 00914 00628 . QP=STACK(P+3) 00915 00629 . UNTIL (QP.EQ.0) 00916 00630 . . CALL CPYSTR(SST,SB4) 00917 00631 . . I=1 00918 00632 . . UNTIL(QP.EQ.0.OR.I.GT.REFNO) 00919 00633 . . . CALL CATSTR(SST,SB2) 00920 00634 . . . CALL CATNUM(SST,STACK(QP+1)) 00921 00635 . . . I=I+1 00922 00636 . . . QP=STACK(QP) 00923 00636 . . ...FIN 00924 00638 . . CALL PUT(0,SST,TABLCL) 00925 00638 . ...FIN 00926 00640 . CALL PUT(0,SB,LISTCL) 00927 00640 ...FIN ---------------------------------------- 00928 00642 TO SAVE-ORIGINAL-STATEMENT 00929 00643 . UNLESS (SAVED) 00930 00644 . . SAVED=.TRUE. 00931 00645 . . HOLDNO=LINENO 00932 00646 . . CALL CPYSTR(SHOLD,SFLX) 00933 00646 . ...FIN 00934 00647 ...FIN 00935 00649 END ---------------------------------------- PROCEDURE CROSS-REFERENCE TABLE 00739 INSERT-CONDITIONAL 00660 00662 00744 INSERT-ELSE 00651 00653 00659 00663 00666 00752 INSERT-FIN 00650 00657 00658 00665 00791 00769 INSERT-MISSING-PASSENDS FLECS VERSION 860214 27-MAR-87 11:25:42 PAGE 00019 L,L/-SP=[MP1Q.FLEALECOM]L/CO:FLECS 00671 00778 INSERT-TO-DUMMY-PROCEDURE 00655 00661 00664 00783 INSERT-WHEN 00654 00790 00792 00788 INSERT-WHEN-OR-FIN 00656 00795 LIST-BLANK-LINE 00735 00888 00899 00806 LIST-DASHES 00812 00867 00811 LIST-FLEX 00638 00673 00853 PREPARE-FOR-INSERTION 00740 00745 00753 00770 00779 00784 00864 PROCESS-TABLE 00734 00909 PRODUCE-ENTRY-LISTING 00882 00892 00903 00928 SAVE-ORIGINAL-STATEMENT 00855 (FLECS VERSION 22.38)