COMPILATION LISTING OF SEGMENT: >spec>install>1212>PROCSTAT.pascal Compiled by: Grenoble University Multics Pascal Compiler, Release 8.03 of February the 15th, 1986 Compiled at: Honeywell Multics Op. - System M Compiled on: 11/12/86 1712.2 mst Wed options: map no_table full_extensions private_storage no_io_warnings no_interactive 1 (* ************************************************************************* 2* * * 3* * Copyright (c) 1980 by Centre Interuniversitaire de Calcul de Grenoble * 4* * and Institut National de Recherche en Informatique et Automatique * 5* * * 6* ************************************************************************* *) 7 8 9 10 11 (* HISTORY COMMENTS: 12* 1) change(86-09-11,JMAthane), approve(86-09-11,MCR7521), 13* audit(86-09-15,JPFauche), install(86-11-12,MR12.0-1212): 14* Release 8.03 for MR12 15* END HISTORY COMMENTS *) 16 17 18 $OPTIONS switch trace := true ; switch security := true $ 19 PROGRAM procstat ; 20 $IMPORT 21 (* IMPORTED PROCEDURES *) 22 'RACINE (pascal)' : 23 error, 24 insymbol, 25 nameisref, 26 nextline, 27 recadre, 28 skip ; 29 'GENOPER (pascal)' : 30 check_dynamic_string_length, 31 gen_insert, 32 gen_delete ; 33 'GENERE (pascal)' : 34 gendesca, 35 geneism, 36 genstand, 37 inser ; 38 'EXPR (pascal)' : 39 expression ; 40 'STATE (pascal)' : 41 addressvar, 42 calcvarient, 43 checkbnds, 44 choicerarq, 45 freeallregisters, 46 freebloc, 47 gencstecode, 48 loadadr, 49 loadbase, *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 2 50 genexceptcode, 51 newbloc, 52 oldnewstor, 53 regenere, 54 sauvereg, 55 transfer, 56 variab ; 57 'MODVARIABLE (pascal) ' : 58 init_desc_address, 59 variable ; 60 'CONTEXTTABLE (pascal) ' : 61 checkminmax, 62 compatbin, 63 conformantdim ; 64 'MODATTR (pascal)' : 65 freeattr, 66 initattrvarbl, 67 isstring, 68 is_possible_string, 69 varissimple ; 70 'optimized_procedures (alm)' : search ; 71 72 (* IMPORTED VARIABLES *) 73 'RACINE (pascal)' : 74 alfaptr, 75 boolptr, 76 charptr, 77 cl, 78 ctptr, 79 envstandard, 80 errcl, 81 exportablecode, 82 ival, 83 level, 84 intptr, 85 mpcogout, 86 no, 87 pascalfrench, 88 realptr, 89 symbolfile, 90 symbolline, 91 string_ptr, 92 symbolmap, 93 textfilectp ; 94 'DECLARE (pascal)' : 95 getpr4afterstop, 96 lkc ; 97 'GENERE (pascal)' : 98 cb, 99 indfich, 100 mfari1, 101 mfari2, 102 usednameaddr ; 103 'STATE (pascal)' : 104 resetused, 105 disposeused, 106 arrayboundsctp, *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 3 107 asscheck, 108 currentbloc, 109 currentpr, 110 gattr, 111 inputctp, 112 inxcheck, 113 linktoend, 114 linktoendplace, 115 linktomain, 116 linktomainplace, 117 maxprused, 118 modif, 119 opaq, 120 outputctp, 121 prinst, 122 stattrace$ 123 124 $EXPORT 125 argvstat, 126 dateandtime, 127 delete_string, 128 getput, 129 insapp, 130 insert_string, 131 mvcir, 132 newir, 133 pckunpck, 134 readir, 135 stopstat, 136 writeir $ 137 138 139 140 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 4 141 142 143 $INCLUDE 'CONSTTYPE' $(* BEGIN INCLUDE FILE CONSTTYPE.incl.pascal *) 1 2 1 3 (* HISTORY COMMENTS: 1 4* 1) change(86-09-11,JMAthane), approve(86-09-11,MCR7521), 1 5* audit(86-09-15,JPFauche), install(86-11-12,MR12.0-1212): 1 6* Release 8.03 for MR12 1 7* END HISTORY COMMENTS *) 1 8 1 9 CONST (* VERSION 7.05 *) 1 10 (* ARRAY'S BOUNDS *) 1 11 1 12 minno = 0 ; (* MIN VALUE FOR NO ; SEE TYPE NORANGE *) 1 13 maxno = 63 ; (* MAX VALUE FORNO ; " " " *) { Modified for SimOne } 1 14 ptlimit = 20 ; (* MAX FOR PTLIST 0 ..PTLIMIT *) 1 15 displimit = 30 ; (* " " DISPLAY ..DISPLIMIT *) 1 16 maxlabs = 50 ; (* " " LABTAB ..MAXLABS *) 1 17 fillimit = 50 ; (* " " FILPTS .. FILLIMIT *) 1 18 maxlevel = 20 ; (* SEE LEVRANGE TYPE *) 1 19 maxerrline = 16 ; (* MAX FOR ERRINX *) 1 20 maxerpg = 2 ; (* MAX FOR ERRORSFOUND, PAGESERRORS 0.. *) 1 21 undmax = 1000 ; (* " " UNDLAB 1.. *) 1 22 longalfbox = 16 ; (* SEE ALFAVALUE TYPE *) 1 23 lgparm = 100 ; (* PARMLIST IN $PARM *) 1 24 lgparm1 = lgparm - 1 ; (* LGPARM - 1 *) 1 25 maxpredef = 99 ; (* INITNAME 0 .. MAXPREDEF *) 1 26 maxident = 32 ; (* LENGTH MAX FOR AN ID. *) 1 27 (* DONT MODIFY WITHOUT MODIFY maxident *) 1 28 (* IN optimized_procedures.alm *) 1 29 maxnbofkeywords = 49 ; { Modified for SimOne } 1 30 1 31 maxkeylength = 12 ; (* LENGTH MAX FOR A KEY-WORD *) { Modified for SimOne } 1 32 maxexternname = 168 ; (* length max for an external name *) 1 33 maxval = 256 ; (* LENGTH MAX FOR A STRING *) 1 34 maxstring = 256 ; (* MAX LENGTH FOR A STRING (STAND) <= MAXVAL *) 1 35 alfaleng = 8 ; (* SIZE OF ALFA TYPE *) 1 36 maxfich = 50000 ; (* FOR FICHINTER *) 1 37 longboxlist = 20 ; (* MAX. NB. OF REG. BOXES *) 1 38 maxref = 25 ; 1 39 maxfield = 25 ; 1 40 1 41 1 42 maxnewsize = 261094 ; (* MAX WORD SIZE FOR NEW *) 1 43 1 44 (* POWERS OF 2 *) 1 45 twoto4 = 2 * 2 * 2 * 2 ; 1 46 twoto6 = twoto4 * 2 * 2 ; 1 47 twoto8 = twoto6 * 2 * 2 ; 1 48 twoto8m1 = twoto8 - 1 ; 1 49 twoto9 = twoto8 * 2 ; 1 50 twoto10 = twoto9 * 2 ; 1 51 twoto12 = twoto10 * 2 * 2 ; 1 52 twoto14 = twoto6 * twoto8 ; 1 53 twoto15 = twoto14 * 2 ; 1 54 twoto16 = twoto15 * 2 ; 1 55 twoto17 = twoto16 * 2 ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 5 1 56 twoto17m1 = twoto17 - 1 ; 1 57 twoto18 = twoto17 * 2 ; 1 58 twoto18m1 = twoto18 - 1 ; 1 59 twoto27 = twoto18 * twoto9 ; 1 60 1 61 (* COMPUTER'S DESCRIPTION *) 1 62 1 63 bitsinbyte = 9 ; 1 64 bytesinword = 4 ; 1 65 bytesinhword = bytesinword DIV 2 ; 1 66 bytesindword = bytesinword * 2 ; 1 67 1 68 wordsinpage = twoto10 ; 1 69 pagesinsegment = twoto8 - 1 ; 1 70 wordsinsegment = wordsinpage * pagesinsegment ; 1 71 maxglobsize = twoto18 * bytesinword ; (* MAX SIZE FOR GLOBALS IN BYTES *) 1 72 maxstacksize = twoto15 * bytesinword ; (* MAX SIZE FOR A STACK FRAME IN BYTES *) 1 73 maxwseg = wordsinsegment ; (* MAX NBR OF WORDS IN SEGMENT = 255 * 1024 *) 1 74 1 75 nilleft = '1FFFC0023'x ; (* VALUE FOR LEFT WORD OF THE "NIL" ITS *) 1 76 nilright = '40000'x ; (* VALUE FOR RIGHT WORD OF THE "NIL" ITS *) 1 77 packednil = '007777000001'o ; (* MULTICS PACKED NIL PTR *) 1 78 bitsinword = bitsinbyte * bytesinword ; 1 79 bitsinhword = bitsinbyte * bytesinhword ; 1 80 bitsindword = 2 * bitsinword ; 1 81 byteinbyte = 1 ; 1 82 byteshift = 512 ; (* USED TO SHIFT AN INTEGER BY MULTIPLICATION *) 1 83 (* AND SUBSEQUENT VALUES *) 1 84 maxint = 34359738367 ; (* MAX. INTEGER *) 1 85 (* maxreal = 1.701411834604692317e38 ; *) 1 86 (* minreal = 1.469367938527859386e-39 ; *) 1 87 racmaxint = 131072 ; (* USED TO AVOID OVERFLOW *) 1 88 (* IN INTEGER MULTIPLICATION *) 1 89 ntwotobyte = twoto8 - 1 ; (* MAX. NUM. VALUE IN A BYTE *) 1 90 ntwotohword = twoto17 - 1 ; (* MAX. NUM. VALUE IN A HALF. WORD *) 1 91 stwotobyte = twoto9 - 1 ; (* MAX. SCAL. VALUE IN A BYTE *) 1 92 setrange = 8 * bitsinword ; (* SIZE OF STANDARD SETS : 8 WORDS MAX *) 1 93 maxset = setrange - 1 ; (* SETRANGE -1 *) 1 94 maxerrnum = 3 * setrange - 1 ; (* 3*SETRANGE -1 *) 1 95 maxpage = maxerrnum ; 1 96 maxchar = 127 ; (* < MAXSET *) 1 97 1 98 (* IN LISTING *) 1 99 maxpageline = 59 ; (* MAX NUMBER OF LINES ON A LISTING'S PAGE *) 1 100 maxlinepascal = 400 ; 1 101 maxsliceline = 136 ; 1 102 lgprint = maxsliceline - 10 ; (* SLICE OF PRINTED LINES *) 1 103 1 104 (* COMPILATION'S RETURN CODE *) 1 105 1 106 errorcond = 8 ; 1 107 noerrorcond = 0 ; 1 108 1 109 wordsforset = 8 ; 1 110 bytesforset = wordsforset * bytesinword ; (* MAX. NUM. OF BYTES IN A SET *) 1 111 bitsforset = wordsforset * bitsinword ; (* MAX. NUM. OF BITS IN A SET *) 1 112 bornesupset = wordsforset - 1 ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 6 1 113 psrinbytes = 32 ; (* SIZE OF PSR REG. IN BYTES *) 1 114 (* AND EXTERNAL CONSTRAINTS *) 1 115 maxdig = bitsinword DIV 3 ; (* MAX. NUMBER OF DIGITS IN OCTAL *) 1 116 maxexpon = 1000 ; (* TO AVOID OVERFLOW WITH EXPONENTS *) 1 117 maxhexdi = bitsinword DIV 4 ; (* MAX. NUMBER OF HEXA CHARS *) 1 118 max10 = 3435973835 ; (* TO AVOID OVERFLOW IN INTEGER CST *) 1 119 maxexp = 39 ; (* MAX. SCALING FACTOR ALLOWED *) 1 120 minexp = -38 ; (* MIN. SCALING FACTOR ALLOWED *) 1 121 maxdigitsinteger = 12 ; 1 122 maxdigitsreal = 20 ; 1 123 maxintegerstring = '+3435973836700000000' ; 1 124 maxrealstring = '+1701411834604692317' ; 1 125 minrealstring = '+1469367938527859386' ; 1 126 1 127 (* GENERATION CONSTRAINTS AND CONSTANTS *) 1 128 stackboundary = 16 * bytesinword ; (* BOUNDARY FOR A STACK FRAME *) 1 129 maxrel = 132 ; (* LENGTH OF PHYSICAL LINE *) 1 130 pascdebstacklocal = 384 ; (* BYTES DISP. OF FIRST FREE ST. IN PASCAL FRAME *) 1 131 simdebstacklocal = 448 ; (* BYTES DISP. OF FIRST FREE ST. IN SIMONE FRAME *) { Modified for SimOne } 1 132 procparmsize = 24 ; (* SIZE FOR FORMAL PROCEDURE PARAMETERS *) 1 133 mathworksizew = 32 ; (* SIZE OF WORK AREA FOR MATH OPS *) 1 134 modulinitsize = 48 ; { Inserted for SimOne } 1 135 monitorinitsize = 88 ; { Inserted for SimOne } 1 136 1 137 (* USEFUL TOOLS *) 1 138 blank = ' ' ; 1 139 longblank = ' ' ; 1 140 1 141 (* ALM GENERATION CONSTANTS *) 1 142 bit29 = 64 ; (* USE OF POINTER REGISTER BIT (BIT 29) *) 1 143 inhibit = 128 ; (* INTERRUPT INHIBITION BIT (BIT28) *) 1 144 o41 = 33 ; (* ITS *) 1 145 o43 = 35 ; (* ITP *) 1 146 1 147 1 148 (* ENTRY POINTS OF OPERATORS *) 1 149 1 150 log10switch = 6 ; 1 151 (* Used in UNIQUE for predefinition of log10 *) 1 152 (* and in EXPR for scientific subroutines *) 1 153 1 154 mainentryplace = 79 ; 1 155 extentryplace = 88 ; 1 156 checkbeforeeolnplace = 66 ; 1 157 checkbeforeeofplace = 67 ; 1 158 checkbeforetextreferenceplace = 68 ; 1 159 gotoexitextplace = 3 ; 1 160 intentryplace = 89 ; 1 161 scientplace = 80 ; 1 162 resetplace = 11 ; 1 163 rewriteplace = 12 ; 1 164 closeplace = 13 ; 1 165 readtextplace = 14 ; 1 166 readseqplace = 15 ; 1 167 readlnplace = 16 ; 1 168 writetextplace = 17 ; 1 169 writeseqplace = 18 ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 7 1 170 writelnplace = 19 ; 1 171 pageplace = 20 ; 1 172 puttextplace = 21 ; 1 173 putseqplace = 22 ; 1 174 gettextplace = 23 ; 1 175 getseqplace = 24 ; 1 176 gotoexitplace = 25 ; 1 177 newplace = 26 ; 1 178 disposeplace = 27 ; 1 179 resetheapplace = 28 ; 1 180 truncplace = 63 ; 1 181 roundplace = 64 ; 1 182 rafltplace = 31 ; 1 183 rqfltplace = 32 ; 1 184 putdirplace = 33 ; 1 185 getdirplace = 34 ; 1 186 fupdtplace = 35 ; 1 187 fcloseplace = 37 ; 1 188 connectplace = 36 ; 1 189 exceptcodeplace = 38 ; 1 190 intreturnplace = 39 ; 1 191 extreturnplace = 40 ; 1 192 returnzeroplace = 87 ; 1 193 intcallplace = 42 ; 1 194 extcallplace = 43 ; 1 195 initfsballocplace = 72 ; 1 196 dateopplace = 47 ; 1 197 timeopplace = 48 ; 1 198 clockopplace = 49 ; 1 199 longprofileplace = 50 ; 1 200 flushplace = 65 ; 1 201 fappendplace = 82 ; 1 202 freopenplace = 81 ; 1 203 argcshortplace = 69 ; 1 204 argcplace = 70 ; 1 205 argcextplace = 71 ; 1 206 argvshortplace = 73 ; 1 207 argvplace = 74 ; 1 208 argvextplace = 75 ; 1 209 stopshortplace = 76 ; 1 210 stopplace = 77 ; 1 211 stopextplace = 78 ; 1 212 sreadcharplace = 90 ; 1 213 sreadintegerplace = 91 ; 1 214 sreadrealplace = 92 ; 1 215 swritecharplace = 93 ; 1 216 swritestringplace = 94 ; 1 217 swritesubstringplace = 95 ; 1 218 swritebooleanplace = 96 ; 1 219 swriteintegerplace = 97 ; 1 220 swriterealeplace = 98 ; 1 221 swriterealdplace = 99 ; 1 222 swriteenumplace = 100 ; 1 223 parmproccheckplace = 101 ; 1 224 functionvaluesetplace = 102 ; 1 225 functionvaluecheckplace = 103 ; 1 226 extend_stack_op_place = 104 ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 8 1 227 reset_stack_end_op_place = 105 ; 1 228 1 229 (* CONST USED WITH OPERATORS *) 1 230 transoptvptr = 40 ; (* DISP / PR7 OF TRANSFER VECTOR *) 1 231 lotptrdep = 22 ; (* DISP / PR7 LOT-PTR *) 1 232 pascoperatorsdep = 8 ; (* PASCAL OPERATORS *) 1 233 (* EXECUTION BITS FOR STACK FRAME *) 1 234 mainbit = 131072 ; (* bit 18 *) 1 235 fastbit = 65536 ; (* bit 19 *) 1 236 checkbit = 32768 ; (* bit 20 *) 1 237 interactivebit = 16384 ; (* bit 21 *) 1 238 iowarningsbit = 8192 ; (* bit 22 *) 1 239 solstandardbit = 32 ; (* bit 30 *) 1 240 french_bit = 4 ; (* bit 31 *) 1 241 1 242 (* PASCAL ERRORS CODES *) 1 243 1 244 inxerrcode = 1 ; (* INDEX *) 1 245 chrerrcode = 2 ; (* FCT CHR *) 1 246 prderrcode = 3 ; (* FCT PRED *) 1 247 sucerrcode = 4 ; (* FCT SUCC *) 1 248 forerricode = 5 ; (* FOR INF *) 1 249 forerrscode = 6 ; (* FOR SUP *) 1 250 asserrcode = 7 ; (* ASSIGN *) 1 251 diverrcode = 8 ; (* DIV BY 0 *) 1 252 parerrcode = 9 ; (* PARAM. *) 1 253 caserrcode = 10 ; (* CASE *) 1 254 pckerrcode = 11 ; (* PACK/UNPK *) 1 255 seterrcode = 12 ; (* SET EXP *) 1 256 mlterrcode = 13 ; (* INTEGER MULT OVERFLOW *) 1 257 eofeolnerrcode = 14 ; (* Is eof or eoln meaningsfull *) 1 258 randinterrcode = 15 ; (* BAD BOUNDS FOR RANDINT *) 1 259 stringlength_range_error = 16 ; 1 260 stringlength_assignment_error = 17 ; 1 261 substring_offset_error = 18 ; 1 262 substring_negative_length_error = 19 ; 1 263 substring_too_long_error = 20 ; 1 264 delete_offset_error = 21 ; 1 265 delete_negative_length_error = 22 ; 1 266 delete_too_long_error = 23 ; 1 267 insert_overflow_error = 24 ; 1 268 bad_string_index = 25 ; 1 269 bad_date_time_parameter = 26 ; 1 270 1 271 (* ** FOR CONFORMANT ARRAY *) 1 272 1 273 confdimw = 4 ; (* FOUR ITS IN PARAMETERS LIST *) 1 274 dopevectorsize = 12 ; 1 275 (* LO HI SIZE SUBSIZE *) 1 276 confdimsize = confdimw * bytesinword ; (* SAME IN BYTES *) 1 277 1 278 (* STACK FRAME DISPL. *) 1 279 1 280 argptw = 26 ; (* SAVE ARG POINTER ENTRY *) 1 281 next_sp_place = 18 ; (* MULTIC STACK_FRAME NEXT_SP *) 1 282 pr4depw = 36 ; (* SAVE PR4 HERE *) 1 283 psrdepw = 56 ; (* PSEUDO REGISTER FOR SET *) *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 9 1 284 psrdepb = 224 ; 1 285 dlkdepw = 32 ; (* DYNAMIC LINK *) 1 286 fctdeplw = 34 ; (* RETURNED VALUE FOR A FUNCTION *) 1 287 fctdepl = 136 ; 1 288 evareaw = 38 ; (* WORKING EVEN STORAGE *) 1 289 fsbadrw = 68 ; (* FSB STORED HERE FOR I/0 OPERATORS *) 1 290 valplacew = 70 ; (* VALUE TO BE WRITTEN OR POINTER ON IT *) 1 291 longplacew = 73 ; (* REQUESTED LENGTH *) 1 292 scaleplacew = 74 ; (* FOR REAL SCALING FACTOR *) 1 293 longstplacew = 74 ; (* REAL LENGTH FOR STRINGS *) 1 294 1 295 (* INIT ZONE FOR LINKAGE SECTION *) 1 296 (* 8 WORDS HEADER *) 1 297 1 298 firstglobal = 8 ; (* WORD OFFSET OF FIRST GLOBAL (EVEN) *) 1 299 1 300 (* FSB DISPLACEMENTS *) 1 301 1 302 lgfilename = 32 ; 1 303 iotextbuffersize = 400 ; 1 304 fdescsize = 152 ; 1 305 fsbpointersize = 8 ; 1 306 fstatusw = 7 ; 1 307 fposw = 21 ; 1 308 fsizew = 22 ; 1 309 fllengthw = 23 ; 1 310 fstatusb = 28 ; 1 311 fposb = 84 ; 1 312 fsizeb = 88 ; 1 313 fllengthb = 92 ; 1 314 eofw = 4 ; (* WORD BOOLEAN EOF *) 1 315 eofb = 16 ; 1 316 eolnw = 27 ; (* WORD BOOLEAN EOLN *) 1 317 eolnb = 108 ; 1 318 1 319 (* PROFILE *) 1 320 1 321 pclength = 2 ; (* PROFILE COUNTER LENGTH IN WORDS *) 1 322 lpclength = 4 ; (* LONG PROFILE COUNTER LENGTH IN WORDS *) 1 323 phl = 0 ; (* PROFILE HEADER LENGTH *) 1 324 lphl = 13 ; (* LONG PROFILE HEADER LENGTH IN WORDS *) 1 325 1 326 (* RELOCATION CODES *) 1 327 1 328 link18 = '900000000'x ; (* "10010"b *) 1 329 link15 = 'A00000000'x ; (* "10100"b *) 1 330 int18 = 'C00000000'x ; (* "11000"b *) 1 331 self_rel = '880000000'x ; (* "10001"b *) 1 332 int15 = 'C80000000'x ; (* "11001"b *) 1 333 prof = 'D00000000'x ; (* "11010"b *) 1 334 absl = '000000000'x ; (* "0"b *) 1 335 symb = 'B00000000'x ; (* "10110"b *) 1 336 1 337 (* CONSTANTES USED BY SIMONE COMPILER *) { Inserted for SimOne } 1 338 maxchar8 = 255 ; 1 339 mofatherdisp = 1 ; (* DIFFERENCE BETWEEN ADDR OF FATHER WHOSE TYPE IS MONORMOD *) { Inserted for SimOne } 1 340 procfatherdisp = 0 ; (* OR WHOSE TYPE IS PROC *) { Inserted for SimOne } *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 10 1 341 procmodlkw = 104 ; { Inserted for SimOne } 1 342 modynlk = 0 ; { Inserted for SimOne } 1 343 condcounterplace = 16 ; (* BYTES DIP. OF CONDITION COUNTER *) { Inserted for SimOne } 1 344 moarglistw = 6 ; (* DEPLACEMENT OF ARGLIST IN MONITOR OR MODULE PSEUDO_STACK *) { Inserted for SimOne } 1 345 baseprocessdplmt = 100 ; { Inserted for SimOne } 1 346 executionmodplmt = 106 ; { Inserted for SimOne } 1 347 maindplmt = 0 ; 1 348 processlocaldplmt = 96 ; 1 349 (* ENTRY POINTS OF OPERATORS *) { Inserted for SimOne } 1 350 { Inserted for SimOne } 1 351 simainentryplace = -1 ; { Inserted for SimOne } 1 352 simintentryplace = -2 ; { Inserted for SimOne } 1 353 simintreturnplace = -3 ; { Inserted for SimOne } 1 354 processentryplace = -4 ; { Inserted for SimOne } 1 355 settinginactivequeueplace = -5 ; { Inserted for SimOne } 1 356 waitsonsplace = -6 ; { Inserted for SimOne } 1 357 processreturnplace = -7 ; { Inserted for SimOne } 1 358 holdplace = -8 ; { Inserted for SimOne } 1 359 savearglistplace = -9 ; { Inserted for SimOne } 1 360 modulentryplace = -10 ; { Inserted for SimOne } 1 361 monitorentryplace = -11 ; { Inserted for SimOne } 1 362 initcondplace = -12 ; { Inserted for SimOne } 1 363 askforexclusionplace = -13 ; { Inserted for SimOne } 1 364 freeexclusionplace = -14 ; { Inserted for SimOne } 1 365 signalplace = -15 ; { Inserted for SimOne } 1 366 waitplace = -16 ; { Inserted for SimOne } 1 367 emptyplace = -17 ; { Inserted for SimOne } 1 368 lengthplace = -18 ; { Inserted for SimOne } 1 369 priorityplace = -19 ; { Inserted for SimOne } 1 370 vtimeplace = -20 ; { Inserted for SimOne } 1 371 terminateplace = -21 ; { Inserted for SimOne } 1 372 mowaitsonsplace = -22 ; { Inserted for SimOne } 1 373 uniformplace = -23 ; { Inserted for SimOne } 1 374 normalplace = -24 ; { Inserted for SimOne } 1 375 negexpplace = -25 ; { Inserted for SimOne } 1 376 randintplace = -26 ; { Inserted for SimOne } 1 377 pureentryplace = -27 ; 1 378 simextentryplace = -28 ; 1 379 exitplace = -29 ; 1 380 restorprevmoplace = -30 ; 1 381 { Inserted for SimOne } 1 382 lcprocess = 96 ; (* BYTES SIZE OF THE LOCAL VARIABLES IN THE STACK OF A PROCESS *) { Inserted for SimOne } 1 383 { Inserted for SimOne } 1 384 { Inserted for SimOne } 1 385 emptyindex = 4 ; { Inserted for SimOne } 1 386 { Inserted for SimOne } 1 387 (* DEFAULT LENGTH FOR EDITION *) 1 388 deflreal = 24 ; 1 389 deflnum = 12 ; 1 390 deflbool = 4 ; 1 391 deflchar = 1 ; 1 392 1 393 1 394 1 395 (*$PAGE *) 1 396 TYPE 1 397 numberstring = PACKED ARRAY [1..maxdigitsreal] OF char ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 11 1 398 alfa = PACKED ARRAY [1..alfaleng] OF char ; 1 399 alfaid = PACKED ARRAY [1..maxident] OF char ; 1 400 externid = PACKED ARRAY [1..maxexternname] OF char ; 1 401 alfalistptr = ^alfalist ; 1 402 alfalist = RECORD 1 403 previous, next : alfalistptr ; 1 404 name : alfaid 1 405 END ; 1 406 idkinds = (actual, formal, arraybound, exportable, imported) ; 1 407 1 408 (* ACTUAL MEANS STANDARD PASCAL PROC/VARS 1 409* FORMAL USED FOR VAR PARAMETERS 1 410* EXPORTABLE 'DEF' PROC/VARS 1 411* IMPORTED APPEARS IN EXTERNAL LIST. MUST BE REDEFINED *) 1 412 typform = (reel, numeric, scalar, pointer, power, arrays, records, monormod, { Modified for SimOne } 1 413 condition, files, aliastype) ; { Modified for SimOne } 1 414 { Modified for SimOne } 1 415 idklass = (schema, types, konst, proc, vars, field, tagfield, dummyclass) ; 1 416 consttype = (wordconst, dwordconst, alfaconst) ; 1 417 idprocdef = (standdef, forwdef, extdef, initdef, finitdef) ; { Modified for SimOne } 1 418 levrange = 0..maxlevel ; 1 419 alfapt = @alfavalue ; 1 420 alfavalue = RECORD 1 421 nextval : alfapt ; (* NEXT VALUE BOX FOR SAME STRING *) 1 422 alfaval : PACKED ARRAY [1..longalfbox] OF char ; 1 423 longfill : integer ; (* USED PART OF ALFAVAL IN THIS BOX *) 1 424 END ; 1 425 refptr = @reflist ; 1 426 reflist = RECORD 1 427 nextref : refptr ; 1 428 refnbr : integer ; 1 429 refs : ARRAY [1..maxref] OF RECORD 1 430 filen, linen, sttmapind, place : integer ; 1 431 END ; 1 432 END ; 1 433 ctp = @contexttable ; 1 434 setofno = SET OF minno..maxno ; 1 435 stdkind = (stdpure, stdcompiler, stdsol, stdextend, stdcomputer) ; 1 436 typusednames = ARRAY [1..6] OF alfaid ; 1 437 filelocation = (notafile, permanentfile, workfile, localfile, standardfile) ; 1 438 1 439 proclocation = (notpredef, instdpure, instdcompiler, instdsol, 1 440 instdextend, instdcomputer, instdsimone) ; { Modified for SimOne } 1 441 externalitemtype = (extnotresolved, externalarea, exportvar, importvar, 1 442 exportproc, importproc, localproc, mainprogram, remanentfile, 1 443 requiredfile, runtimeentry) ; 1 444 ptexternalitem = ^ externalitem ; 1 445 externalitem = RECORD 1 446 extname : alfaid ; 1 447 extsegname, extgenerator, extentryname : alfaid ; 1 448 extnext : ptexternalitem ; 1 449 extrfile1, extrline1, extrfile2, extrline2 : integer ; 1 450 extdecl : ctp ; 1 451 extitemtype : externalitemtype ; 1 452 extkind : idkinds ; 1 453 extpltdisp : integer ; 1 454 extareadisp : integer ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 12 1 455 extlong : integer ; 1 456 extwantdescs : boolean ; 1 457 END ; 1 458 (* TYPES USED BY SIMONE COMPILER *) { Inserted for SimOne } 1 459 motypes = (module, monitor) ; { Inserted for SimOne } 1 460 objaccessibles = (modul, monit, condit) ; { Inserted for SimOne } 1 461 ensaccessible = SET OF objaccessibles ; { Inserted for SimOne } 1 462 incbloc = (monitormodule, subroutine) ; { Inserted for SimOne } 1 463 { Inserted for SimOne } 1 464 nodeptr = @node ; { Inserted for SimOne } 1 465 { Inserted for SimOne } 1 466 node = RECORD { USED FOR SPACE COMPUTATION } { Inserted for SimOne } 1 467 inthelist, compiled, recursive : boolean ; { Inserted for SimOne } 1 468 sizemax : integer ; { Inserted for SimOne } 1 469 proce : ctp ; { Inserted for SimOne } 1 470 END ; { Inserted for SimOne } 1 471 nodelistptr = @nodelistelem ; { Inserted for SimOne } 1 472 { Inserted for SimOne } 1 473 nodelistelem = RECORD { Inserted for SimOne } 1 474 previousnode, nextnode : nodelistptr ; { Inserted for SimOne } 1 475 elem : nodeptr ; { Inserted for SimOne } 1 476 END ; { Inserted for SimOne } 1 477 { Inserted for SimOne } 1 478 exitptr = @exitelem ; { Inserted for SimOne } 1 479 exitelem = RECORD (* ONE FOR EACH EXIT STATEMENT *) { Inserted for SimOne } 1 480 nextexitelem : exitptr ; { Inserted for SimOne } 1 481 exitdplmt : integer ; { Inserted for SimOne } 1 482 END ; { Inserted for SimOne } 1 483 1 484 ftp = ^schema_token ; 1 485 schema_status = RECORD 1 486 on : boolean ; 1 487 schema_ptr : ctp ; 1 488 current_token : ftp ; 1 489 current_parameter : ctp ; 1 490 END ; 1 491 schema_token_kind = (symbol_token, name_token, int_const_token, char_const_token, real_const_token) ; 1 492 schema_token = RECORD 1 493 next : ftp ; 1 494 CASE kind : schema_token_kind OF 1 495 symbol_token : (tno, tcl : integer) ; 1 496 name_token : (taval : alfaid) ; 1 497 int_const_token : (t_int_value : integer) ; 1 498 real_const_token : (t_real_value : real) ; 1 499 char_const_token : (t_char_value : char) ; 1 500 END ; 1 501 1 502 (* DONT MODIFY CONTEXTABLE DECLARATION 1 503* WITHOUT CHECKING : 1 504* nameplaceincontextable 1 505* AND nxtelplaceincontextable 1 506* IN optimized_procedures.alm *) 1 507 contexttable = RECORD 1 508 name : alfaid ; 1 509 nxtel : ctp ; 1 510 alfathread : ctp ; 1 511 deffile, defline : integer ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 13 1 512 references : refptr ; 1 513 symbolplace : integer ; (* PCK PTR TO SYMBOL NODE IN SYMB TB *) 1 514 symbtablerefs : integer ; (* BACKWARD THREAD OF REFS IN TEXT TO SYMBOL TABLE *) 1 515 CASE klass : idklass OF 1 516 schema : ( 1 517 top_for_schema : integer ; (* CONTEXT AT SHEMA DECLARATION TIME *) 1 518 next_for_schema : ctp ; 1 519 formal_parameter_list : ctp ; 1 520 parameter_count : integer ; 1 521 token_list : ftp ; 1 522 type_description : ctp) ; 1 523 types : ( 1 524 size, cadrage : integer ; 1 525 pack : boolean ; 1 526 tlevel : levrange ; 1 527 objaccedes : ensaccessible ; { TO ALLOW VARIABLES ' DECLARATIONS } { Inserted for SimOne } 1 528 (* *** BEGIN SCHEMA INFO *** *) 1 529 father_schema : ctp ; 1 530 actual_parameter_list : ctp ; 1 531 desc_vector_references : integer ; 1 532 (* *** END SCHEMA INFO *** *) 1 533 CASE form : typform OF 1 534 reel : () ; 1 535 numeric : (npksize, nmin, nmax : integer) ; 1 536 scalar : (spksize : integer ; 1 537 CASE subrng : boolean OF 1 538 false : (fconst, sptcstepw : ctp) ; 1 539 true : (smin, smax : integer ; 1 540 typset : ctp) ;) ; 1 541 pointer : (ptpksize : integer ; 1 542 domain, eltype : ctp) ; 1 543 power : (ppksize : integer ; 1 544 elset : ctp ; 1 545 setlength : integer) ; 1 546 arrays : (aeltype, inxtype : ctp ; 1 547 1 548 CASE conformant : boolean OF 1 549 false : (lo, hi, opt2, subsize : integer) ; 1 550 true : ( 1 551 pthigh, ptlow : ctp ; 1 552 ) ; 1 553 ) ; 1 554 records : (recvar, fstfld : ctp) ; 1 555 files : (feltype : ctp ; 1 556 ) ; 1 557 monormod : (motype : motypes ; { Inserted for SimOne } 1 558 niveau : levrange ; { Inserted for SimOne } 1 559 moaddr, nbparmo : integer ; { Inserted for SimOne } 1 560 ptpar, ptvarloc, ptentr : ctp ; { Inserted for SimOne } 1 561 initmoproc, finitmoproc, blocenglob : ctp) ; { Inserted for SimOne } 1 562 condition : () ; { Inserted for SimOne } 1 563 aliastype : (realtype : ctp) ;) ; 1 564 konst : ( 1 565 succ, contype : ctp ; 1 566 CASE typofconst : consttype OF 1 567 wordconst : (values : integer) ; 1 568 dwordconst : (valreel : real) ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 14 1 569 alfaconst : (alfadeb : alfapt ; 1 570 alfalong, alfalevel, unddeb : integer) ;) ; 1 571 proc : (proctype, formals : ctp ; 1 572 prockind : idkinds ; 1 573 proclevel : levrange ; 1 574 procaddr, segsize, nbparproc, locincode : integer ; 1 575 procisassigned, predefproc, procinscope, pisrefincode : boolean ; 1 576 phasdescriptor : boolean ; (* TRUE IF HAS CONF ARRAY PARAMETERS *) 1 577 ploc : proclocation ; 1 578 procextitem : ptexternalitem ; 1 579 ptypesymbolplace : integer ; (* PACKED PTR TO TYPE BOX IN SYMBOL TB *) 1 580 recur : integer ; { Inserted for SimOne } 1 581 procaccesslevel : levrange ; { Inserted for SimOne } 1 582 processus, pure : boolean ; { Inserted for SimOne } 1 583 chaineentree : ctp ; { Inserted for SimOne } 1 584 procnode : nodeptr ; { Inserted for SimOne } 1 585 procincbloc : incbloc ; (* BLOC CONTAINING THIS PROC *) { Inserted for SimOne } 1 586 procfirstexit : exitptr ; (* TO CHAIN EXIT STATEMENT *) { Inserted for SimOne } 1 587 procfirsttofinit : ctp ; (* FIRST VAR TO BE FINALIZED IN THIS PROCESS, ALWAYS NIL FOR A PROCEDURE *) { Inserted for SimO ne } 1 588 procstackinitsize : integer ; { Inserted for SimOne } 1 589 procwasforwarddef : boolean ; { Inserted for SimOne } 1 590 procdef : idprocdef ; 1 591 pwantdescs : boolean ; (* TRUE IF PROC WAS DECLARED EXT DESCRIPTORS *) 1 592 pdescsaddrplace : integer ; (* PLACE IN STATICS OF PTR TO DESCRS VECTOR - IF PREV. TRUE *) 1 593 procisactive : boolean ; (* TRUE IF COMPILER IS ANALYZING BODY OF THIS PROC *) 1 594 pextcalltrapinfoplace : integer ; (* WORD OFFSET OF TRAP INFO FOR EXT CALL - ONLY IF DESCS *) 1 595 pwantspl1descriptors : boolean) ; (* TRUE IF PL1 DESCRIPTORS NEEDED *) 1 596 vars : (vtype : ctp ; 1 597 vkind : idkinds ; 1 598 vfilelocation : filelocation ; 1 599 vaddr : integer ; 1 600 vdispl, vdescaddr : integer ; 1 601 vlevel : levrange ; 1 602 vlink_is_generated : boolean ; 1 603 visused, visset, visreadonly, varparam, visrefincode : boolean ; 1 604 vnexttofinit : ctp ; (* TO CHAIN VAR TO BE FINIT *) { Inserted for SimOne } 1 605 varmo : boolean ; (* TRUE IF VAR IS DECLARE IN A MONITOR OR A MODULE *) { Inserted for SimOne } 1 606 vfather : ctp ; (* PTR ON THE MONITOR OR THE MODULE CONTAINING VAR *) { Inserted for SimOne } 1 607 vptextitem : ptexternalitem) ; 1 608 field : (fldtype : ctp ; 1 609 fldaddr, bytwidth : integer) ; 1 610 tagfield : (casesize : integer ; 1 611 variants : ctp ; 1 612 CASE tagval : boolean OF 1 613 false : (casetype : ctp ; selectorfield : ctp) ; 1 614 true : (caseval : integer ; firstfield : ctp) ;) ; 1 615 dummyclass : () ; 1 616 END ; (* RECORD CONTEXTTABLE *) 1 617 (* NOW OTHER TYPES *) 1 618 1 619 shrtint = -twoto17..twoto17m1 ; 1 620 bytint = -twoto8..twoto8m1 ; 1 621 norange = minno..maxno ; 1 622 where = (block, cwith, vwith) ; (* USED TO DESCRIBE AN IDENTIFIER *) 1 623 contexte = (data, code, linkage, definition, deccode) ; { Modified for SimOne } 1 624 levtrace = (none, low, medium, high) ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 15 1 625 (* DONT MODIFY RECIDSCOPE DECLARATION *) 1 626 withreflist = RECORD 1 627 nbr : 0..maxfield ; 1 628 symbolp : ARRAY [1..maxfield] OF ctp 1 629 END ; 1 630 (* WITHOUT CHECK : *) 1 631 (* recidscopelength IN optimized_procedures.alm *) 1 632 recidscope = RECORD (* ELEMENT OF DISPLAY *) 1 633 fname : ctp ; 1 634 CASE occur : where OF 1 635 block : () ; 1 636 cwith : (creflist : withreflist ; clevel : levrange ; cdspl : integer) ; 1 637 vwith : (vreflist : withreflist ; vdspl : integer ; vpack : boolean) ; 1 638 END (* REC-ID-SCOPE *) ; 1 639 blocknodeptr = @blocknode ; 1 640 labelblockptr = ^labelblock ; (* BOXES FOR LABELS *) 1 641 labelblock = RECORD 1 642 number : integer ; (* LABEL ID *) 1 643 locinbytes : integer ; (* LOCATION IN TEXT SECTION (BYTES) *) 1 644 next : labelblockptr ; (* NEXT IN LABELS LIST *) 1 645 brother : labelblockptr ; (* THREAD FOR LABELS OF SAME BLOCK *) 1 646 procnode : blocknodeptr ; (* PTR TO PROCEDURE NODE *) 1 647 dclfile, dclline : integer ; (* FILE, LINE FOR DECLARATION *) 1 648 deffile, defline : integer ; (* FILE, LINE OF LOCATION *) 1 649 references : refptr ; (* PTR TO REFERENCES BOX(ES) *) 1 650 ref_allowed : RECORD 1 651 ic_from, ic_to : integer 1 652 END ; 1 653 next_in_block : labelblockptr ; 1 654 END ; 1 655 label_pdl_element = RECORD 1 656 previous, next : ^label_pdl_element ; 1 657 first : labelblockptr ; 1 658 END ; 1 659 labdescr = RECORD (* ELEMENT OF LABTAB *) 1 660 labval, lablev, labexit, labch1, labdef : integer ; 1 661 labbox : labelblockptr ; 1 662 END (* REC *) ; 1 663 lab_pdl_ptr = ^lab_pdl_element ; 1 664 lab_pdl_element = RECORD 1 665 previous, next : lab_pdl_ptr ; 1 666 first_in_block : labelblockptr ; 1 667 start : integer 1 668 END ; 1 669 typofsymb = (irrelsy, begsy, endsy) ; 1 670 occurence = RECORD (* ELEMENT OF UNDLAB *) 1 671 succ, place : shrtint ; 1 672 END (* REC *) ; 1 673 (* TYPES USED IN CODE GENERATION *) 1 674 1 675 (* ALM INSTRUCTIONS , I+MNEMONIC. INSTRUCTIONS ARE GROUPED BY FUNCTIONS. IN 1 676* EACH FUNCTION, THE ORDER IS THE ONE OF THE AL39 MANUAL EXCEPT FOR EIS 1 677* MULTIWORD. IN THIS LAST GROUP, THE ORDER MAKES EASIER THE CODE GENERATION *) 1 678 (* FIXED-POINT STANDARD INSTRUCTIONS ****** *) 1 679 instword = (ieaa, ieaq, ieax0, ieax1, ieax2, ieax3, ieax4, ieax5, 1 680 ieax6, ieax7, ilca, ilcaq, ilcq, ilcx0, ilcx1, ilcx2, 1 681 ilcx3, ilcx4, ilcx5, ilcx6, ilcx7, ilda, ildac, ildaq, *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 16 1 682 ildi, ildq, ildqc, ildx0, ildx1, ildx2, ildx3, ildx4, 1 683 ildx5, ildx6, ildx7, ilreg, ilxl0, ilxl1, ilxl2, ilxl3, 1 684 ilxl4, ilxl5, ilxl6, ilxl7, isreg, ista, istac, istacq, 1 685 istaq, istc1, istc2, istcd, isti, istq, istt, istx0, 1 686 istx1, istx2, istx3, istx4, istx5, istx6, istx7, istz, 1 687 isxl0, isxl1, isxl2, isxl3, isxl4, isxl5, isxl6, isxl7, 1 688 ialr, ials, iarl, iars, illr, ills, ilrl, ilrs, 1 689 iqlr, iqls, iqrl, iqrs, iada, iadaq, iadl, iadla, 1 690 iadlaq, iadlq, iadlx0, iadlx1, iadlx2, iadlx3, iadlx4, iadlx5, 1 691 iadlx6, iadlx7, iadq, iadx0, iadx1, iadx2, iadx3, iadx4, 1 692 iadx5, iadx6, iadx7, iaos, iasa, iasq, iasx0, iasx1, 1 693 iasx2, iasx3, iasx4, iasx5, iasx6, iasx7, iawca, iawcq, 1 694 isba, isbaq, isbla, isblaq, isblq, isblx0, isblx1, isblx2, 1 695 isblx3, isblx4, isblx5, isblx6, isblx7, isbq, isbx0, isbx1, 1 696 isbx2, isbx3, isbx4, isbx5, isbx6, isbx7, issa, issq, 1 697 issx0, issx1, issx2, issx3, issx4, issx5, issx6, issx7, 1 698 iswca, iswcq, impf, impy, idiv, idvf, ineg, inegl, 1 699 icmg, icmk, icmpa, icmpaq, icmpq, icmpx0, icmpx1, icmpx2, 1 700 icmpx3, icmpx4, icmpx5, icmpx6, icmpx7, icwl, iszn, isznc, 1 701 (* FLOATING-POINT INSTRUCTIONS ************* *) 1 702 idfld, ifld, idfst, idfstr, ifst, ifstr, idfad, idufa, 1 703 ifad, iufa, idfsb, idufs, ifsb, iufs, idfmp, idufm, 1 704 ifmp, iufm, idfdi, idfdv, ifdi, ifdv, ifneg, ifno, 1 705 idfrd, ifrd, idfcmg, idfcmp, ifcmg, ifcmp, iade, ifszn, 1 706 ilde, iste, 1 707 (* BOOLEAN INSTRUCTIONS ******************** *) 1 708 iana, ianaq, ianq, iansa, iansq, iansx0, iansx1, iansx2, 1 709 iansx3, iansx4, iansx5, iansx6, iansx7, ianx0, ianx1, ianx2, 1 710 ianx3, ianx4, ianx5, ianx6, ianx7, iora, ioraq, iorq, 1 711 iorsa, iorsq, iorsx0, iorsx1, iorsx2, iorsx3, iorsx4, iorsx5, 1 712 iorsx6, iorsx7, iorx0, iorx1, iorx2, iorx3, iorx4, iorx5, 1 713 iorx6, iorx7, iera, ieraq, ierq, iersa, iersq, iersx0, 1 714 iersx1, iersx2, iersx3, iersx4, iersx5, iersx6, iersx7, ierx0, 1 715 ierx1, ierx2, ierx3, ierx4, ierx5, ierx6, ierx7, icana, 1 716 icanaq, icanq, icanx0, icanx1, icanx2, icanx3, icanx4, icanx5, 1 717 icanx6, icanx7, icnaa, icnaaq, icnaq, icnax0, icnax1, icnax2, 1 718 icnax3, icnax4, icnax5, icnax6, icnax7, 1 719 (* POINTER REGISTERS INSTRUCTIONS ********** *) 1 720 ieasp0, ieasp1, ieasp2, ieasp3, ieasp4, ieasp5, ieasp6, ieasp7, 1 721 ieawp0, ieawp1, ieawp2, ieawp3, ieawp4, ieawp5, ieawp6, ieawp7, 1 722 iepbp0, iepbp1, iepbp2, iepbp3, iepbp4, iepbp5, iepbp6, iepbp7, 1 723 iepp0, iepp1, iepp2, iepp3, iepp4, iepp5, iepp6, iepp7, 1 724 ilpri, ilprp0, ilprp1, ilprp2, ilprp3, ilprp4, ilprp5, ilprp6, 1 725 ilprp7, ispbp0, ispbp1, ispbp2, ispbp3, ispbp4, ispbp5, ispbp6, 1 726 ispbp7, ispri, ispri0, ispri1, ispri2, ispri3, ispri4, ispri5, 1 727 ispri6, ispri7, isprp0, isprp1, isprp2, isprp3, isprp4, isprp5, 1 728 isprp6, isprp7, iadwp0, iadwp1, iadwp2, iadwp3, iadwp4, iadwp5, 1 729 iadwp6, iadwp7, iepaq, 1 730 (* TRANSFER INSTRUCTIONS ******************* *) 1 731 icall6, iret, irtcd, iteo, iteu, itmi, itmoz, itnc, 1 732 itnz, itov, itpl, itpnz, itra, itrc, itrtf, itrtn, 1 733 itsp0, itsp1, itsp2, itsp3, itsp4, itsp5, itsp6, itsp7, 1 734 itss, itsx0, itsx1, itsx2, itsx3, itsx4, itsx5, itsx6, 1 735 itsx7, ittf, ittn, itze, 1 736 (* MISCELLANEOUS INSTRUCTIONS ************** *) 1 737 irccl, idrl, ixec, ixed, imme, imme2, imme3, imme4, 1 738 inop, ipuls1, ipuls2, isra, isbar, ibcd, igtb, *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 17 1 739 (* PRIVILEGED INSTRUCTIONS ***************** *) 1 740 ilbar, ilcpr, ildbr, ildt, ilptp, ilptr, ilra, ilsdp, 1 741 ilsdr, ircu, iscpr, iscu, isdbr, isptp, isptr, issdp, 1 742 issdr, icamp, icams, irmcm, irscr, irsw, icioc, ismcm, 1 743 ismic, isscr, iabsa, idis, 1 744 (* SINGLE WORD EIS INSTRUCTIONS ************ *) 1 745 iaar0, iaar1, iaar2, iaar3, iaar4, iaar5, iaar6, iaar7, 1 746 ilar0, ilar1, ilar2, ilar3, ilar4, ilar5, ilar6, ilar7, 1 747 ilareg, ilpl, inar0, inar1, inar2, inar3, inar4, inar5, 1 748 inar6, inar7, iara0, iara1, iara2, iara3, iara4, iara5, 1 749 iara6, iara7, iarn0, iarn1, iarn2, iarn3, iarn4, iarn5, 1 750 iarn6, iarn7, isar0, isar1, isar2, isar3, isar4, isar5, 1 751 isar6, isar7, isareg, ispl, ia4bd, ia6bd, ia9bd, iabd, 1 752 iawd, is4bd, is6bd, is9bd, isbd, iswd, 1 753 (* MULTI-WORDS EIS INSTRUCTIONS ************ *) 1 754 itct, itctr, icmpc, iscm, iscmr, imlr, imrl, imvt, 1 755 icsl, icsr, isztl, isztr, iscd, iscdr, icmpn, imvn, 1 756 icmpb, ibtd, idtb, iad2d, isb2d, imp2d, idv2d, imve, 1 757 imvne, iad3d, isb3d, imp3d, idv3d, 1 758 (* REPEAT INSTRUCTIONS ********************* *) 1 759 irpd, irpl, irpt, 1 760 (* STBA, STBQ ,STCA AND STCB INSTRUCTIONS ** *) 1 761 istba, istbq, istca, istcq) ; 1 762 (* ADDRESS MODIFICATIONS , *) 1 763 (* T+MNEMONIC AND Y USED FOR * , *) 1 764 (* TZ = ILLEGAL MODIFIER *) 1 765 (* BINARY CODE IS OBTAINED WITH THE ORD FUNCTION *) 1 766 tag = (tn, tau, tqu, tdu, tic, tal, tql, tdl, (* R MOD *) 1 767 tx0, tx1, tx2, tx3, tx4, tx5, tx6, tx7, 1 768 tny, tauy, tquy, tz23, ticy, taly, tqly, tz27, (* RI MOD *) 1 769 tx0y, tx1y, tx2y, tx3y, tx4y, tx5y, tx6y, tx7y, 1 770 tf1, titp, tz42, tits, tsd, tscr, tf2, tf3, (* IT MOD *) 1 771 tci, ti, tsc, tad, tdi, tdic, tid, tidc, 1 772 tz60, tyau, tyqu, tydu, tyic, tyal, tyql, tydl, (* IR MOD *) 1 773 tyx0, tyx1, tyx2, tyx3, tyx4, tyx5, tyx6, tyx7) ; 1 774 register = (nreg, pr1, pr2, pr5, pr7, pr3, pr0, prstatic, prlink, pr6, 1 775 nxreg, x0, x1, x2, x3, x4, x5, x6, x7, 1 776 xbidon, ra, rq, raq, reaq, psr, re, ri) ; (* USED REGISTERS *) 1 777 preg = nreg..pr6 ; (* POINTER REGISTERS - SUBRANGE OF REGISTER *) 1 778 mreg = tn..tx7 ; (* ADDRESS MODIFICATIONS WITHOUT INDIRECTION *) 1 779 (* - SUBRANGE OF TAG *) 1 780 (* SUBRANGES OF INSTWORD USED IN CODE GENERATION *) 1 781 istand = ieaa..iswd ; (* STANDARD INSTRUCTIONS *) 1 782 ieism = icmpc..idv3d ; (* EIS MULTIWORD INSTRUCTIONS *) 1 783 irept = irpd..irpt ; (* REPEAT INSTRUCTIONS *) 1 784 istobc = istba..istcq ; (* STORE BYTES OR CHARACTERS INSTRUCTIONS *) 1 785 lgcar = (l4, l6, l9) ; (* CHARACTER DATA TYPE - NUMBER = LENGTH IN BITS *) 1 786 typsig = (flls, fxls, fxts, fxns) ; (* SIGN AND DECIMAL TYPES,FL=FLOATING-POINT, *) 1 787 (* FX=FIXED-POINT,LS= LEADING SIGN *) 1 788 (* TS= TRAILING SIGN *) 1 789 (* NS= NO SIGN *) 1 790 (* BIT VALUES FOR CODE GENERATION *) 1 791 zptr = (p0t0r0, p0t0r1, p0t1r0, p0t1r1, p1t0r0, p1t0r1, p1t1r0, p1t1r1) ; (* BITS 0,9 *) 1 792 (* AND 10 OF EIS MULTIWORD INSTRUCTIONS *) 1 793 (* P=SIGN OR FILL BIT , T=TRUNCATION BIT , *) 1 794 (* R=ROUNDING FLAG BIT *) 1 795 zabc = (a0b0c0, a0b0c1, a1b0c0, a1b0c1, a0b1c0, a0b1c1, a1b1c0, a1b1c1) ; (* BITS 8,9 *) *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 18 1 796 (* AND 10 OF REPEAT INSTRUCTIONS *) 1 797 (* A AND B = USE OF DELTA FIELD , *) 1 798 (* C = USE OF X0 REGISTER *) 1 799 zari = (a0r0i0, a0r0i1, a0r1i0, a0r1i1, a1r0i0, a1r0i1, a1r1i0, a1r1i1) ; (* BITS 0,1 *) 1 800 (* AND 2 OF EIS MODIFICATION FIELDS *) 1 801 (* A=USE OF ADDRESS REGISTER , *) 1 802 (* R = OPERAND LENGTH FIELD GIVES A REGISTER *) 1 803 (* I= USE OF INDIRECTION FOR *) 1 804 (* THE OPERAND DESCRIPTOR *) 1 805 1 806 (* USED ONLY IN CONDITIONNAL COMPILATION FOR COMPILER'S CONTROLS *) 1 807 forset = (s0, s1, s2, s3, s4, s5) ; (* USED TO GIVE FORBIDDEN TAGS/PTR FOR ISTAND/ *) 1 808 (* IEISM *) 1 809 halfword = integer ; (* USED FOR FICHINTER *) 1 810 binartype = PACKED ARRAY [1..maxfich] OF halfword ; (* FICHINTER *) 1 811 binartypeptr = ^binartype ; 1 812 attrkind = (varbl, lcond, lval, chain, sval) ; 1 813 attraccess = (direct, pointee, pointable, encode) ; 1 814 destination = (inacc, inq, inaq, inpsr, inpr, out) ; 1 815 setarray = ARRAY [0..bornesupset] OF integer ; 1 816 regpt = @regbox ; 1 817 regbox = RECORD (* BOX DESCRIBING A LOADED REGISTER *) 1 818 (* AND MEMORIZING SAVING INFORMATIONS *) 1 819 sregister : register ; (* LOADED REGISTER *) 1 820 saveplace : integer ; (* BYTES DISP. /PR6 OF SAVING STORAGE *) 1 821 nextbloc : regpt ; (* POINTS PREVIOUS BLOC.(NOT NEXT.) *) 1 822 predbloc : regpt ; (* POINTS NEXT BLOC. (NOT PRED.) *) 1 823 END ; (* REGBOX *) 1 824 wcstpt = @iunresolv ; 1 825 rcstpt = @runresolv ; 1 826 lcstpt = @liunresolv ; 1 827 llcstpt = @lliunresolv ; 1 828 iunresolv = RECORD 1 829 valu : integer ; 1 830 cstplace : integer ; (* ENTRY IN UNDLAB *) 1 831 cstnext : wcstpt ; (* LINKAGE OF WORD CSTES *) 1 832 END ; 1 833 runresolv = RECORD 1 834 rvalu : real ; 1 835 rplace : integer ; (* ENTRY IN UNDLAB *) 1 836 rnext : rcstpt ; (* LINKAGE OF REAL CSTES *) 1 837 END ; 1 838 liunresolv = RECORD 1 839 lvalu : setarray ; 1 840 lplace : integer ; (* ENTRY IN UNDLAB *) 1 841 lnext : lcstpt ; (* LINKAGE OF LONG CSTES *) 1 842 END ; 1 843 lliunresolv = RECORD 1 844 llvalu : setarray ; (* SET CSTE *) 1 845 llplace : integer ; (* ENTRY ON UNDLAB *) 1 846 llnext : llcstpt ; (* LINKAGE OF SET CSTES *) 1 847 END ; 1 848 1 849 attr = RECORD 1 850 1 851 typtr : ctp ; (* TYPE OF DESCRIBED ITEM *) 1 852 CASE kind : attrkind OF *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 19 1 853 1 854 varbl : ( (* ITEM IS ANYWHERE IN STORAGE *) 1 855 vlev : levrange ; (* DEFINITION LEVEL *) 1 856 basereg : preg ; (* BASIS TO ACCES ITEM, *) 1 857 (* OR ITS TO ITEM IF POINTABLE *) 1 858 basebloc : regpt ; 1 859 (* POINTS THE BOX DESCRIBING BASEREG; *) 1 860 (* NIL FOR PR4,PR6 *) 1 861 dplmt : integer ; (* BYTES DISPLACEMENT TO ADD AT FINAL ADDRESS *) 1 862 inxreg : register ; (* MODIFICATION REGISTER CONTAINING WORDS DISP *) 1 863 (* RA ==> A 18..35 USED *) 1 864 (* RQ ==> Q 18..35 USED *) 1 865 (* XI ==> INDEX REGISTER *) 1 866 (* NXREG NO MODIFIER *) 1 867 inxbloc : regpt ; (* POINTS BOX DESCRIBING INXREG *) 1 868 inxmem : integer ; (* BYTES DISPLACEMENT/PR6 OF A STORAGE WORD *) 1 869 (* CONT. IN BITS 18..35 A WORD OFFSET SIGNED *) 1 870 inxmemrw : boolean ; (* TRUE IF INXMEM CAN BE WRITTEN *) 1 871 access : attraccess ; 1 872 1 873 (* DIRECT ITEM=[[BASIS]+[INDEX]+DPLMT+[INXMEM]] BASIS=PR4/PR6 1 874* POINTEE SAME BUT BASIS= ANY POINTER REGISTER 1 875* POINTABLE ITEM=[[[BASIS]+ITSDPLMT]+[INDEX]+DPLMT+[INXMEM]] 1 876* ENCODE ITEM GENERATEA IN CODE *) 1 877 itsdplmt : integer ; (* BYTES DISP OF AN ITS EVEN BOUNDARY *) 1 878 pckd : boolean ; (* TRUE IF CONTAINING STRUCTURE WAS PACKED *) 1 879 nameaddr : ctp ; (* PTR TO NAME OF CONCERNED VAR OR FIELD *) 1 880 descreg : preg ; (* PTR TO DESCRIPTOR *) 1 881 descbloc : regpt ; (* BOX FOR THIS POINTER *) 1 882 vmo : boolean ; (* TRUE IF INTERNAL VAR OF MONITOR OR MODULE ACCESS BY PR5 *) { Inserted for SimOne } 1 883 temporary : boolean ; (* TRUE IF THIS VARIABLE IS THE RESULT OF AN EXPRESSION, 1 884* ALLOCATED IN STACK (USED FOR RESULT OF STRING EXPRESSIONS *) 1 885 ) ; (* END VARBL *) 1 886 1 887 lval : ( (* ITEM IS LOADED IN A *) 1 888 (* REGISTER RA,RQ,RAQ,REAQ,PSR *) 1 889 ldreg : register ; (* LOADED REGISTER *) 1 890 ldregbloc : regpt ; (* POINTS THE BOX DESCRIBING LDREG *) 1 891 psrsize : integer ; (* SIZE MEANINGSFULL IN BYTES OF PSR IF LOADED *) 1 892 ) ; (* END LVAL *) 1 893 1 894 chain : ( (* ITEM DESCRIBED IS A CHARACTER STRING CONSTANT *) 1 895 (* GENERATED AT THE END OF CODE *) 1 896 (* (WORD BOUNDARY ALIGNED) *) 1 897 alfactp : ctp ; (* POINTS THE (KONST,ALFACONST) BOX ASSOCIATED *) 1 898 ) ; (* END CHAIN *) 1 899 1 900 sval : ( (* ITEM DESCRIBED IS A COMPUTABLE VALUE *) 1 901 (* BY THE COMPILER *) 1 902 val : integer ; (* WORD CONSTANT *) 1 903 rsval : real ; (* FLOAT CONSTANT *) 1 904 valpw : setarray ; (* SET CONSTANT *) 1 905 longv : integer ; (* BYTES LENGTH MEANINGSFULL IN VALPW *) 1 906 ) ; (* END SVAL *) 1 907 1 908 lcond : ( (* ITED DESCRIBED IS A BOOLEAN EITHER LOADED OR *) 1 909 (* KNOWN ONLY BY THE SETTING OF INDICATORD *) *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 20 1 910 accbloc : regpt ; (* POINTS BOX DESCRIBING RA IF USED *) 1 911 accbool : boolean ; (* TRUE <==> RA IS USED TO KEEP LCOND *) 1 912 transf : integer ; (* GIVES THE SUITABLE INDICATORS TESTING *) 1 913 ) ; (* END LCOND *) 1 914 1 915 END ; (* RECORD ATTR *) 1 916 1 917 typepr = (epp, spri, lprp) ; (* FOR PR. INST *) 1 918 typix = (adlx, adx, sxl, lxl) ; (* FOR XI INST *) 1 919 typeofop = (load, sub, shiftl, add, neg, cmp, stor) ; (* FOR A,Q,AQ,EAQ INST *) 1 920 statearray = ARRAY [register] OF boolean ; (* STATE OF REGISTERS *) 1 921 1 922 (* STATEMENT MAP *) 1 923 1 924 sttmapptr = @sttmap ; 1 925 sttmap = ARRAY [1..30000] OF 1 926 RECORD 1 927 word1 : integer ; 1 928 word2 : integer 1 929 END ; 1 930 1 931 (* PROFILE COUNTERS AREA *) 1 932 1 933 profareaptr = @profarea ; 1 934 profarea = ARRAY [0..60000] OF integer ; 1 935 1 936 (* BLOCK NODE *) 1 937 1 938 blocktype = (procblock, withblock) ; 1 939 vararea = (statics, locals) ; 1 940 blocknode = RECORD 1 941 father, brother, son : blocknodeptr ; (* BLOCKS TREE *) 1 942 codebegin, codeend : integer ; (* OFFSETS IN STATEMENT MAP *) 1 943 first : ctp ; (* PTR TO FIRST DECLARED SYMBOL *) 1 944 CASE blocktp : blocktype OF 1 945 procblock : ( 1 946 blockbox : ctp ; (* SYMBOL BLOCK FOR PROCEDURE *) 1 947 structureplace : integer ; (* OFFSET OF ENTRY STRUCTURE *) 1 948 firstlabel : labelblockptr ; (* PTR TO FIRST LABEL *) 1 949 nextproc : blocknodeptr ; (* NEXT BLOCK *) 1 950 hdrfil, hdrind, hdrlen, hdrlin : integer ; (* SOURCE OF HEADER *) 1 951 ) ; 1 952 withblock : ( 1 953 wbase : vararea ; 1 954 wdispl : integer ; (* OFFSET *) 1 955 windirect : boolean ; 1 956 wstrfile, wstrindex, wstrlength : integer ; 1 957 recordptr : ctp ; 1 958 ) ; 1 959 END ; 1 960 1 961 (* CONDITIONNAL COMPILATION MECHANISM *) 1 962 1 963 condaddr = ^condbox ; 1 964 condbox = RECORD 1 965 condname : alfaid ; 1 966 nextcond : condaddr ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 21 1 967 active, activated, setinargs : boolean 1 968 END ; 1 969 1 970 1 971 (* ARRAY OF POINTERS TO USED NAMES - FOR "-list" OPTION *) 1 972 1 973 usednamesarray = PACKED ARRAY [0..maxwseg] OF ctp ; 1 974 usednamesptr = @usednamesarray ; 1 975 1 976 1 977 (* END INCLUDE FILE CONSTTYPE.incl.pascal *) 1 978 144 145 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 22 146 147 VAR 148 149 (* REDEFINE IMPORTED VARIABLES *) 150 (* FROM RACINE *) 151 mpcogout : text ; 152 cl : integer ; 153 no : integer ; 154 pascalfrench : boolean ; 155 realptr : ctp ; 156 string_ptr : ctp ; 157 ctptr : ctp ; 158 envstandard : stdkind ; 159 errcl : ARRAY [norange] OF typofsymb ; 160 textfilectp : ctp ; 161 intptr : ctp ; 162 ival : integer ; 163 alfaptr : ctp ; 164 boolptr : ctp ; 165 charptr : ctp ; 166 exportablecode : boolean ; 167 level : levrange ; 168 symbolmap : boolean ; 169 symbolfile, symbolline : integer ; 170 171 (* FROM DECLARE *) 172 getpr4afterstop : boolean ; 173 lkc : integer ; 174 175 (* FROM GENERE *) 176 cb : integer ; 177 indfich : integer ; 178 mfari1 : zari ; 179 mfari2 : zari ; 180 usednameaddr : ctp ; 181 182 183 (* FROM STATE *) 184 arrayboundsctp : ctp ; 185 resetused : boolean ; 186 disposeused : boolean ; 187 inxcheck : boolean ; 188 asscheck : boolean ; 189 gattr : attr ; 190 currentbloc : regpt ; 191 outputctp : ctp ; 192 inputctp : ctp ; 193 maxprused : preg ; 194 prinst : ARRAY [typepr, pr1..pr6] OF istand ; (* GIVES A PR INSTRUCTION *) 195 stattrace : levtrace ; 196 opaq : ARRAY [typeofop, ra..reaq] OF istand ; (* GIVES INST. WITH A,Q,AQ,EAQ *) 197 currentpr : preg ; 198 modif : ARRAY [nxreg..rq] OF tag ; 199 linktomain : boolean ; 200 linktomainplace : integer ; 201 linktoendplace : integer ; 202 linktoend : boolean ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 23 203 204 205 206 207 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 24 208 (* FROM GENOPER *) 209 PROCEDURE check_dynamic_string_length (VAR fattr : attr) ; EXTERNAL ; 210 PROCEDURE gen_insert (VAR inserted_attr, target_attr, disp_attr : attr) ; EXTERNAL ; 211 PROCEDURE gen_delete (VAR string_attr, disp_attr, len_attr : attr) ; EXTERNAL ; 212 (* FROM GENERE *) 213 (* REDEFINE IMPORTED PROCEDURES *) 214 (* FROM GENERE *) 215 PROCEDURE genstand (fpr : preg ; fadr : integer ; fcode : istand ; ftg : tag) ; EXTERNAL ; 216 PROCEDURE geneism (fcode : ieism ; ffield : integer ; fbits : zptr) ; EXTERNAL ; 217 PROCEDURE gendesca (fareg : preg ; fadr, fcn : integer ; fta : lgcar ; 218 fn : integer ; frlgth : mreg) ; EXTERNAL ; 219 PROCEDURE inser (fcb : integer ; fplace : integer) ; EXTERNAL ; 220 221 222 (* FROM RACINE *) 223 PROCEDURE error (errno : integer) ; EXTERNAL ; 224 PROCEDURE insymbol ; EXTERNAL ; 225 PROCEDURE skip (nosym : integer) ; EXTERNAL ; 226 PROCEDURE nextline ; EXTERNAL ; 227 PROCEDURE search ; EXTERNAL ; 228 PROCEDURE nameisref (box : ctp ; fil, lin : integer) ; EXTERNAL ; 229 FUNCTION recadre (fnum, fmod : integer) : integer ; EXTERNAL ; 230 231 232 (* FROM EXPR *) 233 PROCEDURE expression ; EXTERNAL ; 234 235 236 (* FROM STATE *) 237 PROCEDURE choicerarq ; EXTERNAL ; 238 PROCEDURE transfer (VAR fattr : attr ; inwhat : destination) ; EXTERNAL ; 239 PROCEDURE newbloc (freg : register) ; EXTERNAL ; 240 PROCEDURE variab (fvarset : boolean) ; EXTERNAL ; 241 PROCEDURE loadbase (lev : integer) ; EXTERNAL ; 242 FUNCTION oldnewstor (incrinbytes : integer) : integer ; EXTERNAL ; 243 PROCEDURE freebloc (VAR fbtofree : regpt) ; EXTERNAL ; 244 PROCEDURE genexceptcode (ferrcode : integer ; freg : register) ; EXTERNAL ; 245 PROCEDURE loadadr (VAR fattr : attr ; wantedpr : preg) ; EXTERNAL ; 246 PROCEDURE regenere (oldbloc : regpt) ; EXTERNAL ; 247 PROCEDURE addressvar (fctp : ctp ; VAR fattr : attr ; modif : boolean) ; EXTERNAL ; 248 PROCEDURE calcvarient (VAR fattr : attr ; VAR fbase : preg ; VAR fdisp : integer ; 249 VAR ftag : tag) ; EXTERNAL ; 250 PROCEDURE sauvereg (freg : register ; fload : boolean) ; EXTERNAL ; 251 PROCEDURE gencstecode (farg : integer ; finst : istand) ; EXTERNAL ; 252 PROCEDURE checkbnds (errcode : integer ; freg : register ; fctp : ctp) ; EXTERNAL ; 253 PROCEDURE freeallregisters ; EXTERNAL ; 254 (* FROM MODVARIABLE *) 255 PROCEDURE init_desc_address (fctp : ctp ; VAR fattr : attr) ; EXTERNAL ; 256 257 PROCEDURE variable (fvarset : boolean) ; EXTERNAL ; 258 259 (* FROM CONTEXTTABLE *) 260 261 PROCEDURE compatbin (typleft, typright : ctp ; VAR fgeneric : ctp) ; EXTERNAL ; 262 PROCEDURE checkminmax (fvalu : integer ; fctp : ctp ; ferrnum : integer) ; EXTERNAL ; 263 FUNCTION conformantdim (ff : ctp) : boolean ; EXTERNAL ; 264 *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 25 265 (* FROM MODATTR *) 266 267 FUNCTION is_possible_string (VAR fattr : attr) : boolean ; EXTERNAL ; 268 FUNCTION isstring (VAR fattr : attr) : boolean ; EXTERNAL ; 269 FUNCTION varissimple (VAR fattr : attr) : boolean ; EXTERNAL ; 270 PROCEDURE freeattr (VAR fattr : attr) ; EXTERNAL ; 271 PROCEDURE initattrvarbl (VAR fattr : attr) ; EXTERNAL ; 272 273 274 275 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 26 276 277 (* ************************************ WRITEIR ******************************* *) 278 279 PROCEDURE writeir (typewrite : integer) ; 280 281 (* C COMPILES THE CALL OF WRITE TYPEWRITE = ( 0 ) Standard 282* WRITELN TYPEWRITE = ( 1 ) Standard 283* PAGE TYPEWRITE = ( 2 ) Standard 284* FLUSH TYPEWRITE = ( 3 ) SOL extension 285* if FILE IS OMITTED, then OUTPUT ASSUMED 286* C *) 287 (* E ERRORS DETECTED 288* 4: ")" EXPECTED 289* 9: "(" EXPECTED 290* 15: INTEGER EXPECTED 291* 20: "," EXPECTED 292* 144: ILLEGAL TYPE OF EXPRESSION 293* 176: OUTPUT USED ,NOT DECLARED 294* 191: SCALING FACTOR ONLY FOR REAL 295* 198: OPERATION ALLOWED ONLY FOR TEXT FILE 296* E *) 297 LABEL 298 1 (* EXIT PROC *) ; 299 VAR 300 pr3bloc : regpt ; 301 loc1, loc2 : integer ; 302 lattr : attr ; 303 defaultfile : boolean ; 304 deflength : integer ; 305 errintype : boolean ; 306 exprismade : boolean ; 307 fileonly : boolean ; 308 finloop : boolean ; 309 itisput : boolean ; 310 hardlength : boolean ; 311 locreg : preg ; 312 locbox : regpt ; 313 lengthst : integer ; 314 linst : istand ; 315 locctptr : ctp ; 316 notwrite : boolean ; 317 typecode : integer ; 318 aisknown : boolean ; 319 acont : integer ; 320 321 BEGIN (* WRITEIR *) 322 $OPTIONS compile = trace $ 323 IF stattrace > none THEN 324 BEGIN 325 write (mpcogout, '^^^ DEBUT WRITEIR ^^^ WITH TYPEWRITE:', typewrite : 4) ; 326 nextline ; 327 END ; 328 $OPTIONS compile = true $ 329 fileonly := false ; exprismade := false ; 330 locbox := NIL ; 331 notwrite := typewrite <> 0 ; 332 locctptr := NIL ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 27 333 IF no <> 9 (* ( *) THEN 334 BEGIN 335 IF notwrite THEN 336 BEGIN 337 IF outputctp <> NIL THEN 338 BEGIN 339 usednameaddr := outputctp ; 340 IF symbolmap THEN 341 nameisref (outputctp, symbolfile, symbolline) ; 342 genstand (prlink, outputctp^.vaddr DIV bytesinword, iepp3, tny) ; 343 genstand (pr6, fsbadrw, ispri3, tn) ; 344 END (* <> nil *) ELSE 345 BEGIN 346 IF errcl [no] = endsy THEN error (176) ELSE error (9) ; 347 skip (46) ; 348 GOTO 1 ; 349 END ; 350 END (* NOTWRITE *) ELSE 351 BEGIN (* WRITE *) 352 error (9) ; skip (46) ; GOTO 1 ; 353 END ; 354 END (* NO <> 9 *) ELSE 355 BEGIN (* NO=9 *) 356 insymbol ; 357 defaultfile := true ; 358 IF no = 1 (* ID *) THEN 359 BEGIN 360 search ; 361 IF ctptr <> NIL THEN 362 IF ctptr^.klass = vars THEN 363 IF ctptr^.vtype <> NIL THEN 364 IF ctptr^.vtype^.form = files THEN 365 BEGIN 366 locctptr := ctptr ; 367 expression ; 368 369 IF gattr.typtr <> NIL THEN 370 BEGIN 371 IF gattr.typtr^.form = files THEN 372 BEGIN 373 usednameaddr := gattr.nameaddr ; 374 loadadr (gattr, pr3) ; 375 genstand (pr6, fsbadrw, ispri3, tn) ; 376 defaultfile := false ; 377 IF no = 10 (* ) *) THEN 378 BEGIN 379 IF NOT notwrite THEN error (20) ; 380 fileonly := true ; 381 END (* ID *) ELSE 382 IF no = 15 (* , *) THEN 383 BEGIN 384 IF typewrite >= 2 (* PAGE FLUSH *) THEN error (4) ; 385 insymbol ; 386 END (* 15 *) ELSE 387 error (20) ; 388 END (* FILES *) ELSE 389 BEGIN exprismade := true ; locctptr := NIL ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 28 390 END 391 END (* TYPTR not nil *) ELSE 392 BEGIN exprismade := true ; locctptr := NIL ; 393 END ; 394 END (* FILE IDENT *) ; 395 END (* ID *) ; 396 IF defaultfile THEN 397 IF outputctp <> NIL THEN 398 BEGIN 399 usednameaddr := outputctp ; 400 IF symbolmap THEN 401 nameisref (outputctp, symbolfile, symbolline) ; 402 genstand (prlink, outputctp^.vaddr DIV bytesinword, iepp3, tny) ; 403 genstand (pr6, fsbadrw, ispri3, tn) ; 404 END ELSE 405 error (176) ; 406 IF NOT fileonly THEN 407 BEGIN 408 REPEAT (* LOOP ON EXPRESSIONS TO BE WRITTEN *) 409 lengthst := -1 ; 410 deflength := -1 ; 411 acont := -1 ; 412 IF NOT exprismade THEN 413 BEGIN 414 freeallregisters ; expression ; 415 END ELSE 416 exprismade := false ; 417 WITH gattr DO 418 IF typtr <> NIL THEN 419 BEGIN 420 (* CHECK FOR PUT *) 421 itisput := false ; linst := inop ; 422 IF NOT notwrite THEN 423 IF locctptr <> NIL THEN 424 IF locctptr^.vtype^.feltype = typtr THEN 425 IF locctptr^.vtype <> textfilectp THEN 426 itisput := true ; 427 IF typtr^.form <= pointer THEN 428 BEGIN 429 choicerarq ; 430 linst := opaq [stor, ldreg] ; 431 freebloc (gattr.ldregbloc) ; 432 END (* <=POINTER *) ELSE 433 IF typtr^.form < files THEN 434 BEGIN 435 IF NOT conformantdim (gattr.typtr) THEN 436 BEGIN 437 loadadr (gattr, pr3) ; 438 linst := ispri3 ; 439 END ELSE 440 BEGIN 441 locreg := nreg ; locbox := NIL ; 442 init_desc_address (gattr.nameaddr, gattr) ; 443 locreg := gattr.descreg ; locbox := gattr.descbloc ; 444 linst := prinst [spri, gattr.basereg] ; 445 freebloc (gattr.basebloc) ; 446 END ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 29 447 END ; 448 errintype := false ; 449 hardlength := false ; 450 aisknown := false ; 451 (* SELECT TYPECODE, *) 452 (* LENGTH FOR EACH TYPE *) 453 IF typtr^.father_schema = string_ptr THEN 454 BEGIN 455 typecode := 32 ; 456 genstand (pr3, 0, ilda, tn) ; 457 aisknown := true ; acont := deflength ; 458 genstand (pr3, 1, iepp3, tn) ; 459 genstand (pr6, valplacew, ispri3, tn) 460 END ELSE 461 BEGIN 462 IF linst <> inop THEN 463 BEGIN 464 genstand (pr6, valplacew, linst, tn) ; 465 END ; 466 CASE typtr^.form OF 467 reel : BEGIN 468 typecode := 8 ; deflength := deflreal ; 469 END (* REEL *) ; 470 numeric : BEGIN 471 typecode := 4 ; deflength := deflnum ; 472 END (* NUMERIC *) ; 473 scalar : BEGIN IF typtr^.subrng THEN typtr := typtr^.typset ; 474 IF typtr = boolptr THEN 475 BEGIN typecode := 2 ; deflength := deflbool ; 476 END ELSE 477 IF typtr = charptr THEN 478 BEGIN typecode := 1 ; deflength := deflchar ; 479 END ELSE 480 BEGIN 481 IF itisput THEN 482 BEGIN typecode := 4 ; (* AS INTEGER *) 483 END ELSE 484 errintype := true ; 485 END ; 486 END (* SCALAR *) ; 487 pointer, records, power : 488 IF itisput THEN 489 typecode := 64 ELSE 490 errintype := true ; 491 files : errintype := true ; 492 arrays : 493 IF itisput THEN 494 typecode := 64 ELSE 495 BEGIN 496 IF isstring (gattr) THEN 497 BEGIN 498 typecode := 32 ; hardlength := false ; 499 IF typtr = alfaptr THEN 500 lengthst := alfactp^.alfalong ELSE 501 IF typtr^.conformant THEN 502 hardlength := true ELSE 503 lengthst := typtr^.size ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 30 504 deflength := lengthst ; 505 END ELSE 506 errintype := true ; 507 END ; 508 END (* CASE TYPTR^.FORM *) ; 509 END ; 510 IF errintype THEN 511 BEGIN error (144) ; typecode := 4 ; deflength := deflnum ; 512 END ; 513 END (* TYPTR <> nil, WITH GATTR *) ; 514 IF itisput THEN 515 BEGIN 516 517 (* 6|FSBADRW = ITS ON FSB 518* 6|VALPLACW= TWO-WORDS VALUE *) 519 genstand (nreg, typecode, ilda, tdl) ; (* CODE FOR VALUE TYPE *) 520 genstand (pr0, writeseqplace, itsp3, tn) ; (* OPERATOR CALL *) 521 END (* PUT *) ELSE 522 BEGIN (* WRITE ON A TEXT FILE *) 523 IF locctptr <> NIL THEN 524 IF locctptr^.vtype <> textfilectp THEN error (198) ; 525 IF no = 19 (* : *) THEN 526 BEGIN 527 insymbol ; expression ; 528 IF hardlength THEN 529 BEGIN 530 hardlength := false ; 531 aisknown := true ; 532 acont := lengthst ; 533 END ; 534 freebloc (locbox) ; 535 IF gattr.typtr <> NIL THEN 536 IF gattr.typtr^.form <> numeric THEN error (15) ELSE 537 BEGIN 538 transfer (gattr, inacc) ; 539 freebloc (gattr.ldregbloc) ; 540 END ; 541 END ELSE 542 BEGIN 543 IF NOT hardlength THEN 544 BEGIN 545 IF NOT aisknown THEN 546 BEGIN 547 aisknown := true ; 548 acont := deflength ; 549 gencstecode (deflength, ilda) ; 550 hardlength := false ; freebloc (locbox) ; 551 END ; 552 IF (typecode = 2) AND (NOT pascalfrench) THEN 553 BEGIN 554 genstand (pr6, valplacew, iszn, tn) ; 555 genstand (nreg, 2, itnz, tic) ; 556 genstand (nreg, 1, iada, tdl) ; (* LENGTH + 1 if "FALSE" *) 557 END 558 END ELSE 559 BEGIN 560 regenere (gattr.descbloc) ; ; locbox := NIL ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 31 561 (* COMPUTE SIZE NOW *) 562 sauvereg (ra, false) ; 563 564 genstand (locreg, 1, ilda, tn) ; (* MAX *) 565 genstand (locreg, 0, isba, tn) ; (* - MIN *) 566 genstand (nreg, 1, iada, tdl) ; (* +1 *) 567 freeattr (gattr) ; 568 aisknown := true ; acont := lengthst ; 569 END ; 570 END ; 571 (* STORE LENGTH *) 572 genstand (pr6, longplacew, ista, tn) ; 573 IF no = 19 (* : *) THEN 574 BEGIN 575 IF typecode <> 8 (* REAL *) THEN error (191) ; 576 typecode := 16 ; 577 aisknown := false ; 578 freeallregisters ; 579 insymbol ; expression ; 580 IF gattr.typtr <> NIL THEN 581 IF gattr.typtr^.form <> numeric THEN error (15) ELSE 582 BEGIN 583 transfer (gattr, inacc) ; 584 freebloc (gattr.ldregbloc) ; 585 genstand (pr6, scaleplacew, ista, tn) ; 586 END ; 587 END ; 588 IF NOT hardlength THEN 589 BEGIN 590 IF typecode = 32 (* CHAINE *) THEN 591 BEGIN 592 IF NOT (aisknown AND (acont = lengthst)) THEN 593 BEGIN 594 gencstecode (lengthst, ilda) ; 595 aisknown := true ; acont := lengthst ; 596 END ; 597 genstand (pr6, longstplacew, ista, tn) ; 598 END ; 599 IF NOT (aisknown AND (acont = typecode)) THEN 600 genstand (nreg, typecode, ilda, tdl) ; 601 END ELSE 602 BEGIN 603 genstand (pr6, longstplacew, ista, tn) ; 604 genstand (nreg, typecode, ilda, tdl) ; 605 END ; 606 607 (* PR6| FSBADRW ITS ON FSB 608* PR6| VALPLACEW VALUE OR ITS ON VALUE 609* PR6| LONGPLACEW REQUESTED LENGTH 610* PR6| SCALEPLACEW DIGITS FOR REAL 611* OR 612* LONGSTPLACEW REAL SIZE FOR A STRING 613* RA CODE FOR VALUE TYPE *) 614 genstand (pr0, writetextplace, itsp3, tn) ; 615 END (* not A PUT *) ; 616 (* IS LOOP ENDED OR NOT *) 617 finloop := true ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 32 618 IF no = 10 (* ) *) THEN insymbol ELSE 619 IF no = 15 (* , *) THEN 620 BEGIN 621 insymbol ; finloop := false ; 622 END ELSE 623 BEGIN 624 error (20) ; skip (15) ; 625 IF no = 15 (* , *) THEN 626 BEGIN 627 insymbol ; finloop := false ; 628 END ; 629 END ; 630 UNTIL finloop ; 631 END (* not FILEONLY *) ELSE 632 IF no <> 10 (* ) *) THEN 633 BEGIN 634 error (4) ; skip (46) ; 635 END ELSE 636 insymbol ; 637 END (* NO= 9 *) ; 638 IF notwrite THEN 639 BEGIN 640 IF locctptr <> NIL THEN 641 IF locctptr^.vtype <> textfilectp THEN 642 error (198) ; 643 IF typewrite = 1 (* WRITELN *) THEN 644 BEGIN 645 genstand (pr0, writelnplace, itsp3, tn) ; 646 END ELSE 647 IF typewrite = 2 (* PAGE *) THEN 648 BEGIN 649 genstand (pr0, pageplace, itsp3, tn) ; 650 END ELSE 651 BEGIN 652 genstand (pr0, flushplace, itsp3, tn) ; 653 END ; 654 END ; 655 1 : (* EXIT PROCEDURE *) 656 $OPTIONS compile = trace $ 657 IF stattrace > low THEN 658 BEGIN 659 write (mpcogout, '^^^ FIN WRITEIR ^^^ WITH NO :', no : 4) ; nextline ; 660 END ; 661 $OPTIONS compile = true $ 662 END (* WRITEIR *) ; 663 664 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 33 665 666 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 34 667 668 (* ************************************ READIR ******************************** *) 669 670 PROCEDURE readir (typeread : integer) ; 671 672 (* C .CALLED BY STATEMENT FOR STANDARD PROCEDURES - READ TYPEREAD IS 0 673* - READLN TYPEREAD IS 1 674* .ON NOT TEXT FILES , READ IS ASSIGN FOLLOWED BY GET 675* .THE FILE "INPUT" CAN BE OMITTED. 676* .READLN CAN BE USED ONLY ON TEXT FILES 677* C *) 678 (* E ERRORS DETECTED 679* 4: ")" EXPECTED 680* 9: "(" EXPECTED 681* 20: "," EXPECTED 682* 153: TYPE ERROR IN READ 683* 175: INPUT USED AND NOT DECLARED 684* 198: OPERATION ALLOWED ONLY FOR TEXT FILE 685* E *) 686 LABEL 687 1 ; (* EXIT OF PROCEDURE *) 688 VAR 689 690 defaultfile : boolean ; 691 variabismade : boolean ; 692 fileonly : boolean ; 693 finloop : boolean ; 694 isreadln : boolean ; 695 itisget : boolean ; 696 lattr : attr ; 697 lerr : boolean ; 698 locctptr : ctp ; 699 loctype : ctp ; 700 typecode : integer ; 701 702 703 BEGIN (* READIR *) 704 $OPTIONS compile = trace $ 705 IF stattrace > none THEN 706 BEGIN 707 write (mpcogout, '^^^ DEBUT READIR ^^^ WITH TYPEREAD :', typeread : 4) ; 708 nextline ; 709 END ; 710 $OPTIONS compile = true $ 711 isreadln := typeread = 1 ; 712 locctptr := NIL ; 713 variabismade := false ; 714 fileonly := false ; 715 IF no <> 9 (* ( *) THEN 716 BEGIN 717 IF isreadln THEN 718 BEGIN 719 IF inputctp <> NIL THEN 720 BEGIN 721 usednameaddr := inputctp ; 722 IF symbolmap THEN 723 nameisref (inputctp, symbolfile, symbolline) ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 35 724 genstand (prlink, inputctp^.vaddr DIV bytesinword, iepp3, tny) ; 725 genstand (pr6, fsbadrw, ispri3, tn) ; 726 END (* <> nil *) ELSE 727 BEGIN 728 IF errcl [no] = endsy THEN error (175) ELSE error (9) ; 729 skip (46) ; GOTO 1 ; 730 END (* =nil *) ; 731 END (* READLN *) ELSE 732 BEGIN (* READ *) 733 error (9) ; skip (46) ; GOTO 1 ; 734 END ; 735 END (* NO <> 9 *) ELSE 736 BEGIN (* NO=9 *) 737 insymbol ; 738 defaultfile := true ; 739 IF no = 1 (* ID *) THEN 740 BEGIN 741 search ; 742 IF ctptr <> NIL THEN 743 IF ctptr^.klass = vars THEN 744 IF ctptr^.vtype <> NIL THEN 745 IF ctptr^.vtype^.form = files THEN 746 BEGIN 747 locctptr := ctptr ; 748 freeallregisters ; 749 variable (false) ; 750 IF gattr.typtr <> NIL THEN 751 IF gattr.typtr^.form = files THEN 752 BEGIN 753 loadadr (gattr, pr3) ; 754 genstand (pr6, fsbadrw, ispri3, tn) ; 755 defaultfile := false ; 756 IF no = 10 (* ) *) THEN 757 BEGIN 758 IF NOT isreadln THEN error (20) ; 759 fileonly := true ; 760 END (* NO=10 *) ELSE 761 IF no = 15 (* , *) THEN 762 insymbol ELSE 763 error (20) ; 764 END (* FILE FOUND *) ELSE 765 BEGIN 766 variabismade := true ; locctptr := NIL ; 767 END ELSE 768 BEGIN 769 variabismade := true ; locctptr := NIL ; 770 END 771 END (* FILE IDENTIFIER *) ; 772 END (* NO=1 *) ; 773 IF defaultfile THEN 774 IF inputctp <> NIL THEN 775 BEGIN 776 usednameaddr := inputctp ; 777 IF symbolmap THEN 778 nameisref (inputctp, symbolfile, symbolline) ; 779 genstand (prlink, inputctp^.vaddr DIV bytesinword, iepp3, tny) ; 780 genstand (pr6, fsbadrw, ispri3, tn) ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 36 781 END ELSE 782 error (175) ; 783 IF NOT fileonly THEN 784 BEGIN 785 REPEAT (* LOOP ON READ ITEMS *) 786 IF NOT variabismade THEN 787 BEGIN 788 freeallregisters ; 789 variab (true) ; (* VARIABLE IS SET HERE *) 790 END ELSE 791 variabismade := false ; 792 WITH gattr DO 793 IF typtr <> NIL THEN 794 BEGIN 795 itisget := false ; 796 IF NOT isreadln THEN 797 IF locctptr <> NIL THEN 798 IF locctptr^.vtype^.feltype = typtr THEN 799 IF locctptr^.vtype <> textfilectp THEN 800 itisget := true ; 801 IF itisget THEN 802 BEGIN 803 loadadr (gattr, pr1) ; 804 genstand (pr0, readseqplace, itsp3, tn) ; 805 END (* GET *) ELSE 806 BEGIN (* READ ON TEXT FILE *) 807 IF locctptr <> NIL THEN 808 IF locctptr^.vtype <> textfilectp THEN error (198) ; 809 lerr := false ; 810 IF typtr^.father_schema = string_ptr THEN 811 BEGIN 812 loadadr (gattr, pr3) ; 813 genstand (pr6, valplacew, ispri3, tn) ; 814 freeattr (gattr) ; 815 IF typtr^.actual_parameter_list^.klass <> konst THEN 816 BEGIN 817 addressvar (typtr^.actual_parameter_list, lattr, false) ; 818 transfer (lattr, inacc) ; 819 freeattr (lattr) ; 820 END 821 ELSE gencstecode (typtr^.actual_parameter_list^.values, ilda) ; 822 genstand (pr6, longstplacew, ista, tn) ; 823 typecode := 16 ; 824 END ELSE 825 IF typtr^.form = scalar THEN 826 BEGIN 827 IF typtr^.subrng THEN loctype := typtr^.typset ELSE 828 loctype := typtr ; 829 IF loctype <> charptr THEN 830 lerr := true ELSE 831 typecode := 1 ; 832 END (* SCALAR *) ELSE 833 IF typtr^.form = numeric THEN 834 typecode := 4 ELSE 835 IF typtr = realptr THEN 836 typecode := 8 ELSE 837 lerr := true ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 37 838 IF lerr THEN 839 error (153) ELSE 840 BEGIN 841 (* SAVE LOADED REGISTERS *) 842 IF basereg <= maxprused THEN sauvereg (basereg, false) ; 843 IF inxreg <> nxreg THEN sauvereg (inxreg, false) ; 844 lattr := gattr ; 845 (* NOW CALL OPERATOR *) 846 genstand (nreg, typecode, ilda, tdl) ; 847 genstand (pr0, readtextplace, itsp3, tn) ; 848 (* NOW ACC IS LOADED *) 849 (* WITH GATTR *) 850 IF typecode <> 16 THEN 851 BEGIN 852 kind := lval ; 853 IF typtr = realptr THEN 854 ldreg := reaq ELSE 855 ldreg := ra ; 856 newbloc (ldreg) ; ldregbloc := currentbloc ; 857 IF asscheck THEN 858 IF typtr <> realptr THEN 859 checkbnds (asserrcode, ra, typtr) ; 860 transfer (lattr, out) ; (* ASSIGNS *) 861 END ; 862 END (* NOT LERR *) ; 863 END (* READ ON TEXT FILE *) ; 864 END (* TYPTR <> nil,WITH GATTR *) ; 865 (* IS LOOP ENDED OR NOT *) 866 finloop := true ; 867 IF no = 10 (* ) *) THEN 868 insymbol ELSE 869 IF no = 15 THEN 870 BEGIN 871 insymbol ; finloop := false ; 872 END ELSE 873 BEGIN 874 error (20) ; skip (15) ; 875 IF no = 15 (* , *) THEN 876 BEGIN 877 insymbol ; finloop := false ; 878 END ; 879 END ; 880 UNTIL finloop ; 881 END (* NOT FILEONLY *) ELSE 882 IF no <> 10 (* ) *) THEN 883 BEGIN 884 error (4) ; skip (46) ; 885 END ELSE 886 insymbol ; 887 END (* NO=9 *) ; 888 IF isreadln THEN 889 BEGIN 890 IF locctptr <> NIL THEN 891 IF locctptr^.vtype <> textfilectp THEN 892 error (198) ; 893 genstand (pr0, readlnplace, itsp3, tn) ; 894 END ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 38 895 1 : (* EXIT PROCEDURE *) 896 $OPTIONS compile = trace $ 897 IF stattrace > low THEN 898 BEGIN 899 write (mpcogout, '^^^ FIN READIR ^^^ WITH NO:', no : 4) ; nextline ; 900 END ; 901 $OPTIONS compile = true $ 902 END (* READIR *) ; 903 904 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 39 905 906 (* ************************************* GETPUT ****************************** *) 907 908 PROCEDURE getput (typeio : integer) ; 909 910 (* C COMPILATION OF ALL INPUT/OUTPUT PREDECLARED PROCEDURES 911* . CALLED IN STATEMENT WITH FOLLOWING CODES 912* Codes 0..3 are for standard procedures 913* 4..10 are for SOL procedures 914* 915* 0: GET 4: FCONNECT 8: FCLOSE 916* 1:PUT 5: FUPDATE 9: FAPPEND 917* 2:RESET 6: FGET 10: FREOPEN 918* 3:REWRITE 7: FPUT 919* 920* . INCLUDE ALSO RESET FOR A POINTER ( Extended Pascal only ) 921* C *) 922 (* E ERRORS DETECTED 923* 4: ')' EXPECTED 924* 9: '(' EXPECTED 925* 15: INTEGER EXPECTED 926* 19: STRING EXPECTED 927* 20: ',' EXPECTED 928* 66: ILLEGAL OPERATION FOR THIS TYPE OF FILE 929* 68: RESET ON POINTER NOT ALLOWED IN STANDARD 930* 125: ERROR ON TYPE FOR STANDARD FUNCT/PROC 931* 256: FCONNECT autorise que sur fichier permanent 932* E *) 933 LABEL 934 10 ; (* EXIT PROCEDURE *) 935 VAR 936 937 istext : boolean ; 938 loclong : integer ; 939 operdepw : integer ; 940 941 BEGIN (* GETPUT *) 942 $OPTIONS compile = trace $ 943 IF stattrace > none THEN 944 BEGIN 945 write (mpcogout, '^^^ DEBUT GETPUT ^^^ WITH TYPEIO :', typeio) ; nextline ; 946 END ; 947 $OPTIONS compile = true $ 948 949 IF no <> 9 (* ( *) THEN 950 BEGIN error (9) ; skip (46) ; GOTO 10 ; 951 END ; 952 insymbol ; freeallregisters ; 953 variab (true) ; 954 IF gattr.typtr <> NIL THEN 955 IF gattr.typtr^.form = files THEN 956 BEGIN 957 usednameaddr := gattr.nameaddr ; 958 loadadr (gattr, pr3) ; 959 genstand (pr6, fsbadrw, ispri3, tn) ; 960 (* FIND NOW SUITABLE OPERATOR *) 961 istext := gattr.typtr = textfilectp ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 40 962 CASE typeio OF 963 0 : (* GET *) 964 IF istext THEN operdepw := gettextplace ELSE operdepw := getseqplace ; 965 1 : (* PUT *) 966 IF istext THEN operdepw := puttextplace ELSE operdepw := putseqplace ; 967 2 : (* RESET *) operdepw := resetplace ; 968 3 : (* REWRITE *) operdepw := rewriteplace ; 969 4 : (* FCONNECT *) 970 operdepw := connectplace ; 971 5 : (* FUPDATE *) IF istext THEN error (66) ELSE operdepw := fupdtplace ; 972 6 : (* FGET *) IF istext THEN error (66) ELSE operdepw := getdirplace ; 973 7 : (* FPUT *) IF istext THEN error (66) ELSE operdepw := putdirplace ; 974 8 : (* FCLOSE *) operdepw := fcloseplace ; 975 9 : (* FAPPEND *) operdepw := fappendplace ; 976 10 : (* FREOPEN *) operdepw := freopenplace ; 977 END (* case TYPEIO *) ; 978 IF typeio IN [4, 6, 7] THEN 979 BEGIN (* FCONNECT,FGET,FPUT *) 980 IF no <> 15 (* , *) THEN 981 BEGIN error (20) ; skip (46) ; GOTO 10 ; 982 END ; 983 freeallregisters ; 984 insymbol ; expression ; 985 IF gattr.typtr <> NIL THEN 986 IF typeio = 4 (* FCONNECT *) THEN 987 BEGIN 988 IF isstring (gattr) THEN 989 BEGIN 990 IF gattr.kind = chain THEN (* PACKED ARRAY OF CHAR *) 991 loclong := gattr.alfactp^.alfalong ELSE 992 loclong := gattr.typtr^.size ; 993 loadadr (gattr, pr2) ; 994 genstand (nreg, loclong, ilda, tdl) ; 995 END (* STRING *) 996 ELSE IF gattr.typtr^.father_schema = string_ptr THEN (* VAR STRING *) 997 BEGIN 998 loadadr (gattr, pr2) ; 999 genstand (pr2, 0, ilda, tn) ; 1000 genstand (pr2, 1, iepp2, tn) ; 1001 END 1002 ELSE error (19) ; 1003 END (* 4 *) ELSE 1004 BEGIN (* FGET,FPUT *) 1005 IF gattr.typtr^.form <> numeric THEN 1006 error (15) ELSE 1007 BEGIN 1008 transfer (gattr, inacc) ; 1009 freebloc (gattr.ldregbloc) ; 1010 END 1011 END ; 1012 END (* FCONNECT,FGET,FPUT *) ; 1013 genstand (pr0, operdepw, itsp3, tn) ; 1014 END (* FORM=FILES *) ELSE 1015 IF gattr.typtr^.form = pointer THEN 1016 BEGIN 1017 IF envstandard <> stdextend THEN error (68) ; 1018 IF typeio = 2 THEN *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 41 1019 BEGIN 1020 resetused := true ; 1021 transfer (gattr, inacc) ; 1022 freebloc (gattr.ldregbloc) ; 1023 genstand (pr0, resetheapplace, itsp3, tn) ; 1024 END ELSE error (125) ; 1025 END (* RESET POINTER *) ELSE 1026 error (125) ; 1027 IF no <> 10 (* ) *) THEN 1028 BEGIN 1029 error (4) ; skip (46) ; 1030 END ELSE 1031 insymbol ; 1032 10 : (* EXIT PROCEDURE *) 1033 $OPTIONS compile = trace $ 1034 IF stattrace > low THEN 1035 BEGIN 1036 write (mpcogout, '^^^ FIN GETPUT ^^^ WITH NO:', no : 4) ; nextline ; 1037 END ; 1038 $OPTIONS compile = true $ 1039 END (* GETPUT *) ; 1040 1041 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 42 1042 1043 (* ************************************ NEWIR ******************************** *) 1044 1045 PROCEDURE newir (fcode : integer) ; 1046 1047 (* C .CALLED BY STATEMENT FOR STANDARD PROCEDURE 1048* NEW FCODE IS 0 1049* DISPOSE FCODE IS 1 1050* .GENERATES THE CALL OF PASCAL OPERATORS 1051* C *) 1052 (* E ERRORS DETECTED 1053* 4: ')' EXPECTED 1054* 9: '(' EXPECTED 1055* 103: IDENTIFIER IS NOT OF APPROPRIATE CLASS 1056* 104: IDENTIFIER NOT DECLARED 1057* 107: ERROR IN SELECTOR. 1058* 125: ERROR IN TYPE OF ARGUMENT OF STANDARD PROCEDURE 1059* 145: TYPE CONFLICT 1060* 158: MISSING CORRESPONDING VARIANT DECLARATION 1061* 344: Too large item 1062* 345: Dispose pas compatible avec extensions 1063* E *) 1064 1065 LABEL 1066 10 ; (* EXIT PROCEDURE *) 1067 VAR 1068 1069 generic : ctp ; (* RETURNED BY COMPATBIN *) 1070 isnew : boolean ; (* TRUE FOR NEW, FALSE FOR DISPOSE *) 1071 harddispose, ptpack : boolean ; 1072 lattr : attr ; (* USED TO ASSIGN POINTER *) 1073 (* AFTER NEW OPERATOR *) 1074 lerr : boolean ; 1075 etendu : boolean ; 1076 savegattr : attr ; 1077 locctp : ctp ; 1078 ltemp, locval, locop : integer ; 1079 linst : istand ; 1080 notfound : boolean ; 1081 pt : ctp ; 1082 sizeofnew : integer ; (* SIZE TO BE ALLOCATE IN WORDS *) 1083 ltag : tag ; 1084 1085 1086 (* ************************************ LSKIPERROR< NEWIR ***************** *) 1087 1088 PROCEDURE lskiperror (ferrnum : integer) ; 1089 BEGIN 1090 error (ferrnum) ; skip (46) ; GOTO 10 ; (* EXIT OF NEWIR *) 1091 END (* LSKIPERROR *) ; 1092 1093 BEGIN (* NEWIR *) 1094 $OPTIONS compile = trace $ 1095 IF stattrace > none THEN 1096 BEGIN 1097 write (mpcogout, '^^^ DEBUT NEWIR ^^^ with FCODE:', fcode : 4) ; nextline ; 1098 END ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 43 1099 $OPTIONS compile = true $ 1100 isnew := fcode = 0 ; (* true FOR STANDARD PROCEDURE "NEW" *) 1101 etendu := false ; 1102 IF NOT isnew THEN 1103 disposeused := true ; 1104 IF no <> 9 THEN lskiperror (9) ; 1105 freeallregisters ; 1106 insymbol ; variab (true) ; (* SETTING OF THE VARIABLE *) 1107 WITH gattr DO 1108 IF typtr <> NIL THEN 1109 WITH typtr^ DO 1110 BEGIN 1111 IF form <> pointer THEN lskiperror (125) ; 1112 IF eltype = NIL THEN (* PREVIOUS ERROR *) 1113 BEGIN skip (46) ; GOTO 10 ; 1114 END ; 1115 pt := eltype ; 1116 END (* with TYPTR^,GATTR *) ELSE 1117 BEGIN (* ERROR *) 1118 skip (46) ; GOTO 10 ; 1119 END ; 1120 (* COMPUTE ALLOCATION SIZE *) 1121 IF no = 15 (* , *) THEN 1122 BEGIN 1123 pt := pt^.recvar ; 1124 REPEAT 1125 IF pt = NIL THEN lskiperror (158) ; 1126 insymbol ; 1127 IF no = 1 (* ID *) THEN 1128 BEGIN 1129 search ; 1130 IF ctptr = NIL THEN lskiperror (104) ; 1131 IF ctptr^.klass <> konst THEN lskiperror (103) ; 1132 compatbin (pt^.casetype, ctptr^.contype, generic) ; 1133 IF (generic = NIL) OR (generic = realptr) THEN lskiperror (145) ; 1134 locval := ctptr^.values ; 1135 END (* NO=1 *) ELSE 1136 IF (no = 2) AND (cl IN [1, 4]) THEN (* INT,CHAR CSTE *) 1137 BEGIN 1138 lerr := true ; 1139 IF cl = 1 (* INT *) THEN 1140 BEGIN 1141 IF pt^.casetype^.form = numeric THEN lerr := false 1142 END ELSE 1143 WITH pt^ DO 1144 BEGIN 1145 IF casetype^.subrng THEN 1146 BEGIN IF casetype^.typset = charptr THEN lerr := false ; 1147 END ELSE 1148 IF casetype = charptr THEN lerr := false ; 1149 END ; 1150 IF lerr THEN lskiperror (145) ; 1151 locval := ival ; 1152 END ELSE 1153 lskiperror (107) ; 1154 (* SEARCHS SELECTOR IN VARIANT LIST *) 1155 notfound := true ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 44 1156 locctp := pt^.variants ; 1157 WHILE (locctp <> NIL) AND notfound DO 1158 WITH locctp^ DO 1159 IF caseval = locval THEN notfound := false ELSE locctp := nxtel ; 1160 IF notfound THEN lskiperror (158) ; 1161 sizeofnew := locctp^.casesize ; 1162 sizeofnew := recadre (sizeofnew, bytesinword) DIV bytesinword ; 1163 pt := locctp^.variants ; 1164 insymbol ; 1165 UNTIL no <> 15 (* , *) ; 1166 END (* NO=15 *) ELSE 1167 sizeofnew := recadre (pt^.size, bytesinword) DIV bytesinword ; 1168 IF no = 49 THEN (* -> *) 1169 BEGIN 1170 IF NOT isnew THEN error (345) ; 1171 (* Save all registers *) 1172 IF gattr.inxreg <> nxreg THEN sauvereg (gattr.inxreg, false) ; 1173 IF gattr.basereg <= maxprused THEN sauvereg (gattr.basereg, false) ; 1174 savegattr := gattr ; 1175 1176 insymbol ; expression ; 1177 WITH gattr DO 1178 BEGIN 1179 IF typtr = NIL THEN 1180 BEGIN 1181 skip (46) ; GOTO 10 ; 1182 END ELSE 1183 IF typtr^.form <> numeric THEN 1184 lskiperror (15) ELSE 1185 BEGIN 1186 etendu := true ; 1187 transfer (gattr, inacc) ; 1188 1189 (* Words now *) 1190 genstand (nreg, 1, isba, tdl) ; genstand (nreg, 2, iars, tn) ; 1191 genstand (nreg, 1, iada, tdl) ; 1192 1193 freebloc (gattr.ldregbloc) ; 1194 gattr := savegattr ; 1195 linst := iada ; ltag := tdl ; locop := newplace ; 1196 END (* OK for type *) ; 1197 END (* With gattr *) ; 1198 END (* NO=49 *) ; 1199 harddispose := false ; 1200 IF NOT isnew THEN 1201 IF NOT varissimple (gattr) THEN 1202 harddispose := true ; 1203 IF NOT harddispose THEN 1204 BEGIN 1205 IF gattr.inxreg <> nxreg THEN sauvereg (gattr.inxreg, false) ; 1206 IF gattr.basereg <= maxprused THEN sauvereg (gattr.basereg, false) ; 1207 END ; (* EASY DISPOSE *) 1208 lattr := gattr ; 1209 IF etendu THEN ELSE 1210 IF isnew THEN 1211 BEGIN 1212 linst := ilda ; ltag := tdl ; locop := newplace ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 45 1213 END ELSE 1214 BEGIN (* DISPOSE *) 1215 linst := ieax7 ; ltag := tn ; locop := disposeplace ; 1216 IF harddispose THEN 1217 BEGIN 1218 ptpack := gattr.pckd ; 1219 loadadr (gattr, pr3) ; 1220 genstand (pr6, evareaw, ispri3, tn) ; 1221 (* ADDRESS OF ITEM *) 1222 sauvereg (raq, false) ; 1223 IF ptpack THEN 1224 BEGIN 1225 genstand (pr3, 0, ilprp3, tn) ; 1226 ltemp := oldnewstor (bytesindword) DIV bytesinword ; 1227 genstand (pr6, ltemp, ispri3, tn) ; 1228 genstand (pr6, ltemp, ildaq, tn) ; 1229 END ELSE 1230 genstand (pr3, 0, ildaq, tn) ; 1231 END ELSE 1232 BEGIN 1233 transfer (gattr, inacc) ; 1234 freebloc (gattr.ldregbloc) ; 1235 END ; 1236 END (* DISPOSE *) ; 1237 IF sizeofnew <= maxnewsize THEN 1238 genstand (nreg, sizeofnew, linst, ltag) ELSE 1239 error (344) ; 1240 genstand (pr0, locop, itsp3, tn) ; 1241 (* RETURNS "ITS" IN AQ *) 1242 (* (nil FOR DISPOSE) *) 1243 WITH gattr DO 1244 BEGIN 1245 kind := lval ; 1246 ldreg := raq ; newbloc (raq) ; 1247 ldregbloc := currentbloc ; 1248 END ; 1249 IF harddispose THEN 1250 BEGIN 1251 genstand (pr6, evareaw, iepp3, tny) ; 1252 genstand (pr6, evareaw, istaq, tn) ; 1253 freebloc (currentbloc) ; 1254 genstand (pr6, evareaw, iepp1, tny) ; 1255 IF ptpack THEN 1256 BEGIN 1257 genstand (pr3, 0, isprp1, tn) ; 1258 END ELSE 1259 BEGIN 1260 genstand (pr3, 0, ispri1, tn) ; 1261 END ; 1262 END ELSE 1263 transfer (lattr, out) ; 1264 IF no <> 10 THEN lskiperror (4) ; 1265 insymbol ; 1266 10 : (* EXIT PROC *) 1267 $OPTIONS compile = trace $ 1268 IF stattrace > low THEN 1269 BEGIN *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 46 1270 write (mpcogout, '^^^ FIN NEWIR ^^^ with NO', no : 4) ; nextline ; 1271 END ; 1272 $OPTIONS compile = true $ 1273 END (* NEWIR *) ; 1274 1275 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 47 1276 1277 (* ***************************************** STOPSTAT ***************** *) 1278 1279 PROCEDURE stopstat ; 1280 1281 (* C Compilation de la procedure predefinie SOL STOP ( returncode ) 1282* 1283* On appelle un runtime dont les fonction sont les suivantes 1284* . fermeture des fichiers 1285* . retour au systeme et renvoie d'un code d'erreur 1286* 1287* C *) 1288 1289 (* E ERRORS DETECTED 1290* 4 : ")" expected 1291* 9 : "(" expected 1292* 15 : Numeric type expected 1293* 1294* E *) 1295 1296 LABEL 1297 10 ; (* Exit if error *) 1298 1299 CONST 1300 (* nd01 *) 1301 param2disp = 8 ; 1302 param3disp = 16 ; 1303 param4disp = 20 ; 1304 (* nf01 *) 1305 1306 VAR 1307 locop : integer ; 1308 1309 BEGIN (* STOPSTAT *) 1310 $OPTIONS compile = trace $ 1311 IF stattrace > none THEN 1312 BEGIN 1313 write (mpcogout, '@@@ Debut de STOPSTAT @@@') ; nextline ; 1314 END ; 1315 $OPTIONS compile = true $ 1316 1317 IF no <> 9 (* ( *) THEN 1318 BEGIN 1319 error (9) ; skip (46) ; 1320 GOTO 10 ; 1321 END ; 1322 1323 insymbol ; expression ; (* ANALYSIS OF GIVEN RETURNCODE *) 1324 IF gattr.typtr <> NIL THEN 1325 BEGIN 1326 IF gattr.typtr^.form <> numeric THEN 1327 error (15) ELSE 1328 BEGIN 1329 transfer (gattr, inacc) ; (* Found return code value *) 1330 (* On stocke la valeur trouvee *) 1331 freebloc (gattr.ldregbloc) ; 1332 IF level = 0 THEN *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 48 1333 locop := stopshortplace ELSE 1334 BEGIN 1335 IF NOT exportablecode THEN 1336 BEGIN 1337 loadbase (0) ; 1338 IF currentpr <> pr1 THEN 1339 genstand (currentpr, 0, iepp1, tn) ; 1340 (* PR1 points MAIN stack frame *) 1341 freebloc (currentbloc) ; 1342 locop := stopplace ; 1343 END ELSE 1344 BEGIN 1345 IF NOT linktomain THEN 1346 BEGIN 1347 linktomainplace := lkc ; 1348 lkc := lkc + bytesindword ; 1349 linktomain := true ; 1350 END ; 1351 genstand (prlink, linktomainplace DIV bytesinword, iepp1, tny) ; 1352 (* PR1 points MAIN entry point *) 1353 locop := stopextplace ; 1354 END (* EXPORTABLE *) ; 1355 getpr4afterstop := true ; 1356 1357 END ; (* OPERATOR SELECTION *) 1358 1359 (* Charge PR2 avec adresse sequence de retour du main *) 1360 IF NOT linktoend THEN 1361 BEGIN 1362 linktoendplace := lkc ; 1363 lkc := lkc + bytesindword ; 1364 linktoend := true ; 1365 END ; 1366 genstand (prlink, linktoendplace DIV bytesinword, iepp2, tny) ; 1367 1368 genstand (pr0, locop, itsp3, tn) ; 1369 1370 END (* Numeric found *) ; 1371 END (* Gattr.typtr <> nil *) ; 1372 1373 IF no <> 10 (* ) *) THEN 1374 BEGIN 1375 error (4) ; skip (46) ; 1376 END ELSE 1377 insymbol ; 1378 1379 10 : (* Error exit *) 1380 1381 $OPTIONS compile = trace $ 1382 IF stattrace > low THEN 1383 BEGIN 1384 write (mpcogout, ' @@@ Fin de STOPSTAT @@@ avec NO :', no : 4) ; 1385 nextline ; 1386 END ; 1387 $OPTIONS compile = true $ 1388 END (* STOPSTAT *) ; 1389 *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 49 1390 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 50 1391 1392 (* ***************************************** ARGVSTAT ***************** *) 1393 1394 PROCEDURE argvstat ; 1395 1396 (* C Compilation de la procedure predefinie SOL ARGV( rang, string ) 1397* 1398* On appelle un runtime 1399* 1400* C *) 1401 1402 (* E ERRORS DETECTED 1403* 4 : ")" expected 1404* 9 : "(" expected 1405* 15 : Numeric type expected 1406* 19 : String variable expected 1407* 20 : "," expected 1408* 1409* E *) 1410 1411 LABEL 1412 10 ; (* Exit if error *) 1413 1414 CONST 1415 1416 VAR 1417 1418 is_var_string : boolean ; 1419 string_attr : attr ; 1420 addrplace : integer ; 1421 errinrang : boolean ; 1422 errintarget : boolean ; 1423 rangattr : attr ; 1424 stringbloc : regpt ; 1425 stringpr : register ; 1426 locop : integer ; 1427 BEGIN (* ARGVSTAT *) 1428 $OPTIONS compile = trace $ 1429 IF stattrace > none THEN 1430 BEGIN 1431 write (mpcogout, '@@@ Debut de ARGVSTAT @@@') ; nextline ; 1432 END ; 1433 $OPTIONS compile = true $ 1434 1435 is_var_string := false ; 1436 errinrang := true ; errintarget := true ; 1437 1438 1439 IF no <> 9 (* ( *) THEN 1440 BEGIN 1441 error (9) ; skip (46) ; 1442 GOTO 10 ; 1443 END ; 1444 1445 insymbol ; expression ; (* ANALYSIS OF GIVEN RANG *) 1446 IF gattr.typtr <> NIL THEN 1447 BEGIN *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 51 1448 IF gattr.typtr^.form <> numeric THEN 1449 error (15) ELSE 1450 BEGIN 1451 transfer (gattr, inq) ; 1452 rangattr := gattr ; 1453 errinrang := false ; 1454 END (* Numeric found *) ; 1455 END (* Gattr.typtr <> nil *) ; 1456 1457 IF no <> 15 (* , *) THEN 1458 BEGIN 1459 IF gattr.typtr <> NIL THEN 1460 error (20) ; 1461 skip (20) ; 1462 IF no <> 15 THEN 1463 BEGIN 1464 IF gattr.typtr = NIL THEN 1465 error (20) ; 1466 skip (46) ; GOTO 10 ; 1467 END ; 1468 END ; 1469 1470 insymbol ; 1471 variab (true) ; 1472 1473 IF gattr.typtr <> NIL THEN 1474 BEGIN 1475 IF NOT isstring (gattr) THEN 1476 IF gattr.typtr^.father_schema = string_ptr THEN 1477 BEGIN 1478 IF gattr.typtr^.actual_parameter_list <> NIL THEN 1479 BEGIN 1480 errintarget := false ; 1481 is_var_string := true ; 1482 loadadr (gattr, nreg) ; 1483 stringbloc := currentbloc ; 1484 stringpr := currentpr ; 1485 WITH gattr.typtr^ DO 1486 BEGIN 1487 IF actual_parameter_list^.klass = konst THEN 1488 gencstecode (actual_parameter_list^.values, ilda) 1489 ELSE 1490 BEGIN 1491 addressvar (actual_parameter_list, string_attr, false) ; 1492 transfer (string_attr, inacc) ; 1493 freeattr (string_attr) ; 1494 END ; 1495 END ; 1496 END 1497 END ELSE 1498 error (19) ELSE 1499 BEGIN 1500 loadadr (gattr, nreg) ; 1501 stringbloc := currentbloc ; 1502 stringpr := currentpr ; 1503 gencstecode (gattr.typtr^.size, ilda) ; 1504 errintarget := false ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 52 1505 END (* OK for string *) ; 1506 END (* GATTR.TYPTR <> nil *) ; 1507 1508 (* NOW CODE GENERATION *) 1509 IF NOT (errinrang OR errintarget) THEN 1510 BEGIN 1511 1512 regenere (rangattr.ldregbloc) ; (* RQ ok = Rang desire *) 1513 freebloc (rangattr.ldregbloc) ; 1514 1515 (* PR1 = TARGET STRING OK *) 1516 1517 (* RA ok = String long *) 1518 1519 (* SELECT OPERATOR *) 1520 IF level = 0 THEN 1521 locop := argvshortplace ELSE 1522 BEGIN 1523 IF NOT exportablecode THEN 1524 BEGIN 1525 loadbase (0) ; 1526 IF currentpr <> pr2 THEN 1527 genstand (currentpr, 0, iepp2, tn) ; 1528 (* PR2 points MAIN stack frame *) 1529 regenere (stringbloc) ; 1530 regenere (currentbloc) ; 1531 IF stringpr <> pr1 THEN 1532 genstand (stringpr, 0, iepp1, tn) ; 1533 freebloc (currentbloc) ; 1534 locop := argvplace ; 1535 END ELSE 1536 BEGIN 1537 IF NOT linktomain THEN 1538 BEGIN 1539 linktomainplace := lkc ; 1540 lkc := lkc + bytesindword ; 1541 linktomain := true ; 1542 END ; 1543 genstand (prlink, linktomainplace DIV bytesinword, iepp2, tny) ; 1544 (* PR2 points MAIN entry point *) 1545 locop := argvextplace ; 1546 END (* EXPORTABLE *) ; 1547 1548 END ; (* OPERATOR SELECTion *) 1549 freebloc (stringbloc) ; 1550 1551 IF is_var_string THEN 1552 BEGIN 1553 addrplace := oldnewstor (bytesindword) DIV bytesinword ; 1554 genstand (pr6, addrplace, ispri1, tn) ; 1555 genstand (pr1, 1, iepp1, tn) ; 1556 END ; 1557 1558 genstand (pr0, locop, itsp3, tn) ; 1559 1560 IF is_var_string THEN 1561 genstand (pr6, addrplace, ista, tny) ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 53 1562 1563 END (* no ERROR *) ; 1564 1565 IF no <> 10 (* ) *) THEN 1566 BEGIN 1567 error (4) ; skip (46) ; 1568 END ELSE 1569 insymbol ; 1570 1571 10 : (* Error exit *) 1572 1573 $OPTIONS compile = trace $ 1574 IF stattrace > low THEN 1575 BEGIN 1576 write (mpcogout, ' @@@ Fin de ARGVSTAT @@@ avec NO :', no : 4) ; 1577 nextline ; 1578 END ; 1579 $OPTIONS compile = true $ 1580 END (* ARGVSTAT *) ; 1581 1582 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 54 1583 1584 (* *********************************************** DATE AND TIME ********** *) 1585 1586 PROCEDURE dateandtime (whatisit : integer) ; 1587 1588 (* E ERRORS DETECTED 1589* 4 ) expected 1590* 9 ( expected 1591* 74 string or packed array of char with size 8 expected 1592* 1593* E *) 1594 1595 (* C Analysis and code generation for the non-standard predefined procedures 1596* DATE and TIME 1597* (0) (1) for the parameter WHATISIT 1598* 1599* C *) 1600 1601 LABEL 1602 10 ; (* EXIT IF ERROR *) 1603 1604 VAR 1605 string_attr : attr ; 1606 var_string : boolean ; 1607 lerr : boolean ; 1608 lopplace : integer ; 1609 BEGIN (* DATE AND TIME *) 1610 $OPTIONS compile = trace $ 1611 IF stattrace > none THEN 1612 BEGIN 1613 write (mpcogout, '@@@ DEBUT DATE AND TIME @@@ WHIT PARAM', whatisit : 6) ; 1614 nextline ; 1615 END ; 1616 $OPTIONS compile = true $ 1617 IF no # 9 (* ( *) THEN 1618 BEGIN 1619 error (9) ; skip (46) ; GOTO 10 1620 END ; 1621 freeallregisters ; insymbol ; variab (true) ; 1622 WITH gattr DO 1623 IF typtr # NIL THEN 1624 BEGIN 1625 (* CHECK PARAMETER TYPE *) 1626 lerr := true ; 1627 var_string := false ; 1628 IF isstring (gattr) THEN 1629 lerr := (typtr^.size <> alfaleng) 1630 ELSE 1631 IF gattr.typtr^.father_schema = string_ptr THEN 1632 WITH gattr.typtr^ DO 1633 IF actual_parameter_list <> NIL THEN 1634 BEGIN 1635 var_string := true ; 1636 IF actual_parameter_list^.klass = konst THEN 1637 lerr := actual_parameter_list^.values < 8 1638 ELSE 1639 BEGIN *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 55 1640 lerr := false ; 1641 addressvar (actual_parameter_list, string_attr, false) ; 1642 transfer (string_attr, inacc) ; 1643 freeattr (string_attr) ; 1644 genstand (nreg, 8, icmpa, tdl) ; 1645 genstand (nreg, 4, itpl, tic) ; 1646 genexceptcode (26, ra) ; 1647 END ; 1648 END ; 1649 1650 IF lerr THEN error (74) ELSE 1651 BEGIN (* NOT ERR *) 1652 IF whatisit = 0 (* DATE *) THEN lopplace := dateopplace ELSE 1653 (* TIME *) lopplace := timeopplace ; 1654 loadadr (gattr, pr3) ; 1655 IF var_string THEN 1656 BEGIN 1657 genstand (nreg, 8, ilda, tdl) ; 1658 genstand (pr3, 0, ista, tn) ; (* STORE LENGTH 8 FOR STRING PARAMETER *) 1659 genstand (pr3, 1, iepp3, tn) ; (* GIVE REAL STRING ADDR *) 1660 END ; 1661 genstand (pr6, evareaw, ispri3, tn) ; 1662 (* CALL OPERATOR *) 1663 genstand (pr0, lopplace, itsp3, tn) ; 1664 1665 (* NOW RAQ IS LOADED WITH CHARS 1666* MM/DD/YY FOR DATE 1667* HH:MM:SS FOR TIME *) 1668 genstand (pr6, evareaw, iepp3, tny) ; 1669 genstand (pr6, evareaw, istaq, tn) ; 1670 mfari1 := a1r0i0 ; mfari2 := a1r0i0 ; 1671 geneism (imlr, ord (' '), p0t0r0) ; 1672 gendesca (pr6, evareaw, 0, l9, alfaleng, tn) ; 1673 WITH gattr DO 1674 IF kind = varbl THEN usednameaddr := nameaddr ; 1675 gendesca (pr3, 0, 0, l9, alfaleng, tn) ; 1676 END (* NOT ERR *) ; 1677 END (* TYPTR NOT NIL *) ; 1678 1679 IF no = 10 (* ) *) THEN 1680 insymbol ELSE 1681 BEGIN error (4) ; skip (46) ; 1682 END ; 1683 1684 10 : (* EXIT HERE IF ERROR *) 1685 1686 $OPTIONS compile = trace $ 1687 IF stattrace > low THEN 1688 BEGIN 1689 write (mpcogout, ' @@@ FIN DATE AND TIME @@@ WITH NO,CL ', no : 4, cl : 4) ; 1690 nextline ; 1691 END ; 1692 $OPTIONS compile = true $ 1693 1694 END (* DATE AND TIME *) ; 1695 1696 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 56 1697 1698 (* ************************************ INSAPP ******************************** *) 1699 1700 PROCEDURE insapp (typefct : integer) ; 1701 1702 (* C COMPILATION OF INSERT ,TWO PREDECLARED PROC. USED FOR AUTOCOMPILATION. 1703* APPEND 1704* *INSERT(A,B,C) -SHIFTS THE CONTENT OF A LEFT B BITS AND 1705* 'OR'S THEM INTO C 1706* -A,B UNCHANGED 1707* *APPEND(A,B,C) +SHIFTS THE CONTENT OF A LEFT B BITS AND 1708* 'OR'S C INTO IT. B AND C UNCHANGED 1709* TYPEFCT= 0 FOR INSERT 1710* = 1 FOR APPEND 1711* C *) 1712 (* E ERRORS DETECTED 1713* 4: ')' EXPECTED 1714* 9: '(' EXPECTED 1715* 15: NUMERIC EXPECTED 1716* 20: ',' EXPECTED 1717* 21: ILLEGAL SHIFT COUNT 1718* 26 : PACKED NOT ALLOWED HERE 1719* E *) 1720 LABEL 1721 10 ; (* EXIT PROCEDURE *) 1722 VAR 1723 isinsert, lerr, easyo : boolean ; 1724 assattr, lattr : attr ; 1725 ltag : tag ; 1726 lcount, ldisp, ldep, lad : integer ; 1727 lbase : preg ; 1728 BEGIN (* INSAPP *) 1729 $OPTIONS compile = trace $ 1730 IF stattrace > none THEN 1731 BEGIN 1732 write (mpcogout, '@@@ DEBUT INSAPP @@@ WITH TYPEFCT:', typefct : 4) ; nextline ; 1733 END ; 1734 $OPTIONS compile = true $ 1735 IF no # 9 (* ( *) THEN 1736 BEGIN 1737 error (9) ; skip (46) ; GOTO 10 ; 1738 END ; 1739 isinsert := typefct = 0 ; 1740 freeallregisters ; 1741 lerr := true ; 1742 insymbol ; 1743 IF isinsert THEN 1744 expression ELSE variab (true) ; 1745 IF gattr.typtr # NIL THEN 1746 IF gattr.typtr@.form # numeric THEN error (15) ELSE 1747 BEGIN 1748 IF NOT isinsert THEN 1749 BEGIN 1750 IF varissimple (gattr) THEN 1751 BEGIN 1752 easyo := true ; assattr := gattr ; 1753 END ELSE *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 57 1754 BEGIN 1755 easyo := false ; lad := 0 ; 1756 IF gattr.pckd THEN error (26) ELSE 1757 BEGIN 1758 loadadr (gattr, nreg) ; 1759 gattr.basereg := currentpr ; gattr.basebloc := currentbloc ; 1760 gattr.dplmt := 0 ; gattr.itsdplmt := 0 ; 1761 lad := oldnewstor (bytesindword) DIV bytesinword ; 1762 genstand (pr6, lad, prinst [spri, currentpr], tn) ; 1763 END ; 1764 END ; 1765 END ; 1766 transfer (gattr, inq) ; 1767 lattr := gattr ; 1768 lerr := false ; 1769 END ; 1770 IF no # 15 (* , *) THEN 1771 BEGIN 1772 error (20) ; skip (46) ; GOTO 10 ; 1773 END ; 1774 (* RQ = INITIAL VALUE OF "A" *) 1775 (* . TO BE KEPT *) 1776 insymbol ; expression ; (* SHIFT COUNT *) 1777 WITH gattr DO 1778 IF typtr # NIL THEN 1779 IF typtr@.form # numeric THEN error (15) ELSE 1780 BEGIN 1781 IF kind = sval THEN 1782 BEGIN 1783 IF (val < 0) OR (val > bitsinword - 1) THEN 1784 BEGIN 1785 error (21) ; val := 0 ; 1786 END ; 1787 ltag := tn ; lcount := val ; 1788 END (* SVAL *) ELSE 1789 BEGIN 1790 transfer (gattr, inacc) ; 1791 ltag := tal ; lcount := 0 ; 1792 END ; 1793 IF NOT lerr THEN 1794 regenere (lattr.ldregbloc) ; 1795 genstand (nreg, lcount, iqls, ltag) ; 1796 freeattr (gattr) ; 1797 END (* SHIFT "A" LEFT "B" *) ; 1798 IF no # 15 (* , *) THEN 1799 BEGIN 1800 error (20) ; skip (46) ; GOTO 10 ; 1801 END ; 1802 insymbol ; 1803 IF isinsert THEN 1804 variab (true) ELSE expression ; 1805 IF gattr.typtr # NIL THEN 1806 IF gattr.typtr@.form # numeric THEN error (15) ELSE IF NOT lerr THEN 1807 WITH gattr DO 1808 IF isinsert THEN 1809 BEGIN 1810 IF varissimple (gattr) THEN *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 58 1811 genstand (basereg, dplmt DIV bytesinword, iorsq, tn) ELSE 1812 IF gattr.pckd THEN error (26) ELSE 1813 BEGIN 1814 ldep := lattr.ldregbloc@.saveplace ; 1815 IF ldep = 0 THEN 1816 BEGIN 1817 genstand (pr6, evareaw, istq, tn) ; 1818 ldep := evareaw ; 1819 END ELSE 1820 ldep := ldep DIV bytesinword ; 1821 freebloc (lattr.ldregbloc) ; 1822 sauvereg (rq, true) ; (* TO RESERVE RQ *) 1823 calcvarient (gattr, lbase, ldisp, ltag) ; 1824 genstand (lbase, ldisp, ildq, ltag) ; 1825 genstand (pr6, ldep, iorq, tn) ; 1826 genstand (lbase, ldisp, istq, ltag) ; 1827 freebloc (currentbloc) ; (* FREE NOW RQ *) 1828 END ; 1829 END (* ISINSERT *) ELSE 1830 BEGIN 1831 transfer (gattr, inq) ; (* SAVE LATTR IF NOT SAVED *) 1832 genstand (pr6, lattr.ldregbloc@.saveplace DIV bytesinword, iorq, tn) ; 1833 IF easyo THEN 1834 transfer (assattr, out) ELSE 1835 BEGIN 1836 genstand (pr6, lad, istq, tny) ; 1837 freebloc (gattr.ldregbloc) ; 1838 END ; 1839 freebloc (lattr.ldregbloc) ; 1840 END (* APPEND *) ; 1841 (* WITH GATTR,NOTLERR,NUMERIC, *) 1842 (* #NIL ENDED *) 1843 IF no = 10 THEN 1844 insymbol ELSE 1845 BEGIN 1846 error (4) ; skip (46) ; 1847 END ; 1848 10 : 1849 $OPTIONS compile = trace $ 1850 IF stattrace > low THEN 1851 BEGIN 1852 write (mpcogout, '@@@ FIN INSAPP @@@ WITH NO:', no : 4) ; nextline ; 1853 END ; 1854 $OPTIONS compile = true $ 1855 END (* INSAPP *) ; 1856 1857 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 59 1858 1859 (* ************************************ PCKUNPCK ****************************** *) 1860 1861 PROCEDURE pckunpck (code : integer) ; 1862 1863 (* C . COMPILATION OF PACK( 1864* UNPACK( 1865* .CODE = 0 FOR PACK ( A,I,Z) 1866* = 1 FOR UNPACK( Z,A,I) 1867* WHERE A IS AN ARRAY[ S1 ] OF T 1868* Z IS AN PACKED ARRAY[ U..V] OF T 1869* I STARTING POINT IN A 1870* .PACK MOVES A[I].... A[I +(V-U)] IN Z[U].. Z[V] 1871* .UNPACK MOVES Z[U]..Z[V] IN A[I].. A[ I+(V-U)] 1872* C *) 1873 (* E ERRORS DETECTED 1874* 4: ')' EXPECTED 1875* 9: '(' EXPECTED 1876* 20: ',' EXPECTED 1877* 139: INDEX TYPE NOT COMPATIBLE 1878* 142: ARRAY EXPECTED 1879* 143: Element type allowed is scalar,pointer or numeric 1880* 159: UNPACKED ARRAY EXPECTED 1881* 160: PACKED ARRAY EXPECTED 1882* 161: CONFORMANT ARRAY NOT READY 1883* 162: ORIGIN AND TARGET MUST HAVE SAME ELEMENT TYPE 1884* 163: ELEMENT TYPE TOO LARGE 1885* 302: INDEX OUT OF BOUNDS 1886* E *) 1887 LABEL 1888 10 ; (* EXIT PROCEDURE *) 1889 VAR 1890 loa, hia, loz, hiz, oincr, tincr, lincr, locexit, locloop : integer ; 1891 itype, generic : ctp ; 1892 oattr, tattr, iattr : attr ; 1893 erro, errt, erri, oisconf, tisconf, ispack : boolean ; 1894 prtoadd, oripr, tarpr : preg ; 1895 lload, lstor, ladd : istand ; 1896 BEGIN (* PCKUNPCK *) 1897 $OPTIONS compile = trace $ 1898 IF stattrace > none THEN 1899 BEGIN 1900 write (mpcogout, '@@@ DEBUT PCKUNPCK @@@ WITH CODE:', code : 4) ; nextline ; 1901 END ; 1902 $OPTIONS compile = true $ 1903 ispack := code = 0 ; 1904 IF no # 9 (* ( *) THEN 1905 BEGIN 1906 error (9) ; skip (46) ; GOTO 10 ; 1907 END ; 1908 erro := true ; errt := true ; erri := true ; 1909 itype := NIL ; oattr.typtr := NIL ; tattr.typtr := NIL ; iattr.typtr := NIL ; 1910 (* ANALYSIS OF ORIGIN, *) 1911 (* A FOR PACK, Z FOR UNPACK *) 1912 insymbol ; 1913 freeallregisters ; 1914 variab (false) ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 60 1915 WITH gattr DO 1916 IF typtr # NIL THEN 1917 BEGIN 1918 IF typtr@.form # arrays THEN error (142) ELSE 1919 IF NOT (typtr^.aeltype^.form IN [numeric, scalar, pointer]) THEN 1920 error (143) ELSE 1921 IF typtr@.pack = ispack THEN 1922 BEGIN 1923 IF ispack THEN error (159) ELSE error (160) ; 1924 END ELSE 1925 BEGIN (* ORIGIN OK *) 1926 IF typtr@.conformant THEN 1927 BEGIN 1928 error (161) ; oisconf := true ; erro := true ; 1929 END ELSE 1930 BEGIN 1931 oisconf := false ; oincr := typtr@.subsize ; 1932 WITH typtr@ DO 1933 IF ispack THEN 1934 BEGIN 1935 loa := lo ; hia := hi ; itype := inxtype ; 1936 END (* ISPACK *) ELSE 1937 BEGIN (* UNPACK *) 1938 loz := lo ; hiz := hi ; 1939 END ; 1940 erro := false ; 1941 loadadr (gattr, nreg) ; 1942 WITH oattr DO (* POINTS ELEMENT OF ORIGIN *) 1943 BEGIN 1944 initattrvarbl (oattr) ; 1945 typtr := gattr.typtr@.aeltype ; 1946 vlev := gattr.vlev ; 1947 basereg := currentpr ; 1948 basebloc := currentbloc ; 1949 access := pointee ; 1950 pckd := NOT ispack ; 1951 END (* WITH OATTR *) ; 1952 END (* NOT CONFORMANT *) ; 1953 END (* OK FOR ORIGIN *) ; 1954 END (* TYPTR # NIL *) ; 1955 IF no = 15 (* , *) THEN 1956 insymbol ELSE 1957 BEGIN 1958 IF gattr.typtr # NIL THEN error (20) ; 1959 skip (15) ; 1960 IF no # 15 THEN 1961 BEGIN 1962 IF gattr.typtr = NIL THEN error (20) ; 1963 GOTO 10 ; 1964 END ELSE insymbol ; 1965 END ; 1966 IF ispack THEN 1967 expression ELSE variab (true) ; 1968 WITH gattr DO 1969 IF typtr # NIL THEN 1970 IF ispack THEN 1971 BEGIN *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 61 1972 compatbin (itype, typtr, generic) ; 1973 IF (generic = NIL) OR (generic = realptr) THEN 1974 error (139) ELSE 1975 BEGIN 1976 IF oisconf THEN 1977 BEGIN 1978 (* TO BE SUPPLIED *) 1979 END ELSE 1980 BEGIN 1981 arrayboundsctp@.nmin := loa ; arrayboundsctp@.nmax := hia ; 1982 IF kind = sval THEN 1983 BEGIN 1984 checkminmax (val, arrayboundsctp, 302) ; val := val - loa ; 1985 END (* SVAL *) ELSE 1986 BEGIN 1987 IF kind # lval THEN transfer (gattr, inacc) ; 1988 IF inxcheck THEN 1989 checkbnds (pckerrcode, ldreg, arrayboundsctp) ; 1990 IF loa # 0 THEN 1991 gencstecode (loa, opaq [sub, ldreg]) ; 1992 END ; (* NOT SVAL *) 1993 iattr := gattr ; 1994 END ; (* NOT CONFORMANT *) 1995 erri := false ; 1996 END ; (* SUITABLE GENERIC *) 1997 END (* ISPACK *) ELSE 1998 BEGIN (* UNPACK *) 1999 IF typtr@.form # arrays THEN error (142) ELSE 2000 IF typtr@.pack THEN error (159) ELSE 2001 IF typtr@.aeltype # oattr.typtr THEN error (162) ELSE 2002 BEGIN 2003 IF typtr@.conformant THEN 2004 BEGIN 2005 error (161) ; tisconf := true ; errt := true ; 2006 END ELSE 2007 BEGIN 2008 tisconf := false ; errt := false ; 2009 loa := typtr@.lo ; hia := typtr@.hi ; itype := typtr@.inxtype ; 2010 tincr := typtr@.subsize ; 2011 loadadr (gattr, nreg) ; 2012 WITH tattr DO 2013 BEGIN 2014 initattrvarbl (tattr) ; 2015 typtr := gattr.typtr@.aeltype ; 2016 vlev := gattr.vlev ; 2017 basereg := currentpr ; 2018 basebloc := currentbloc ; 2019 access := pointee ; 2020 END ; 2021 END (* NOT CONFORM *) ; 2022 END (* NO ERROR *) ; 2023 END (* UNPACK *) ; 2024 IF no = 15 THEN (* , *) 2025 insymbol ELSE 2026 BEGIN 2027 IF gattr.typtr # NIL THEN error (20) ; 2028 skip (15) ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 62 2029 IF no # 15 THEN 2030 BEGIN 2031 IF gattr.typtr = NIL THEN error (20) ; 2032 GOTO 10 ; 2033 END ; 2034 END ; 2035 IF ispack THEN 2036 variab (true) ELSE expression ; 2037 WITH gattr DO 2038 IF typtr # NIL THEN 2039 BEGIN 2040 IF ispack THEN 2041 BEGIN 2042 IF typtr@.form # arrays THEN error (142) ELSE 2043 IF NOT typtr@.pack THEN error (160) ELSE 2044 IF typtr@.aeltype # oattr.typtr THEN error (162) ELSE 2045 BEGIN 2046 IF typtr@.conformant THEN 2047 BEGIN 2048 error (161) ; tisconf := true ; errt := true ; 2049 END ELSE 2050 BEGIN 2051 errt := false ; tisconf := false ; 2052 loz := typtr@.lo ; hiz := typtr@.hi ; tincr := typtr@.subsize ; 2053 loadadr (gattr, nreg) ; 2054 WITH tattr DO 2055 BEGIN 2056 initattrvarbl (tattr) ; 2057 typtr := gattr.typtr@.aeltype ; 2058 vlev := gattr.vlev ; 2059 basereg := currentpr ; 2060 basebloc := currentbloc ; 2061 access := pointee ; 2062 pckd := true ; 2063 END ; 2064 END (* NOT CONF. *) ; 2065 END (* NO ERR *) ; 2066 END (* PACK *) ELSE 2067 BEGIN (* UNPACK *) 2068 compatbin (itype, typtr, generic) ; 2069 IF (generic = NIL) OR (generic = realptr) THEN 2070 error (139) ELSE 2071 BEGIN 2072 IF tisconf THEN 2073 BEGIN 2074 (* TO BE SUPPLIED *) 2075 END ELSE 2076 BEGIN 2077 arrayboundsctp@.nmin := loa ; 2078 arrayboundsctp@.nmax := hia ; 2079 IF kind = sval THEN 2080 BEGIN 2081 checkminmax (val + hiz - loz, arrayboundsctp, 302) ; 2082 checkminmax (val, arrayboundsctp, 302) ; 2083 val := val - loa ; 2084 END (* SVAL *) ELSE 2085 BEGIN *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 63 2086 IF kind # lval THEN transfer (gattr, inacc) ; 2087 IF inxcheck THEN 2088 checkbnds (pckerrcode, ldreg, arrayboundsctp) ; 2089 IF loa # 0 THEN 2090 gencstecode (loa, opaq [sub, ldreg]) ; 2091 END (* NOT SVAL *) ; 2092 iattr := gattr ; 2093 END (* NOT CONF *) ; 2094 erri := false ; 2095 END (* NO ERR *) ; 2096 END (* UNPACK *) ; 2097 END (* TYPTR #NIL *) ; 2098 IF NOT erro THEN 2099 IF NOT errt THEN 2100 IF NOT erri THEN 2101 BEGIN 2102 regenere (oattr.basebloc) ; regenere (tattr.basebloc) ; 2103 IF iattr.kind # sval THEN 2104 regenere (iattr.ldregbloc) ELSE 2105 transfer (iattr, inacc) ; 2106 IF inxcheck THEN 2107 BEGIN 2108 IF iattr.ldreg = rq THEN 2109 BEGIN lstor := istq ; ladd := iadq ; lload := ildq ; 2110 END ELSE 2111 BEGIN lstor := ista ; ladd := iada ; lload := ilda ; 2112 END ; 2113 genstand (pr6, evareaw, lstor, tn) ; 2114 gencstecode ((hiz - loz), ladd) ; 2115 arrayboundsctp@.nmin := 0 ; arrayboundsctp@.nmax := hia - loa ; 2116 checkbnds (pckerrcode, iattr.ldreg, arrayboundsctp) ; 2117 genstand (pr6, evareaw, lload, tn) ; 2118 END ; 2119 IF ispack THEN 2120 BEGIN 2121 prtoadd := oattr.basereg ; lincr := oincr ; 2122 END ELSE 2123 BEGIN 2124 prtoadd := tattr.basereg ; lincr := tincr ; 2125 END ; 2126 oripr := oattr.basereg ; tarpr := tattr.basereg ; 2127 IF lincr # 1 THEN 2128 BEGIN 2129 IF lincr > 4 THEN 2130 error (163) ELSE 2131 genstand (nreg, lincr DIV 2, opaq [shiftl, iattr.ldreg], tn) ; 2132 END ; 2133 genstand (prtoadd, 0, ia9bd, modif [iattr.ldreg]) ; (* POINTS NOW A[I] *) 2134 (* INIT NOW LOOP U..V *) 2135 freeattr (iattr) ; 2136 genstand (nreg, oincr, ieax6, tn) ; 2137 genstand (nreg, tincr, ieax7, tn) ; 2138 gencstecode (loz, ilda) ; 2139 locloop := cb ; transfer (oattr, inq) ; 2140 gattr := oattr ; 2141 transfer (tattr, out) ; 2142 (* NOW CHECK LAST MOVE *) *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 64 2143 genstand (nreg, 1, iada, tdl) ; 2144 gencstecode (hiz, icmpa) ; 2145 locexit := indfich ; genstand (nreg, 0, itpnz, tic) ; 2146 (* HERE LOOP NOT ENDED. *) 2147 (* POINTS NEXT ELEMENTS *) 2148 genstand (oripr, 0, ia9bd, tx6) ; 2149 genstand (tarpr, 0, ia9bd, tx7) ; 2150 genstand (nreg, (locloop - cb) DIV bytesinword, itra, tic) ; 2151 inser (cb, locexit) ; 2152 END (* NOT ERRI, ERRO, ERRT *) ; 2153 IF no = 10 THEN 2154 insymbol ELSE 2155 BEGIN error (4) ; skip (46) ; 2156 END ; 2157 10 : (* EXIT PROCEDURE *) 2158 $OPTIONS compile = trace $ 2159 IF stattrace > low THEN 2160 BEGIN 2161 write (mpcogout, '@@@ FIN PCKUNPCK @@@ WITH NO,CL:', no : 4, cl : 4) ; 2162 nextline ; 2163 END ; 2164 $OPTIONS compile = true $ 2165 END (* PCKUNPCK *) ; 2166 2167 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 65 2168 2169 (* ***************************************** MVCIR ******** *) 2170 2171 PROCEDURE mvcir (codop : integer) ; 2172 2173 (* C ISCLEAN 1 for SUBARRAY 2174* 0 for MVC 2175* C *) 2176 2177 LABEL 2178 10 ; (* Exit procedure *) 2179 2180 VAR 2181 erro, errt, errl : boolean ; 2182 typelem : ctp ; 2183 easyo, easyt, easyl : boolean ; 2184 baseo, baset : preg ; 2185 dplmtow, dplmttw, dplmtob, dplmttb : integer ; 2186 basebloco, basebloct : regpt ; 2187 longop : integer ; 2188 longreg : register ; 2189 isclean : boolean ; 2190 2191 BEGIN (* MVCIR *) 2192 2193 $OPTIONS cc = trace + $ 2194 IF stattrace > none THEN 2195 BEGIN 2196 write (mpcogout, '@@@ debut MVCIR @@@ with CODOP', codop : 4) ; 2197 nextline ; 2198 END ; 2199 $OPTIONS cc = trace - $ 2200 erro := true ; errt := true ; errl := true ; 2201 basebloco := NIL ; basebloct := NIL ; 2202 isclean := false ; 2203 2204 (* ORIGIN ANALYSIS *) 2205 freeallregisters ; 2206 insymbol ; 2207 variab (false) ; 2208 WITH gattr DO 2209 IF typtr <> NIL THEN 2210 BEGIN 2211 IF isclean THEN 2212 BEGIN 2213 END ELSE 2214 BEGIN 2215 erro := false ; 2216 END (* NOT CLEAN *) ; 2217 IF varissimple (gattr) THEN 2218 BEGIN 2219 easyo := true ; baseo := basereg ; dplmtow := dplmt DIV bytesinword ; 2220 dplmtob := dplmt MOD bytesinword ; 2221 END (* varissimple *) ELSE 2222 BEGIN (* not easy *) 2223 easyo := false ; dplmtow := 0 ; dplmtob := 0 ; 2224 loadadr (gattr, nreg) ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 66 2225 baseo := currentpr ; basebloco := currentbloc ; 2226 END (* not easy *) ; 2227 END (* TYPTR not nil for origin *) ; 2228 IF no <> 15 THEN 2229 BEGIN 2230 error (20) ; skip (46) ; GOTO 10 ; 2231 END ; 2232 2233 (* TARGET *) 2234 insymbol ; 2235 variab (true) ; 2236 WITH gattr DO 2237 IF typtr <> NIL THEN 2238 BEGIN 2239 IF isclean THEN 2240 BEGIN 2241 END ELSE 2242 BEGIN 2243 errt := false ; 2244 END (* NOT CLEAN *) ; 2245 IF varissimple (gattr) THEN 2246 BEGIN 2247 easyt := true ; baset := basereg ; dplmttw := dplmt DIV bytesinword ; 2248 dplmttb := dplmt MOD bytesinword ; 2249 END ELSE 2250 BEGIN (* not easy *) 2251 easyt := false ; dplmttw := 0 ; dplmttb := 0 ; 2252 loadadr (gattr, nreg) ; 2253 baset := currentpr ; basebloct := currentbloc ; 2254 END (* not easy *) ; 2255 END (* TYPTR not nil for target *) ; 2256 IF no <> 15 (* , *) THEN 2257 BEGIN 2258 error (20) ; skip (46) ; GOTO 10 ; 2259 END ; 2260 (* THIRD PARAMETER *) 2261 insymbol ; 2262 expression ; 2263 WITH gattr DO 2264 IF typtr <> NIL THEN 2265 BEGIN 2266 IF typtr^.form <> numeric THEN error (15) ELSE 2267 BEGIN (* NUMERIC *) 2268 errl := false ; 2269 IF isclean THEN 2270 BEGIN 2271 END (* ISCLEAN *) ELSE 2272 BEGIN 2273 IF kind = sval THEN 2274 BEGIN 2275 easyl := true ; longop := val ; 2276 END (* SVAL *) ELSE 2277 BEGIN (* NOT SVAL *) 2278 easyl := false ; 2279 IF kind <> lval THEN 2280 transfer (gattr, inacc) ; 2281 longreg := gattr.ldreg ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 67 2282 END (* NOT SVAL *) ; 2283 END (* NOT CLEAN *) 2284 END ; (* NUMERIC *) 2285 END (* typtr not nil for third paramater *) ; 2286 IF NOT (erro OR errt OR errl) THEN 2287 BEGIN 2288 IF NOT easyo THEN regenere (basebloco) ; 2289 IF NOT easyt THEN regenere (basebloct) ; 2290 IF easyl THEN 2291 BEGIN 2292 mfari1 := a1r0i0 ; mfari2 := a1r0i0 ; 2293 geneism (imlr, ord (' '), p0t0r0) ; 2294 gendesca (baseo, dplmtow, dplmtob, l9, longop, tn) ; 2295 gendesca (baset, dplmttw, dplmttb, l9, longop, tn) ; 2296 END (* EASYL *) ELSE 2297 BEGIN (* register loaded with length *) 2298 mfari1 := a1r1i0 ; mfari2 := a1r1i0 ; 2299 geneism (imlr, ord (' '), p0t0r0) ; 2300 gendesca (baseo, dplmtow, dplmtob, l9, 0, modif [longreg]) ; 2301 gendesca (baset, dplmttw, dplmttb, l9, 0, modif [longreg]) ; 2302 END (* not easy *) ; 2303 freebloc (basebloco) ; freebloc (basebloct) ; 2304 IF NOT easyl THEN freebloc (gattr.ldregbloc) ; 2305 END ; 2306 IF no <> 10 THEN 2307 BEGIN 2308 error (4) ; skip (46) ; 2309 END ELSE 2310 insymbol ; 2311 10 : (* EXIT IF ERRORS *) 2312 $OPTIONS cc = trace + $ 2313 IF stattrace > low THEN 2314 BEGIN 2315 write (mpcogout, '@@@ fin mvcir @@@ with NO,CL ', no : 4, cl : 4) ; 2316 nextline ; 2317 END ; 2318 $OPTIONS cc = trace - $ 2319 2320 END (* MVCIR *) ; 2321 2322 $OPTIONS page$ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 68 2323 2324 (* ************************************ INSERT_STRING ********************************** *) 2325 2326 PROCEDURE insert_string ; 2327 2328 LABEL 2329 1 ; 2330 VAR 2331 string_attr, disp_attr, insert_attr : attr ; 2332 dummy, l_err : boolean ; 2333 BEGIN 2334 l_err := false ; 2335 IF no <> 9 THEN 2336 BEGIN error (9) ; skip (46) ; GOTO 1 END ; 2337 2338 initattrvarbl (string_attr) ; initattrvarbl (disp_attr) ; initattrvarbl (insert_attr) ; 2339 insymbol ; 2340 expression ; 2341 IF NOT is_possible_string (gattr) THEN 2342 BEGIN l_err := true ; error (274) END ; 2343 insert_attr := gattr ; 2344 IF no <> 15 THEN 2345 BEGIN 2346 error (20) ; l_err := true 2347 END 2348 ELSE insymbol ; 2349 variab (true) ; 2350 string_attr := gattr ; 2351 IF string_attr.typtr = NIL THEN l_err := true 2352 ELSE IF string_attr.typtr^.father_schema <> string_ptr THEN 2353 BEGIN error (275) ; l_err := true END ; 2354 IF no <> 15 THEN 2355 BEGIN 2356 error (20) ; l_err := true 2357 END 2358 ELSE insymbol ; 2359 expression ; 2360 IF gattr.typtr = NIL THEN l_err := true 2361 ELSE 2362 IF gattr.typtr^.form <> numeric THEN 2363 BEGIN 2364 error (15) ; l_err := true 2365 END ; 2366 disp_attr := gattr ; 2367 IF no <> 10 THEN 2368 BEGIN 2369 error (4) ; skip (15) 2370 END 2371 ELSE insymbol ; 2372 IF NOT l_err THEN 2373 gen_insert (insert_attr, string_attr, disp_attr) 2374 ELSE BEGIN 2375 freeattr (string_attr) ; freeattr (disp_attr) ; freeattr (insert_attr) 2376 END ; 2377 1 : 2378 END (* INSERT_STRING *) ; 2379 *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 69 2380 2381 $OPTIONS page$ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 70 2382 2383 (* **************************************************** DELETE_STRING ************************ *) 2384 2385 PROCEDURE delete_string ; 2386 2387 LABEL 2388 1 ; 2389 VAR 2390 string_attr, disp_attr, len_attr : attr ; 2391 dummy, l_err : boolean ; 2392 BEGIN 2393 l_err := false ; 2394 IF no <> 9 THEN 2395 BEGIN error (9) ; skip (46) ; GOTO 1 END ; 2396 2397 initattrvarbl (string_attr) ; initattrvarbl (disp_attr) ; initattrvarbl (len_attr) ; 2398 insymbol ; 2399 variab (true) ; 2400 string_attr := gattr ; 2401 IF string_attr.typtr = NIL THEN l_err := true 2402 ELSE IF string_attr.typtr^.father_schema <> string_ptr THEN 2403 BEGIN error (275) ; l_err := true END ; 2404 check_dynamic_string_length (string_attr) ; 2405 IF no <> 15 THEN 2406 BEGIN 2407 error (20) ; l_err := true 2408 END 2409 ELSE insymbol ; 2410 expression ; 2411 IF gattr.typtr = NIL THEN l_err := true 2412 ELSE 2413 IF gattr.typtr^.form <> numeric THEN 2414 BEGIN 2415 error (15) ; l_err := true 2416 END ; 2417 disp_attr := gattr ; 2418 IF no <> 15 THEN 2419 BEGIN 2420 error (20) ; l_err := true 2421 END 2422 ELSE insymbol ; 2423 expression ; 2424 IF gattr.typtr = NIL THEN l_err := true 2425 ELSE 2426 IF gattr.typtr^.form <> numeric THEN 2427 BEGIN 2428 error (15) ; l_err := true 2429 END ; 2430 len_attr := gattr ; 2431 IF no <> 10 THEN 2432 BEGIN 2433 error (4) ; skip (15) 2434 END 2435 ELSE insymbol ; 2436 IF NOT l_err THEN 2437 gen_delete (string_attr, disp_attr, len_attr) 2438 ELSE BEGIN *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 71 2439 freeattr (string_attr) ; freeattr (disp_attr) ; freeattr (len_attr) 2440 END ; 2441 1 : 2442 END (* DELETE_STRING *) ; 2443 BEGIN 2444 END. (* Fin des procedures predefinies *) *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM procstat *** ON 11/12/86 *** PAGE 72 NO COMPILATION ERROR STORAGE REQUIREMENTS FOR OBJECT SEGMENT Object Text Defs Links Static Symbol Start 0 0 24417 25656 25666 26202 Length 27513 24417 1237 324 0 1275 SOURCE FILES USED IN THIS COMPILATION NUMBER DATE MODIFIED PATHNAME 0 11/12/86 1607.4 >spec>install>1212>PROCSTAT.pascal 1 11/12/86 1528.2 >spec>install>1212>CONSTTYPE.incl.pascal NAMES DECLARED AND REFERENCED a1r0i0 const scalar, ord=4 ; DEF: 1-799 ; REF: 1670 1670 2292 2292 a1r1i0 const scalar, ord=6 ; DEF: 1-799 ; REF: 2298 2298 access field disp:70, size:4 ; scalar ; DEF: 1-871 ; REF: 1949* 2019* 2061* acont var local to writeir, loc:223, size:4 ; integer ; DEF: 319 ; REF: 411* 457* 532* 548* 568* 592 595* 599 actual_parameter_list field disp:160, size:10 ; pointer ; DEF: 1-530 ; REF: 815 817 821 1478 1487 1488 1491 1633 1636 1637 1641 addressvar proc level 0, imported ; DEF: 247 ; REF: 41 817 1491 1641 addrplace var local to argvstat, loc:174, size:4 ; integer ; DEF: 1420 ; REF: 1553* 1554 1561 aeltype field disp:200, size:10 ; pointer ; DEF: 1-546 ; REF: 1919 1945 2001 2015 2044 2057 aisknown var local to writeir, loc:222, size:4 ; boolean ; DEF: 318 ; REF: 450* 457* 531* 545 547* 568* 577* 592 595* 599 alfaconst const scalar, ord=2 ; DEF: 1-416 ; REF: 1-569 alfactp field disp:20, size:10 ; pointer ; DEF: 1-897 ; REF: 500 991 alfaid type packed array of (char) ; DEF: 1-399 ; REF: 1-404 1-436 1-446 1-447 1-496 1-508 1-965 alfaleng const numeric ; DEF: 1-35 ; REF: 1-398 1629 1672 1675 alfalist type record ; DEF: 1-402 ; REF: 1-401 alfalistptr type pointer ; DEF: 1-401 ; REF: 1-403 alfalong field disp:160, size:4 ; integer ; DEF: 1-570 ; REF: 500 991 alfapt type pointer ; DEF: 1-419 ; REF: 1-421 1-569 alfaptr var global imported, size:10 ; pointer ; DEF: 163 ; REF: 74 499 alfavalue type record ; DEF: 1-420 ; REF: 1-419 aliastype const scalar, ord=10 ; DEF: 1-413 ; REF: 1-563 argvextplace const numeric ; DEF: 1-208 ; REF: 1545 argvplace const numeric ; DEF: 1-207 ; REF: 1534 argvshortplace const numeric ; DEF: 1-206 ; REF: 1521 arrayboundsctp var global imported, size:10 ; pointer ; DEF: 184 ; REF: 106 1981 1981 1984 1989 2077 2078 2081 2082 2088 2115 2115 2116 arrays const scalar, ord=5 ; DEF: 1-412 ; REF: 1-546 492 1918 1999 2042 assattr var local to insapp, loc:146, size:150 ; record ; DEF: 1724 ; REF: 1752* 1834* asscheck var global imported, size:4 ; boolean ; DEF: 188 ; REF: 107 857 asserrcode const numeric ; DEF: 1-250 ; REF: 859 attr type record ; DEF: 1-849 ; REF: 189 209 210 211 238 245 247 248 255 267 268 269 270 271 302 696 1072 1076 1419 1423 1605 1724 1892 2331 2390 attraccess type scalar ; DEF: 1-813 ; REF: 1-871 attrkind type scalar ; DEF: 1-812 ; REF: 1-852 basebloc field disp:30, size:10 ; pointer ; DEF: 1-858 ; REF: 445* 1759* 1948* 2018* 2060* 2102 2102 basebloco var local to mvcir, loc:162, size:10 ; pointer ; DEF: 2186 ; REF: 2201* 2225* 2288 2303* basebloct var local to mvcir, loc:164, size:10 ; pointer ; DEF: 2186 ; REF: 2201* 2253* 2289 2303* baseo var local to mvcir, loc:153, size:4 ; scalar subrange ; DEF: 2184 ; REF: 2219* 2225* 2294 2300 basereg field disp:20, size:4 ; scalar subrange ; DEF: 1-856 ; REF: 444 842 842 1173 1173 1206 1206 1759* 1811 1947* 2017* 2059* 2121 2124 2126 2126 2219 2247 baset var local to mvcir, loc:154, size:4 ; scalar subrange ; DEF: 2184 ; REF: 2247* 2253* 2295 2301 binartype type packed array of (integer) ; DEF: 1-810 ; REF: 1-811 1-811 bitsinbyte const numeric ; DEF: 1-63 ; REF: 1-78 1-79 bitsinword const numeric ; DEF: 1-78 ; REF: 1-80 1-92 1-111 1-115 1-117 1783 block const scalar, ord=0 ; DEF: 1-622 ; REF: 1-635 blocknode type record ; DEF: 1-940 ; REF: 1-639 blocknodeptr type pointer ; DEF: 1-639 ; REF: 1-646 1-941 1-949 blocktype type scalar ; DEF: 1-938 ; REF: 1-944 boolptr var global imported, size:10 ; pointer ; DEF: 164 ; REF: 75 474 bornesupset const numeric ; DEF: 1-112 ; REF: 1-815 bytesindword const numeric ; DEF: 1-66 ; REF: 1226 1348 1363 1540 1553 1761 bytesinhword const numeric ; DEF: 1-65 ; REF: 1-79 bytesinword const numeric ; DEF: 1-64 ; REF: 1-65 1-66 1-71 1-72 1-78 1-110 1-128 1-276 342 402 724 779 1162 1162 1167 1167 1226 1351 1366 1543 1553 1761 1811 1820 1832 2150 2219 2220 2247 2248 calcvarient proc level 0, imported ; DEF: 248 ; REF: 42 1823 casesize field disp:114, size:4 ; integer ; DEF: 1-610 ; REF: 1161 casetype field disp:140, size:10 ; pointer ; DEF: 1-613 ; REF: 1132 1141 1145 1146 1148 caseval field disp:134, size:4 ; integer ; DEF: 1-614 ; REF: 1159 cb var global imported, size:4 ; integer ; DEF: 176 ; REF: 98 2139 2150 2151 chain const scalar, ord=3 ; DEF: 1-812 ; REF: 1-894 990 char_const_token const scalar, ord=3 ; DEF: 1-491 ; REF: 1-499 charptr var global imported, size:10 ; pointer ; DEF: 165 ; REF: 76 477 829 1146 1148 check_dynamic_string_length proc level 0, imported ; DEF: 209 ; REF: 30 2404 checkbnds proc level 0, imported ; DEF: 252 ; REF: 43 859 1989 2088 2116 checkminmax proc level 0, imported ; DEF: 262 ; REF: 61 1984 2081 2082 choicerarq proc level 0, imported ; DEF: 237 ; REF: 44 429 cl var global imported, size:4 ; integer ; DEF: 152 ; REF: 77 1136 1139 1689 2161 2315 code var parameter of pckunpck, size:4 ; integer ; DEF: 1861 ; REF: 1900 1903 codop var parameter of mvcir, size:4 ; integer ; DEF: 2171 ; REF: 2196 compatbin proc level 0, imported ; DEF: 261 ; REF: 62 1132 1972 2068 condaddr type pointer ; DEF: 1-963 ; REF: 1-966 condbox type record ; DEF: 1-964 ; REF: 1-963 condition const scalar, ord=8 ; DEF: 1-413 ; REF: 1-562 confdimw const numeric ; DEF: 1-273 ; REF: 1-276 conformant field disp:220, size:4 ; boolean ; DEF: 1-548 ; REF: 501 1926 2003 2046 conformantdim funct level 0, imported ; boolean ; DEF: 263 ; REF: 63 435 connectplace const numeric ; DEF: 1-188 ; REF: 970 consttype type scalar ; DEF: 1-416 ; REF: 1-566 contexttable type record ; DEF: 1-507 ; REF: 1-433 contype field disp:130, size:10 ; pointer ; DEF: 1-565 ; REF: 1132 ctp type pointer ; DEF: 1-433 ; REF: 1-450 1-469 1-487 1-489 1-509 1-510 1-518 1-519 1-522 1-529 1-530 1-538 1-540 1-542 1-544 1-546 1-551 1-554 1-555 1-560 1-561 1-563 1-565 1-571 1-583 1-587 1-596 1-604 1-606 1-608 1-611 1-613 1-613 1-614 1-628 1-633 1-851 1-879 1-897 1-943 1-946 1-957 1-973 155 156 157 160 161 163 164 165 180 184 191 192 228 247 252 255 261 261 262 263 315 698 699 1069 1077 1081 1891 2182 ctptr var global imported, size:10 ; pointer ; DEF: 157 ; REF: 78 361 362 363 364 366 742 743 744 745 747 1130 1131 1132 1134 currentbloc var global imported, size:10 ; pointer ; DEF: 190 ; REF: 108 856 1247 1253* 1341* 1483 1501 1530 1533* 1759 1827* 1948 2018 2060 2225 2253 currentpr var global imported, size:4 ; scalar subrange ; DEF: 197 ; REF: 109 1338 1339 1484 1502 1526 1527 1759 1762 1947 2017 2059 2225 2253 cwith const scalar, ord=1 ; DEF: 1-622 ; REF: 1-636 dateopplace const numeric ; DEF: 1-196 ; REF: 1652 defaultfile var local to readir, loc:142, size:4 ; boolean ; DEF: 690 ; REF: 738* 755* 773 defaultfile var local to writeir, loc:200, size:4 ; boolean ; DEF: 303 ; REF: 357* 376* 396 deflbool const numeric ; DEF: 1-390 ; REF: 475 deflchar const numeric ; DEF: 1-391 ; REF: 478 deflength var local to writeir, loc:201, size:4 ; integer ; DEF: 304 ; REF: 410* 457 468* 471* 475* 478* 504* 511* 548 549 deflnum const numeric ; DEF: 1-389 ; REF: 471 511 deflreal const numeric ; DEF: 1-388 ; REF: 468 descbloc field disp:130, size:10 ; pointer ; DEF: 1-881 ; REF: 443 560 descreg field disp:120, size:4 ; scalar subrange ; DEF: 1-880 ; REF: 443 destination type scalar ; DEF: 1-814 ; REF: 238 disp_attr var local to delete_string, loc:172, size:150 ; record ; DEF: 2390 ; REF: 2397* 2417* 2437* 2439* disp_attr var local to insert_string, loc:172, size:150 ; record ; DEF: 2331 ; REF: 2338* 2366* 2373* 2375* disposeplace const numeric ; DEF: 1-178 ; REF: 1215 disposeused var global imported, size:4 ; boolean ; DEF: 186 ; REF: 105 1103* dplmt field disp:40, size:4 ; integer ; DEF: 1-861 ; REF: 1760* 1811 2219 2220 2247 2248 dplmtob var local to mvcir, loc:157, size:4 ; integer ; DEF: 2185 ; REF: 2220* 2223* 2294 2300 dplmtow var local to mvcir, loc:155, size:4 ; integer ; DEF: 2185 ; REF: 2219* 2223* 2294 2300 dplmttb var local to mvcir, loc:160, size:4 ; integer ; DEF: 2185 ; REF: 2248* 2251* 2295 2301 dplmttw var local to mvcir, loc:156, size:4 ; integer ; DEF: 2185 ; REF: 2247* 2251* 2295 2301 dummyclass const scalar, ord=7 ; DEF: 1-415 ; REF: 1-615 dwordconst const scalar, ord=1 ; DEF: 1-416 ; REF: 1-568 easyl var local to mvcir, loc:152, size:4 ; boolean ; DEF: 2183 ; REF: 2275* 2278* 2290 2304 easyo var local to mvcir, loc:150, size:4 ; boolean ; DEF: 2183 ; REF: 2219* 2223* 2288 easyo var local to insapp, loc:144, size:4 ; boolean ; DEF: 1723 ; REF: 1752* 1755* 1833 easyt var local to mvcir, loc:151, size:4 ; boolean ; DEF: 2183 ; REF: 2247* 2251* 2289 eltype field disp:220, size:10 ; pointer ; DEF: 1-542 ; REF: 1112 1115 endsy const scalar, ord=2 ; DEF: 1-669 ; REF: 346 728 ensaccessible type set of (scalar) ; DEF: 1-461 ; REF: 1-527 envstandard var global imported, size:4 ; scalar ; DEF: 158 ; REF: 79 1017 errcl var global imported, size:400 ; array of (scalar) ; DEF: 159 ; REF: 80 346 728 erri var local to pckunpck, loc:300, size:4 ; boolean ; DEF: 1893 ; REF: 1908* 1995* 2094* 2100 errinrang var local to argvstat, loc:175, size:4 ; boolean ; DEF: 1421 ; REF: 1436* 1453* 1509 errintarget var local to argvstat, loc:176, size:4 ; boolean ; DEF: 1422 ; REF: 1436* 1480* 1504* 1509 errintype var local to writeir, loc:202, size:4 ; boolean ; DEF: 305 ; REF: 448* 484* 490* 491* 506* 510 errl var local to mvcir, loc:144, size:4 ; boolean ; DEF: 2181 ; REF: 2200* 2268* 2286 erro var local to mvcir, loc:142, size:4 ; boolean ; DEF: 2181 ; REF: 2200* 2215* 2286 erro var local to pckunpck, loc:276, size:4 ; boolean ; DEF: 1893 ; REF: 1908* 1928* 1940* 2098 error proc level 0, imported ; DEF: 223 ; REF: 23 346 346 352 379 384 387 405 511 524 536 575 581 624 634 642 728 728 733 758 763 782 808 839 874 884 892 950 971 972 973 981 1002 1006 1017 1024 1026 1029 1090 1170 1239 1319 1327 1375 1441 1449 1460 1465 1498 1567 1619 1650 1681 1737 1746 1756 1772 1779 1785 1800 1806 1812 1846 1906 1918 1920 1923 1923 1928 1958 1962 1974 1999 2000 2001 2005 2027 2031 2042 2043 2044 2048 2070 2130 2155 2230 2258 2266 2308 2336 2342 2346 2353 2356 2364 2369 2395 2403 2407 2415 2420 2428 2433 errt var local to mvcir, loc:143, size:4 ; boolean ; DEF: 2181 ; REF: 2200* 2243* 2286 errt var local to pckunpck, loc:277, size:4 ; boolean ; DEF: 1893 ; REF: 1908* 2005* 2008* 2048* 2051* 2099 etendu var local to newir, loc:203, size:4 ; boolean ; DEF: 1075 ; REF: 1101* 1186* 1209 evareaw const numeric ; DEF: 1-288 ; REF: 1220 1251 1252 1254 1661 1668 1669 1672 1817 1818 2113 2117 exitelem type record ; DEF: 1-479 ; REF: 1-478 exitptr type pointer ; DEF: 1-478 ; REF: 1-480 1-586 exportablecode var global imported, size:4 ; boolean ; DEF: 166 ; REF: 81 1335 1523 expression proc level 0, imported ; DEF: 233 ; REF: 39 367 414 527 579 984 1176 1323 1445 1744 1776 1804 1967 2036 2262 2340 2359 2410 2423 exprismade var local to writeir, loc:203, size:4 ; boolean ; DEF: 306 ; REF: 329* 389* 392* 412 416* externalitem type record ; DEF: 1-445 ; REF: 1-444 externalitemtype type scalar ; DEF: 1-441 ; REF: 1-451 fappendplace const numeric ; DEF: 1-201 ; REF: 975 father_schema field disp:150, size:10 ; pointer ; DEF: 1-529 ; REF: 453 810 996 1476 1631 2352 2402 fcloseplace const numeric ; DEF: 1-187 ; REF: 974 fcode var parameter of newir, size:4 ; integer ; DEF: 1045 ; REF: 1097 1100 feltype field disp:200, size:10 ; pointer ; DEF: 1-555 ; REF: 424 798 ferrnum var parameter of lskiperror, size:4 ; integer ; DEF: 1088 ; REF: 1090 field const scalar, ord=5 ; DEF: 1-415 ; REF: 1-608 filelocation type scalar ; DEF: 1-437 ; REF: 1-598 fileonly var local to readir, loc:144, size:4 ; boolean ; DEF: 692 ; REF: 714* 759* 783 fileonly var local to writeir, loc:204, size:4 ; boolean ; DEF: 307 ; REF: 329* 380* 406 files const scalar, ord=9 ; DEF: 1-413 ; REF: 1-555 364 371 433 491 745 751 955 finloop var local to readir, loc:145, size:4 ; boolean ; DEF: 693 ; REF: 866* 871* 877* 880 finloop var local to writeir, loc:205, size:4 ; boolean ; DEF: 308 ; REF: 617* 621* 627* 630 flushplace const numeric ; DEF: 1-200 ; REF: 652 form field disp:174, size:4 ; scalar ; DEF: 1-533 ; REF: 364 371 427 433 466 536 581 745 751 825 833 955 1005 1015 1111 1141 1183 1326 1448 1746 1779 1806 1918 1919 1999 2042 2266 2362 2413 2426 freeallregisters proc level 0, imported ; DEF: 253 ; REF: 45 414 578 748 788 952 983 1105 1621 1740 1913 2205 freeattr proc level 0, imported ; DEF: 270 ; REF: 65 567 814 819 1493 1643 1796 2135 2375 2375 2375 2439 2439 2439 freebloc proc level 0, imported ; DEF: 243 ; REF: 46 431 445 534 539 550 584 1009 1022 1193 1234 1253 1331 1341 1513 1533 1549 1821 1827 1837 1839 2303 2303 2304 freopenplace const numeric ; DEF: 1-202 ; REF: 976 fsbadrw const numeric ; DEF: 1-289 ; REF: 343 375 403 725 754 780 959 ftp type pointer ; DEF: 1-484 ; REF: 1-488 1-493 1-521 fupdtplace const numeric ; DEF: 1-186 ; REF: 971 gattr var global imported, size:150 ; record ; DEF: 189 ; REF: 110 369 371 373 374* 417 418 424 427 430 431* 433 435 437* 442 442* 443 443 444 445* 453 466 473 473* 473 474 477 496* 499 500 501 503 535 536 538* 539* 560 567* 580 581 583* 584* 750 751 753* 792 793 798 803* 810 812* 814* 815 817 821 825 827 827 828 833 835 842 842 843 843 844 852* 853 854* 855* 856 856* 858 859 954 955 957 958* 961 985 988* 990 991 992 993* 996 998* 1005 1008* 1009* 1015 1021* 1022* 1107 1108 1109 1172 1172 1173 1173 1174 1177 1179 1183 1187* 1193* 1194* 1201* 1205 1205 1206 1206 1208 1218 1219* 1233* 1234* 1243 1245* 1246* 1247* 1324 1326 1329* 1331* 1446 1448 1451* 1452 1459 1464 1473 1475* 1476 1478 1482* 1485 1500* 1503 1622 1623 1628* 1629 1631 1632 1654* 1673 1674 1674 1745 1746 1750* 1752 1756 1758* 1759* 1759* 1760* 1760* 1766* 1767 1777 1778 1779 1781 1783 1783 1785* 1787 1790* 1796* 1805 1806 1807 1810* 1811 1811 1812 1823* 1831* 1837* 1915 1916 1918 1919 1921 1926 1931 1932 1941* 1945 1946 1958 1962 1968 1969 1972 1982 1984 1984* 1984 1987 1987* 1989 1991 1993 1999 2000 2001 2003 2009 2009 2009 2010 2011* 2015 2016 2027 2031 2037 2038 2042 2043 2044 2046 2052 2052 2052 2053* 2057 2058 2068 2079 2081 2082 2083* 2083 2086 2086* 2088 2090 2092 2140* 2208 2209 2217* 2219 2219 2220 2224* 2236 2237 2245* 2247 2247 2248 2252* 2263 2264 2266 2273 2275 2279 2280* 2281 2304* 2341* 2343 2350 2360 2362 2366 2400 2411 2413 2417 2424 2426 2430 gen_delete proc level 0, imported ; DEF: 211 ; REF: 32 2437 gen_insert proc level 0, imported ; DEF: 210 ; REF: 31 2373 gencstecode proc level 0, imported ; DEF: 251 ; REF: 47 549 594 821 1488 1503 1991 2090 2114 2138 2144 gendesca proc level 0, imported ; DEF: 217 ; REF: 34 1672 1675 2294 2295 2300 2301 geneism proc level 0, imported ; DEF: 216 ; REF: 35 1671 2293 2299 generic var local to pckunpck, loc:156, size:10 ; pointer ; DEF: 1891 ; REF: 1972* 1973 1973 2068* 2069 2069 generic var local to newir, loc:142, size:10 ; pointer ; DEF: 1069 ; REF: 1132* 1133 1133 genexceptcode proc level 0, imported ; DEF: 244 ; REF: 50 1646 genstand proc level 0, imported ; DEF: 215 ; REF: 36 342 343 375 402 403 456 458 459 464 519 520 554 555 556 564 565 566 572 585 597 600 603 604 614 645 649 652 724 725 754 779 780 804 813 822 846 847 893 959 994 999 1000 1013 1023 1190 1190 1191 1220 1225 1227 1228 1230 1238 1240 1251 1252 1254 1257 1260 1339 1351 1366 1368 1527 1532 1543 1554 1555 1558 1561 1644 1645 1657 1658 1659 1661 1663 1668 1669 1762 1795 1811 1817 1824 1825 1826 1832 1836 2113 2117 2131 2133 2136 2137 2143 2145 2148 2149 2150 getdirplace const numeric ; DEF: 1-185 ; REF: 972 getpr4afterstop var global imported, size:4 ; boolean ; DEF: 172 ; REF: 95 1355* getseqplace const numeric ; DEF: 1-175 ; REF: 964 gettextplace const numeric ; DEF: 1-174 ; REF: 964 halfword type integer ; DEF: 1-809 ; REF: 1-810 harddispose var local to newir, loc:145, size:4 ; boolean ; DEF: 1071 ; REF: 1199* 1202* 1203 1216 1249 hardlength var local to writeir, loc:207, size:4 ; boolean ; DEF: 310 ; REF: 449* 498* 502* 528 530* 543 550* 588 hi field disp:230, size:4 ; integer ; DEF: 1-549 ; REF: 1935 1938 2009 2052 hia var local to pckunpck, loc:143, size:4 ; integer ; DEF: 1890 ; REF: 1935* 1981 2009* 2078 2115 hiz var local to pckunpck, loc:145, size:4 ; integer ; DEF: 1890 ; REF: 1938* 2052* 2081 2114 2144 ia9bd const scalar, ord=503 ; DEF: 1-751 ; REF: 2133 2148 2149 iada const scalar, ord=84 ; DEF: 1-689 ; REF: 556 566 1191 1195 2111 2143 iadq const scalar, ord=98 ; DEF: 1-691 ; REF: 2109 iars const scalar, ord=75 ; DEF: 1-688 ; REF: 1190 iattr var local to pckunpck, loc:244, size:150 ; record ; DEF: 1892 ; REF: 1909* 1993* 2092* 2103 2104 2105* 2108 2116 2131 2133 2135* icmpa const scalar, ord=162 ; DEF: 1-699 ; REF: 1644 2144 icmpc const scalar, ord=513 ; DEF: 1-754 ; REF: 1-782 idkinds type scalar ; DEF: 1-406 ; REF: 1-452 1-572 1-597 idklass type scalar ; DEF: 1-415 ; REF: 1-515 idprocdef type scalar ; DEF: 1-417 ; REF: 1-590 idv3d const scalar, ord=539 ; DEF: 1-757 ; REF: 1-782 ieaa const scalar, ord=0 ; DEF: 1-679 ; REF: 1-781 ieax6 const scalar, ord=8 ; DEF: 1-680 ; REF: 2136 ieax7 const scalar, ord=9 ; DEF: 1-680 ; REF: 1215 2137 ieism type scalar subrange ; DEF: 1-782 ; REF: 216 iepp1 const scalar, ord=320 ; DEF: 1-723 ; REF: 1254 1339 1351 1532 1555 iepp2 const scalar, ord=321 ; DEF: 1-723 ; REF: 1000 1366 1527 1543 iepp3 const scalar, ord=322 ; DEF: 1-723 ; REF: 342 402 458 724 779 1251 1659 1668 ilda const scalar, ord=21 ; DEF: 1-681 ; REF: 456 519 549 564 594 600 604 821 846 994 999 1212 1488 1503 1657 2111 2138 ildaq const scalar, ord=23 ; DEF: 1-681 ; REF: 1228 1230 ildq const scalar, ord=25 ; DEF: 1-682 ; REF: 1824 2109 ilprp3 const scalar, ord=331 ; DEF: 1-724 ; REF: 1225 imlr const scalar, ord=516 ; DEF: 1-754 ; REF: 1671 2293 2299 inacc const scalar, ord=0 ; DEF: 1-814 ; REF: 538 583 818 1008 1021 1187 1233 1329 1492 1642 1790 1987 2086 2105 2280 incbloc type scalar ; DEF: 1-462 ; REF: 1-585 indfich var global imported, size:4 ; integer ; DEF: 177 ; REF: 99 2145 init_desc_address proc level 0, imported ; DEF: 255 ; REF: 58 442 initattrvarbl proc level 0, imported ; DEF: 271 ; REF: 66 1944 2014 2056 2338 2338 2338 2397 2397 2397 inop const scalar, ord=414 ; DEF: 1-738 ; REF: 421 462 inputctp var global imported, size:10 ; pointer ; DEF: 192 ; REF: 111 719 721 723 724 774 776 778 779 inq const scalar, ord=1 ; DEF: 1-814 ; REF: 1451 1766 1831 2139 inser proc level 0, imported ; DEF: 219 ; REF: 37 2151 insert_attr var local to insert_string, loc:224, size:150 ; record ; DEF: 2331 ; REF: 2338* 2343* 2373* 2375* instword type scalar ; DEF: 1-679 ; REF: 1-781 1-782 1-783 1-784 insymbol proc level 0, imported ; DEF: 224 ; REF: 24 356 385 527 579 618 621 627 636 737 762 868 871 877 886 952 984 1031 1106 1126 1164 1176 1265 1323 1377 1445 1470 1569 1621 1680 1742 1776 1802 1844 1912 1956 1964 2025 2154 2206 2234 2261 2310 2339 2348 2358 2371 2398 2409 2422 2435 int_const_token const scalar, ord=2 ; DEF: 1-491 ; REF: 1-497 inxcheck var global imported, size:4 ; boolean ; DEF: 187 ; REF: 112 1988 2087 2106 inxreg field disp:44, size:4 ; scalar ; DEF: 1-862 ; REF: 843 843 1172 1172 1205 1205 inxtype field disp:210, size:10 ; pointer ; DEF: 1-546 ; REF: 1935 2009 iorq const scalar, ord=233 ; DEF: 1-710 ; REF: 1825 1832 iorsq const scalar, ord=235 ; DEF: 1-711 ; REF: 1811 iqls const scalar, ord=81 ; DEF: 1-689 ; REF: 1795 irpd const scalar, ord=540 ; DEF: 1-759 ; REF: 1-783 irpt const scalar, ord=542 ; DEF: 1-759 ; REF: 1-783 is_possible_string funct level 0, imported ; boolean ; DEF: 267 ; REF: 68 2341 is_var_string var local to argvstat, loc:140, size:4 ; boolean ; DEF: 1418 ; REF: 1435* 1481* 1551 1560 isba const scalar, ord=120 ; DEF: 1-694 ; REF: 565 1190 isclean var local to mvcir, loc:170, size:4 ; boolean ; DEF: 2189 ; REF: 2202* 2211 2239 2269 isinsert var local to insapp, loc:142, size:4 ; boolean ; DEF: 1723 ; REF: 1739* 1743 1748 1803 1808 isnew var local to newir, loc:144, size:4 ; boolean ; DEF: 1070 ; REF: 1100* 1102 1170 1200 1210 ispack var local to pckunpck, loc:303, size:4 ; boolean ; DEF: 1893 ; REF: 1903* 1921 1923 1933 1950 1966 1970 2035 2040 2119 ispri1 const scalar, ord=346 ; DEF: 1-726 ; REF: 1260 1554 ispri3 const scalar, ord=348 ; DEF: 1-726 ; REF: 343 375 403 438 459 725 754 780 813 959 1220 1227 1661 isprp1 const scalar, ord=354 ; DEF: 1-727 ; REF: 1257 isreadln var local to readir, loc:146, size:4 ; boolean ; DEF: 694 ; REF: 711* 717 758 796 888 isstring funct level 0, imported ; boolean ; DEF: 268 ; REF: 67 496 988 1475 1628 ista const scalar, ord=45 ; DEF: 1-684 ; REF: 572 585 597 603 822 1561 1658 2111 istand type scalar subrange ; DEF: 1-781 ; REF: 194 196 215 251 314 1079 1895 istaq const scalar, ord=48 ; DEF: 1-685 ; REF: 1252 1669 istba const scalar, ord=543 ; DEF: 1-761 ; REF: 1-784 istcq const scalar, ord=546 ; DEF: 1-761 ; REF: 1-784 istext var local to getput, loc:142, size:4 ; boolean ; DEF: 937 ; REF: 961* 964 966 971 972 973 istq const scalar, ord=53 ; DEF: 1-685 ; REF: 1817 1826 1836 2109 iswd const scalar, ord=510 ; DEF: 1-752 ; REF: 1-781 iszn const scalar, ord=174 ; DEF: 1-700 ; REF: 554 itisget var local to readir, loc:147, size:4 ; boolean ; DEF: 695 ; REF: 795* 800* 801 itisput var local to writeir, loc:206, size:4 ; boolean ; DEF: 309 ; REF: 421* 426* 481 488 493 514 itnz const scalar, ord=378 ; DEF: 1-732 ; REF: 555 itpl const scalar, ord=380 ; DEF: 1-732 ; REF: 1645 itpnz const scalar, ord=381 ; DEF: 1-732 ; REF: 2145 itra const scalar, ord=382 ; DEF: 1-732 ; REF: 2150 itsdplmt field disp:74, size:4 ; integer ; DEF: 1-877 ; REF: 1760* itsp3 const scalar, ord=389 ; DEF: 1-733 ; REF: 520 614 645 649 652 804 847 893 1013 1023 1240 1368 1558 1663 itype var local to pckunpck, loc:154, size:10 ; pointer ; DEF: 1891 ; REF: 1909* 1935* 1972 2009* 2068 iunresolv type record ; DEF: 1-828 ; REF: 1-824 ival var global imported, size:4 ; integer ; DEF: 162 ; REF: 82 1151 kind field disp:10, size:4 ; scalar ; DEF: 1-852 ; REF: 852* 990 1245* 1674 1781 1982 1987 2079 2086 2103 2273 2279 klass field disp:110, size:4 ; scalar ; DEF: 1-515 ; REF: 362 743 815 1131 1487 1636 konst const scalar, ord=2 ; DEF: 1-415 ; REF: 1-564 815 1131 1487 1636 l9 const scalar, ord=2 ; DEF: 1-785 ; REF: 1672 1675 2294 2295 2300 2301 l_err var local to delete_string, loc:257, size:4 ; boolean ; DEF: 2391 ; REF: 2393* 2401* 2403* 2407* 2411* 2415* 2420* 2424* 2428* 2436 l_err var local to insert_string, loc:257, size:4 ; boolean ; DEF: 2332 ; REF: 2334* 2342* 2346* 2351* 2353* 2356* 2360* 2364* 2372 lab_pdl_element type record ; DEF: 1-664 ; REF: 1-663 lab_pdl_ptr type pointer ; DEF: 1-663 ; REF: 1-665 label_pdl_element type record ; DEF: 1-655 ; REF: 1-656 labelblock type record ; DEF: 1-641 ; REF: 1-640 labelblockptr type pointer ; DEF: 1-640 ; REF: 1-644 1-645 1-653 1-657 1-661 1-666 1-948 lad var local to insapp, loc:236, size:4 ; integer ; DEF: 1726 ; REF: 1755* 1761* 1762 1836 ladd var local to pckunpck, loc:311, size:4 ; scalar subrange ; DEF: 1895 ; REF: 2109* 2111* 2114 lattr var local to insapp, loc:200, size:150 ; record ; DEF: 1724 ; REF: 1767* 1794 1814 1821* 1832 1839* lattr var local to newir, loc:150, size:150 ; record ; DEF: 1072 ; REF: 1208* 1263* lattr var local to readir, loc:150, size:150 ; record ; DEF: 696 ; REF: 817* 818* 819* 844* 860* lbase var local to insapp, loc:237, size:4 ; scalar subrange ; DEF: 1727 ; REF: 1823* 1824 1826 lcond const scalar, ord=1 ; DEF: 1-812 ; REF: 1-908 lcount var local to insapp, loc:233, size:4 ; integer ; DEF: 1726 ; REF: 1787* 1791* 1795 lcstpt type pointer ; DEF: 1-826 ; REF: 1-841 ldep var local to insapp, loc:235, size:4 ; integer ; DEF: 1726 ; REF: 1814* 1815 1818* 1820* 1820 1825 ldisp var local to insapp, loc:234, size:4 ; integer ; DEF: 1726 ; REF: 1823* 1824 1826 ldreg field disp:14, size:4 ; scalar ; DEF: 1-889 ; REF: 430 854* 855* 856 1246* 1989 1991 2088 2090 2108 2116 2131 2133 2281 ldregbloc field disp:20, size:10 ; pointer ; DEF: 1-890 ; REF: 431* 539* 584* 856* 1009* 1022* 1193* 1234* 1247* 1331* 1512 1513* 1794 1814 1821* 1832 1837* 1839* 2104 2304* len_attr var local to delete_string, loc:224, size:150 ; record ; DEF: 2390 ; REF: 2397* 2430* 2437* 2439* lengthst var local to writeir, loc:214, size:4 ; integer ; DEF: 313 ; REF: 409* 500* 503* 504 532 568 592 594 595 lerr var local to insapp, loc:143, size:4 ; boolean ; DEF: 1723 ; REF: 1741* 1768* 1793 1806 lerr var local to dateandtime, loc:175, size:4 ; boolean ; DEF: 1607 ; REF: 1626* 1629* 1637* 1640* 1650 lerr var local to newir, loc:202, size:4 ; boolean ; DEF: 1074 ; REF: 1138* 1141* 1146* 1148* 1150 lerr var local to readir, loc:202, size:4 ; boolean ; DEF: 697 ; REF: 809* 830* 837* 838 level var global imported, size:4 ; numeric 0..20 ; DEF: 167 ; REF: 83 1332 1520 levrange type numeric 0..20 ; DEF: 1-418 ; REF: 1-526 1-558 1-573 1-581 1-601 1-636 1-855 167 levtrace type scalar ; DEF: 1-624 ; REF: 195 lgcar type scalar ; DEF: 1-785 ; REF: 217 lgparm const numeric ; DEF: 1-23 ; REF: 1-24 lincr var local to pckunpck, loc:150, size:4 ; integer ; DEF: 1890 ; REF: 2121* 2124* 2127 2129 2131 linktoend var global imported, size:4 ; boolean ; DEF: 202 ; REF: 113 1360 1364* linktoendplace var global imported, size:4 ; integer ; DEF: 201 ; REF: 114 1362* 1366 linktomain var global imported, size:4 ; boolean ; DEF: 199 ; REF: 115 1345 1349* 1537 1541* linktomainplace var global imported, size:4 ; integer ; DEF: 200 ; REF: 116 1347* 1351 1539* 1543 linst var local to newir, loc:243, size:4 ; scalar subrange ; DEF: 1079 ; REF: 1195* 1212* 1215* 1238 linst var local to writeir, loc:215, size:4 ; scalar subrange ; DEF: 314 ; REF: 421* 430* 438* 444* 462 464 liunresolv type record ; DEF: 1-838 ; REF: 1-825 lkc var global imported, size:4 ; integer ; DEF: 173 ; REF: 96 1347 1348* 1348 1362 1363* 1363 1539 1540* 1540 llcstpt type pointer ; DEF: 1-827 ; REF: 1-846 lliunresolv type record ; DEF: 1-843 ; REF: 1-824 lload var local to pckunpck, loc:307, size:4 ; scalar subrange ; DEF: 1895 ; REF: 2109* 2111* 2117 lo field disp:224, size:4 ; integer ; DEF: 1-549 ; REF: 1935 1938 2009 2052 loa var local to pckunpck, loc:142, size:4 ; integer ; DEF: 1890 ; REF: 1935* 1981 1984 1990 1991 2009* 2077 2083 2089 2090 2115 loadadr proc level 0, imported ; DEF: 245 ; REF: 48 374 437 753 803 812 958 993 998 1219 1482 1500 1654 1758 1941 2011 2053 2224 2252 loadbase proc level 0, imported ; DEF: 241 ; REF: 49 1337 1525 locbox var local to writeir, loc:212, size:10 ; pointer ; DEF: 312 ; REF: 330* 441* 443* 534* 550* 560* locctp var local to newir, loc:236, size:10 ; pointer ; DEF: 1077 ; REF: 1156* 1157 1158 1159* 1161 1163 locctptr var local to readir, loc:204, size:10 ; pointer ; DEF: 698 ; REF: 712* 747* 766* 769* 797 798 799 807 808 890 891 locctptr var local to writeir, loc:216, size:10 ; pointer ; DEF: 315 ; REF: 332* 366* 389* 392* 423 424 425 523 524 640 641 locexit var local to pckunpck, loc:151, size:4 ; integer ; DEF: 1890 ; REF: 2145* 2151 loclong var local to getput, loc:143, size:4 ; integer ; DEF: 938 ; REF: 991* 992* 994 locloop var local to pckunpck, loc:152, size:4 ; integer ; DEF: 1890 ; REF: 2139* 2150 locop var local to argvstat, loc:235, size:4 ; integer ; DEF: 1426 ; REF: 1521* 1534* 1545* 1558 locop var local to stopstat, loc:140, size:4 ; integer ; DEF: 1307 ; REF: 1333* 1342* 1353* 1368 locop var local to newir, loc:242, size:4 ; integer ; DEF: 1078 ; REF: 1195* 1212* 1215* 1240 locreg var local to writeir, loc:210, size:4 ; scalar subrange ; DEF: 311 ; REF: 441* 443* 564 565 loctype var local to readir, loc:206, size:10 ; pointer ; DEF: 699 ; REF: 827* 828* 829 locval var local to newir, loc:241, size:4 ; integer ; DEF: 1078 ; REF: 1134* 1151* 1159 longalfbox const numeric ; DEF: 1-22 ; REF: 1-422 longop var local to mvcir, loc:166, size:4 ; integer ; DEF: 2187 ; REF: 2275* 2294 2295 longplacew const numeric ; DEF: 1-291 ; REF: 572 longreg var local to mvcir, loc:167, size:4 ; scalar ; DEF: 2188 ; REF: 2281* 2300 2301 longstplacew const numeric ; DEF: 1-293 ; REF: 597 603 822 lopplace var local to dateandtime, loc:176, size:4 ; integer ; DEF: 1608 ; REF: 1652* 1653* 1663 low const scalar, ord=1 ; DEF: 1-624 ; REF: 657 897 1034 1268 1382 1574 1687 1850 2159 2313 loz var local to pckunpck, loc:144, size:4 ; integer ; DEF: 1890 ; REF: 1938* 2052* 2081 2114 2138 lskiperror proc of newir ; DEF: 1088 ; REF: 1104 1111 1125 1130 1131 1133 1150 1153 1160 1184 1264 lstor var local to pckunpck, loc:310, size:4 ; scalar subrange ; DEF: 1895 ; REF: 2109* 2111* 2113 ltag var local to insapp, loc:232, size:4 ; scalar ; DEF: 1725 ; REF: 1787* 1791* 1795 1823* 1824 1826 ltag var local to newir, loc:251, size:4 ; scalar ; DEF: 1083 ; REF: 1195* 1212* 1215* 1238 ltemp var local to newir, loc:240, size:4 ; integer ; DEF: 1078 ; REF: 1226* 1227 1228 lval const scalar, ord=2 ; DEF: 1-812 ; REF: 1-887 852 1245 1987 2086 2279 maxdigitsreal const numeric ; DEF: 1-122 ; REF: 1-397 maxerrnum const numeric ; DEF: 1-94 ; REF: 1-95 maxexternname const numeric ; DEF: 1-32 ; REF: 1-400 maxfich const numeric ; DEF: 1-36 ; REF: 1-810 maxfield const numeric ; DEF: 1-39 ; REF: 1-627 1-628 maxident const numeric ; DEF: 1-26 ; REF: 1-399 maxlevel const numeric ; DEF: 1-18 ; REF: 1-418 maxnewsize const numeric ; DEF: 1-42 ; REF: 1237 maxno const numeric ; DEF: 1-13 ; REF: 1-434 1-621 maxprused var global imported, size:4 ; scalar subrange ; DEF: 193 ; REF: 117 842 1173 1206 maxref const numeric ; DEF: 1-38 ; REF: 1-429 maxsliceline const numeric ; DEF: 1-101 ; REF: 1-102 maxwseg const numeric ; DEF: 1-73 ; REF: 1-973 mfari1 var global imported, size:4 ; scalar ; DEF: 178 ; REF: 100 1670* 2292* 2298* mfari2 var global imported, size:4 ; scalar ; DEF: 179 ; REF: 101 1670* 2292* 2298* minno const numeric ; DEF: 1-12 ; REF: 1-434 1-621 modif var global imported, size:60 ; array of (scalar) ; DEF: 198 ; REF: 118 2133 2300 2301 monormod const scalar, ord=7 ; DEF: 1-412 ; REF: 1-557 motypes type scalar ; DEF: 1-459 ; REF: 1-557 mpcogout var global imported ; text ; DEF: 151 ; REF: 85 325 659 707 899 945 1036 1097 1270 1313 1384 1431 1576 1613 1689 1732 1852 1900 2161 2196 2315 mreg type scalar subrange ; DEF: 1-778 ; REF: 218 name_token const scalar, ord=1 ; DEF: 1-491 ; REF: 1-496 nameaddr field disp:110, size:10 ; pointer ; DEF: 1-879 ; REF: 373 442 957 1674 nameisref proc level 0, imported ; DEF: 228 ; REF: 25 341 401 723 778 newbloc proc level 0, imported ; DEF: 239 ; REF: 51 856 1246 newplace const numeric ; DEF: 1-177 ; REF: 1195 1212 nextline proc level 0, imported ; DEF: 226 ; REF: 26 326 659 708 899 945 1036 1097 1270 1313 1385 1431 1577 1614 1690 1732 1852 1900 2162 2197 2316 nmax field disp:210, size:4 ; integer ; DEF: 1-535 ; REF: 1981* 2078* 2115* nmin field disp:204, size:4 ; integer ; DEF: 1-535 ; REF: 1981* 2077* 2115* no var global imported, size:4 ; integer ; DEF: 153 ; REF: 86 333 346 358 377 382 525 573 618 619 625 632 659 715 728 739 756 761 867 869 875 882 899 949 980 1027 1036 1104 1121 1127 1136 1165 1168 1264 1270 1317 1373 1384 1439 1457 1462 1565 1576 1617 1679 1689 1735 1770 1798 1843 1852 1904 1955 1960 2024 2029 2153 2161 2228 2256 2306 2315 2335 2344 2354 2367 2394 2405 2418 2431 node type record ; DEF: 1-466 ; REF: 1-464 nodelistelem type record ; DEF: 1-473 ; REF: 1-471 nodelistptr type pointer ; DEF: 1-471 ; REF: 1-474 nodeptr type pointer ; DEF: 1-464 ; REF: 1-475 1-584 none const scalar, ord=0 ; DEF: 1-624 ; REF: 323 705 943 1095 1311 1429 1611 1730 1898 2194 norange type numeric 0..63 ; DEF: 1-621 ; REF: 159 notfound var local to newir, loc:244, size:4 ; boolean ; DEF: 1080 ; REF: 1155* 1157 1159* 1160 notwrite var local to writeir, loc:220, size:4 ; boolean ; DEF: 316 ; REF: 331* 335 379 422 638 nreg const scalar, ord=0 ; DEF: 1-774 ; REF: 1-777 441 519 555 556 566 600 604 846 994 1190 1190 1191 1238 1482 1500 1644 1645 1657 1758 1795 1941 2011 2053 2131 2136 2137 2143 2145 2150 2224 2252 numeric const scalar, ord=1 ; DEF: 1-412 ; REF: 1-535 470 536 581 833 1005 1141 1183 1326 1448 1746 1779 1806 1919 2266 2362 2413 2426 nxreg const scalar, ord=10 ; DEF: 1-775 ; REF: 198 843 1172 1205 nxtel field disp:40, size:10 ; pointer ; DEF: 1-509 ; REF: 1159 oattr var local to pckunpck, loc:160, size:150 ; record ; DEF: 1892 ; REF: 1909* 1942 1944* 1945* 1946* 1947* 1948* 1949* 1950* 2001 2044 2102 2121 2126 2139* 2140 objaccessibles type scalar ; DEF: 1-460 ; REF: 1-461 oincr var local to pckunpck, loc:146, size:4 ; integer ; DEF: 1890 ; REF: 1931* 2121 2136 oisconf var local to pckunpck, loc:301, size:4 ; boolean ; DEF: 1893 ; REF: 1928* 1931* 1976 oldnewstor funct level 0, imported ; integer ; DEF: 242 ; REF: 52 1226 1553 1761 opaq var global imported, size:160 ; array of (array of (scalar subrange)) ; DEF: 196 ; REF: 119 430 1991 2090 2131 operdepw var local to getput, loc:144, size:4 ; integer ; DEF: 939 ; REF: 964* 964* 966* 966* 967* 968* 970* 971* 972* 973* 974* 975* 976* 1013 oripr var local to pckunpck, loc:305, size:4 ; scalar subrange ; DEF: 1894 ; REF: 2126* 2148 out const scalar, ord=5 ; DEF: 1-814 ; REF: 860 1263 1834 2141 outputctp var global imported, size:10 ; pointer ; DEF: 191 ; REF: 120 337 339 341 342 397 399 401 402 p0t0r0 const scalar, ord=0 ; DEF: 1-791 ; REF: 1671 2293 2299 pack field disp:124, size:4 ; boolean ; DEF: 1-525 ; REF: 1921 2000 2043 pageplace const numeric ; DEF: 1-171 ; REF: 649 pagesinsegment const numeric ; DEF: 1-69 ; REF: 1-70 pascalfrench var global imported, size:4 ; boolean ; DEF: 154 ; REF: 87 552 pckd field disp:100, size:4 ; boolean ; DEF: 1-878 ; REF: 1218 1756 1812 1950* 2062* pckerrcode const numeric ; DEF: 1-254 ; REF: 1989 2088 2116 pointee const scalar, ord=1 ; DEF: 1-813 ; REF: 1949 2019 2061 pointer const scalar, ord=3 ; DEF: 1-412 ; REF: 1-541 427 487 1015 1111 1919 power const scalar, ord=4 ; DEF: 1-412 ; REF: 1-543 487 pr0 const scalar, ord=6 ; DEF: 1-774 ; REF: 520 614 645 649 652 804 847 893 1013 1023 1240 1368 1558 1663 pr1 const scalar, ord=1 ; DEF: 1-774 ; REF: 194 803 1338 1531 1555 pr2 const scalar, ord=2 ; DEF: 1-774 ; REF: 993 998 999 1000 1526 pr3 const scalar, ord=5 ; DEF: 1-774 ; REF: 374 437 456 458 753 812 958 1219 1225 1230 1257 1260 1654 1658 1659 1675 pr6 const scalar, ord=9 ; DEF: 1-774 ; REF: 1-777 194 343 375 403 459 464 554 572 585 597 603 725 754 780 813 822 959 1220 1227 1228 1251 1252 1254 1554 1561 1661 1668 1669 1672 1762 1817 1825 1832 1836 2113 2117 preg type scalar subrange ; DEF: 1-777 ; REF: 1-856 1-880 193 197 215 217 245 248 311 1727 1894 2184 prinst var global imported, size:154 ; array of (array of (scalar subrange)) ; DEF: 194 ; REF: 121 444 1762 prlink const scalar, ord=8 ; DEF: 1-774 ; REF: 342 402 724 779 1351 1366 1543 proc const scalar, ord=3 ; DEF: 1-415 ; REF: 1-571 procblock const scalar, ord=0 ; DEF: 1-938 ; REF: 1-945 proclocation type scalar ; DEF: 1-439 ; REF: 1-577 profarea type array of (integer) ; DEF: 1-934 ; REF: 1-933 prtoadd var local to pckunpck, loc:304, size:4 ; scalar subrange ; DEF: 1894 ; REF: 2121* 2124* 2133 pt var local to newir, loc:246, size:10 ; pointer ; DEF: 1081 ; REF: 1115* 1123* 1123 1125 1132 1141 1143 1156 1163* 1167 ptexternalitem type pointer ; DEF: 1-444 ; REF: 1-448 1-578 1-607 ptpack var local to newir, loc:146, size:4 ; boolean ; DEF: 1071 ; REF: 1218* 1223 1255 putdirplace const numeric ; DEF: 1-184 ; REF: 973 putseqplace const numeric ; DEF: 1-173 ; REF: 966 puttextplace const numeric ; DEF: 1-172 ; REF: 966 ra const scalar, ord=20 ; DEF: 1-776 ; REF: 196 562 855 859 1646 rangattr var local to argvstat, loc:200, size:150 ; record ; DEF: 1423 ; REF: 1452* 1512 1513* raq const scalar, ord=22 ; DEF: 1-776 ; REF: 1222 1246 1246 rcstpt type pointer ; DEF: 1-825 ; REF: 1-836 readlnplace const numeric ; DEF: 1-167 ; REF: 893 readseqplace const numeric ; DEF: 1-166 ; REF: 804 readtextplace const numeric ; DEF: 1-165 ; REF: 847 real_const_token const scalar, ord=4 ; DEF: 1-491 ; REF: 1-498 realptr var global imported, size:10 ; pointer ; DEF: 155 ; REF: 88 835 853 858 1133 1973 2069 reaq const scalar, ord=23 ; DEF: 1-776 ; REF: 196 854 recadre funct level 0, imported ; integer ; DEF: 229 ; REF: 27 1162 1167 records const scalar, ord=6 ; DEF: 1-412 ; REF: 1-554 487 recvar field disp:200, size:10 ; pointer ; DEF: 1-554 ; REF: 1123 reel const scalar, ord=0 ; DEF: 1-412 ; REF: 1-534 467 reflist type record ; DEF: 1-426 ; REF: 1-425 refptr type pointer ; DEF: 1-425 ; REF: 1-427 1-512 1-649 regbox type record ; DEF: 1-817 ; REF: 1-816 regenere proc level 0, imported ; DEF: 246 ; REF: 53 560 1512 1529 1530 1794 2102 2102 2104 2288 2289 register type scalar ; DEF: 1-774 ; REF: 1-777 1-819 1-862 1-889 1-920 194 196 198 239 244 250 252 1425 2188 regpt type pointer ; DEF: 1-816 ; REF: 1-821 1-822 1-858 1-867 1-881 1-890 1-910 190 243 246 300 312 1424 2186 resetheapplace const numeric ; DEF: 1-179 ; REF: 1023 resetplace const numeric ; DEF: 1-162 ; REF: 967 resetused var global imported, size:4 ; boolean ; DEF: 185 ; REF: 104 1020* rewriteplace const numeric ; DEF: 1-163 ; REF: 968 rq const scalar, ord=21 ; DEF: 1-776 ; REF: 198 1822 2108 runresolv type record ; DEF: 1-833 ; REF: 1-825 sauvereg proc level 0, imported ; DEF: 250 ; REF: 54 562 842 843 1172 1173 1205 1206 1222 1822 savegattr var local to newir, loc:204, size:150 ; record ; DEF: 1076 ; REF: 1174* 1194 saveplace field disp:4, size:4 ; integer ; DEF: 1-820 ; REF: 1814 1832 scalar const scalar, ord=2 ; DEF: 1-412 ; REF: 1-536 473 825 1919 scaleplacew const numeric ; DEF: 1-292 ; REF: 585 schema const scalar, ord=0 ; DEF: 1-415 ; REF: 1-516 schema_token type record ; DEF: 1-492 ; REF: 1-484 schema_token_kind type scalar ; DEF: 1-491 ; REF: 1-494 search proc level 0, imported ; DEF: 227 ; REF: 70 360 741 1129 setarray type array of (integer) ; DEF: 1-815 ; REF: 1-839 1-844 1-904 setrange const numeric ; DEF: 1-92 ; REF: 1-93 1-94 shiftl const scalar, ord=2 ; DEF: 1-919 ; REF: 2131 shrtint type numeric -131072..131071 ; DEF: 1-619 ; REF: 1-671 size field disp:114, size:4 ; integer ; DEF: 1-524 ; REF: 503 992 1167 1503 1629 sizeofnew var local to newir, loc:250, size:4 ; integer ; DEF: 1082 ; REF: 1161* 1162* 1162 1167* 1237 1238 skip proc level 0, imported ; DEF: 225 ; REF: 28 347 352 624 634 729 733 874 884 950 981 1029 1090 1113 1118 1181 1319 1375 1441 1461 1466 1567 1619 1681 1737 1772 1800 1846 1906 1959 2028 2155 2230 2258 2308 2336 2369 2395 2433 spri const scalar, ord=1 ; DEF: 1-917 ; REF: 444 1762 stattrace var global imported, size:4 ; scalar ; DEF: 195 ; REF: 122 323 657 705 897 943 1034 1095 1268 1311 1382 1429 1574 1611 1687 1730 1850 1898 2159 2194 2313 stdextend const scalar, ord=3 ; DEF: 1-435 ; REF: 1017 stdkind type scalar ; DEF: 1-435 ; REF: 158 stopextplace const numeric ; DEF: 1-211 ; REF: 1353 stopplace const numeric ; DEF: 1-210 ; REF: 1342 stopshortplace const numeric ; DEF: 1-209 ; REF: 1333 stor const scalar, ord=6 ; DEF: 1-919 ; REF: 430 string_attr var local to delete_string, loc:140, size:150 ; record ; DEF: 2390 ; REF: 2397* 2400* 2401 2402 2404* 2437* 2439* string_attr var local to insert_string, loc:140, size:150 ; record ; DEF: 2331 ; REF: 2338* 2350* 2351 2352 2373* 2375* string_attr var local to dateandtime, loc:142, size:150 ; record ; DEF: 1605 ; REF: 1641* 1642* 1643* string_attr var local to argvstat, loc:142, size:150 ; record ; DEF: 1419 ; REF: 1491* 1492* 1493* string_ptr var global imported, size:10 ; pointer ; DEF: 156 ; REF: 91 453 810 996 1476 1631 2352 2402 stringbloc var local to argvstat, loc:232, size:10 ; pointer ; DEF: 1424 ; REF: 1483* 1501* 1529 1549* stringpr var local to argvstat, loc:234, size:4 ; scalar ; DEF: 1425 ; REF: 1484* 1502* 1531 1532 sttmap type array of (record) ; DEF: 1-925 ; REF: 1-924 sub const scalar, ord=1 ; DEF: 1-919 ; REF: 1991 2090 subrng field disp:204, size:4 ; boolean ; DEF: 1-537 ; REF: 473 827 1145 subsize field disp:240, size:4 ; integer ; DEF: 1-549 ; REF: 1931 2010 2052 sval const scalar, ord=4 ; DEF: 1-812 ; REF: 1-900 1781 1982 2079 2103 2273 symbol_token const scalar, ord=0 ; DEF: 1-491 ; REF: 1-495 symbolfile var global imported, size:4 ; integer ; DEF: 169 ; REF: 89 341 401 723 778 symbolline var global imported, size:4 ; integer ; DEF: 169 ; REF: 90 341 401 723 778 symbolmap var global imported, size:4 ; boolean ; DEF: 168 ; REF: 92 340 400 722 777 tag type scalar ; DEF: 1-766 ; REF: 1-778 198 215 249 1083 1725 tagfield const scalar, ord=6 ; DEF: 1-415 ; REF: 1-610 tal const scalar, ord=5 ; DEF: 1-766 ; REF: 1791 tarpr var local to pckunpck, loc:306, size:4 ; scalar subrange ; DEF: 1894 ; REF: 2126* 2149 tattr var local to pckunpck, loc:212, size:150 ; record ; DEF: 1892 ; REF: 1909* 2012 2014* 2015* 2016* 2017* 2018* 2019* 2054 2056* 2057* 2058* 2059* 2060* 2061* 2062* 2102 2124 2126 2141* tdl const scalar, ord=7 ; DEF: 1-766 ; REF: 519 556 566 600 604 846 994 1190 1191 1195 1212 1644 1657 2143 textfilectp var global imported, size:10 ; pointer ; DEF: 160 ; REF: 93 425 524 641 799 808 891 961 tic const scalar, ord=4 ; DEF: 1-766 ; REF: 555 1645 2145 2150 timeopplace const numeric ; DEF: 1-197 ; REF: 1653 tincr var local to pckunpck, loc:147, size:4 ; integer ; DEF: 1890 ; REF: 2010* 2052* 2124 2137 tisconf var local to pckunpck, loc:302, size:4 ; boolean ; DEF: 1893 ; REF: 2005* 2008* 2048* 2051* 2072 tn const scalar, ord=0 ; DEF: 1-766 ; REF: 1-778 343 375 403 456 458 459 464 520 554 564 565 572 585 597 603 614 645 649 652 725 754 780 804 813 822 847 893 959 999 1000 1013 1023 1190 1215 1220 1225 1227 1228 1230 1240 1252 1257 1260 1339 1368 1527 1532 1554 1555 1558 1658 1659 1661 1663 1669 1672 1675 1762 1787 1811 1817 1825 1832 2113 2117 2131 2136 2137 2294 2295 tny const scalar, ord=16 ; DEF: 1-768 ; REF: 342 402 724 779 1251 1254 1351 1366 1543 1561 1668 1836 transfer proc level 0, imported ; DEF: 238 ; REF: 55 538 583 818 860 1008 1021 1187 1233 1263 1329 1451 1492 1642 1766 1790 1831 1834 1987 2086 2105 2139 2141 2280 twoto10 const numeric ; DEF: 1-50 ; REF: 1-51 1-68 twoto14 const numeric ; DEF: 1-52 ; REF: 1-53 twoto15 const numeric ; DEF: 1-53 ; REF: 1-54 1-72 twoto16 const numeric ; DEF: 1-54 ; REF: 1-55 twoto17 const numeric ; DEF: 1-55 ; REF: 1-56 1-57 1-90 1-619 twoto17m1 const numeric ; DEF: 1-56 ; REF: 1-619 twoto18 const numeric ; DEF: 1-57 ; REF: 1-58 1-59 1-71 twoto4 const numeric ; DEF: 1-45 ; REF: 1-46 twoto6 const numeric ; DEF: 1-46 ; REF: 1-47 1-52 twoto8 const numeric ; DEF: 1-47 ; REF: 1-48 1-49 1-52 1-69 1-89 1-620 twoto8m1 const numeric ; DEF: 1-48 ; REF: 1-620 twoto9 const numeric ; DEF: 1-49 ; REF: 1-50 1-59 1-91 tx6 const scalar, ord=14 ; DEF: 1-767 ; REF: 2148 tx7 const scalar, ord=15 ; DEF: 1-767 ; REF: 1-778 2149 typecode var local to readir, loc:210, size:4 ; integer ; DEF: 700 ; REF: 823* 831* 834* 836* 846 850 typecode var local to writeir, loc:221, size:4 ; integer ; DEF: 317 ; REF: 455* 468* 471* 475* 478* 482* 489* 494* 498* 511* 519 552 575 576* 590 599 600 604 typefct var parameter of insapp, size:4 ; integer ; DEF: 1700 ; REF: 1732 1739 typeio var parameter of getput, size:4 ; integer ; DEF: 908 ; REF: 945 962 978 986 1018 typeofop type scalar ; DEF: 1-919 ; REF: 196 typepr type scalar ; DEF: 1-917 ; REF: 194 typeread var parameter of readir, size:4 ; integer ; DEF: 670 ; REF: 707 711 types const scalar, ord=1 ; DEF: 1-415 ; REF: 1-523 typewrite var parameter of writeir, size:4 ; integer ; DEF: 279 ; REF: 325 331 384 643 647 typform type scalar ; DEF: 1-412 ; REF: 1-533 typofsymb type scalar ; DEF: 1-669 ; REF: 159 typset field disp:220, size:10 ; pointer ; DEF: 1-540 ; REF: 473 827 1146 typtr field disp:0, size:10 ; pointer ; DEF: 1-851 ; REF: 369 371 418 424 427 433 435 453 466 473 473* 473 474 477 499 501 503 535 536 580 581 750 751 793 798 810 815 817 821 825 827 827 828 833 835 853 858 859 954 955 961 985 992 996 1005 1015 1108 1109 1179 1183 1324 1326 1446 1448 1459 1464 1473 1476 1478 1485 1503 1623 1629 1631 1632 1745 1746 1778 1779 1805 1806 1909* 1909* 1909* 1916 1918 1919 1921 1926 1931 1932 1945* 1945 1958 1962 1969 1972 1999 2000 2001 2001 2003 2009 2009 2009 2010 2015* 2015 2027 2031 2038 2042 2043 2044 2044 2046 2052 2052 2052 2057* 2057 2068 2209 2237 2264 2266 2351 2352 2360 2362 2401 2402 2411 2413 2424 2426 usednameaddr var global imported, size:10 ; pointer ; DEF: 180 ; REF: 102 339* 373* 399* 721* 776* 957* 1674* usednamesarray type packed array of (pointer) ; DEF: 1-973 ; REF: 1-974 1-974 vaddr field disp:140, size:4 ; integer ; DEF: 1-599 ; REF: 342 402 724 779 val field disp:14, size:4 ; integer ; DEF: 1-902 ; REF: 1783 1783 1785* 1787 1984 1984* 1984 2081 2082 2083* 2083 2275 valplacew const numeric ; DEF: 1-290 ; REF: 459 464 554 813 values field disp:144, size:4 ; integer ; DEF: 1-567 ; REF: 821 1134 1488 1637 var_string var local to dateandtime, loc:174, size:4 ; boolean ; DEF: 1606 ; REF: 1627* 1635* 1655 vararea type scalar ; DEF: 1-939 ; REF: 1-953 varbl const scalar, ord=0 ; DEF: 1-812 ; REF: 1-854 1674 variab proc level 0, imported ; DEF: 240 ; REF: 56 789 953 1106 1471 1621 1744 1804 1914 1967 2036 2207 2235 2349 2399 variabismade var local to readir, loc:143, size:4 ; boolean ; DEF: 691 ; REF: 713* 766* 769* 786 791* variable proc level 0, imported ; DEF: 257 ; REF: 59 749 variants field disp:120, size:10 ; pointer ; DEF: 1-611 ; REF: 1156 1163 varissimple funct level 0, imported ; boolean ; DEF: 269 ; REF: 69 1201 1750 1810 2217 2245 vars const scalar, ord=4 ; DEF: 1-415 ; REF: 1-596 362 743 vlev field disp:14, size:4 ; numeric 0..20 ; DEF: 1-855 ; REF: 1946* 1946 2016* 2016 2058* 2058 vtype field disp:120, size:10 ; pointer ; DEF: 1-596 ; REF: 363 364 424 425 524 641 744 745 798 799 808 891 vwith const scalar, ord=2 ; DEF: 1-622 ; REF: 1-637 wcstpt type pointer ; DEF: 1-824 ; REF: 1-831 whatisit var parameter of dateandtime, size:4 ; integer ; DEF: 1586 ; REF: 1613 1652 where type scalar ; DEF: 1-622 ; REF: 1-634 withblock const scalar, ord=1 ; DEF: 1-938 ; REF: 1-952 withreflist type record ; DEF: 1-626 ; REF: 1-636 1-637 wordconst const scalar, ord=0 ; DEF: 1-416 ; REF: 1-567 wordsforset const numeric ; DEF: 1-109 ; REF: 1-110 1-111 1-112 wordsinpage const numeric ; DEF: 1-68 ; REF: 1-70 wordsinsegment const numeric ; DEF: 1-70 ; REF: 1-73 writelnplace const numeric ; DEF: 1-170 ; REF: 645 writeseqplace const numeric ; DEF: 1-169 ; REF: 520 writetextplace const numeric ; DEF: 1-168 ; REF: 614 zari type scalar ; DEF: 1-799 ; REF: 178 179 zptr type scalar ; DEF: 1-791 ; REF: 216 NAMES DECLARED AND NEVER REFERENCED a0b0c0 const scalar, ord=0 ; DEF: 1-795 a0b0c1 const scalar, ord=1 ; DEF: 1-795 a0b1c0 const scalar, ord=4 ; DEF: 1-795 a0b1c1 const scalar, ord=5 ; DEF: 1-795 a0r0i0 const scalar, ord=0 ; DEF: 1-799 a0r0i1 const scalar, ord=1 ; DEF: 1-799 a0r1i0 const scalar, ord=2 ; DEF: 1-799 a0r1i1 const scalar, ord=3 ; DEF: 1-799 a1b0c0 const scalar, ord=2 ; DEF: 1-795 a1b0c1 const scalar, ord=3 ; DEF: 1-795 a1b1c0 const scalar, ord=6 ; DEF: 1-795 a1b1c1 const scalar, ord=7 ; DEF: 1-795 a1r0i1 const scalar, ord=5 ; DEF: 1-799 a1r1i1 const scalar, ord=7 ; DEF: 1-799 absl * const numeric ; DEF: 1-334 accbloc field disp:20, size:10 ; pointer ; DEF: 1-910 accbool field disp:30, size:4 ; boolean ; DEF: 1-911 activated field disp:54, size:4 ; boolean ; DEF: 1-967 active field disp:50, size:4 ; boolean ; DEF: 1-967 actual const scalar, ord=0 ; DEF: 1-406 add const scalar, ord=3 ; DEF: 1-919 adlx const scalar, ord=0 ; DEF: 1-918 adx const scalar, ord=1 ; DEF: 1-918 alfa * type packed array of (char) ; DEF: 1-398 alfadeb field disp:150, size:10 ; pointer ; DEF: 1-569 alfalevel field disp:164, size:4 ; integer ; DEF: 1-570 alfathread field disp:50, size:10 ; pointer ; DEF: 1-510 alfaval field disp:10, size:20 ; array of (char) ; DEF: 1-422 argcextplace * const numeric ; DEF: 1-205 argcplace * const numeric ; DEF: 1-204 argcshortplace * const numeric ; DEF: 1-203 argptw * const numeric ; DEF: 1-280 argvstat * proc level 0, exportable ; DEF: 1394 ; REF: 125 arraybound const scalar, ord=2 ; DEF: 1-406 askforexclusionplace * const numeric ; DEF: 1-363 bad_date_time_parameter * const numeric ; DEF: 1-269 bad_string_index * const numeric ; DEF: 1-268 baseprocessdplmt * const numeric ; DEF: 1-345 begsy const scalar, ord=1 ; DEF: 1-669 binartypeptr * type pointer ; DEF: 1-811 bit29 * const numeric ; DEF: 1-142 bitsforset * const numeric ; DEF: 1-111 bitsindword * const numeric ; DEF: 1-80 bitsinhword * const numeric ; DEF: 1-79 blank const alphanumeric, 8 char(s) ; DEF: 1-138 blocenglob field disp:270, size:10 ; pointer ; DEF: 1-561 blockbox field disp:60, size:10 ; pointer ; DEF: 1-946 blocktp field disp:50, size:4 ; scalar ; DEF: 1-944 brother field disp:20, size:10 ; pointer ; DEF: 1-645 brother field disp:10, size:10 ; pointer ; DEF: 1-941 byteinbyte * const numeric ; DEF: 1-81 bytesforset * const numeric ; DEF: 1-110 byteshift * const numeric ; DEF: 1-82 bytint * type numeric -256..255 ; DEF: 1-620 bytwidth field disp:134, size:4 ; integer ; DEF: 1-609 cadrage field disp:120, size:4 ; integer ; DEF: 1-524 caserrcode * const numeric ; DEF: 1-253 cdspl field disp:344, size:4 ; integer ; DEF: 1-636 chaineentree field disp:260, size:10 ; pointer ; DEF: 1-583 checkbeforeeofplace * const numeric ; DEF: 1-157 checkbeforeeolnplace * const numeric ; DEF: 1-156 checkbeforetextreferenceplace * const numeric ; DEF: 1-158 checkbit * const numeric ; DEF: 1-236 chrerrcode * const numeric ; DEF: 1-245 clevel field disp:340, size:4 ; numeric 0..20 ; DEF: 1-636 clockopplace * const numeric ; DEF: 1-198 closeplace * const numeric ; DEF: 1-164 cmp const scalar, ord=5 ; DEF: 1-919 code const scalar, ord=1 ; DEF: 1-623 codebegin field disp:30, size:4 ; integer ; DEF: 1-942 codeend field disp:34, size:4 ; integer ; DEF: 1-942 compiled field disp:4, size:4 ; boolean ; DEF: 1-467 condcounterplace * const numeric ; DEF: 1-343 condit const scalar, ord=2 ; DEF: 1-460 condname field disp:0, size:40 ; packed array of (char) ; DEF: 1-965 confdimsize * const numeric ; DEF: 1-276 contexte * type scalar ; DEF: 1-623 creflist field disp:20, size:320 ; record ; DEF: 1-636 cstnext field disp:10, size:10 ; pointer ; DEF: 1-831 cstplace field disp:4, size:4 ; integer ; DEF: 1-830 current_parameter field disp:30, size:10 ; pointer ; DEF: 1-489 current_token field disp:20, size:10 ; pointer ; DEF: 1-488 data const scalar, ord=0 ; DEF: 1-623 dateandtime * proc level 0, exportable ; DEF: 1586 ; REF: 126 dclfile field disp:40, size:4 ; integer ; DEF: 1-647 dclline field disp:44, size:4 ; integer ; DEF: 1-647 deccode const scalar, ord=4 ; DEF: 1-623 deffile field disp:60, size:4 ; integer ; DEF: 1-511 deffile field disp:50, size:4 ; integer ; DEF: 1-648 definition const scalar, ord=3 ; DEF: 1-623 defline field disp:64, size:4 ; integer ; DEF: 1-511 defline field disp:54, size:4 ; integer ; DEF: 1-648 delete_negative_length_error * const numeric ; DEF: 1-265 delete_offset_error * const numeric ; DEF: 1-264 delete_string * proc level 0, exportable ; DEF: 2385 ; REF: 127 delete_too_long_error * const numeric ; DEF: 1-266 desc_vector_references field disp:170, size:4 ; integer ; DEF: 1-531 direct const scalar, ord=0 ; DEF: 1-813 displimit * const numeric ; DEF: 1-15 diverrcode * const numeric ; DEF: 1-251 dlkdepw * const numeric ; DEF: 1-285 domain field disp:210, size:10 ; pointer ; DEF: 1-542 dopevectorsize * const numeric ; DEF: 1-274 dummy * var local to delete_string, loc:256, size:4 ; boolean ; DEF: 2391 dummy * var local to insert_string, loc:256, size:4 ; boolean ; DEF: 2332 elem field disp:20, size:10 ; pointer ; DEF: 1-475 elset field disp:210, size:10 ; pointer ; DEF: 1-544 emptyindex * const numeric ; DEF: 1-385 emptyplace * const numeric ; DEF: 1-367 encode const scalar, ord=3 ; DEF: 1-813 eofb * const numeric ; DEF: 1-315 eofeolnerrcode * const numeric ; DEF: 1-257 eofw * const numeric ; DEF: 1-314 eolnb * const numeric ; DEF: 1-317 eolnw * const numeric ; DEF: 1-316 epp const scalar, ord=0 ; DEF: 1-917 errorcond * const numeric ; DEF: 1-106 exceptcodeplace * const numeric ; DEF: 1-189 executionmodplmt * const numeric ; DEF: 1-346 exitdplmt field disp:10, size:4 ; integer ; DEF: 1-481 exitplace * const numeric ; DEF: 1-379 exportable const scalar, ord=3 ; DEF: 1-406 exportproc const scalar, ord=4 ; DEF: 1-442 exportvar const scalar, ord=2 ; DEF: 1-441 extareadisp field disp:254, size:4 ; integer ; DEF: 1-454 extcallplace * const numeric ; DEF: 1-194 extdecl field disp:230, size:10 ; pointer ; DEF: 1-450 extdef const scalar, ord=2 ; DEF: 1-417 extend_stack_op_place * const numeric ; DEF: 1-226 extentryname field disp:140, size:40 ; packed array of (char) ; DEF: 1-447 extentryplace * const numeric ; DEF: 1-155 externalarea const scalar, ord=1 ; DEF: 1-441 externid * type packed array of (char) ; DEF: 1-400 extgenerator field disp:100, size:40 ; packed array of (char) ; DEF: 1-447 extitemtype field disp:240, size:4 ; scalar ; DEF: 1-451 extkind field disp:244, size:4 ; scalar ; DEF: 1-452 extlong field disp:260, size:4 ; integer ; DEF: 1-455 extname field disp:0, size:40 ; packed array of (char) ; DEF: 1-446 extnext field disp:200, size:10 ; pointer ; DEF: 1-448 extnotresolved const scalar, ord=0 ; DEF: 1-441 extpltdisp field disp:250, size:4 ; integer ; DEF: 1-453 extreturnplace * const numeric ; DEF: 1-191 extrfile1 field disp:210, size:4 ; integer ; DEF: 1-449 extrfile2 field disp:220, size:4 ; integer ; DEF: 1-449 extrline1 field disp:214, size:4 ; integer ; DEF: 1-449 extrline2 field disp:224, size:4 ; integer ; DEF: 1-449 extsegname field disp:40, size:40 ; packed array of (char) ; DEF: 1-447 extwantdescs field disp:264, size:4 ; boolean ; DEF: 1-456 fastbit * const numeric ; DEF: 1-235 father field disp:0, size:10 ; pointer ; DEF: 1-941 fconst field disp:210, size:10 ; pointer ; DEF: 1-538 fctdepl * const numeric ; DEF: 1-287 fctdeplw * const numeric ; DEF: 1-286 fdescsize * const numeric ; DEF: 1-304 filen field disp:0, size:4 ; integer ; DEF: 1-430 fillimit * const numeric ; DEF: 1-17 finitdef const scalar, ord=4 ; DEF: 1-417 finitmoproc field disp:260, size:10 ; pointer ; DEF: 1-561 first field disp:20, size:10 ; pointer ; DEF: 1-657 first field disp:40, size:10 ; pointer ; DEF: 1-943 first_in_block field disp:20, size:10 ; pointer ; DEF: 1-666 firstfield field disp:140, size:10 ; pointer ; DEF: 1-614 firstglobal * const numeric ; DEF: 1-298 firstlabel field disp:100, size:10 ; pointer ; DEF: 1-948 fldaddr field disp:130, size:4 ; integer ; DEF: 1-609 fldtype field disp:120, size:10 ; pointer ; DEF: 1-608 fllengthb * const numeric ; DEF: 1-313 fllengthw * const numeric ; DEF: 1-309 flls const scalar, ord=0 ; DEF: 1-786 fname field disp:0, size:10 ; pointer ; DEF: 1-633 forerricode * const numeric ; DEF: 1-248 forerrscode * const numeric ; DEF: 1-249 formal const scalar, ord=1 ; DEF: 1-406 formal_parameter_list field disp:130, size:10 ; pointer ; DEF: 1-519 formals field disp:130, size:10 ; pointer ; DEF: 1-571 forset * type scalar ; DEF: 1-807 forwdef const scalar, ord=1 ; DEF: 1-417 fposb * const numeric ; DEF: 1-311 fposw * const numeric ; DEF: 1-307 freeexclusionplace * const numeric ; DEF: 1-364 french_bit * const numeric ; DEF: 1-240 fsbpointersize * const numeric ; DEF: 1-305 fsizeb * const numeric ; DEF: 1-312 fsizew * const numeric ; DEF: 1-308 fstatusb * const numeric ; DEF: 1-310 fstatusw * const numeric ; DEF: 1-306 fstfld field disp:210, size:10 ; pointer ; DEF: 1-554 functionvaluecheckplace * const numeric ; DEF: 1-225 functionvaluesetplace * const numeric ; DEF: 1-224 fxls const scalar, ord=1 ; DEF: 1-786 fxns const scalar, ord=3 ; DEF: 1-786 fxts const scalar, ord=2 ; DEF: 1-786 getput * proc level 0, exportable ; DEF: 908 ; REF: 128 gotoexitextplace * const numeric ; DEF: 1-159 gotoexitplace * const numeric ; DEF: 1-176 hdrfil field disp:120, size:4 ; integer ; DEF: 1-950 hdrind field disp:124, size:4 ; integer ; DEF: 1-950 hdrlen field disp:130, size:4 ; integer ; DEF: 1-950 hdrlin field disp:134, size:4 ; integer ; DEF: 1-950 high const scalar, ord=3 ; DEF: 1-624 holdplace * const numeric ; DEF: 1-358 ia4bd const scalar, ord=501 ; DEF: 1-751 ia6bd const scalar, ord=502 ; DEF: 1-751 iaar0 const scalar, ord=449 ; DEF: 1-745 iaar1 const scalar, ord=450 ; DEF: 1-745 iaar2 const scalar, ord=451 ; DEF: 1-745 iaar3 const scalar, ord=452 ; DEF: 1-745 iaar4 const scalar, ord=453 ; DEF: 1-745 iaar5 const scalar, ord=454 ; DEF: 1-745 iaar6 const scalar, ord=455 ; DEF: 1-745 iaar7 const scalar, ord=456 ; DEF: 1-745 iabd const scalar, ord=504 ; DEF: 1-751 iabsa const scalar, ord=447 ; DEF: 1-743 iad2d const scalar, ord=530 ; DEF: 1-756 iad3d const scalar, ord=536 ; DEF: 1-757 iadaq const scalar, ord=85 ; DEF: 1-689 iade const scalar, ord=206 ; DEF: 1-705 iadl const scalar, ord=86 ; DEF: 1-689 iadla const scalar, ord=87 ; DEF: 1-689 iadlaq const scalar, ord=88 ; DEF: 1-690 iadlq const scalar, ord=89 ; DEF: 1-690 iadlx0 const scalar, ord=90 ; DEF: 1-690 iadlx1 const scalar, ord=91 ; DEF: 1-690 iadlx2 const scalar, ord=92 ; DEF: 1-690 iadlx3 const scalar, ord=93 ; DEF: 1-690 iadlx4 const scalar, ord=94 ; DEF: 1-690 iadlx5 const scalar, ord=95 ; DEF: 1-690 iadlx6 const scalar, ord=96 ; DEF: 1-691 iadlx7 const scalar, ord=97 ; DEF: 1-691 iadwp0 const scalar, ord=361 ; DEF: 1-728 iadwp1 const scalar, ord=362 ; DEF: 1-728 iadwp2 const scalar, ord=363 ; DEF: 1-728 iadwp3 const scalar, ord=364 ; DEF: 1-728 iadwp4 const scalar, ord=365 ; DEF: 1-728 iadwp5 const scalar, ord=366 ; DEF: 1-728 iadwp6 const scalar, ord=367 ; DEF: 1-729 iadwp7 const scalar, ord=368 ; DEF: 1-729 iadx0 const scalar, ord=99 ; DEF: 1-691 iadx1 const scalar, ord=100 ; DEF: 1-691 iadx2 const scalar, ord=101 ; DEF: 1-691 iadx3 const scalar, ord=102 ; DEF: 1-691 iadx4 const scalar, ord=103 ; DEF: 1-691 iadx5 const scalar, ord=104 ; DEF: 1-692 iadx6 const scalar, ord=105 ; DEF: 1-692 iadx7 const scalar, ord=106 ; DEF: 1-692 ialr const scalar, ord=72 ; DEF: 1-688 ials const scalar, ord=73 ; DEF: 1-688 iana const scalar, ord=210 ; DEF: 1-708 ianaq const scalar, ord=211 ; DEF: 1-708 ianq const scalar, ord=212 ; DEF: 1-708 iansa const scalar, ord=213 ; DEF: 1-708 iansq const scalar, ord=214 ; DEF: 1-708 iansx0 const scalar, ord=215 ; DEF: 1-708 iansx1 const scalar, ord=216 ; DEF: 1-708 iansx2 const scalar, ord=217 ; DEF: 1-708 iansx3 const scalar, ord=218 ; DEF: 1-709 iansx4 const scalar, ord=219 ; DEF: 1-709 iansx5 const scalar, ord=220 ; DEF: 1-709 iansx6 const scalar, ord=221 ; DEF: 1-709 iansx7 const scalar, ord=222 ; DEF: 1-709 ianx0 const scalar, ord=223 ; DEF: 1-709 ianx1 const scalar, ord=224 ; DEF: 1-709 ianx2 const scalar, ord=225 ; DEF: 1-709 ianx3 const scalar, ord=226 ; DEF: 1-710 ianx4 const scalar, ord=227 ; DEF: 1-710 ianx5 const scalar, ord=228 ; DEF: 1-710 ianx6 const scalar, ord=229 ; DEF: 1-710 ianx7 const scalar, ord=230 ; DEF: 1-710 iaos const scalar, ord=107 ; DEF: 1-692 iara0 const scalar, ord=475 ; DEF: 1-748 iara1 const scalar, ord=476 ; DEF: 1-748 iara2 const scalar, ord=477 ; DEF: 1-748 iara3 const scalar, ord=478 ; DEF: 1-748 iara4 const scalar, ord=479 ; DEF: 1-748 iara5 const scalar, ord=480 ; DEF: 1-748 iara6 const scalar, ord=481 ; DEF: 1-749 iara7 const scalar, ord=482 ; DEF: 1-749 iarl const scalar, ord=74 ; DEF: 1-688 iarn0 const scalar, ord=483 ; DEF: 1-749 iarn1 const scalar, ord=484 ; DEF: 1-749 iarn2 const scalar, ord=485 ; DEF: 1-749 iarn3 const scalar, ord=486 ; DEF: 1-749 iarn4 const scalar, ord=487 ; DEF: 1-749 iarn5 const scalar, ord=488 ; DEF: 1-749 iarn6 const scalar, ord=489 ; DEF: 1-750 iarn7 const scalar, ord=490 ; DEF: 1-750 iasa const scalar, ord=108 ; DEF: 1-692 iasq const scalar, ord=109 ; DEF: 1-692 iasx0 const scalar, ord=110 ; DEF: 1-692 iasx1 const scalar, ord=111 ; DEF: 1-692 iasx2 const scalar, ord=112 ; DEF: 1-693 iasx3 const scalar, ord=113 ; DEF: 1-693 iasx4 const scalar, ord=114 ; DEF: 1-693 iasx5 const scalar, ord=115 ; DEF: 1-693 iasx6 const scalar, ord=116 ; DEF: 1-693 iasx7 const scalar, ord=117 ; DEF: 1-693 iawca const scalar, ord=118 ; DEF: 1-693 iawcq const scalar, ord=119 ; DEF: 1-693 iawd const scalar, ord=505 ; DEF: 1-752 ibcd const scalar, ord=419 ; DEF: 1-738 ibtd const scalar, ord=528 ; DEF: 1-756 ic_from field disp:0, size:4 ; integer ; DEF: 1-651 ic_to field disp:4, size:4 ; integer ; DEF: 1-651 icall6 const scalar, ord=370 ; DEF: 1-731 icamp const scalar, ord=438 ; DEF: 1-742 icams const scalar, ord=439 ; DEF: 1-742 icana const scalar, ord=273 ; DEF: 1-715 icanaq const scalar, ord=274 ; DEF: 1-716 icanq const scalar, ord=275 ; DEF: 1-716 icanx0 const scalar, ord=276 ; DEF: 1-716 icanx1 const scalar, ord=277 ; DEF: 1-716 icanx2 const scalar, ord=278 ; DEF: 1-716 icanx3 const scalar, ord=279 ; DEF: 1-716 icanx4 const scalar, ord=280 ; DEF: 1-716 icanx5 const scalar, ord=281 ; DEF: 1-716 icanx6 const scalar, ord=282 ; DEF: 1-717 icanx7 const scalar, ord=283 ; DEF: 1-717 icioc const scalar, ord=443 ; DEF: 1-742 icmg const scalar, ord=160 ; DEF: 1-699 icmk const scalar, ord=161 ; DEF: 1-699 icmpaq const scalar, ord=163 ; DEF: 1-699 icmpb const scalar, ord=527 ; DEF: 1-756 icmpn const scalar, ord=525 ; DEF: 1-755 icmpq const scalar, ord=164 ; DEF: 1-699 icmpx0 const scalar, ord=165 ; DEF: 1-699 icmpx1 const scalar, ord=166 ; DEF: 1-699 icmpx2 const scalar, ord=167 ; DEF: 1-699 icmpx3 const scalar, ord=168 ; DEF: 1-700 icmpx4 const scalar, ord=169 ; DEF: 1-700 icmpx5 const scalar, ord=170 ; DEF: 1-700 icmpx6 const scalar, ord=171 ; DEF: 1-700 icmpx7 const scalar, ord=172 ; DEF: 1-700 icnaa const scalar, ord=284 ; DEF: 1-717 icnaaq const scalar, ord=285 ; DEF: 1-717 icnaq const scalar, ord=286 ; DEF: 1-717 icnax0 const scalar, ord=287 ; DEF: 1-717 icnax1 const scalar, ord=288 ; DEF: 1-717 icnax2 const scalar, ord=289 ; DEF: 1-717 icnax3 const scalar, ord=290 ; DEF: 1-718 icnax4 const scalar, ord=291 ; DEF: 1-718 icnax5 const scalar, ord=292 ; DEF: 1-718 icnax6 const scalar, ord=293 ; DEF: 1-718 icnax7 const scalar, ord=294 ; DEF: 1-718 icsl const scalar, ord=519 ; DEF: 1-755 icsr const scalar, ord=520 ; DEF: 1-755 icwl const scalar, ord=173 ; DEF: 1-700 idfad const scalar, ord=182 ; DEF: 1-702 idfcmg const scalar, ord=202 ; DEF: 1-705 idfcmp const scalar, ord=203 ; DEF: 1-705 idfdi const scalar, ord=194 ; DEF: 1-704 idfdv const scalar, ord=195 ; DEF: 1-704 idfld const scalar, ord=176 ; DEF: 1-702 idfmp const scalar, ord=190 ; DEF: 1-703 idfrd const scalar, ord=200 ; DEF: 1-705 idfsb const scalar, ord=186 ; DEF: 1-703 idfst const scalar, ord=178 ; DEF: 1-702 idfstr const scalar, ord=179 ; DEF: 1-702 idis const scalar, ord=448 ; DEF: 1-743 idiv const scalar, ord=156 ; DEF: 1-698 idrl const scalar, ord=407 ; DEF: 1-737 idtb const scalar, ord=529 ; DEF: 1-756 idufa const scalar, ord=183 ; DEF: 1-702 idufm const scalar, ord=191 ; DEF: 1-703 idufs const scalar, ord=187 ; DEF: 1-703 idv2d const scalar, ord=533 ; DEF: 1-756 idvf const scalar, ord=157 ; DEF: 1-698 ieaq const scalar, ord=1 ; DEF: 1-679 ieasp0 const scalar, ord=295 ; DEF: 1-720 ieasp1 const scalar, ord=296 ; DEF: 1-720 ieasp2 const scalar, ord=297 ; DEF: 1-720 ieasp3 const scalar, ord=298 ; DEF: 1-720 ieasp4 const scalar, ord=299 ; DEF: 1-720 ieasp5 const scalar, ord=300 ; DEF: 1-720 ieasp6 const scalar, ord=301 ; DEF: 1-720 ieasp7 const scalar, ord=302 ; DEF: 1-720 ieawp0 const scalar, ord=303 ; DEF: 1-721 ieawp1 const scalar, ord=304 ; DEF: 1-721 ieawp2 const scalar, ord=305 ; DEF: 1-721 ieawp3 const scalar, ord=306 ; DEF: 1-721 ieawp4 const scalar, ord=307 ; DEF: 1-721 ieawp5 const scalar, ord=308 ; DEF: 1-721 ieawp6 const scalar, ord=309 ; DEF: 1-721 ieawp7 const scalar, ord=310 ; DEF: 1-721 ieax0 const scalar, ord=2 ; DEF: 1-679 ieax1 const scalar, ord=3 ; DEF: 1-679 ieax2 const scalar, ord=4 ; DEF: 1-679 ieax3 const scalar, ord=5 ; DEF: 1-679 ieax4 const scalar, ord=6 ; DEF: 1-679 ieax5 const scalar, ord=7 ; DEF: 1-679 iepaq const scalar, ord=369 ; DEF: 1-729 iepbp0 const scalar, ord=311 ; DEF: 1-722 iepbp1 const scalar, ord=312 ; DEF: 1-722 iepbp2 const scalar, ord=313 ; DEF: 1-722 iepbp3 const scalar, ord=314 ; DEF: 1-722 iepbp4 const scalar, ord=315 ; DEF: 1-722 iepbp5 const scalar, ord=316 ; DEF: 1-722 iepbp6 const scalar, ord=317 ; DEF: 1-722 iepbp7 const scalar, ord=318 ; DEF: 1-722 iepp0 const scalar, ord=319 ; DEF: 1-723 iepp4 const scalar, ord=323 ; DEF: 1-723 iepp5 const scalar, ord=324 ; DEF: 1-723 iepp6 const scalar, ord=325 ; DEF: 1-723 iepp7 const scalar, ord=326 ; DEF: 1-723 iera const scalar, ord=252 ; DEF: 1-713 ieraq const scalar, ord=253 ; DEF: 1-713 ierq const scalar, ord=254 ; DEF: 1-713 iersa const scalar, ord=255 ; DEF: 1-713 iersq const scalar, ord=256 ; DEF: 1-713 iersx0 const scalar, ord=257 ; DEF: 1-713 iersx1 const scalar, ord=258 ; DEF: 1-714 iersx2 const scalar, ord=259 ; DEF: 1-714 iersx3 const scalar, ord=260 ; DEF: 1-714 iersx4 const scalar, ord=261 ; DEF: 1-714 iersx5 const scalar, ord=262 ; DEF: 1-714 iersx6 const scalar, ord=263 ; DEF: 1-714 iersx7 const scalar, ord=264 ; DEF: 1-714 ierx0 const scalar, ord=265 ; DEF: 1-714 ierx1 const scalar, ord=266 ; DEF: 1-715 ierx2 const scalar, ord=267 ; DEF: 1-715 ierx3 const scalar, ord=268 ; DEF: 1-715 ierx4 const scalar, ord=269 ; DEF: 1-715 ierx5 const scalar, ord=270 ; DEF: 1-715 ierx6 const scalar, ord=271 ; DEF: 1-715 ierx7 const scalar, ord=272 ; DEF: 1-715 ifad const scalar, ord=184 ; DEF: 1-703 ifcmg const scalar, ord=204 ; DEF: 1-705 ifcmp const scalar, ord=205 ; DEF: 1-705 ifdi const scalar, ord=196 ; DEF: 1-704 ifdv const scalar, ord=197 ; DEF: 1-704 ifld const scalar, ord=177 ; DEF: 1-702 ifmp const scalar, ord=192 ; DEF: 1-704 ifneg const scalar, ord=198 ; DEF: 1-704 ifno const scalar, ord=199 ; DEF: 1-704 ifrd const scalar, ord=201 ; DEF: 1-705 ifsb const scalar, ord=188 ; DEF: 1-703 ifst const scalar, ord=180 ; DEF: 1-702 ifstr const scalar, ord=181 ; DEF: 1-702 ifszn const scalar, ord=207 ; DEF: 1-705 igtb const scalar, ord=420 ; DEF: 1-738 ilar0 const scalar, ord=457 ; DEF: 1-746 ilar1 const scalar, ord=458 ; DEF: 1-746 ilar2 const scalar, ord=459 ; DEF: 1-746 ilar3 const scalar, ord=460 ; DEF: 1-746 ilar4 const scalar, ord=461 ; DEF: 1-746 ilar5 const scalar, ord=462 ; DEF: 1-746 ilar6 const scalar, ord=463 ; DEF: 1-746 ilar7 const scalar, ord=464 ; DEF: 1-746 ilareg const scalar, ord=465 ; DEF: 1-747 ilbar const scalar, ord=421 ; DEF: 1-740 ilca const scalar, ord=10 ; DEF: 1-680 ilcaq const scalar, ord=11 ; DEF: 1-680 ilcpr const scalar, ord=422 ; DEF: 1-740 ilcq const scalar, ord=12 ; DEF: 1-680 ilcx0 const scalar, ord=13 ; DEF: 1-680 ilcx1 const scalar, ord=14 ; DEF: 1-680 ilcx2 const scalar, ord=15 ; DEF: 1-680 ilcx3 const scalar, ord=16 ; DEF: 1-681 ilcx4 const scalar, ord=17 ; DEF: 1-681 ilcx5 const scalar, ord=18 ; DEF: 1-681 ilcx6 const scalar, ord=19 ; DEF: 1-681 ilcx7 const scalar, ord=20 ; DEF: 1-681 ildac const scalar, ord=22 ; DEF: 1-681 ildbr const scalar, ord=423 ; DEF: 1-740 ilde const scalar, ord=208 ; DEF: 1-706 ildi const scalar, ord=24 ; DEF: 1-682 ildqc const scalar, ord=26 ; DEF: 1-682 ildt const scalar, ord=424 ; DEF: 1-740 ildx0 const scalar, ord=27 ; DEF: 1-682 ildx1 const scalar, ord=28 ; DEF: 1-682 ildx2 const scalar, ord=29 ; DEF: 1-682 ildx3 const scalar, ord=30 ; DEF: 1-682 ildx4 const scalar, ord=31 ; DEF: 1-682 ildx5 const scalar, ord=32 ; DEF: 1-683 ildx6 const scalar, ord=33 ; DEF: 1-683 ildx7 const scalar, ord=34 ; DEF: 1-683 illr const scalar, ord=76 ; DEF: 1-688 ills const scalar, ord=77 ; DEF: 1-688 ilpl const scalar, ord=466 ; DEF: 1-747 ilpri const scalar, ord=327 ; DEF: 1-724 ilprp0 const scalar, ord=328 ; DEF: 1-724 ilprp1 const scalar, ord=329 ; DEF: 1-724 ilprp2 const scalar, ord=330 ; DEF: 1-724 ilprp4 const scalar, ord=332 ; DEF: 1-724 ilprp5 const scalar, ord=333 ; DEF: 1-724 ilprp6 const scalar, ord=334 ; DEF: 1-724 ilprp7 const scalar, ord=335 ; DEF: 1-725 ilptp const scalar, ord=425 ; DEF: 1-740 ilptr const scalar, ord=426 ; DEF: 1-740 ilra const scalar, ord=427 ; DEF: 1-740 ilreg const scalar, ord=35 ; DEF: 1-683 ilrl const scalar, ord=78 ; DEF: 1-688 ilrs const scalar, ord=79 ; DEF: 1-688 ilsdp const scalar, ord=428 ; DEF: 1-740 ilsdr const scalar, ord=429 ; DEF: 1-741 ilxl0 const scalar, ord=36 ; DEF: 1-683 ilxl1 const scalar, ord=37 ; DEF: 1-683 ilxl2 const scalar, ord=38 ; DEF: 1-683 ilxl3 const scalar, ord=39 ; DEF: 1-683 ilxl4 const scalar, ord=40 ; DEF: 1-684 ilxl5 const scalar, ord=41 ; DEF: 1-684 ilxl6 const scalar, ord=42 ; DEF: 1-684 ilxl7 const scalar, ord=43 ; DEF: 1-684 imme const scalar, ord=410 ; DEF: 1-737 imme2 const scalar, ord=411 ; DEF: 1-737 imme3 const scalar, ord=412 ; DEF: 1-737 imme4 const scalar, ord=413 ; DEF: 1-737 imp2d const scalar, ord=532 ; DEF: 1-756 imp3d const scalar, ord=538 ; DEF: 1-757 impf const scalar, ord=154 ; DEF: 1-698 imported const scalar, ord=4 ; DEF: 1-406 importproc const scalar, ord=5 ; DEF: 1-442 importvar const scalar, ord=3 ; DEF: 1-441 impy const scalar, ord=155 ; DEF: 1-698 imrl const scalar, ord=517 ; DEF: 1-754 imve const scalar, ord=534 ; DEF: 1-756 imvn const scalar, ord=526 ; DEF: 1-755 imvne const scalar, ord=535 ; DEF: 1-757 imvt const scalar, ord=518 ; DEF: 1-754 inaq const scalar, ord=2 ; DEF: 1-814 inar0 const scalar, ord=467 ; DEF: 1-747 inar1 const scalar, ord=468 ; DEF: 1-747 inar2 const scalar, ord=469 ; DEF: 1-747 inar3 const scalar, ord=470 ; DEF: 1-747 inar4 const scalar, ord=471 ; DEF: 1-747 inar5 const scalar, ord=472 ; DEF: 1-747 inar6 const scalar, ord=473 ; DEF: 1-748 inar7 const scalar, ord=474 ; DEF: 1-748 ineg const scalar, ord=158 ; DEF: 1-698 inegl const scalar, ord=159 ; DEF: 1-698 inhibit * const numeric ; DEF: 1-143 initcondplace * const numeric ; DEF: 1-362 initdef const scalar, ord=3 ; DEF: 1-417 initfsballocplace * const numeric ; DEF: 1-195 initmoproc field disp:250, size:10 ; pointer ; DEF: 1-561 inpr const scalar, ord=4 ; DEF: 1-814 inpsr const scalar, ord=3 ; DEF: 1-814 insapp * proc level 0, exportable ; DEF: 1700 ; REF: 129 insert_overflow_error * const numeric ; DEF: 1-267 insert_string * proc level 0, exportable ; DEF: 2326 ; REF: 130 instdcompiler const scalar, ord=2 ; DEF: 1-439 instdcomputer const scalar, ord=5 ; DEF: 1-440 instdextend const scalar, ord=4 ; DEF: 1-440 instdpure const scalar, ord=1 ; DEF: 1-439 instdsimone const scalar, ord=6 ; DEF: 1-440 instdsol const scalar, ord=3 ; DEF: 1-439 int15 * const numeric ; DEF: 1-332 int18 * const numeric ; DEF: 1-330 intcallplace * const numeric ; DEF: 1-193 intentryplace * const numeric ; DEF: 1-160 interactivebit * const numeric ; DEF: 1-237 inthelist field disp:0, size:4 ; boolean ; DEF: 1-467 intptr * var global imported, size:10 ; pointer ; DEF: 161 ; REF: 84 intreturnplace * const numeric ; DEF: 1-190 inxbloc field disp:50, size:10 ; pointer ; DEF: 1-867 inxerrcode * const numeric ; DEF: 1-244 inxmem field disp:60, size:4 ; integer ; DEF: 1-868 inxmemrw field disp:64, size:4 ; boolean ; DEF: 1-870 iora const scalar, ord=231 ; DEF: 1-710 ioraq const scalar, ord=232 ; DEF: 1-710 iorsa const scalar, ord=234 ; DEF: 1-711 iorsx0 const scalar, ord=236 ; DEF: 1-711 iorsx1 const scalar, ord=237 ; DEF: 1-711 iorsx2 const scalar, ord=238 ; DEF: 1-711 iorsx3 const scalar, ord=239 ; DEF: 1-711 iorsx4 const scalar, ord=240 ; DEF: 1-711 iorsx5 const scalar, ord=241 ; DEF: 1-711 iorsx6 const scalar, ord=242 ; DEF: 1-712 iorsx7 const scalar, ord=243 ; DEF: 1-712 iorx0 const scalar, ord=244 ; DEF: 1-712 iorx1 const scalar, ord=245 ; DEF: 1-712 iorx2 const scalar, ord=246 ; DEF: 1-712 iorx3 const scalar, ord=247 ; DEF: 1-712 iorx4 const scalar, ord=248 ; DEF: 1-712 iorx5 const scalar, ord=249 ; DEF: 1-712 iorx6 const scalar, ord=250 ; DEF: 1-713 iorx7 const scalar, ord=251 ; DEF: 1-713 iotextbuffersize * const numeric ; DEF: 1-303 iowarningsbit * const numeric ; DEF: 1-238 ipuls1 const scalar, ord=415 ; DEF: 1-738 ipuls2 const scalar, ord=416 ; DEF: 1-738 iqlr const scalar, ord=80 ; DEF: 1-689 iqrl const scalar, ord=82 ; DEF: 1-689 iqrs const scalar, ord=83 ; DEF: 1-689 irccl const scalar, ord=406 ; DEF: 1-737 ircu const scalar, ord=430 ; DEF: 1-741 irept * type scalar subrange ; DEF: 1-783 iret const scalar, ord=371 ; DEF: 1-731 irmcm const scalar, ord=440 ; DEF: 1-742 irpl const scalar, ord=541 ; DEF: 1-759 irrelsy const scalar, ord=0 ; DEF: 1-669 irscr const scalar, ord=441 ; DEF: 1-742 irsw const scalar, ord=442 ; DEF: 1-742 irtcd const scalar, ord=372 ; DEF: 1-731 is4bd const scalar, ord=506 ; DEF: 1-752 is6bd const scalar, ord=507 ; DEF: 1-752 is9bd const scalar, ord=508 ; DEF: 1-752 isar0 const scalar, ord=491 ; DEF: 1-750 isar1 const scalar, ord=492 ; DEF: 1-750 isar2 const scalar, ord=493 ; DEF: 1-750 isar3 const scalar, ord=494 ; DEF: 1-750 isar4 const scalar, ord=495 ; DEF: 1-750 isar5 const scalar, ord=496 ; DEF: 1-750 isar6 const scalar, ord=497 ; DEF: 1-751 isar7 const scalar, ord=498 ; DEF: 1-751 isareg const scalar, ord=499 ; DEF: 1-751 isb2d const scalar, ord=531 ; DEF: 1-756 isb3d const scalar, ord=537 ; DEF: 1-757 isbaq const scalar, ord=121 ; DEF: 1-694 isbar const scalar, ord=418 ; DEF: 1-738 isbd const scalar, ord=509 ; DEF: 1-752 isbla const scalar, ord=122 ; DEF: 1-694 isblaq const scalar, ord=123 ; DEF: 1-694 isblq const scalar, ord=124 ; DEF: 1-694 isblx0 const scalar, ord=125 ; DEF: 1-694 isblx1 const scalar, ord=126 ; DEF: 1-694 isblx2 const scalar, ord=127 ; DEF: 1-694 isblx3 const scalar, ord=128 ; DEF: 1-695 isblx4 const scalar, ord=129 ; DEF: 1-695 isblx5 const scalar, ord=130 ; DEF: 1-695 isblx6 const scalar, ord=131 ; DEF: 1-695 isblx7 const scalar, ord=132 ; DEF: 1-695 isbq const scalar, ord=133 ; DEF: 1-695 isbx0 const scalar, ord=134 ; DEF: 1-695 isbx1 const scalar, ord=135 ; DEF: 1-695 isbx2 const scalar, ord=136 ; DEF: 1-696 isbx3 const scalar, ord=137 ; DEF: 1-696 isbx4 const scalar, ord=138 ; DEF: 1-696 isbx5 const scalar, ord=139 ; DEF: 1-696 isbx6 const scalar, ord=140 ; DEF: 1-696 isbx7 const scalar, ord=141 ; DEF: 1-696 iscd const scalar, ord=523 ; DEF: 1-755 iscdr const scalar, ord=524 ; DEF: 1-755 iscm const scalar, ord=514 ; DEF: 1-754 iscmr const scalar, ord=515 ; DEF: 1-754 iscpr const scalar, ord=431 ; DEF: 1-741 iscu const scalar, ord=432 ; DEF: 1-741 isdbr const scalar, ord=433 ; DEF: 1-741 ismcm const scalar, ord=444 ; DEF: 1-742 ismic const scalar, ord=445 ; DEF: 1-743 ispbp0 const scalar, ord=336 ; DEF: 1-725 ispbp1 const scalar, ord=337 ; DEF: 1-725 ispbp2 const scalar, ord=338 ; DEF: 1-725 ispbp3 const scalar, ord=339 ; DEF: 1-725 ispbp4 const scalar, ord=340 ; DEF: 1-725 ispbp5 const scalar, ord=341 ; DEF: 1-725 ispbp6 const scalar, ord=342 ; DEF: 1-725 ispbp7 const scalar, ord=343 ; DEF: 1-726 ispl const scalar, ord=500 ; DEF: 1-751 ispri const scalar, ord=344 ; DEF: 1-726 ispri0 const scalar, ord=345 ; DEF: 1-726 ispri2 const scalar, ord=347 ; DEF: 1-726 ispri4 const scalar, ord=349 ; DEF: 1-726 ispri5 const scalar, ord=350 ; DEF: 1-726 ispri6 const scalar, ord=351 ; DEF: 1-727 ispri7 const scalar, ord=352 ; DEF: 1-727 isprp0 const scalar, ord=353 ; DEF: 1-727 isprp2 const scalar, ord=355 ; DEF: 1-727 isprp3 const scalar, ord=356 ; DEF: 1-727 isprp4 const scalar, ord=357 ; DEF: 1-727 isprp5 const scalar, ord=358 ; DEF: 1-727 isprp6 const scalar, ord=359 ; DEF: 1-728 isprp7 const scalar, ord=360 ; DEF: 1-728 isptp const scalar, ord=434 ; DEF: 1-741 isptr const scalar, ord=435 ; DEF: 1-741 isra const scalar, ord=417 ; DEF: 1-738 isreg const scalar, ord=44 ; DEF: 1-684 issa const scalar, ord=142 ; DEF: 1-696 isscr const scalar, ord=446 ; DEF: 1-743 issdp const scalar, ord=436 ; DEF: 1-741 issdr const scalar, ord=437 ; DEF: 1-742 issq const scalar, ord=143 ; DEF: 1-696 issx0 const scalar, ord=144 ; DEF: 1-697 issx1 const scalar, ord=145 ; DEF: 1-697 issx2 const scalar, ord=146 ; DEF: 1-697 issx3 const scalar, ord=147 ; DEF: 1-697 issx4 const scalar, ord=148 ; DEF: 1-697 issx5 const scalar, ord=149 ; DEF: 1-697 issx6 const scalar, ord=150 ; DEF: 1-697 issx7 const scalar, ord=151 ; DEF: 1-697 istac const scalar, ord=46 ; DEF: 1-684 istacq const scalar, ord=47 ; DEF: 1-684 istbq const scalar, ord=544 ; DEF: 1-761 istc1 const scalar, ord=49 ; DEF: 1-685 istc2 const scalar, ord=50 ; DEF: 1-685 istca const scalar, ord=545 ; DEF: 1-761 istcd const scalar, ord=51 ; DEF: 1-685 iste const scalar, ord=209 ; DEF: 1-706 isti const scalar, ord=52 ; DEF: 1-685 istobc * type scalar subrange ; DEF: 1-784 istt const scalar, ord=54 ; DEF: 1-685 istx0 const scalar, ord=55 ; DEF: 1-685 istx1 const scalar, ord=56 ; DEF: 1-686 istx2 const scalar, ord=57 ; DEF: 1-686 istx3 const scalar, ord=58 ; DEF: 1-686 istx4 const scalar, ord=59 ; DEF: 1-686 istx5 const scalar, ord=60 ; DEF: 1-686 istx6 const scalar, ord=61 ; DEF: 1-686 istx7 const scalar, ord=62 ; DEF: 1-686 istz const scalar, ord=63 ; DEF: 1-686 iswca const scalar, ord=152 ; DEF: 1-698 iswcq const scalar, ord=153 ; DEF: 1-698 isxl0 const scalar, ord=64 ; DEF: 1-687 isxl1 const scalar, ord=65 ; DEF: 1-687 isxl2 const scalar, ord=66 ; DEF: 1-687 isxl3 const scalar, ord=67 ; DEF: 1-687 isxl4 const scalar, ord=68 ; DEF: 1-687 isxl5 const scalar, ord=69 ; DEF: 1-687 isxl6 const scalar, ord=70 ; DEF: 1-687 isxl7 const scalar, ord=71 ; DEF: 1-687 isznc const scalar, ord=175 ; DEF: 1-700 isztl const scalar, ord=521 ; DEF: 1-755 isztr const scalar, ord=522 ; DEF: 1-755 itct const scalar, ord=511 ; DEF: 1-754 itctr const scalar, ord=512 ; DEF: 1-754 iteo const scalar, ord=373 ; DEF: 1-731 iteu const scalar, ord=374 ; DEF: 1-731 itmi const scalar, ord=375 ; DEF: 1-731 itmoz const scalar, ord=376 ; DEF: 1-731 itnc const scalar, ord=377 ; DEF: 1-731 itov const scalar, ord=379 ; DEF: 1-732 itrc const scalar, ord=383 ; DEF: 1-732 itrtf const scalar, ord=384 ; DEF: 1-732 itrtn const scalar, ord=385 ; DEF: 1-732 itsp0 const scalar, ord=386 ; DEF: 1-733 itsp1 const scalar, ord=387 ; DEF: 1-733 itsp2 const scalar, ord=388 ; DEF: 1-733 itsp4 const scalar, ord=390 ; DEF: 1-733 itsp5 const scalar, ord=391 ; DEF: 1-733 itsp6 const scalar, ord=392 ; DEF: 1-733 itsp7 const scalar, ord=393 ; DEF: 1-733 itss const scalar, ord=394 ; DEF: 1-734 itsx0 const scalar, ord=395 ; DEF: 1-734 itsx1 const scalar, ord=396 ; DEF: 1-734 itsx2 const scalar, ord=397 ; DEF: 1-734 itsx3 const scalar, ord=398 ; DEF: 1-734 itsx4 const scalar, ord=399 ; DEF: 1-734 itsx5 const scalar, ord=400 ; DEF: 1-734 itsx6 const scalar, ord=401 ; DEF: 1-734 itsx7 const scalar, ord=402 ; DEF: 1-735 ittf const scalar, ord=403 ; DEF: 1-735 ittn const scalar, ord=404 ; DEF: 1-735 itze const scalar, ord=405 ; DEF: 1-735 iufa const scalar, ord=185 ; DEF: 1-703 iufm const scalar, ord=193 ; DEF: 1-704 iufs const scalar, ord=189 ; DEF: 1-703 ixec const scalar, ord=408 ; DEF: 1-737 ixed const scalar, ord=409 ; DEF: 1-737 kind field disp:10, size:4 ; scalar ; DEF: 1-494 l4 const scalar, ord=0 ; DEF: 1-785 l6 const scalar, ord=1 ; DEF: 1-785 labbox field disp:30, size:10 ; pointer ; DEF: 1-661 labch1 field disp:14, size:4 ; integer ; DEF: 1-660 labdef field disp:20, size:4 ; integer ; DEF: 1-660 labdescr * type record ; DEF: 1-659 labexit field disp:10, size:4 ; integer ; DEF: 1-660 lablev field disp:4, size:4 ; integer ; DEF: 1-660 labval field disp:0, size:4 ; integer ; DEF: 1-660 lattr * var local to writeir, loc:146, size:150 ; record ; DEF: 302 lcprocess * const numeric ; DEF: 1-382 lengthplace * const numeric ; DEF: 1-368 lgfilename * const numeric ; DEF: 1-302 lgparm1 * const numeric ; DEF: 1-24 lgprint * const numeric ; DEF: 1-102 linen field disp:4, size:4 ; integer ; DEF: 1-430 link15 * const numeric ; DEF: 1-329 link18 * const numeric ; DEF: 1-328 linkage const scalar, ord=2 ; DEF: 1-623 llnext field disp:50, size:10 ; pointer ; DEF: 1-846 llplace field disp:40, size:4 ; integer ; DEF: 1-845 llvalu field disp:0, size:40 ; array of (integer) ; DEF: 1-844 lnext field disp:50, size:10 ; pointer ; DEF: 1-841 load const scalar, ord=0 ; DEF: 1-919 loc1 * var local to writeir, loc:144, size:4 ; integer ; DEF: 301 loc2 * var local to writeir, loc:145, size:4 ; integer ; DEF: 301 localfile const scalar, ord=3 ; DEF: 1-437 localproc const scalar, ord=6 ; DEF: 1-442 locals const scalar, ord=1 ; DEF: 1-939 locinbytes field disp:4, size:4 ; integer ; DEF: 1-643 locincode field disp:164, size:4 ; integer ; DEF: 1-574 log10switch * const numeric ; DEF: 1-150 longblank const alphanumeric, 32 char(s) ; DEF: 1-139 longboxlist * const numeric ; DEF: 1-37 longfill field disp:30, size:4 ; integer ; DEF: 1-423 longprofileplace * const numeric ; DEF: 1-199 longv field disp:70, size:4 ; integer ; DEF: 1-905 lotptrdep * const numeric ; DEF: 1-231 lpclength * const numeric ; DEF: 1-322 lphl * const numeric ; DEF: 1-324 lplace field disp:40, size:4 ; integer ; DEF: 1-840 lprp const scalar, ord=2 ; DEF: 1-917 lvalu field disp:0, size:40 ; array of (integer) ; DEF: 1-839 lxl const scalar, ord=3 ; DEF: 1-918 mainbit * const numeric ; DEF: 1-234 maindplmt * const numeric ; DEF: 1-347 mainentryplace * const numeric ; DEF: 1-154 mainprogram const scalar, ord=7 ; DEF: 1-442 mathworksizew * const numeric ; DEF: 1-133 max10 * const numeric ; DEF: 1-118 maxchar * const numeric ; DEF: 1-96 maxchar8 * const numeric ; DEF: 1-338 maxdig * const numeric ; DEF: 1-115 maxdigitsinteger * const numeric ; DEF: 1-121 maxerpg * const numeric ; DEF: 1-20 maxerrline * const numeric ; DEF: 1-19 maxexp * const numeric ; DEF: 1-119 maxexpon * const numeric ; DEF: 1-116 maxglobsize * const numeric ; DEF: 1-71 maxhexdi * const numeric ; DEF: 1-117 maxint * const numeric ; DEF: 1-84 maxintegerstring const alphanumeric, 20 char(s) ; DEF: 1-123 maxkeylength * const numeric ; DEF: 1-31 maxlabs * const numeric ; DEF: 1-16 maxlinepascal * const numeric ; DEF: 1-100 maxnbofkeywords * const numeric ; DEF: 1-29 maxpage * const numeric ; DEF: 1-95 maxpageline * const numeric ; DEF: 1-99 maxpredef * const numeric ; DEF: 1-25 maxrealstring const alphanumeric, 20 char(s) ; DEF: 1-124 maxrel * const numeric ; DEF: 1-129 maxset * const numeric ; DEF: 1-93 maxstacksize * const numeric ; DEF: 1-72 maxstring * const numeric ; DEF: 1-34 maxval * const numeric ; DEF: 1-33 medium const scalar, ord=2 ; DEF: 1-624 minexp * const numeric ; DEF: 1-120 minrealstring const alphanumeric, 20 char(s) ; DEF: 1-125 mlterrcode * const numeric ; DEF: 1-256 moaddr field disp:210, size:4 ; integer ; DEF: 1-559 moarglistw * const numeric ; DEF: 1-344 modul const scalar, ord=0 ; DEF: 1-460 module const scalar, ord=0 ; DEF: 1-459 modulentryplace * const numeric ; DEF: 1-360 modulinitsize * const numeric ; DEF: 1-134 modynlk * const numeric ; DEF: 1-342 mofatherdisp * const numeric ; DEF: 1-339 monit const scalar, ord=1 ; DEF: 1-460 monitor const scalar, ord=1 ; DEF: 1-459 monitorentryplace * const numeric ; DEF: 1-361 monitorinitsize * const numeric ; DEF: 1-135 monitormodule const scalar, ord=0 ; DEF: 1-462 motype field disp:200, size:4 ; scalar ; DEF: 1-557 mowaitsonsplace * const numeric ; DEF: 1-372 mvcir * proc level 0, exportable ; DEF: 2171 ; REF: 131 name field disp:20, size:40 ; packed array of (char) ; DEF: 1-404 name field disp:0, size:40 ; packed array of (char) ; DEF: 1-508 nbparmo field disp:214, size:4 ; integer ; DEF: 1-559 nbparproc field disp:160, size:4 ; integer ; DEF: 1-574 nbr field disp:0, size:4 ; numeric 0..25 ; DEF: 1-627 neg const scalar, ord=4 ; DEF: 1-919 negexpplace * const numeric ; DEF: 1-375 newir * proc level 0, exportable ; DEF: 1045 ; REF: 132 next field disp:10, size:10 ; pointer ; DEF: 1-403 next field disp:0, size:10 ; pointer ; DEF: 1-493 next field disp:10, size:10 ; pointer ; DEF: 1-644 next field disp:10, size:10 ; pointer ; DEF: 1-656 next field disp:10, size:10 ; pointer ; DEF: 1-665 next_for_schema field disp:120, size:10 ; pointer ; DEF: 1-518 next_in_block field disp:100, size:10 ; pointer ; DEF: 1-653 next_sp_place * const numeric ; DEF: 1-281 nextbloc field disp:10, size:10 ; pointer ; DEF: 1-821 nextcond field disp:40, size:10 ; pointer ; DEF: 1-966 nextexitelem field disp:0, size:10 ; pointer ; DEF: 1-480 nextnode field disp:10, size:10 ; pointer ; DEF: 1-474 nextproc field disp:110, size:10 ; pointer ; DEF: 1-949 nextref field disp:0, size:10 ; pointer ; DEF: 1-427 nextval field disp:0, size:10 ; pointer ; DEF: 1-421 nilleft * const numeric ; DEF: 1-75 nilright * const numeric ; DEF: 1-76 niveau field disp:204, size:4 ; numeric 0..20 ; DEF: 1-558 noerrorcond * const numeric ; DEF: 1-107 normalplace * const numeric ; DEF: 1-374 notafile const scalar, ord=0 ; DEF: 1-437 notpredef const scalar, ord=0 ; DEF: 1-439 npksize field disp:200, size:4 ; integer ; DEF: 1-535 ntwotobyte * const numeric ; DEF: 1-89 ntwotohword * const numeric ; DEF: 1-90 number field disp:0, size:4 ; integer ; DEF: 1-642 numberstring * type packed array of (char) ; DEF: 1-397 o41 * const numeric ; DEF: 1-144 o43 * const numeric ; DEF: 1-145 objaccedes field disp:140, size:10 ; set of (scalar) ; DEF: 1-527 occur field disp:10, size:4 ; scalar ; DEF: 1-634 occurence * type record ; DEF: 1-670 on field disp:0, size:4 ; boolean ; DEF: 1-486 opt2 field disp:234, size:4 ; integer ; DEF: 1-549 p0t0r1 const scalar, ord=1 ; DEF: 1-791 p0t1r0 const scalar, ord=2 ; DEF: 1-791 p0t1r1 const scalar, ord=3 ; DEF: 1-791 p1t0r0 const scalar, ord=4 ; DEF: 1-791 p1t0r1 const scalar, ord=5 ; DEF: 1-791 p1t1r0 const scalar, ord=6 ; DEF: 1-791 p1t1r1 const scalar, ord=7 ; DEF: 1-791 packednil * const numeric ; DEF: 1-77 param2disp * const numeric ; DEF: 1301 param3disp * const numeric ; DEF: 1302 param4disp * const numeric ; DEF: 1303 parameter_count field disp:140, size:4 ; integer ; DEF: 1-520 parerrcode * const numeric ; DEF: 1-252 parmproccheckplace * const numeric ; DEF: 1-223 pascdebstacklocal * const numeric ; DEF: 1-130 pascoperatorsdep * const numeric ; DEF: 1-232 pckunpck * proc level 0, exportable ; DEF: 1861 ; REF: 133 pclength * const numeric ; DEF: 1-321 pdescsaddrplace field disp:350, size:4 ; integer ; DEF: 1-592 permanentfile const scalar, ord=1 ; DEF: 1-437 pextcalltrapinfoplace field disp:360, size:4 ; integer ; DEF: 1-594 phasdescriptor field disp:210, size:4 ; boolean ; DEF: 1-576 phl * const numeric ; DEF: 1-323 pisrefincode field disp:204, size:4 ; boolean ; DEF: 1-575 place field disp:14, size:4 ; integer ; DEF: 1-430 place field disp:4, size:4 ; numeric -131072..131071 ; DEF: 1-671 ploc field disp:214, size:4 ; scalar ; DEF: 1-577 pointable const scalar, ord=2 ; DEF: 1-813 ppksize field disp:200, size:4 ; integer ; DEF: 1-543 pr3bloc * var local to writeir, loc:142, size:10 ; pointer ; DEF: 300 pr4depw * const numeric ; DEF: 1-282 pr5 const scalar, ord=3 ; DEF: 1-774 pr7 const scalar, ord=4 ; DEF: 1-774 prderrcode * const numeric ; DEF: 1-246 predbloc field disp:20, size:10 ; pointer ; DEF: 1-822 predefproc field disp:174, size:4 ; boolean ; DEF: 1-575 previous field disp:0, size:10 ; pointer ; DEF: 1-403 previous field disp:0, size:10 ; pointer ; DEF: 1-656 previous field disp:0, size:10 ; pointer ; DEF: 1-665 previousnode field disp:0, size:10 ; pointer ; DEF: 1-474 priorityplace * const numeric ; DEF: 1-369 procaccesslevel field disp:240, size:4 ; numeric 0..20 ; DEF: 1-581 procaddr field disp:150, size:4 ; integer ; DEF: 1-574 procdef field disp:340, size:4 ; scalar ; DEF: 1-590 proce field disp:20, size:10 ; pointer ; DEF: 1-469 processentryplace * const numeric ; DEF: 1-354 processlocaldplmt * const numeric ; DEF: 1-348 processreturnplace * const numeric ; DEF: 1-357 processus field disp:244, size:4 ; boolean ; DEF: 1-582 procextitem field disp:220, size:10 ; pointer ; DEF: 1-578 procfatherdisp * const numeric ; DEF: 1-340 procfirstexit field disp:310, size:10 ; pointer ; DEF: 1-586 procfirsttofinit field disp:320, size:10 ; pointer ; DEF: 1-587 procincbloc field disp:300, size:4 ; scalar ; DEF: 1-585 procinscope field disp:200, size:4 ; boolean ; DEF: 1-575 procisactive field disp:354, size:4 ; boolean ; DEF: 1-593 procisassigned field disp:170, size:4 ; boolean ; DEF: 1-575 prockind field disp:140, size:4 ; scalar ; DEF: 1-572 proclevel field disp:144, size:4 ; numeric 0..20 ; DEF: 1-573 procmodlkw * const numeric ; DEF: 1-341 procnode field disp:270, size:10 ; pointer ; DEF: 1-584 procnode field disp:30, size:10 ; pointer ; DEF: 1-646 procparmsize * const numeric ; DEF: 1-132 procstackinitsize field disp:330, size:4 ; integer ; DEF: 1-588 proctype field disp:120, size:10 ; pointer ; DEF: 1-571 procwasforwarddef field disp:334, size:4 ; boolean ; DEF: 1-589 prof * const numeric ; DEF: 1-333 profareaptr * type pointer ; DEF: 1-933 prstatic const scalar, ord=7 ; DEF: 1-774 psr const scalar, ord=24 ; DEF: 1-776 psrdepb * const numeric ; DEF: 1-284 psrdepw * const numeric ; DEF: 1-283 psrinbytes * const numeric ; DEF: 1-113 psrsize field disp:30, size:4 ; integer ; DEF: 1-891 ptentr field disp:240, size:10 ; pointer ; DEF: 1-560 pthigh field disp:230, size:10 ; pointer ; DEF: 1-551 ptlimit * const numeric ; DEF: 1-14 ptlow field disp:240, size:10 ; pointer ; DEF: 1-551 ptpar field disp:220, size:10 ; pointer ; DEF: 1-560 ptpksize field disp:200, size:4 ; integer ; DEF: 1-541 ptvarloc field disp:230, size:10 ; pointer ; DEF: 1-560 ptypesymbolplace field disp:230, size:4 ; integer ; DEF: 1-579 pure field disp:250, size:4 ; boolean ; DEF: 1-582 pureentryplace * const numeric ; DEF: 1-377 pwantdescs field disp:344, size:4 ; boolean ; DEF: 1-591 pwantspl1descriptors field disp:364, size:4 ; boolean ; DEF: 1-595 racmaxint * const numeric ; DEF: 1-87 rafltplace * const numeric ; DEF: 1-182 randinterrcode * const numeric ; DEF: 1-258 randintplace * const numeric ; DEF: 1-376 re const scalar, ord=25 ; DEF: 1-776 readir * proc level 0, exportable ; DEF: 670 ; REF: 134 realtype field disp:200, size:10 ; pointer ; DEF: 1-563 recidscope * type record ; DEF: 1-632 recordptr field disp:110, size:10 ; pointer ; DEF: 1-957 recur field disp:234, size:4 ; integer ; DEF: 1-580 recursive field disp:10, size:4 ; boolean ; DEF: 1-467 ref_allowed field disp:70, size:10 ; record ; DEF: 1-650 references field disp:70, size:10 ; pointer ; DEF: 1-512 references field disp:60, size:10 ; pointer ; DEF: 1-649 refnbr field disp:10, size:4 ; integer ; DEF: 1-428 refs field disp:14, size:620 ; array of (record) ; DEF: 1-429 remanentfile const scalar, ord=8 ; DEF: 1-442 requiredfile const scalar, ord=9 ; DEF: 1-443 reset_stack_end_op_place * const numeric ; DEF: 1-227 restorprevmoplace * const numeric ; DEF: 1-380 returnzeroplace * const numeric ; DEF: 1-192 ri const scalar, ord=26 ; DEF: 1-776 rnext field disp:20, size:10 ; pointer ; DEF: 1-836 roundplace * const numeric ; DEF: 1-181 rplace field disp:10, size:4 ; integer ; DEF: 1-835 rqfltplace * const numeric ; DEF: 1-183 rsval field disp:20, size:10 ; real ; DEF: 1-903 runtimeentry const scalar, ord=10 ; DEF: 1-443 rvalu field disp:0, size:10 ; real ; DEF: 1-834 s0 const scalar, ord=0 ; DEF: 1-807 s1 const scalar, ord=1 ; DEF: 1-807 s2 const scalar, ord=2 ; DEF: 1-807 s3 const scalar, ord=3 ; DEF: 1-807 s4 const scalar, ord=4 ; DEF: 1-807 s5 const scalar, ord=5 ; DEF: 1-807 savearglistplace * const numeric ; DEF: 1-359 schema_ptr field disp:10, size:10 ; pointer ; DEF: 1-487 schema_status * type record ; DEF: 1-485 scientplace * const numeric ; DEF: 1-161 segsize field disp:154, size:4 ; integer ; DEF: 1-574 selectorfield field disp:150, size:10 ; pointer ; DEF: 1-613 self_rel * const numeric ; DEF: 1-331 seterrcode * const numeric ; DEF: 1-255 setinargs field disp:60, size:4 ; boolean ; DEF: 1-967 setlength field disp:220, size:4 ; integer ; DEF: 1-545 setofno * type set of (numeric 0..63) ; DEF: 1-434 settinginactivequeueplace * const numeric ; DEF: 1-355 signalplace * const numeric ; DEF: 1-365 simainentryplace * const numeric ; DEF: 1-351 simdebstacklocal * const numeric ; DEF: 1-131 simextentryplace * const numeric ; DEF: 1-378 simintentryplace * const numeric ; DEF: 1-352 simintreturnplace * const numeric ; DEF: 1-353 sizemax field disp:14, size:4 ; integer ; DEF: 1-468 smax field disp:214, size:4 ; integer ; DEF: 1-539 smin field disp:210, size:4 ; integer ; DEF: 1-539 solstandardbit * const numeric ; DEF: 1-239 son field disp:20, size:10 ; pointer ; DEF: 1-941 spksize field disp:200, size:4 ; integer ; DEF: 1-536 sptcstepw field disp:220, size:10 ; pointer ; DEF: 1-538 sreadcharplace * const numeric ; DEF: 1-212 sreadintegerplace * const numeric ; DEF: 1-213 sreadrealplace * const numeric ; DEF: 1-214 sregister field disp:0, size:4 ; scalar ; DEF: 1-819 stackboundary * const numeric ; DEF: 1-128 standardfile const scalar, ord=4 ; DEF: 1-437 standdef const scalar, ord=0 ; DEF: 1-417 start field disp:30, size:4 ; integer ; DEF: 1-667 statearray * type array of (boolean) ; DEF: 1-920 statics const scalar, ord=0 ; DEF: 1-939 stdcompiler const scalar, ord=1 ; DEF: 1-435 stdcomputer const scalar, ord=4 ; DEF: 1-435 stdpure const scalar, ord=0 ; DEF: 1-435 stdsol const scalar, ord=2 ; DEF: 1-435 stopstat * proc level 0, exportable ; DEF: 1279 ; REF: 135 stringlength_assignment_error * const numeric ; DEF: 1-260 stringlength_range_error * const numeric ; DEF: 1-259 structureplace field disp:70, size:4 ; integer ; DEF: 1-947 sttmapind field disp:10, size:4 ; integer ; DEF: 1-430 sttmapptr * type pointer ; DEF: 1-924 stwotobyte * const numeric ; DEF: 1-91 subroutine const scalar, ord=1 ; DEF: 1-462 substring_negative_length_error * const numeric ; DEF: 1-262 substring_offset_error * const numeric ; DEF: 1-261 substring_too_long_error * const numeric ; DEF: 1-263 succ field disp:120, size:10 ; pointer ; DEF: 1-565 succ field disp:0, size:4 ; numeric -131072..131071 ; DEF: 1-671 sucerrcode * const numeric ; DEF: 1-247 swritebooleanplace * const numeric ; DEF: 1-218 swritecharplace * const numeric ; DEF: 1-215 swriteenumplace * const numeric ; DEF: 1-222 swriteintegerplace * const numeric ; DEF: 1-219 swriterealdplace * const numeric ; DEF: 1-221 swriterealeplace * const numeric ; DEF: 1-220 swritestringplace * const numeric ; DEF: 1-216 swritesubstringplace * const numeric ; DEF: 1-217 sxl const scalar, ord=2 ; DEF: 1-918 symb * const numeric ; DEF: 1-335 symbolp field disp:10, size:310 ; array of (pointer) ; DEF: 1-628 symbolplace field disp:100, size:4 ; integer ; DEF: 1-513 symbtablerefs field disp:104, size:4 ; integer ; DEF: 1-514 t_char_value field disp:14, size:4 ; char ; DEF: 1-499 t_int_value field disp:14, size:4 ; integer ; DEF: 1-497 t_real_value field disp:20, size:10 ; real ; DEF: 1-498 tad const scalar, ord=43 ; DEF: 1-771 tagval field disp:130, size:4 ; boolean ; DEF: 1-612 taly const scalar, ord=21 ; DEF: 1-768 tau const scalar, ord=1 ; DEF: 1-766 tauy const scalar, ord=17 ; DEF: 1-768 taval field disp:14, size:40 ; packed array of (char) ; DEF: 1-496 tci const scalar, ord=40 ; DEF: 1-771 tcl field disp:20, size:4 ; integer ; DEF: 1-495 tdi const scalar, ord=44 ; DEF: 1-771 tdic const scalar, ord=45 ; DEF: 1-771 tdu const scalar, ord=3 ; DEF: 1-766 temporary field disp:144, size:4 ; boolean ; DEF: 1-883 terminateplace * const numeric ; DEF: 1-371 tf1 const scalar, ord=32 ; DEF: 1-770 tf2 const scalar, ord=38 ; DEF: 1-770 tf3 const scalar, ord=39 ; DEF: 1-770 ti const scalar, ord=41 ; DEF: 1-771 ticy const scalar, ord=20 ; DEF: 1-768 tid const scalar, ord=46 ; DEF: 1-771 tidc const scalar, ord=47 ; DEF: 1-771 titp const scalar, ord=33 ; DEF: 1-770 tits const scalar, ord=35 ; DEF: 1-770 tlevel field disp:130, size:4 ; numeric 0..20 ; DEF: 1-526 tno field disp:14, size:4 ; integer ; DEF: 1-495 token_list field disp:150, size:10 ; pointer ; DEF: 1-521 top_for_schema field disp:114, size:4 ; integer ; DEF: 1-517 tql const scalar, ord=6 ; DEF: 1-766 tqly const scalar, ord=22 ; DEF: 1-768 tqu const scalar, ord=2 ; DEF: 1-766 tquy const scalar, ord=18 ; DEF: 1-768 transf field disp:34, size:4 ; integer ; DEF: 1-912 transoptvptr * const numeric ; DEF: 1-230 truncplace * const numeric ; DEF: 1-180 tsc const scalar, ord=42 ; DEF: 1-771 tscr const scalar, ord=37 ; DEF: 1-770 tsd const scalar, ord=36 ; DEF: 1-770 twoto12 * const numeric ; DEF: 1-51 twoto18m1 * const numeric ; DEF: 1-58 twoto27 * const numeric ; DEF: 1-59 tx0 const scalar, ord=8 ; DEF: 1-767 tx0y const scalar, ord=24 ; DEF: 1-769 tx1 const scalar, ord=9 ; DEF: 1-767 tx1y const scalar, ord=25 ; DEF: 1-769 tx2 const scalar, ord=10 ; DEF: 1-767 tx2y const scalar, ord=26 ; DEF: 1-769 tx3 const scalar, ord=11 ; DEF: 1-767 tx3y const scalar, ord=27 ; DEF: 1-769 tx4 const scalar, ord=12 ; DEF: 1-767 tx4y const scalar, ord=28 ; DEF: 1-769 tx5 const scalar, ord=13 ; DEF: 1-767 tx5y const scalar, ord=29 ; DEF: 1-769 tx6y const scalar, ord=30 ; DEF: 1-769 tx7y const scalar, ord=31 ; DEF: 1-769 tyal const scalar, ord=53 ; DEF: 1-772 tyau const scalar, ord=49 ; DEF: 1-772 tydl const scalar, ord=55 ; DEF: 1-772 tydu const scalar, ord=51 ; DEF: 1-772 tyic const scalar, ord=52 ; DEF: 1-772 type_description field disp:160, size:10 ; pointer ; DEF: 1-522 typelem * var local to mvcir, loc:146, size:10 ; pointer ; DEF: 2182 typix * type scalar ; DEF: 1-918 typofconst field disp:140, size:4 ; scalar ; DEF: 1-566 typsig * type scalar ; DEF: 1-786 typusednames * type array of (array of (char)) ; DEF: 1-436 tyql const scalar, ord=54 ; DEF: 1-772 tyqu const scalar, ord=50 ; DEF: 1-772 tyx0 const scalar, ord=56 ; DEF: 1-773 tyx1 const scalar, ord=57 ; DEF: 1-773 tyx2 const scalar, ord=58 ; DEF: 1-773 tyx3 const scalar, ord=59 ; DEF: 1-773 tyx4 const scalar, ord=60 ; DEF: 1-773 tyx5 const scalar, ord=61 ; DEF: 1-773 tyx6 const scalar, ord=62 ; DEF: 1-773 tyx7 const scalar, ord=63 ; DEF: 1-773 tz23 const scalar, ord=19 ; DEF: 1-768 tz27 const scalar, ord=23 ; DEF: 1-768 tz42 const scalar, ord=34 ; DEF: 1-770 tz60 const scalar, ord=48 ; DEF: 1-772 unddeb field disp:170, size:4 ; integer ; DEF: 1-570 undmax * const numeric ; DEF: 1-21 uniformplace * const numeric ; DEF: 1-373 usednamesptr * type pointer ; DEF: 1-974 valpw field disp:30, size:40 ; array of (integer) ; DEF: 1-904 valreel field disp:150, size:10 ; real ; DEF: 1-568 valu field disp:0, size:4 ; integer ; DEF: 1-829 varmo field disp:220, size:4 ; boolean ; DEF: 1-605 varparam field disp:200, size:4 ; boolean ; DEF: 1-603 vdescaddr field disp:150, size:4 ; integer ; DEF: 1-600 vdispl field disp:144, size:4 ; integer ; DEF: 1-600 vdspl field disp:340, size:4 ; integer ; DEF: 1-637 vfather field disp:230, size:10 ; pointer ; DEF: 1-606 vfilelocation field disp:134, size:4 ; scalar ; DEF: 1-598 visreadonly field disp:174, size:4 ; boolean ; DEF: 1-603 visrefincode field disp:204, size:4 ; boolean ; DEF: 1-603 visset field disp:170, size:4 ; boolean ; DEF: 1-603 visused field disp:164, size:4 ; boolean ; DEF: 1-603 vkind field disp:130, size:4 ; scalar ; DEF: 1-597 vlevel field disp:154, size:4 ; numeric 0..20 ; DEF: 1-601 vlink_is_generated field disp:160, size:4 ; boolean ; DEF: 1-602 vmo field disp:140, size:4 ; boolean ; DEF: 1-882 vnexttofinit field disp:210, size:10 ; pointer ; DEF: 1-604 vpack field disp:344, size:4 ; boolean ; DEF: 1-637 vptextitem field disp:240, size:10 ; pointer ; DEF: 1-607 vreflist field disp:20, size:320 ; record ; DEF: 1-637 vtimeplace * const numeric ; DEF: 1-370 waitplace * const numeric ; DEF: 1-366 waitsonsplace * const numeric ; DEF: 1-356 wbase field disp:54, size:4 ; scalar ; DEF: 1-953 wdispl field disp:60, size:4 ; integer ; DEF: 1-954 windirect field disp:64, size:4 ; boolean ; DEF: 1-955 word1 field disp:0, size:4 ; integer ; DEF: 1-927 word2 field disp:4, size:4 ; integer ; DEF: 1-928 workfile const scalar, ord=2 ; DEF: 1-437 writeir * proc level 0, exportable ; DEF: 279 ; REF: 136 wstrfile field disp:70, size:4 ; integer ; DEF: 1-956 wstrindex field disp:74, size:4 ; integer ; DEF: 1-956 wstrlength field disp:100, size:4 ; integer ; DEF: 1-956 x0 const scalar, ord=11 ; DEF: 1-775 x1 const scalar, ord=12 ; DEF: 1-775 x2 const scalar, ord=13 ; DEF: 1-775 x3 const scalar, ord=14 ; DEF: 1-775 x4 const scalar, ord=15 ; DEF: 1-775 x5 const scalar, ord=16 ; DEF: 1-775 x6 const scalar, ord=17 ; DEF: 1-775 x7 const scalar, ord=18 ; DEF: 1-775 xbidon const scalar, ord=19 ; DEF: 1-776 zabc * type scalar ; DEF: 1-795 NAMES DECLARED BY DEFAULT boolean type boolean ; REF: 1-456 1-467 1-486 1-525 1-537 1-548 1-575 1-576 1-582 1-589 1-591 1-593 1-595 1-602 1-603 1-605 1-612 1-637 1-870 1-878 1-882 1-883 1-911 1-920 1-955 1-967 154 166 168 172 185 186 187 188 199 202 240 247 250 257 263 267 268 269 303 305 306 307 308 309 310 316 318 690 691 692 693 694 695 697 937 1070 1071 1074 1075 1080 1418 1421 1422 1606 1607 1723 1893 2181 2183 2189 2332 2391 char type char ; REF: 1-397 1-398 1-399 1-400 1-422 1-499 false const scalar, ord=0 ; REF: 1-538 1-549 1-613 329 329 376 416 421 448 449 450 498 530 550 562 577 621 627 713 714 749 755 791 795 809 817 842 843 871 877 1101 1141 1146 1148 1159 1172 1173 1199 1205 1206 1222 1435 1453 1480 1491 1504 1627 1640 1641 1755 1768 1914 1931 1940 1995 2008 2008 2051 2051 2094 2202 2207 2215 2223 2243 2251 2268 2278 2334 2393 integer type integer ; REF: 1-397 1-398 1-399 1-400 1-418 1-422 1-423 1-428 1-429 1-430 1-434 1-436 1-449 1-453 1-454 1-455 1-468 1-481 1-495 1-497 1-511 1-513 1-514 1-517 1-520 1-524 1-531 1-535 1-536 1-539 1-541 1-543 1-545 1-549 1-559 1-567 1-570 1-574 1-579 1-580 1-588 1-592 1-594 1-599 1-600 1-609 1-610 1-614 1-619 1-620 1-621 1-627 1-628 1-636 1-637 1-642 1-643 1-647 1-648 1-651 1-660 1-667 1-809 1-810 1-815 1-815 1-820 1-829 1-830 1-835 1-840 1-845 1-861 1-868 1-877 1-891 1-902 1-905 1-912 1-925 1-927 1-928 1-934 1-934 1-942 1-947 1-950 1-954 1-956 1-973 152 153 162 169 173 176 177 200 201 215 216 217 218 219 219 223 225 228 229 229 241 242 242 244 248 251 252 262 262 279 301 304 313 317 319 670 700 908 938 939 1045 1078 1082 1088 1307 1420 1426 1586 1608 1700 1726 1861 1890 2171 2185 2187 ord funct level 0 ; (standard) ; REF: 1671 2293 2299 real type real ; REF: 1-498 1-568 1-834 1-903 text type text ; REF: 151 true const scalar, ord=1 ; REF: 1-539 1-550 1-614 357 380 389 392 426 457 484 490 491 502 506 531 547 568 595 617 738 759 766 769 789 800 830 837 866 953 1020 1103 1106 1138 1155 1186 1202 1349 1355 1364 1436 1436 1471 1481 1541 1621 1626 1635 1741 1744 1752 1804 1822 1908 1908 1908 1928 1928 1967 2005 2005 2036 2048 2048 2062 2200 2200 2200 2219 2235 2247 2275 2342 2346 2349 2351 2353 2356 2360 2364 2399 2401 2403 2407 2411 2415 2420 2424 2428 write proc level 0 ; REF: 325 659 707 899 945 1036 1097 1270 1313 1384 1431 1576 1613 1689 1732 1852 1900 2161 2196 2315 LABELS BLOCK NAME 1 delete_string DCL : 2388 ; DEF: 2441 ; REF: 2395 1 insert_string DCL : 2329 ; DEF: 2377 ; REF: 2336 1 readir DCL : 687 ; DEF: 895 ; REF: 729 733 1 writeir DCL : 298 ; DEF: 655 ; REF: 348 352 10 mvcir DCL : 2178 ; DEF: 2311 ; REF: 2230 2258 10 pckunpck DCL : 1888 ; DEF: 2157 ; REF: 1906 1963 2032 10 insapp DCL : 1721 ; DEF: 1848 ; REF: 1737 1772 1800 10 dateandtime DCL : 1602 ; DEF: 1684 ; REF: 1619 10 argvstat DCL : 1412 ; DEF: 1571 ; REF: 1442 1466 10 stopstat DCL : 1297 ; DEF: 1379 ; REF: 1320 10 newir DCL : 1066 ; DEF: 1266 ; REF: 1090* 1113 1118 1181 10 getput DCL : 934 ; DEF: 1032 ; REF: 950 981 STATEMENT MAP FILE LINE ST LOC FILE LINE ST LOC FILE LINE ST LOC FILE LINE ST LOC FILE LINE ST LOC FILE LINE ST LOC 279 1 0 323 1 15 325 1 17 326 1 36 329 1 44 329 2 45 330 1 46 331 1 50 332 1 65 333 1 67 335 1 72 337 1 74 339 1 100 340 1 102 341 1 104 342 1 126 343 1 161 346 1 210 346 2 225 346 3 240 347 1 252 348 1 264 352 1 266 352 2 300 352 3 312 356 1 314 357 1 322 358 1 324 360 1 327 361 1 335 362 1 341 363 1 346 364 1 354 366 1 362 367 1 364 369 1 372 371 1 376 373 1 403 374 1 406 375 1 422 376 1 450 377 1 451 379 1 454 379 2 456 380 1 470 382 1 473 384 1 476 384 2 501 385 1 513 387 1 522 389 1 535 389 2 537 392 1 542 392 2 544 396 1 546 397 1 550 399 1 554 400 1 556 401 1 560 402 1 602 403 1 635 405 1 664 406 1 676 409 1 700 410 1 702 411 1 704 412 1 706 414 1 710 414 2 716 416 1 725 417 1 726 418 1 730 421 1 734 421 2 735 422 1 737 423 1 741 424 1 745 425 1 757 426 1 767 427 1 771 429 1 776 430 1 1004 431 1 1027 433 1 1041 435 1 1046 437 1 1064 438 1 1100 441 1 1103 441 2 1104 442 1 1106 443 1 1123 443 2 1135 444 1 1140 445 1 1163 448 1 1174 449 1 1175 450 1 1176 453 1 1177 455 1 1210 456 1 1212 457 1 1240 457 2 1242 458 1 1244 459 1 1272 462 1 1321 464 1 1324 466 1 1361 468 1 1365 468 2 1367 471 1 1372 471 2 1374 473 1 1377 473 2 1403 474 1 1407 475 1 1416 475 2 1420 477 1 1423 478 1 1432 478 2 1434 481 1 1437 482 1 1441 484 1 1444 488 1 1447 489 1 1451 490 1 1454 491 1 1457 493 1 1462 494 1 1464 496 1 1467 498 1 1503 498 2 1505 499 1 1506 500 1 1515 501 1 1523 502 1 1527 503 1 1532 504 1 1536 506 1 1541 508 1 1544 510 1 1576 511 1 1600 511 2 1612 511 3 1614 514 1 1616 519 1 1620 520 1 1646 523 1 1675 524 1 1701 524 2 1711 525 1 1723 527 1 1726 527 2 1734 528 1 1742 530 1 1744 531 1 1745 532 1 1747 534 1 1751 535 1 1761 536 1 1765 536 2 1772 538 1 2005 539 1 2021 543 1 2033 545 1 2035 547 1 2037 548 1 2041 549 1 2043 550 1 2061 550 2 2062 552 1 2072 554 1 2105 555 1 2133 556 1 2161 560 1 2210 560 2 2223 562 1 2225 564 1 2243 565 1 2300 566 1 2335 567 1 2363 568 1 2373 568 2 2375 572 1 2377 573 1 2425 575 1 2430 575 2 2433 576 1 2445 577 1 2447 578 1 2450 579 1 2456 579 2 2464 580 1 2472 581 1 2476 581 2 2503 583 1 2516 584 1 2532 585 1 2543 588 1 2571 590 1 2573 592 1 2576 594 1 2606 595 1 2624 595 2 2626 597 1 2630 599 1 2656 600 1 2666 603 1 2715 604 1 2743 614 1 2771 617 1 3017 618 1 3021 618 2 3024 619 1 3033 621 1 3036 621 2 3044 624 1 3046 624 2 3060 625 1 3072 627 1 3075 627 2 3103 630 1 3104 632 1 3107 634 1 3112 634 2 3124 636 1 3137 638 1 3145 640 1 3147 641 1 3153 642 1 3163 643 1 3175 645 1 3200 647 1 3227 649 1 3232 652 1 3261 657 1 3307 659 1 3312 659 2 3331 662 1 3337 662 1 3340 670 1 3372 705 1 3407 707 1 3411 708 1 3430 711 1 3436 712 1 3454 713 1 3456 714 1 3457 715 1 3460 717 1 3463 719 1 3465 721 1 3471 722 1 3473 723 1 3475 724 1 3517 725 1 3552 728 1 3601 728 2 3616 728 3 3631 729 1 3643 729 2 3655 733 1 3657 733 2 3671 733 3 3703 737 1 3705 738 1 3713 739 1 3715 741 1 3720 742 1 3726 743 1 3732 744 1 3737 745 1 3745 747 1 3753 748 1 3755 749 1 3763 750 1 3775 751 1 4001 753 1 4006 754 1 4022 755 1 4050 756 1 4051 758 1 4054 758 2 4056 759 1 4070 761 1 4073 762 1 4076 763 1 4105 766 1 4120 766 2 4122 769 1 4125 769 2 4127 773 1 4131 774 1 4133 776 1 4137 777 1 4141 778 1 4143 779 1 4165 780 1 4220 782 1 4247 783 1 4261 786 1 4263 788 1 4265 789 1 4273 791 1 4306 792 1 4307 793 1 4311 795 1 4315 796 1 4316 797 1 4320 798 1 4324 799 1 4336 800 1 4346 801 1 4350 803 1 4352 804 1 4366 807 1 4415 808 1 4421 808 2 4431 809 1 4443 810 1 4444 812 1 4455 813 1 4471 814 1 4517 815 1 4527 817 1 4535 818 1 4557 819 1 4573 821 1 4604 822 1 4625 823 1 4653 825 1 4656 827 1 4663 827 2 4667 828 1 4674 829 1 4676 830 1 4705 831 1 4710 833 1 4713 834 1 4720 835 1 4723 836 1 4732 837 1 4735 838 1 4737 839 1 4741 842 1 4754 842 2 4760 843 1 5006 843 2 5012 844 1 5040 846 1 5044 847 1 5072 850 1 5120 852 1 5123 853 1 5126 854 1 5135 855 1 5141 856 1 5144 856 2 5166 857 1 5171 858 1 5173 859 1 5202 860 1 5224 866 1 5240 867 1 5242 868 1 5245 869 1 5254 871 1 5257 871 2 5265 874 1 5267 874 2 5301 875 1 5313 877 1 5316 877 2 5324 880 1 5325 882 1 5330 884 1 5333 884 2 5345 886 1 5360 888 1 5366 890 1 5370 891 1 5374 892 1 5404 893 1 5416 897 1 5444 899 1 5447 899 2 5466 902 1 5474 902 1 5475 908 1 5524 943 1 5541 945 1 5543 945 2 5562 949 1 5570 950 1 5573 950 2 5605 950 3 5617 952 1 5620 952 2 5626 953 1 5634 954 1 5646 955 1 5652 957 1 5657 958 1 5662 959 1 5676 961 1 5724 962 1 5746 964 1 5750 964 2 5752 964 3 5755 966 1 5760 966 2 5762 966 3 5765 967 1 5770 968 1 5773 970 1 5776 971 1 6001 971 2 6003 971 3 6016 972 1 6021 972 2 6023 972 3 6036 973 1 6041 973 2 6043 973 3 6056 974 1 6061 975 1 6064 976 1 6067 977 1 6072 978 1 6116 980 1 6131 981 1 6134 981 2 6146 981 3 6160 983 1 6161 984 1 6167 984 2 6175 985 1 6203 986 1 6207 988 1 6212 990 1 6226 991 1 6232 992 1 6240 993 1 6244 994 1 6260 996 1 6307 998 1 6320 999 1 6334 1000 1 6362 1002 1 6411 1005 1 6424 1006 1 6431 1008 1 6444 1009 1 6460 1013 1 6471 1015 1 6520 1017 1 6525 1017 2 6530 1018 1 6542 1020 1 6545 1021 1 6547 1022 1 6563 1023 1 6574 1024 1 6623 1026 1 6636 1027 1 6650 1029 1 6653 1029 2 6665 1031 1 6700 1034 1 6706 1036 1 6711 1036 2 6730 1039 1 6736 1039 1 6737 1088 1 6770 1090 1 7001 1090 2 7014 1090 3 7027 1091 1 7032 1091 1 7033 1045 1 7034 1095 1 7051 1097 1 7053 1097 2 7072 1100 1 7100 1101 1 7115 1102 1 7116 1103 1 7120 1104 1 7122 1104 2 7125 1105 1 7136 1106 1 7144 1106 2 7152 1107 1 7164 1108 1 7166 1109 1 7172 1111 1 7175 1111 2 7201 1112 1 7212 1113 1 7217 1113 2 7231 1115 1 7232 1118 1 7236 1118 2 7250 1121 1 7251 1123 1 7254 1125 1 7257 1125 2 7263 1126 1 7274 1127 1 7302 1129 1 7305 1130 1 7313 1130 2 7317 1131 1 7330 1131 2 7335 1132 1 7346 1133 1 7371 1133 2 7415 1134 1 7426 1136 1 7433 1138 1 7462 1139 1 7464 1141 1 7467 1141 2 7475 1143 1 7477 1145 1 7501 1146 1 7506 1146 2 7520 1148 1 7522 1148 2 7532 1150 1 7533 1150 2 7535 1151 1 7546 1153 1 7551 1155 1 7562 1156 1 7564 1157 1 7567 1158 1 7600 1159 1 7602 1159 2 7606 1159 3 7610 1160 1 7614 1160 2 7616 1161 1 7627 1162 1 7632 1163 1 7657 1164 1 7662 1165 1 7670 1167 1 7674 1168 1 7722 1170 1 7725 1170 2 7727 1172 1 7741 1172 2 7745 1173 1 7773 1173 2 7777 1174 1 10025 1176 1 10031 1176 2 10037 1177 1 10045 1179 1 10047 1181 1 10053 1181 2 10065 1183 1 10067 1184 1 10074 1186 1 10106 1187 1 10110 1190 1 10124 1190 2 10152 1191 1 10200 1193 1 10226 1194 1 10237 1195 1 10243 1195 2 10245 1195 3 10247 1199 1 10251 1200 1 10252 1201 1 10254 1202 1 10270 1203 1 10272 1205 1 10274 1205 2 10300 1206 1 10326 1206 2 10332 1208 1 10360 1209 1 10364 1210 1 10367 1212 1 10371 1212 2 10373 1212 3 10375 1215 1 10400 1215 2 10402 1215 3 10403 1216 1 10405 1218 1 10407 1219 1 10421 1220 1 10435 1222 1 10463 1223 1 10501 1225 1 10503 1226 1 10531 1227 1 10552 1228 1 10600 1230 1 10627 1233 1 10656 1234 1 10672 1237 1 10703 1238 1 10706 1239 1 10753 1240 1 10765 1243 1 11013 1245 1 11015 1246 1 11020 1246 2 11023 1247 1 11035 1249 1 11040 1251 1 11042 1252 1 11070 1253 1 11116 1254 1 11126 1255 1 11154 1257 1 11156 1260 1 11205 1263 1 11234 1264 1 11250 1264 2 11253 1265 1 11264 1268 1 11273 1270 1 11276 1270 2 11315 1273 1 11323 1273 1 11324 1279 1 11355 1311 1 11366 1313 1 11370 1313 2 11401 1317 1 11407 1319 1 11412 1319 2 11424 1320 1 11436 1323 1 11437 1323 2 11445 1324 1 11453 1326 1 11457 1327 1 11464 1329 1 11477 1331 1 11513 1332 1 11524 1333 1 11526 1335 1 11531 1337 1 11533 1338 1 11545 1339 1 11550 1341 1 11605 1342 1 11615 1345 1 11620 1347 1 11622 1348 1 11624 1349 1 11627 1351 1 11631 1353 1 11662 1355 1 11664 1360 1 11666 1362 1 11670 1363 1 11672 1364 1 11675 1366 1 11677 1368 1 11730 1373 1 11756 1375 1 11761 1375 2 11773 1377 1 12006 1382 1 12014 1384 1 12017 1385 1 12036 1388 1 12044 1388 1 12045 1394 1 12072 1429 1 12103 1431 1 12105 1431 2 12116 1435 1 12124 1436 1 12125 1436 2 12127 1439 1 12131 1441 1 12134 1441 2 12146 1442 1 12160 1445 1 12161 1445 2 12167 1446 1 12175 1448 1 12201 1449 1 12206 1451 1 12221 1452 1 12235 1453 1 12241 1457 1 12242 1459 1 12245 1460 1 12251 1461 1 12263 1462 1 12275 1464 1 12300 1465 1 12304 1466 1 12316 1466 2 12330 1470 1 12331 1471 1 12337 1473 1 12351 1475 1 12355 1476 1 12371 1478 1 12402 1480 1 12410 1481 1 12411 1482 1 12413 1483 1 12427 1484 1 12431 1485 1 12442 1487 1 12445 1488 1 12453 1491 1 12475 1492 1 12516 1493 1 12532 1498 1 12543 1500 1 12556 1501 1 12572 1502 1 12574 1503 1 12605 1504 1 12625 1509 1 12626 1512 1 12631 1513 1 12643 1520 1 12653 1521 1 12655 1523 1 12660 1525 1 12662 1526 1 12674 1527 1 12677 1529 1 12734 1530 1 12746 1531 1 12760 1532 1 12763 1533 1 13020 1534 1 13030 1537 1 13033 1539 1 13035 1540 1 13037 1541 1 13042 1543 1 13044 1545 1 13075 1549 1 13077 1551 1 13107 1553 1 13111 1554 1 13132 1555 1 13160 1558 1 13206 1560 1 13234 1561 1 13236 1565 1 13264 1567 1 13267 1567 2 13301 1569 1 13314 1574 1 13322 1576 1 13325 1577 1 13344 1580 1 13352 1580 1 13353 1586 1 13402 1611 1 13417 1613 1 13421 1614 1 13440 1617 1 13446 1619 1 13451 1619 2 13463 1619 3 13475 1621 1 13476 1621 2 13504 1621 3 13512 1622 1 13524 1623 1 13526 1626 1 13532 1627 1 13534 1628 1 13535 1629 1 13551 1631 1 13572 1632 1 13603 1633 1 13606 1635 1 13613 1636 1 13615 1637 1 13623 1640 1 13645 1641 1 13646 1642 1 13667 1643 1 13703 1644 1 13713 1645 1 13741 1646 1 13767 1650 1 14005 1650 2 14007 1652 1 14022 1652 2 14024 1653 1 14027 1654 1 14031 1655 1 14045 1657 1 14047 1658 1 14075 1659 1 14123 1661 1 14151 1663 1 14177 1668 1 14225 1669 1 14253 1670 1 14301 1670 2 14303 1671 1 14305 1672 1 14327 1673 1 14365 1674 1 14367 1674 2 14372 1675 1 14375 1679 1 14433 1680 1 14436 1681 1 14445 1681 2 14457 1687 1 14471 1689 1 14474 1690 1 14521 1694 1 14527 1694 1 14530 1700 1 14562 1730 1 14577 1732 1 14601 1732 2 14620 1735 1 14626 1737 1 14631 1737 2 14643 1737 3 14655 1739 1 14656 1740 1 14673 1741 1 14701 1742 1 14703 1743 1 14711 1744 1 14713 1744 2 14722 1745 1 14734 1746 1 14740 1746 2 14745 1748 1 14760 1750 1 14762 1752 1 14776 1752 2 15000 1755 1 15005 1755 2 15006 1756 1 15007 1756 2 15012 1758 1 15025 1759 1 15041 1759 2 15053 1760 1 15056 1760 2 15060 1761 1 15062 1762 1 15103 1766 1 15151 1767 1 15165 1768 1 15171 1770 1 15172 1772 1 15175 1772 2 15207 1772 3 15221 1776 1 15222 1776 2 15230 1777 1 15236 1778 1 15240 1779 1 15244 1779 2 15251 1781 1 15264 1783 1 15270 1785 1 15310 1785 2 15322 1787 1 15324 1787 2 15325 1790 1 15331 1791 1 15345 1791 2 15347 1793 1 15350 1794 1 15352 1795 1 15364 1796 1 15421 1798 1 15431 1800 1 15434 1800 2 15446 1800 3 15460 1802 1 15461 1803 1 15467 1804 1 15471 1804 2 15504 1805 1 15512 1806 1 15516 1806 2 15523 1806 3 15536 1807 1 15540 1808 1 15542 1810 1 15544 1811 1 15560 1812 1 15623 1812 2 15626 1814 1 15641 1815 1 15644 1817 1 15646 1818 1 15674 1820 1 15677 1821 1 15704 1822 1 15714 1823 1 15732 1824 1 15750 1825 1 16014 1826 1 16042 1827 1 16106 1831 1 16117 1832 1 16133 1833 1 16165 1834 1 16167 1836 1 16204 1837 1 16232 1839 1 16243 1843 1 16253 1844 1 16256 1846 1 16265 1846 2 16277 1850 1 16311 1852 1 16314 1852 2 16333 1855 1 16341 1855 1 16342 1861 1 16366 1898 1 16403 1900 1 16405 1900 2 16424 1903 1 16432 1904 1 16447 1906 1 16452 1906 2 16464 1906 3 16476 1908 1 16477 1908 2 16501 1908 3 16503 1909 1 16505 1909 2 16507 1909 3 16511 1909 4 16513 1912 1 16515 1913 1 16523 1914 1 16531 1915 1 16543 1916 1 16545 1918 1 16551 1918 2 16556 1919 1 16571 1920 1 16607 1921 1 16622 1923 1 16627 1923 2 16631 1923 3 16644 1926 1 16657 1928 1 16663 1928 2 16675 1928 3 16677 1931 1 16702 1931 2 16703 1932 1 16707 1933 1 16712 1935 1 16714 1935 2 16717 1935 3 16722 1938 1 16726 1938 2 16731 1940 1 16734 1941 1 16735 1944 1 16751 1945 1 16761 1946 1 16765 1947 1 16777 1948 1 17010 1949 1 17012 1950 1 17014 1955 1 17026 1956 1 17031 1958 1 17040 1958 2 17044 1959 1 17056 1960 1 17070 1962 1 17073 1962 2 17077 1963 1 17111 1964 1 17113 1966 1 17121 1967 1 17123 1967 2 17132 1968 1 17144 1969 1 17146 1970 1 17152 1972 1 17154 1973 1 17174 1974 1 17220 1976 1 17233 1977 1 17235 1981 1 17236 1981 2 17242 1982 1 17246 1984 1 17252 1984 2 17275 1987 1 17303 1987 2 17307 1988 1 17323 1989 1 17325 1990 1 17357 1991 1 17361 1993 1 17420 1995 1 17424 1999 1 17426 1999 2 17433 2000 1 17446 2000 2 17452 2001 1 17465 2001 2 17476 2003 1 17511 2005 1 17515 2005 2 17527 2005 3 17531 2008 1 17534 2008 2 17535 2009 1 17536 2009 2 17542 2009 3 17546 2010 1 17552 2011 1 17556 2014 1 17572 2015 1 17602 2016 1 17606 2017 1 17620 2018 1 17631 2019 1 17633 2024 1 17635 2025 1 17640 2027 1 17647 2027 2 17653 2028 1 17665 2029 1 17677 2031 1 17702 2031 2 17706 2032 1 17720 2035 1 17721 2036 1 17723 2036 2 17736 2037 1 17744 2038 1 17746 2040 1 17752 2042 1 17754 2042 2 17761 2043 1 17774 2043 2 20000 2044 1 20013 2044 2 20024 2046 1 20037 2048 1 20043 2048 2 20055 2048 3 20057 2051 1 20062 2051 2 20063 2052 1 20064 2052 2 20070 2052 3 20074 2053 1 20100 2056 1 20114 2057 1 20124 2058 1 20130 2059 1 20142 2060 1 20153 2061 1 20155 2062 1 20157 2068 1 20162 2069 1 20202 2070 1 20226 2072 1 20241 2073 1 20243 2077 1 20244 2078 1 20250 2079 1 20254 2081 1 20260 2082 1 20305 2083 1 20330 2086 1 20336 2086 2 20342 2087 1 20356 2088 1 20360 2089 1 20412 2090 1 20414 2092 1 20453 2094 1 20457 2098 1 20460 2099 1 20462 2100 1 20464 2102 1 20466 2102 2 20500 2103 1 20512 2104 1 20515 2105 1 20530 2106 1 20544 2108 1 20546 2109 1 20551 2109 2 20553 2109 3 20555 2111 1 20560 2111 2 20562 2111 3 20564 2113 1 20566 2114 1 20623 2115 1 20651 2115 2 20654 2116 1 20661 2117 1 20712 2119 1 20747 2121 1 20751 2121 2 20762 2124 1 20765 2124 2 20776 2126 1 21000 2126 2 21011 2127 1 21022 2129 1 21025 2130 1 21030 2131 1 21043 2133 1 21114 2135 1 21171 2136 1 21201 2137 1 21227 2138 1 21255 2139 1 21273 2139 2 21275 2140 1 21311 2141 1 21315 2143 1 21331 2144 1 21357 2145 1 21375 2145 2 21377 2148 1 21425 2149 1 21462 2150 1 21517 2151 1 21553 2153 1 21571 2154 1 21574 2155 1 21603 2155 2 21615 2159 1 21627 2161 1 21632 2162 1 21656 2165 1 21664 2165 1 21665 2171 1 21717 2194 1 21734 2196 1 21736 2197 1 21755 2200 1 21763 2200 2 21765 2200 3 21767 2201 1 21771 2201 2 21773 2202 1 21775 2205 1 21776 2206 1 22004 2207 1 22012 2208 1 22024 2209 1 22026 2211 1 22032 2212 1 22034 2215 1 22035 2217 1 22036 2219 1 22052 2219 2 22054 2219 3 22066 2220 1 22074 2223 1 22106 2223 2 22107 2223 3 22110 2224 1 22111 2225 1 22125 2225 2 22136 2228 1 22140 2230 1 22143 2230 2 22155 2230 3 22167 2234 1 22170 2235 1 22176 2236 1 22210 2237 1 22212 2239 1 22216 2240 1 22220 2243 1 22221 2245 1 22222 2247 1 22236 2247 2 22240 2247 3 22252 2248 1 22260 2251 1 22272 2251 2 22273 2251 3 22274 2252 1 22275 2253 1 22311 2253 2 22322 2256 1 22324 2258 1 22327 2258 2 22341 2258 3 22353 2261 1 22354 2262 1 22362 2263 1 22370 2264 1 22372 2266 1 22376 2266 2 22403 2268 1 22416 2269 1 22417 2270 1 22421 2273 1 22422 2275 1 22426 2275 2 22430 2278 1 22434 2279 1 22435 2280 1 22441 2281 1 22455 2286 1 22467 2288 1 22473 2288 2 22475 2289 1 22507 2289 2 22511 2290 1 22523 2292 1 22525 2292 2 22527 2293 1 22531 2294 1 22553 2295 1 22620 2298 1 22666 2298 2 22670 2299 1 22672 2300 1 22714 2301 1 23001 2303 1 23066 2303 2 23076 2304 1 23106 2304 2 23110 2306 1 23121 2308 1 23124 2308 2 23136 2310 1 23151 2313 1 23157 2315 1 23162 2316 1 23207 2320 1 23215 2320 1 23216 2326 1 23242 2334 1 23253 2335 1 23254 2336 1 23257 2336 2 23271 2336 3 23303 2338 1 23304 2338 2 23314 2338 3 23324 2339 1 23334 2340 1 23342 2341 1 23350 2342 1 23364 2342 2 23366 2343 1 23400 2344 1 23404 2346 1 23407 2346 2 23421 2348 1 23424 2349 1 23432 2350 1 23444 2351 1 23450 2351 2 23454 2352 1 23457 2353 1 23467 2353 2 23501 2354 1 23503 2356 1 23506 2356 2 23520 2358 1 23523 2359 1 23531 2360 1 23537 2360 2 23543 2362 1 23546 2364 1 23553 2364 2 23565 2366 1 23567 2367 1 23573 2369 1 23576 2369 2 23610 2371 1 23623 2372 1 23631 2373 1 23633 2375 1 23650 2375 2 23660 2375 3 23670 2378 1 23700 2378 1 23701 2385 1 23710 2393 1 23721 2394 1 23722 2395 1 23725 2395 2 23737 2395 3 23751 2397 1 23752 2397 2 23762 2397 3 23772 2398 1 24002 2399 1 24010 2400 1 24022 2401 1 24026 2401 2 24032 2402 1 24035 2403 1 24045 2403 2 24057 2404 1 24061 2405 1 24071 2407 1 24074 2407 2 24106 2409 1 24111 2410 1 24117 2411 1 24125 2411 2 24131 2413 1 24134 2415 1 24141 2415 2 24153 2417 1 24155 2418 1 24161 2420 1 24164 2420 2 24176 2422 1 24201 2423 1 24207 2424 1 24215 2424 2 24221 2426 1 24224 2428 1 24231 2428 2 24243 2430 1 24245 2431 1 24251 2433 1 24254 2433 2 24266 2435 1 24301 2436 1 24307 2437 1 24311 2439 1 24326 2439 2 24336 2439 3 24346 2442 1 24356 2442 1 24357 19 1 24366 19 1 24377 2444 1 24406 2444 1 24412 2444 1 24414 ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved