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