COMPILATION LISTING OF SEGMENT: >spec>install>1212>STANDSTAT.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 1725.0 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 $ 19 PROGRAM standstat ; 20 $IMPORT 21 (* IMPORTED PROCEDURES *) 22 'RACINE (pascal)' : 23 error, 24 inserundlab, 25 insymbol, 26 nameisref, 27 nextline, 28 recadre, 29 search_in_condition_attributes, 30 skip, 31 statement_begins, 32 statement_ends, 33 sup ; 34 'MODATTR (pascal) ' : 35 convreal, 36 freeattr, 37 initattrvarbl, 38 isstring, 39 lvalvarbl, 40 varissimple ; 41 'CONTEXTTABLE (pascal) ' : 42 checkminmax, 43 compatbin, 44 conformantdim, 45 packedsize ; 46 'MODVARIABLE (pascal) ' : 47 init_desc_address, 48 variable, 49 passparams ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 2 50 'GENERE (pascal)' : 51 gendesca, 52 gendescb, 53 geneism, 54 genstand, 55 inser ; 56 'EXPR (pascal)' : 57 expression ; 58 'UNIQUE (pascal)' : 59 heaperror ; 60 'GENOPER (pascal)' : 61 genjump ; 62 'PROCSTAT (pascal)' : 63 argvstat, 64 dateandtime, 65 delete_string, 66 getput, 67 insapp, 68 insert_string, 69 mvcir, 70 newir, 71 pckunpck, 72 readir, 73 stopstat, 74 writeir ; 75 'STATE (pascal)' : 76 addressvar, 77 calcvarient, 78 checkbnds, 79 choicerarq, 80 currwithlist, 81 enterlcst, 82 enterundlab, 83 freeallregisters, 84 freebloc, 85 gencstecode, 86 genexceptcode, 87 loadadr, 88 loadbase, 89 newbloc, 90 regenere, 91 sauvereg, 92 transfer, 93 variab, 94 withvariable ; 95 'optimized_procedures (alm)' : 96 search ; 97 (* IMPORTED VARIABLES *) 98 'DECLARE (pascal)' : 99 clabix, 100 labtab, 101 lab_pdl_top, 102 lkc, 103 pop_lab_pdl, 104 push_lab_pdl ; 105 'RACINE (pascal)' : 106 aval, *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 3 107 boolptr, 108 charptr, 109 cl, 110 ctptr, 111 currentnode, 112 display, 113 envstandard, 114 errcl, 115 exportablecode, 116 intptr, 117 ival, 118 lamptr, 119 level, 120 mapswitch, 121 mpcogout, 122 no, 123 realptr, 124 statnbr, 125 string_ptr, 126 sttindex, 127 symbolfile, 128 symbolindex, 129 symbolline, 130 symbolmap, 131 top, 132 undecptr, 133 usednames ; 134 'GENERE (pascal)' : 135 cb, 136 ic, 137 indfich, 138 mfari1, 139 mfari2, 140 mfreg2, 141 usednameaddr ; 142 'STATE (pascal)' : 143 asscheck, 144 currentbloc, 145 currentpr, 146 gattr, 147 inxcheck, 148 lcsave, 149 linktomain, 150 linktomainplace, 151 maxprused, 152 maxinxused, 153 modif, 154 opaq, 155 prinst, 156 stattrace, 157 tmax$ 158 159 $EXPORT 160 compstat $ 161 162 163 *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 4 164 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 5 165 166 167 $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 standstat *** ON 11/12/86 *** PAGE 6 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 standstat *** ON 11/12/86 *** PAGE 7 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 standstat *** ON 11/12/86 *** PAGE 8 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 standstat *** ON 11/12/86 *** PAGE 9 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 standstat *** ON 11/12/86 *** PAGE 10 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 standstat *** ON 11/12/86 *** PAGE 11 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 standstat *** ON 11/12/86 *** PAGE 12 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 standstat *** ON 11/12/86 *** PAGE 13 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 standstat *** ON 11/12/86 *** PAGE 14 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 standstat *** ON 11/12/86 *** PAGE 15 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 standstat *** ON 11/12/86 *** PAGE 16 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 standstat *** ON 11/12/86 *** PAGE 17 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 standstat *** ON 11/12/86 *** PAGE 18 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 standstat *** ON 11/12/86 *** PAGE 19 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 standstat *** ON 11/12/86 *** PAGE 20 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 standstat *** ON 11/12/86 *** PAGE 21 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 standstat *** ON 11/12/86 *** PAGE 22 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 168 169 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 23 170 171 VAR 172 173 (* REDEFINE IMPORTED VARIABLES *) 174 175 (* FROM DECLARE *) 176 177 clabix : integer ; 178 labtab : ARRAY [1..maxlabs] OF labdescr ; 179 lab_pdl_top : lab_pdl_ptr ; 180 lkc : integer ; 181 182 (* FROM RACINE *) 183 mpcogout : text ; 184 envstandard : stdkind ; 185 display : ARRAY [0..displimit] OF recidscope ; 186 mapswitch : boolean ; 187 top : integer ; 188 sttindex : integer ; 189 symbolfile : integer ; 190 symbolindex : integer ; 191 symbolline : integer ; 192 symbolmap : boolean ; 193 usednames : typusednames ; 194 aval : alfaid ; 195 level : levrange ; 196 cl : integer ; 197 no : integer ; 198 intptr : ctp ; 199 lamptr : ctp ; 200 undecptr : ctp ; 201 realptr : ctp ; 202 ctptr : ctp ; 203 errcl : ARRAY [norange] OF typofsymb ; 204 ival : integer ; 205 boolptr : ctp ; 206 charptr : ctp ; 207 exportablecode : boolean ; 208 currentnode : blocknodeptr ; 209 statnbr : integer ; 210 string_ptr : ctp ; 211 212 213 (* FROM GENERE *) 214 ic : integer ; 215 cb : integer ; 216 indfich : integer ; 217 mfari1 : zari ; 218 mfari2 : zari ; 219 mfreg2 : mreg ; 220 usednameaddr : ctp ; 221 222 223 (* FROM STATE *) 224 inxcheck : boolean ; 225 asscheck : boolean ; 226 gattr : attr ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 24 227 currentbloc : regpt ; 228 prinst : ARRAY [typepr, pr1..pr6] OF istand ; (* GIVES A PR INSTRUCTION *) 229 tmax : integer ; 230 linktomain : boolean ; 231 linktomainplace : integer ; 232 lcsave : integer ; 233 stattrace : levtrace ; 234 maxinxused : register ; 235 maxprused : preg ; 236 modif : ARRAY [nxreg..rq] OF tag ; 237 opaq : ARRAY [typeofop, ra..reaq] OF istand ; (* GIVES INST. WITH A,Q,AQ,EAQ *) 238 currentpr : preg ; 239 withvariable : boolean ; 240 currwithlist : withreflist ; 241 242 243 244 (* ************** VARIABLES LOCALES ************************* *) 245 246 splitstat : ARRAY [norange] OF integer ; (* USED TO SELECT THE GOOD STAT. *) 247 248 249 $VALUE 250 251 splitstat = ( 252 1, 2, 19 * 1, 3, 1, 4, 1, 1, 5, 1, 6, 253 1, 7, 1, 8, 1, 1, 9, 12 * 1, 10, 1, 1, 254 1, 1, 1, 1, 1, 1, 1) $ 255 256 257 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 25 258 259 (* REDEFINE IMPORTED PROCEDURES *) 260 (* FROM GENERE *) 261 PROCEDURE genstand (fpr : preg ; fadr : integer ; fcode : istand ; ftg : tag) ; EXTERNAL ; 262 PROCEDURE geneism (fcode : ieism ; ffield : integer ; fbits : zptr) ; EXTERNAL ; 263 PROCEDURE gendesca (fareg : preg ; fadr, fcn : integer ; fta : lgcar ; 264 fn : integer ; frlgth : mreg) ; EXTERNAL ; 265 PROCEDURE gendescb (fareg : preg ; fadr, fc, fb, fn : integer ; frlgth : mreg) ; EXTERNAL ; 266 PROCEDURE inser (fcb : integer ; fplace : integer) ; EXTERNAL ; 267 268 269 (* FROM RACINE *) 270 PROCEDURE error (errno : integer) ; EXTERNAL ; 271 PROCEDURE insymbol ; EXTERNAL ; 272 PROCEDURE search_in_condition_attributes ; EXTERNAL ; 273 PROCEDURE skip (nosym : integer) ; EXTERNAL ; 274 PROCEDURE nextline ; EXTERNAL ; 275 PROCEDURE search ; EXTERNAL ; 276 FUNCTION recadre (fnum, fmod : integer) : integer ; EXTERNAL ; 277 PROCEDURE inserundlab (fcb, fdebchain : integer) ; EXTERNAL ; 278 PROCEDURE nameisref (p : ctp ; f, l : integer) ; EXTERNAL ; 279 PROCEDURE statement_begins (genp : boolean) ; EXTERNAL ; 280 PROCEDURE statement_ends (sttlength : integer) ; EXTERNAL ; 281 FUNCTION sup (fval1, fval2 : integer) : integer ; EXTERNAL ; 282 283 (* FROM EXPR *) 284 PROCEDURE expression ; EXTERNAL ; 285 286 (* FROM MODATTR *) 287 PROCEDURE freeattr (VAR fattr : attr) ; EXTERNAL ; 288 PROCEDURE lvalvarbl (VAR fattr : attr) ; EXTERNAL ; 289 PROCEDURE initattrvarbl (VAR fattr : attr) ; EXTERNAL ; 290 FUNCTION isstring (VAR fattr : attr) : boolean ; EXTERNAL ; 291 FUNCTION varissimple (VAR fattr : attr) : boolean ; EXTERNAL ; 292 PROCEDURE convreal (VAR fattr : attr) ; EXTERNAL ; 293 294 295 (* FROM CONTEXTTABLE *) 296 297 PROCEDURE checkminmax (fvalu : integer ; fctp : ctp ; ferrnum : integer) ; EXTERNAL ; 298 PROCEDURE compatbin (typleft, typright : ctp ; VAR fgeneric : ctp) ; EXTERNAL ; 299 FUNCTION conformantdim (ff : ctp) : boolean ; EXTERNAL ; 300 FUNCTION packedsize (fctp : ctp) : integer ; EXTERNAL ; 301 302 (* FROM MODVARIABLE *) 303 304 PROCEDURE init_desc_address (fctp : ctp ; VAR fattr : attr) ; EXTERNAL ; 305 PROCEDURE variable (fvarset : boolean) ; EXTERNAL ; 306 PROCEDURE passparams (fctplace : integer) ; EXTERNAL ; 307 308 309 310 (* FROM UNIQUE *) 311 PROCEDURE heaperror ; EXTERNAL ; 312 313 (* FROM GENOPER *) 314 PROCEDURE genjump (VAR inserplace : integer ; jumpdisp : integer) ; EXTERNAL ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 26 315 (* FROM PROCSTAT *) 316 PROCEDURE argvstat ; EXTERNAL ; 317 PROCEDURE getput (fcode : integer) ; EXTERNAL ; 318 PROCEDURE readir (fcode : integer) ; EXTERNAL ; 319 PROCEDURE pckunpck (fcode : integer) ; EXTERNAL ; 320 PROCEDURE writeir (fcode : integer) ; EXTERNAL ; 321 PROCEDURE newir (fcode : integer) ; EXTERNAL ; 322 PROCEDURE stopstat ; EXTERNAL ; 323 PROCEDURE dateandtime (fcode : integer) ; EXTERNAL ; 324 PROCEDURE delete_string ; EXTERNAL ; 325 PROCEDURE insapp (fcode : integer) ; EXTERNAL ; 326 PROCEDURE insert_string ; EXTERNAL ; 327 PROCEDURE mvcir (fcode : integer) ; EXTERNAL ; 328 329 (* FROM STATE *) 330 PROCEDURE addressvar (fctp : ctp ; VAR fattr : attr ; modif : boolean) ; EXTERNAL ; 331 PROCEDURE choicerarq ; EXTERNAL ; 332 PROCEDURE enterlcst (VAR fval : setarray ; VAR fboxpt : lcstpt) ; EXTERNAL ; 333 PROCEDURE enterundlab (VAR fundinx : integer) ; EXTERNAL ; 334 PROCEDURE transfer (VAR fattr : attr ; inwhat : destination) ; EXTERNAL ; 335 PROCEDURE genexceptcode (ferrcode : integer ; freg : register) ; EXTERNAL ; 336 PROCEDURE variab (fvarset : boolean) ; EXTERNAL ; 337 PROCEDURE freebloc (VAR fbtofree : regpt) ; EXTERNAL ; 338 PROCEDURE loadadr (VAR fattr : attr ; wantedpr : preg) ; EXTERNAL ; 339 PROCEDURE calcvarient (VAR fattr : attr ; VAR fbase : preg ; VAR fdisp : integer ; 340 VAR ftag : tag) ; EXTERNAL ; 341 PROCEDURE gencstecode (farg : integer ; finst : istand) ; EXTERNAL ; 342 PROCEDURE checkbnds (errcode : integer ; freg : register ; fctp : ctp) ; EXTERNAL ; 343 PROCEDURE freeallregisters ; EXTERNAL ; 344 PROCEDURE loadbase (flev : integer) ; EXTERNAL ; 345 PROCEDURE sauvereg (freg : register ; fload : boolean) ; EXTERNAL ; 346 PROCEDURE newbloc (freg : register) ; EXTERNAL ; 347 PROCEDURE regenere (oldbloc : regpt) ; EXTERNAL ; 348 349 (* FROM DECLARE *) 350 PROCEDURE push_lab_pdl ; EXTERNAL ; 351 PROCEDURE pop_lab_pdl ; EXTERNAL ; 352 353 354 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 27 355 356 (* **************************************************************************** *) 357 (* * * *) 358 (* * * *) 359 (* * STATEMENT GROUP * *) 360 (* * * *) 361 (* * * *) 362 (* **************************************************************************** *) 363 364 PROCEDURE statement ; FORWARD ; 365 366 367 368 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 28 369 370 (* ********************************************** COMPSTAT ******************** *) 371 372 PROCEDURE compstat ; 373 374 (* C.USED TO COMPILE A COMPOUND STATEMENT. 375* "BEGIN" HAS BEEN READ. 376* .EXPECTS AN "END" 377* C *) 378 (* ERRORS DETECTED 379* 13: "END" EXPECTED 380* 14: ";" EXPECTED 381* 61: ILLEGAL BEGINNING SYMBOL FOR A STATEMENT 382* E *) 383 LABEL 1 ; (* SKIP HERE WHEN A STATEMENT *) 384 (* CAN BEGIN *) 385 BEGIN 386 freeallregisters ; 387 REPEAT 388 insymbol ; 389 1 : statement ; 390 freeallregisters ; 391 IF errcl [no] = begsy THEN 392 BEGIN 393 error (14) ; GOTO 1 ; 394 END ; 395 IF no = 25 (* ELSE *) THEN 396 BEGIN 397 error (61) ; insymbol ; GOTO 1 ; 398 END ; 399 UNTIL no # 16 (* ; *) ; 400 IF no = 22 (* "END" *) THEN 401 BEGIN 402 insymbol 403 END 404 ELSE error (13) ; 405 END (* COMPSTAT *) ; 406 407 408 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 29 409 410 (* ************************************ WITHSTAT ****************************** *) 411 412 PROCEDURE withstat ; 413 414 (* C COMPILE THE PASCAL STATEMENT 415* WITH [, REC]* DO 416* C *) 417 (* E ERRORS DETECTED 418* 54: "DO" EXPECTED 419* 140: TYPE OF VARIABLE MUST BE RECORD 420* 250: TOO MANY NESTED SCOPES OF IDENTIFIERS 421* E *) 422 LABEL 423 10, (* EXIT PROCEDURE *) 424 20 ; (* CALL STATEMENT *) 425 (* WITHOUT CALLING INSYMBOL *) 426 VAR 427 oldtop, oldlcsave : integer ; 428 currentfather, withnode : blocknodeptr ; 429 withfile, withindex : integer ; 430 BEGIN (* WITHSTAT *) 431 $OPTIONS compile = trace $ 432 IF stattrace > none THEN 433 BEGIN 434 write (mpcogout, '@@@ DEBUT WITHSTAT @@@ WITH TOP,LCSAVE ', top, lcsave) ; 435 nextline ; 436 END ; 437 $OPTIONS compile = true $ 438 withnode := NIL ; 439 currentfather := currentnode ; 440 oldtop := top ; (* ACTUAL LEVEL REACHED IN DISPLAY *) 441 oldlcsave := lcsave ; 442 lcsave := recadre (lcsave, bytesindword) ; 443 IF lcsave > tmax THEN tmax := lcsave ; 444 REPEAT (* LOOP ON RECORD'S LIST *) 445 insymbol ; 446 withfile := symbolfile ; 447 withindex := symbolindex ; 448 freeallregisters ; 449 withvariable := true ; 450 currwithlist.nbr := 0 ; 451 variab (false) ; (* NOT ALTERED HERE *) 452 withvariable := false ; 453 WITH gattr DO 454 IF typtr # NIL THEN (* NO ERROR *) 455 IF typtr@.form # records THEN 456 error (140) ELSE 457 IF top >= displimit THEN 458 error (250) ELSE 459 BEGIN 460 top := top + 1 ; 461 WITH display [top] DO 462 BEGIN 463 fname := typtr@.fstfld ; (* FIRST FIELD NAME IN THE RECORD *) 464 new (withnode, withblock) ; 465 IF withnode = NIL THEN heaperror ; (* EXIT COMP *) *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 30 466 WITH withnode^ DO 467 BEGIN 468 blocktp := withblock ; 469 father := currentnode ; 470 recordptr := typtr ; 471 wstrfile := withfile ; wstrindex := withindex ; 472 IF symbolfile = wstrfile THEN 473 wstrlength := symbolindex - withindex 474 ELSE wstrlength := 0 ; 475 brother := currentnode^.son ; 476 currentnode^.son := withnode ; 477 son := NIL ; 478 codebegin := statnbr * 2 ; 479 codeend := 0 ; 480 first := typtr^.fstfld ; 481 currentnode := withnode ; 482 IF varissimple (gattr) AND (NOT typtr@.pack) THEN 483 BEGIN (* EASY TO ADDRESS *) 484 occur := cwith ; clevel := vlev ; cdspl := dplmt ; 485 IF vlev = 0 THEN wbase := statics ELSE wbase := locals ; 486 wdispl := dplmt DIV bytesinword ; windirect := false ; 487 creflist := currwithlist ; 488 END (* EASY *) ELSE 489 BEGIN 490 occur := vwith ; vdspl := lcsave ; 491 lcsave := lcsave + bytesindword ; 492 IF lcsave > tmax THEN tmax := lcsave ; vpack := typtr@.pack ; 493 (* BUILDS ITS POINTING ON THE RECORD *) 494 loadadr (gattr, nreg) ; freebloc (currentbloc) ; 495 genstand (pr6, vdspl DIV bytesinword, 496 prinst [spri, currentpr], tn) ; 497 wbase := locals ; wdispl := vdspl DIV bytesinword ; windirect := true ; 498 vreflist := currwithlist ; 499 END (* NOT EASY *) ; 500 END (* WITH WITHNODE^ *) ; 501 END (* WITH DISPLAY[TOP] *) ; 502 END (* ALL IS OK,WITH GATTR *) ; 503 UNTIL no # 15 (* , *) ; 504 IF no # 31 (* DO *) THEN 505 BEGIN 506 IF gattr.typtr # NIL THEN error (54) ; 507 skip (31) ; 508 IF no # 31 THEN 509 BEGIN 510 IF gattr.typtr = NIL THEN error (54) ; 511 IF errcl [no] = begsy THEN 512 GOTO 20 (* STATEMENT *) ELSE 513 GOTO 10 (* END PROC *) ; 514 END ; 515 END (* NO#31 *) ; 516 IF mapswitch THEN statement_ends (symbolindex - sttindex) ; 517 insymbol ; 518 20 : 519 freeallregisters ; 520 push_lab_pdl ; statement ; pop_lab_pdl ; 521 10 : 522 IF mapswitch THEN statement_ends (symbolindex - sttindex) ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 31 523 $OPTIONS compile = trace $ 524 IF stattrace = high THEN 525 BEGIN 526 write (mpcogout, '* RETURN IN WITHSTAT . TOP, LCSAVE ARE NOW', top, lcsave) ; 527 nextline ; 528 END ; 529 $OPTIONS compile = true $ 530 WHILE currentnode <> currentfather DO 531 BEGIN 532 currentnode^.codeend := statnbr * 2 ; 533 currentnode := currentnode^.father ; 534 END ; 535 top := oldtop ; 536 lcsave := oldlcsave ; 537 $OPTIONS compile = trace $ 538 IF stattrace > low THEN 539 BEGIN 540 write (mpcogout, '@@@ FIN WITHSTAT @@@ WITH NO,TOP, LCSAVE ', no, top, lcsave) ; 541 nextline ; 542 END ; 543 $OPTIONS compile = true $ 544 END (* WITHSTAT *) ; 545 546 547 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 32 548 549 (* ************************************ ASSIGN ******************************** *) 550 551 PROCEDURE assign ; 552 553 (* C COMPILATION OF 554* := 555* C *) 556 (* E ERRORS DETECTED 557* 29: Same length strings expected 558* 559* 51: ":=" EXPECTED 560* 109: REAL TO INT NOT ALLOWED 561* 145: TYPE CONFLICT 562* 146: FILES NOT ALLOWED HERE 563* 197: TRUNCATION NOT ALLOWED 564* 303: VALUE ASSIGNED OUT OF BOUNDS 565* E *) 566 VAR 567 check_done, len_in_desc : boolean ; 568 strlen : integer ; 569 locarray : setarray ; lretpt : lcstpt ; 570 lbloc, rbloc : regpt ; 571 lattr, tattr : attr ; 572 generic : ctp ; 573 lbase, rbase, lpr, rpr : preg ; 574 ldisp, lsize, rsize, rdisp, lmod, rmod, suplr : integer ; 575 ltag, lftag, rgtag : tag ; 576 asserr, ended : boolean ; 577 ddisp, target_length, loc1 : integer ; 578 temp : ctp ; 579 rqbox : regpt ; 580 BEGIN (* ASSIGN *) 581 $OPTIONS compile = trace $ 582 IF stattrace > none THEN 583 BEGIN 584 write (mpcogout, '@@@ DEBUT ASSIGN @@@') ; nextline ; 585 END ; 586 $OPTIONS compile = true $ 587 (* LEFT PART *) 588 check_done := false ; 589 len_in_desc := false ; 590 asserr := false ; 591 variable (true) ; 592 lattr := gattr ; 593 IF no # 20 (* := *) THEN 594 BEGIN 595 IF gattr.typtr # NIL THEN error (51) ; 596 skip (20) ; 597 END ; 598 IF no = 20 (* := *) THEN 599 BEGIN 600 insymbol ; 601 expression ; (* RIGHT PART OF ASSIGNMENT *) 602 WITH gattr DO 603 IF typtr = NIL THEN 604 BEGIN *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 33 605 skip (46) ; generic := NIL ; 606 END ELSE 607 BEGIN 608 compatbin (lattr.typtr, typtr, generic) ; 609 IF generic = NIL THEN 610 asserr := true ; 611 END ; 612 IF asserr THEN (* TRY STRING ASSIGNMENT *) 613 IF lattr.typtr <> NIL 614 THEN IF lattr.typtr^.father_schema = string_ptr THEN (* TARGET IS A STRING *) 615 WITH gattr DO 616 IF typtr = charptr (* RIGHT PART IS A CHARACTER *) THEN 617 BEGIN 618 IF varissimple (lattr) THEN 619 BEGIN 620 lbase := lattr.basereg ; ldisp := lattr.dplmt DIV bytesinword ; 621 currentbloc := NIL ; 622 END ELSE BEGIN 623 loadadr (lattr, nreg) ; lbase := currentpr ; 624 ldisp := 0 625 END ; 626 CASE kind OF 627 sval : BEGIN 628 IF currentbloc <> NIL THEN freebloc (currentbloc) ; 629 locarray [0] := 1 ; locarray [1] := val * twoto27 ; 630 enterlcst (locarray, lretpt) ; 631 enterundlab (lretpt^.lplace) ; 632 genstand (nreg, 0, iepp3, tic) ; 633 mfari1 := a1r0i0 ; mfari2 := a1r0i0 ; 634 geneism (imlr, ord (' '), p0t0r0) ; 635 gendesca (pr3, 0, 0, l9, 5, tn) ; 636 WITH lattr DO 637 IF kind = varbl THEN usednameaddr := nameaddr ; 638 gendesca (lbase, ldisp, 0, l9, 5, tn) ; 639 END ; 640 lval : BEGIN 641 IF currentbloc <> NIL THEN freebloc (currentbloc) ; 642 genstand (nreg, 27, opaq [shiftl, ldreg], tn) ; 643 genstand (lbase, ldisp + 1, opaq [stor, ldreg], tn) ; 644 genstand (nreg, 1, opaq [load, ldreg], tdl) ; 645 genstand (lbase, ldisp, opaq [stor, ldreg], tn) ; 646 END ; 647 varbl : BEGIN 648 lbloc := currentbloc ; 649 IF varissimple (gattr) THEN 650 BEGIN 651 rbase := gattr.basereg ; rdisp := gattr.dplmt DIV bytesinword ; 652 END ELSE BEGIN 653 loadadr (gattr, nreg) ; rbase := currentpr ; 654 rdisp := 0 ; freebloc (currentbloc) ; 655 END ; 656 IF lbloc <> NIL THEN BEGIN 657 regenere (lbloc) ; freebloc (lbloc) ; 658 END ELSE IF lattr.basebloc <> NIL THEN regenere (lattr.basebloc) ; 659 mfari1 := a1r0i0 ; mfari2 := a1r0i0 ; 660 geneism (imlr, ord (' '), p0t0r0) ; 661 usednameaddr := gattr.nameaddr ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 34 662 IF pckd THEN gendesca (rbase, rdisp, 0, l9, 1, tn) 663 ELSE gendesca (rbase, rdisp, 3, l9, 1, tn) ; 664 usednameaddr := lattr.nameaddr ; 665 gendesca (lbase, ldisp + 1, 0, l9, 1, tn) ; 666 genstand (nreg, 1, ilda, tdl) ; 667 genstand (lbase, ldisp, ista, tn) ; 668 END 669 END ; 670 freeattr (gattr) ; freeattr (lattr) ; 671 END 672 ELSE 673 IF isstring (gattr) THEN 674 IF lattr.typtr^.actual_parameter_list = NIL THEN (* nothing *) 675 ELSE 676 BEGIN 677 loadadr (lattr, nreg) ; (* ADDRESS OF TARGET *) 678 lpr := currentpr ; lbloc := currentbloc ; 679 IF conformantdim (gattr.typtr) THEN 680 BEGIN 681 init_desc_address (gattr.nameaddr, gattr) ; 682 sauvereg (rq, false) ; 683 regenere (gattr.descbloc) ; 684 genstand (gattr.descreg, 1, isbq, tn) ; 685 genstand (gattr.descreg, 0, isbq, tn) ; 686 genstand (nreg, 1, iadq, tdl) ; 687 rpr := gattr.basereg ; rbloc := gattr.basebloc ; 688 END 689 ELSE BEGIN (* NOT CONFORMANT *) 690 loadadr (gattr, nreg) ; 691 rpr := currentpr ; rbloc := currentbloc ; 692 CASE kind OF 693 chain : strlen := alfactp^.alfalong ; 694 varbl : strlen := typtr^.hi - typtr^.lo + 1 ; 695 END ; 696 sauvereg (rq, false) ; 697 gencstecode (strlen, ildq) ; 698 IF asscheck THEN 699 IF lattr.typtr^.actual_parameter_list^.klass = konst THEN 700 IF strlen > lattr.typtr^.actual_parameter_list^.values THEN 701 error (273) ; 702 check_done := true ; 703 END ; 704 WITH lattr.typtr^.actual_parameter_list^ DO 705 IF klass = konst THEN 706 IF values < twoto12 THEN len_in_desc := true ELSE 707 gencstecode (values, ilda) 708 ELSE BEGIN 709 addressvar (lattr.typtr^.actual_parameter_list, tattr, false) ; 710 transfer (tattr, inacc) ; freeattr (tattr) ; 711 END ; 712 regenere (rbloc) ; regenere (lbloc) ; 713 IF len_in_desc THEN mfari2 := a1r0i0 ELSE 714 mfari2 := a1r1i0 ; mfari1 := a1r1i0 ; 715 geneism (imlr, ord (' '), p0t0r0) ; 716 gendesca (rpr, 0, 0, l9, 0, tql) ; 717 IF len_in_desc THEN 718 gendesca (lpr, 1, 0, l9, lattr.typtr^.actual_parameter_list^.values, tn) *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 35 719 ELSE 720 gendesca (lpr, 1, 0, l9, 0, tal) ; 721 genstand (lpr, 0, istq, tn) ; 722 freebloc (rbloc) ; 723 IF asscheck THEN 724 IF NOT check_done THEN 725 BEGIN 726 genstand (lpr, 0, icmpa, tn) ; 727 loc1 := indfich ; genstand (nreg, 0, itpl, tic) ; 728 genexceptcode (stringlength_assignment_error, rq) ; 729 inser (cb, loc1) ; 730 END ; 731 freebloc (lbloc) ; 732 freeattr (gattr) ; freeattr (lattr) ; 733 END 734 ELSE IF gattr.typtr^.father_schema = string_ptr THEN 735 IF lattr.typtr^.actual_parameter_list = NIL THEN (* nothing *) 736 ELSE 737 BEGIN 738 loadadr (lattr, nreg) ; 739 lpr := currentpr ; lbloc := currentbloc ; 740 loadadr (gattr, nreg) ; 741 rpr := currentpr ; rbloc := currentbloc ; 742 IF asscheck THEN 743 BEGIN 744 WITH lattr.typtr^.actual_parameter_list^ DO 745 IF klass = konst THEN 746 IF gattr.typtr^.actual_parameter_list^.klass <> konst THEN 747 gencstecode (values, ilda) 748 ELSE BEGIN 749 IF values >= gattr.typtr^.actual_parameter_list^.values THEN check_done := true 750 END 751 ELSE BEGIN 752 addressvar (lattr.typtr^.actual_parameter_list, tattr, false) ; 753 transfer (tattr, inacc) ; freeattr (tattr) ; 754 END ; 755 genstand (rpr, 0, icmpa, tn) ; 756 loc1 := indfich ; genstand (nreg, 0, itpl, tic) ; 757 genexceptcode (stringlength_assignment_error, ra) ; 758 inser (cb, loc1) ; 759 END ; 760 regenere (rbloc) ; regenere (lbloc) ; 761 mfari1 := a1r1i0 ; mfari2 := a1r1i0 ; 762 genstand (rpr, 0, ildq, tn) ; genstand (nreg, 4, iadq, tdl) ; 763 geneism (imlr, ord (' '), p0t0r0) ; 764 gendesca (rpr, 0, 0, l9, 0, tql) ; 765 gendesca (lpr, 0, 0, l9, 0, tql) ; 766 freebloc (lbloc) ; freebloc (rbloc) ; 767 freeattr (gattr) ; freeattr (lattr) ; 768 END 769 ELSE error (145) 770 ELSE error (145) ; 771 IF generic # NIL THEN 772 WITH gattr DO 773 CASE generic@.form OF 774 reel : 775 BEGIN *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 36 776 IF gattr.typtr # realptr THEN 777 convreal (gattr) ELSE 778 IF lattr.typtr # realptr THEN 779 error (109) ; 780 transfer (gattr, inacc) ; 781 transfer (lattr, out) ; 782 END (* REEL *) ; 783 numeric, scalar : 784 BEGIN 785 IF kind = sval THEN 786 checkminmax (val, lattr.typtr, 303) ELSE 787 IF asscheck THEN 788 BEGIN 789 choicerarq ; 790 checkbnds (asserrcode, ldreg, lattr.typtr) ; 791 END (* asschecks *) ; 792 ended := false ; 793 IF kind = sval THEN 794 BEGIN 795 IF lattr.pckd THEN 796 BEGIN 797 IF lattr.access # pointable THEN 798 IF lattr.inxbloc = NIL THEN 799 IF lattr.inxmem = 0 THEN 800 IF packedsize (lattr.typtr) = byteinbyte 801 (* SHORTER SAID 1 *) 802 THEN 803 BEGIN 804 IF val < 0 THEN (* 2'S COMPLEMENT *) 805 val := val + twoto9 ; 806 calcvarient (lattr, lbase, ldisp, ltag) ; 807 mfari1 := a0r0i0 ; (* DUMMY *) 808 mfari2 := a1r0i0 ; 809 mfreg2 := ltag ; 810 geneism (imlr, val, p0t0r0) ; 811 gendesca (nreg, 0, 0, l9, 0, tn) ; 812 WITH lattr DO 813 IF kind = varbl THEN usednameaddr := nameaddr ELSE 814 IF kind = chain THEN usednameaddr := alfactp ; 815 gendesca (lbase, ldisp, 816 lattr.dplmt MOD bytesinword, l9, byteinbyte, tn) ; 817 ended := true ; 818 END (* SIZE 1 *) ; 819 END (* LATTR.PCKD *) ELSE 820 IF val = 0 THEN 821 BEGIN 822 calcvarient (lattr, lbase, ldisp, ltag) ; 823 WITH lattr DO 824 IF kind = varbl THEN usednameaddr := nameaddr ELSE 825 IF kind = chain THEN usednameaddr := alfactp ; 826 genstand (lbase, ldisp, istz, ltag) ; 827 ended := true ; 828 END (* VAL=0 *) ; 829 END (* KIND=SVAL *) ; 830 IF NOT ended THEN 831 BEGIN 832 choicerarq ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 37 833 transfer (lattr, out) ; 834 END (* NOT ENDED *) ; 835 END (* NUMERIC,SCALAR *) ; 836 power, pointer : 837 IF typtr = lamptr THEN 838 BEGIN 839 IF varissimple (lattr) THEN 840 BEGIN 841 lbase := lattr.basereg ; 842 ldisp := lattr.dplmt DIV bytesinword ; 843 END ELSE 844 BEGIN 845 loadadr (lattr, nreg) ; lbase := currentpr ; 846 freebloc (currentbloc) ; ldisp := 0 ; 847 lattr.dplmt := 0 ; 848 END ; 849 IF lattr.pckd THEN 850 lsize := packedsize (lattr.typtr) ELSE 851 lsize := lattr.typtr@.size ; 852 mfari1 := a0r0i0 ; (* DUMMY *) mfari2 := a1r0i0 ; 853 geneism (imlr, 0 (* FILL BYTE *), p0t0r0) ; 854 gendesca (nreg, 0, 0, l9, 0, tn) ; 855 WITH lattr DO 856 IF kind = varbl THEN usednameaddr := nameaddr ELSE 857 IF kind = chain THEN usednameaddr := alfactp ; 858 gendesca (lbase, ldisp, lattr.dplmt MOD bytesinword, l9, lsize, tn) ; 859 END (* LAMPTR *) ELSE 860 BEGIN 861 IF generic^.form = power THEN 862 IF gattr.kind = sval THEN 863 BEGIN 864 checkminmax (gattr.val MOD 1000, lattr.typtr^.elset, 305) ; 865 checkminmax (gattr.val DIV 1000, lattr.typtr^.elset, 305) ; 866 END ; 867 transfer (gattr, inacc) ; 868 transfer (lattr, out) ; 869 END ; 870 arrays, records : 871 IF NOT conformantdim (lattr.typtr) THEN 872 BEGIN 873 lsize := lattr.typtr@.size ; 874 IF isstring (gattr) THEN 875 BEGIN 876 IF kind = chain THEN 877 rsize := alfactp@.alfalong ELSE 878 rsize := typtr@.size ; 879 IF lsize < rsize THEN 880 error (197) ; 881 END (* ISSTRING *) ELSE 882 rsize := lsize ; 883 rbase := nreg ; 884 IF kind # chain THEN 885 IF varissimple (gattr) THEN 886 BEGIN 887 rbase := basereg ; 888 rdisp := dplmt DIV bytesinword ; rmod := dplmt MOD bytesinword ; 889 END ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 38 890 IF rbase = nreg THEN 891 BEGIN 892 loadadr (gattr, pr3) ; 893 rbase := pr3 ; rdisp := 0 ; rmod := 0 ; 894 END ; 895 IF varissimple (lattr) THEN 896 BEGIN 897 lbase := lattr.basereg ; ldisp := lattr.dplmt DIV bytesinword ; 898 lmod := lattr.dplmt MOD bytesinword ; 899 END ELSE 900 BEGIN 901 lbase := pr2 ; loadadr (lattr, pr2) ; ldisp := 0 ; 902 lmod := 0 ; 903 END ; 904 suplr := sup (rsize, lsize) ; 905 IF envstandard <> stdextend THEN 906 IF rsize <> lsize THEN 907 error (29) ; 908 IF suplr < twoto12 THEN 909 BEGIN 910 mfari1 := a1r0i0 ; mfari2 := a1r0i0 ; lftag := tn ; rgtag := tn ; 911 END ELSE 912 BEGIN 913 mfari1 := a1r1i0 ; mfari2 := a1r1i0 ; lftag := tx6 ; rgtag := tx7 ; 914 IF suplr > twoto17m1 THEN 915 error (307) ELSE 916 BEGIN 917 genstand (nreg, lsize, ieax6, tn) ; 918 genstand (nreg, rsize, ieax7, tn) ; 919 END ; 920 lsize := 0 ; rsize := 0 ; 921 END ; 922 geneism (imlr, ord (' '), p0t0r0) ; 923 WITH gattr DO 924 IF kind = varbl THEN usednameaddr := nameaddr ELSE 925 IF kind = chain THEN usednameaddr := alfactp ; 926 gendesca (rbase, rdisp, rmod, l9, rsize, rgtag) ; 927 WITH lattr DO 928 IF kind = varbl THEN usednameaddr := nameaddr ELSE 929 IF kind = chain THEN usednameaddr := alfactp ; 930 gendesca (lbase, ldisp, lmod, l9, lsize, lftag) ; 931 END (* array not conf, records *) ELSE 932 BEGIN 933 init_desc_address (lattr.nameaddr, lattr) ; 934 (* COMPUTE SIZE NOW *) 935 sauvereg (rq, true) ; sauvereg (ra, false) ; 936 rqbox := currentbloc ; 937 938 ddisp := 0 ; 939 temp := lattr.typtr ; 940 WHILE conformantdim (temp^.aeltype) DO 941 BEGIN 942 ddisp := ddisp + 3 ; 943 temp := temp^.aeltype ; 944 END ; 945 regenere (lattr.descbloc) ; 946 genstand (lattr.descreg, 1 + ddisp, ildq, tn) ; (* MAX *) *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 39 947 genstand (lattr.descreg, ddisp, isbq, tn) ; (* - MIN *) 948 genstand (nreg, 1, iadq, tdl) ; (* +1 *) 949 genstand (lattr.descreg, 2 + ddisp, impy, tn) ; (* * SUBSIZE *) 950 IF NOT lattr.typtr^.pack THEN (* SIZE IS IN WORDS *) 951 genstand (nreg, 2, iqls, tn) ; (* IN BYTES NOW *) 952 freebloc (lattr.descbloc) ; 953 954 init_desc_address (gattr.nameaddr, gattr) ; 955 freebloc (gattr.descbloc) ; 956 957 mfari1 := a1r1i0 ; 958 mfari2 := a1r1i0 ; 959 regenere (rqbox) ; regenere (lattr.basebloc) ; regenere (gattr.basebloc) ; 960 IF lattr.typtr^.pack THEN (* SIZE IS IN BITS *) 961 BEGIN 962 geneism (icsl, 3, p0t0r0) ; 963 gendescb (gattr.basereg, 0, 0, 0, 0, tql) ; 964 gendescb (lattr.basereg, 0, 0, 0, 0, tql) ; 965 END 966 ELSE 967 BEGIN 968 geneism (imlr, ord (' '), p0t0r0) ; 969 gendesca (gattr.basereg, 0, 0, l9, 0, tql) ; 970 gendesca (lattr.basereg, 0, 0, l9, 0, tql) ; 971 END ; 972 973 freeattr (gattr) ; freeattr (lattr) ; freebloc (rqbox) ; 974 END ; 975 files : error (146) ; 976 END (* CASE GENERIC@.FORM,WITH GATTR *) ; 977 END (* NO=20 *) ; 978 IF mapswitch THEN statement_ends (symbolindex - sttindex) ; 979 $OPTIONS compile = trace $ 980 IF stattrace > low THEN 981 BEGIN 982 write (mpcogout, '@@@ FIN ASSIGN @@@ WITH NO', no : 4) ; nextline ; 983 END ; 984 $OPTIONS compile = true $ 985 END (* ASSIGN *) ; 986 987 988 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 40 989 990 (* ************************************ REPEATSTAT **************************** *) 991 992 PROCEDURE repeatstat ; 993 994 (* C .COMPILATION OF REPEAT [;STATE]* UNTIL 995* .GENJUMP GENERATES A SKIP IF FALSE 996* C *) 997 (* E ERRORS DETECTED 998* 6: TYPE OF EXPRESSION MUST BE BOOLEAN 999* 14: ";" EXPECTED 1000* 53: "UNTIL" EXPECTED 1001* 61: ILLEGAL BEGINNING SYMBOL FOR A STATEMENT 1002* E *) 1003 LABEL 1004 10, (* INSYMBOL BEFORE CALL OF STATEMENT *) 1005 20 ; (* CALL OF STATEMENT *) 1006 VAR 1007 locrpt : integer ; 1008 dummy : integer ; 1009 BEGIN (* REPEATSTAT *) 1010 $OPTIONS compile = trace $ 1011 IF stattrace > none THEN 1012 BEGIN 1013 write (mpcogout, '@@@ DEBUT REPEATSTAT @@@') ; nextline ; 1014 END ; 1015 $OPTIONS compile = true $ 1016 locrpt := cb ; (* RETURN PLACE *) 1017 push_lab_pdl ; 1018 REPEAT (* LOOP ON STATEMENTS *) 1019 10 : 1020 insymbol ; 1021 20 : 1022 freeallregisters ; 1023 statement ; 1024 IF mapswitch THEN statement_ends (symbolindex - sttindex) ; 1025 IF errcl [no] = begsy THEN 1026 BEGIN 1027 error (14) ; GOTO 20 ; 1028 END ; 1029 IF no = 25 (* ELSE *) THEN 1030 BEGIN 1031 error (61) ; GOTO 10 ; 1032 END ; 1033 UNTIL no # 16 (* ; *) ; 1034 pop_lab_pdl ; 1035 IF no # 29 (* UNTIL *) THEN 1036 error (53) ELSE 1037 BEGIN 1038 IF mapswitch THEN statement_begins (true) ; 1039 insymbol ; 1040 freeallregisters ; 1041 expression ; 1042 IF gattr.typtr # NIL THEN 1043 BEGIN 1044 IF gattr.typtr # boolptr THEN 1045 error (6) ELSE *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 41 1046 genjump (dummy, locrpt) ; 1047 END ELSE 1048 skip (46) ; 1049 IF mapswitch THEN statement_ends (symbolindex - sttindex) ; 1050 END (* UNTIL FOUND *) ; 1051 $OPTIONS compile = trace $ 1052 IF stattrace > low THEN 1053 BEGIN 1054 write (mpcogout, '@@@ FIN REPEATSTAT @@@ WITH NO', no : 4) ; nextline ; 1055 END ; 1056 $OPTIONS compile = true $ 1057 END (* REPEATSTAT *) ; 1058 1059 1060 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 42 1061 1062 (* ************************************ WHILESTAT ***************************** *) 1063 1064 PROCEDURE whilestat ; 1065 1066 (* C COMPILATION OF WHILE DO 1067* C *) 1068 (* E ERRORS DETECTED 1069* 6: BOOLEAN EXPRESSION EXPECTED 1070* 54: "DO" EXPECTED 1071* E *) 1072 LABEL 1073 10, (* EXIT PROCEDURE *) 1074 (* SKIPS CALL OF STATEMENT *) 1075 20 ; (* CALL OF STATEMENT *) 1076 VAR 1077 locret, locskip : integer ; 1078 BEGIN (* WHILESTAT *) 1079 $OPTIONS compile = trace $ 1080 IF stattrace > none THEN 1081 BEGIN 1082 write (mpcogout, '@@@ DEBUT WHILESTAT @@@') ; nextline ; 1083 END ; 1084 $OPTIONS compile = true $ 1085 locret := cb ; 1086 locskip := 0 ; (* DEFAULT MEANS NO INSER *) 1087 insymbol ; 1088 freeallregisters ; 1089 expression ; 1090 IF gattr.typtr # NIL THEN 1091 BEGIN 1092 IF gattr.typtr # boolptr THEN 1093 error (6) ELSE 1094 genjump (locskip, 0) ; 1095 END ; 1096 IF mapswitch THEN statement_ends (symbolindex - sttindex) ; 1097 IF no # 31 (* DO *) THEN 1098 BEGIN 1099 IF gattr.typtr # NIL THEN error (54) ; 1100 skip (31) ; 1101 IF no # 31 THEN 1102 BEGIN 1103 IF gattr.typtr = NIL THEN error (54) ; 1104 IF errcl [no] = begsy THEN 1105 GOTO 20 ELSE 1106 GOTO 10 ; 1107 END ; 1108 END (* NO#31 *) ; 1109 insymbol ; 1110 20 : 1111 freeallregisters ; 1112 push_lab_pdl ; statement ; pop_lab_pdl ; 1113 genstand (nreg, (locret - cb) DIV bytesinword, itra, tic) ; 1114 IF mapswitch THEN statement_ends (symbolindex - sttindex) ; 1115 IF locskip # 0 THEN 1116 inser (cb, locskip) ; 1117 10 : *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 43 1118 $OPTIONS compile = trace $ 1119 IF stattrace > low THEN 1120 BEGIN 1121 write (mpcogout, '@@@ FIN WHILESTAT @@@ WITH NO:', no : 4) ; nextline ; 1122 END ; 1123 $OPTIONS compile = true $ 1124 END (* WHILESTAT *) ; 1125 1126 1127 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 44 1128 1129 (* ************************************ FORSTAT ******************************* *) 1130 1131 PROCEDURE forstat ; 1132 1133 (* C CHECKS CONTROL VARIABLE 1134* COMPUTE FIRST EXP 1135* COMPUTE SECOND EXP 1136* STORE IF NOT SVAL 1137* TEST ONE EXECUT 1138* E1 STORE FIRST IN CONTROL 1139* E2 1140* 1141* RELOAD CONTROL 1142* TEST ENDED 1143* YES GOTO E3 1144* NO IF"TO" AOS ,GOTO E2 1145* IF "DOWNTO" SUB 1,GOTO E1 1146* E3 1147* C *) 1148 (* E ERRORS DETECTED 1149* 2: ID. EXPECTED 1150* 51: ":=" EXPECTED 1151* 54: "DO" EXPECTED 1152* 55: "TO/DOWNTO" EXPECTED 1153* 103: ID. IS NOT OF APPROPRIATE CLASS 1154* 104: ID. NOT DECLARED 1155* 145: TYPE CONFLICT 1156* 194: CONTROL VARIABLE MUST BE DECLARED AND USED AT SAME LEVEL 1157* 195: SCALAR OR NUMERIC FOR CONTROL VARIABLE 1158* 196: VARIABLE MUST NOT BE ASSIGNED 1159* 199: CONTROL VARIABLE CANNOT BE FORMAL OR EXPORTABLE 1160* 303: VALUE ASSIGNED OUT OF BOUNDS 1161* E *) 1162 LABEL 1163 10, (* EXIT PROC *) 1164 20 ; (* STATEMENT *) 1165 VAR 1166 lptcont : ctp ; (* NIL IF ERROR ON CONTROL VARIABLE *) 1167 lstate : integer ; (* REACHES 3 IF NO ERROR *) 1168 oldlcsave, retdispw : integer ; 1169 controlnameaddr, typvar, generic : ctp ; 1170 ldispw, lcl, supval, highdispw, locskip1, locskip2, downret, toret : integer ; 1171 lbase : preg ; 1172 totransfer, skipall, lcompare, supissval : boolean ; 1173 lattr : attr ; 1174 ldest : destination ; 1175 lstor, ejump, bjump, lsub, lcomp, lload : istand ; 1176 BEGIN (* FORSTAT *) 1177 $OPTIONS compile = trace $ 1178 IF stattrace > none THEN 1179 BEGIN 1180 write (mpcogout, '@@@ DEBUT FORSTAT @@@ WITH LCSAVE:', lcsave) ; nextline ; 1181 END ; 1182 $OPTIONS compile = true $ 1183 controlnameaddr := NIL ; 1184 lstate := 0 ; (* MUST BE 3 IF NO ERROR *) *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 45 1185 oldlcsave := lcsave ; 1186 highdispw := lcsave DIV bytesinword ; 1187 lcsave := lcsave + bytesinword ; 1188 IF lcsave > tmax THEN tmax := lcsave ; 1189 lptcont := NIL ; (* DEFAULT IF ERROR *) 1190 typvar := NIL ; 1191 insymbol ; (* CONTROL VARIABLE *) 1192 IF no # 1 THEN 1193 error (2) ELSE 1194 BEGIN 1195 search ; 1196 IF ctptr = NIL THEN 1197 error (104) ELSE 1198 BEGIN 1199 IF symbolmap THEN nameisref (ctptr, symbolfile, -symbolline) ; 1200 IF ctptr@.klass # vars THEN 1201 error (103) ELSE 1202 IF ctptr@.vtype # NIL THEN 1203 IF NOT (ctptr@.vtype@.form IN [numeric, scalar]) THEN 1204 error (195) ELSE 1205 BEGIN lstate := 1 ; (* NO ERROR HERE FLAG *) 1206 IF ctptr@.vlevel # level THEN error (194) ; 1207 IF ctptr@.visreadonly THEN error (196) ; 1208 IF ctptr@.vkind # actual THEN error (199) ; 1209 lptcont := ctptr ; typvar := ctptr@.vtype ; 1210 ldispw := ctptr@.vaddr DIV bytesinword ; 1211 IF level = 0 THEN 1212 lbase := prstatic ELSE lbase := pr6 ; 1213 controlnameaddr := ctptr ; 1214 WITH ctptr@ DO 1215 BEGIN 1216 visused := true ; 1217 visset := true ; (* VISREADONLY AFTER "DO" *) 1218 END ; 1219 insymbol ; 1220 END ; 1221 END ; 1222 END (* NO=1 *) ; 1223 (* CHECK := *) 1224 IF no # 20 THEN 1225 BEGIN 1226 IF lptcont # NIL THEN error (51) ; 1227 skip (20) ; 1228 IF no # 20 THEN 1229 BEGIN lstate := 0 ; (* ERROR FLAG *) 1230 IF lptcont = NIL THEN error (51) ; 1231 IF errcl [no] = begsy THEN 1232 GOTO 20 (* STATEMENT *) ELSE 1233 GOTO 10 (* EXIT PROC *) ; 1234 END ; 1235 END ; 1236 (* ANALYSIS OF FIRST EXPRESSION *) 1237 freeallregisters ; 1238 insymbol ; expression ; 1239 compatbin (typvar, gattr.typtr, generic) ; 1240 IF (generic = NIL) OR (generic = realptr) THEN 1241 error (145) ELSE *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 46 1242 BEGIN (* NO TYPE ERROR *) 1243 WITH gattr DO 1244 IF kind = sval THEN 1245 checkminmax (val, typvar, 303) ELSE 1246 BEGIN (* NOT SVAL *) 1247 totransfer := true ; 1248 IF kind = varbl THEN 1249 IF NOT asscheck THEN 1250 IF varissimple (gattr) THEN 1251 totransfer := false ; 1252 IF totransfer THEN 1253 BEGIN 1254 IF kind # lval THEN 1255 transfer (gattr, inq) ; 1256 IF asscheck THEN 1257 checkbnds (forerricode, ldreg, typvar) ; 1258 END (* TOTRANSFER *) ; 1259 END (* NOT SVAL, WITH GATTR *) ; 1260 lstate := lstate + 1 ; (* NO ERROR HERE FLAG *) 1261 END (* NO TYPE ERROR *) ; 1262 (* ANALYSIS OF TO/DOWNTO *) 1263 IF no # 33 (* TO/DOWNTO *) THEN 1264 BEGIN 1265 IF gattr.typtr # NIL THEN error (55) ; 1266 skip (33) ; 1267 IF no # 33 THEN 1268 BEGIN lstate := 0 ; (* ERROR FLAG *) 1269 IF gattr.typtr = NIL THEN error (55) ; 1270 IF errcl [no] = begsy THEN 1271 GOTO 20 (* STATE *) ELSE 1272 GOTO 10 ; (* END PROC *) 1273 END ; 1274 END (* NO#33 *) ; 1275 (* ANALYSIS OF ENDING EXPRESSION *) 1276 lcl := cl ; (* 1:TO 2:DOWNTO *) 1277 lattr := gattr ; 1278 insymbol ; expression ; 1279 compatbin (typvar, gattr.typtr, generic) ; 1280 IF (generic = NIL) OR (generic = realptr) THEN 1281 error (145) ELSE 1282 BEGIN (* NO TYPE ERR *) 1283 WITH gattr DO 1284 IF kind = sval THEN 1285 BEGIN 1286 supissval := true ; supval := val ; 1287 checkminmax (val, typvar, 303) ; 1288 END (* SVAL *) ELSE 1289 BEGIN (* NOT SVAL *) 1290 supissval := false ; 1291 IF kind # lval THEN 1292 BEGIN 1293 IF lattr.kind # lval THEN ldest := inacc ELSE 1294 IF lattr.ldreg = ra THEN ldest := inq ELSE ldest := inacc ; 1295 transfer (gattr, ldest) ; 1296 END ; 1297 IF asscheck THEN 1298 checkbnds (forerrscode, ldreg, typvar) ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 47 1299 usednameaddr := controlnameaddr ; 1300 genstand (pr6, highdispw, opaq [stor, ldreg], tn) ; 1301 freebloc (ldregbloc) ; 1302 END (* NOT SVAL,WITH GATTR *) ; 1303 lstate := lstate + 1 ; (* NO ERROR HERE *) 1304 END (* NO TYPE ERROR *) ; 1305 (* ANALYSIS FOR DO *) 1306 IF no # 31 (* DO *) THEN 1307 BEGIN 1308 IF gattr.typtr # NIL THEN error (54) ; 1309 skip (31) ; 1310 IF no # 31 THEN 1311 BEGIN lstate := 0 ; (* ERROR FLAG *) 1312 IF gattr.typtr = NIL THEN error (54) ; 1313 IF errcl [no] = begsy THEN 1314 GOTO 20 (* STATEMENT *) ELSE 1315 GOTO 10 (* EXIT PROC *) ; 1316 END ; 1317 END (* NO # 31 *) ; 1318 IF mapswitch THEN statement_ends (symbolindex - sttindex) ; 1319 (* CODE GENERATION *) 1320 IF lstate = 3 (* NO ERROR *) THEN 1321 BEGIN 1322 skipall := false ; lcompare := true ; 1323 IF lattr.kind = sval THEN 1324 BEGIN 1325 IF supissval THEN 1326 BEGIN 1327 lcompare := false ; 1328 IF lcl = 1 (* TO *) THEN 1329 BEGIN 1330 IF lattr.val > supval THEN skipall := true ; 1331 END ELSE (* DOWNTO *) 1332 IF lattr.val < supval THEN skipall := true ; 1333 END (* SUPISSVAL *) ; 1334 END (* LATTR IS SVAL *) ELSE 1335 IF lattr.kind = lval THEN 1336 lvalvarbl (lattr) ; 1337 IF lattr.kind # lval THEN 1338 transfer (lattr, inacc) ; 1339 IF lattr.ldreg = ra THEN 1340 BEGIN 1341 lcomp := icmpa ; lstor := ista ; lload := ilda ; lsub := isba ; 1342 END (* RA *) ELSE 1343 BEGIN (* RQ *) 1344 lcomp := icmpq ; lstor := istq ; lload := ildq ; lsub := isbq ; 1345 END (* RQ *) ; 1346 IF lcl = 1 (* TO *) THEN 1347 BEGIN bjump := itpnz ; ejump := itpl ; END ELSE 1348 BEGIN bjump := itmi ; ejump := itmoz END ; 1349 IF skipall THEN 1350 BEGIN 1351 locskip1 := indfich ; genstand (nreg, 0, itra, tic) ; 1352 END ELSE 1353 IF lcompare THEN 1354 BEGIN 1355 IF supissval THEN *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 48 1356 gencstecode (supval, lcomp) ELSE 1357 genstand (pr6, highdispw, lcomp, tn) ; 1358 locskip1 := indfich ; genstand (nreg, 0, bjump, tic) ; 1359 END (* LCOMPARE *) ELSE locskip1 := 0 ; 1360 downret := cb ; usednameaddr := controlnameaddr ; genstand (lbase, ldispw, lstor, tn) ; 1361 freebloc (lattr.ldregbloc) ; 1362 toret := cb ; 1363 END (* NO ERROR *) ; 1364 insymbol ; 1365 20 : 1366 IF lptcont # NIL THEN lptcont@.visreadonly := true ; 1367 freeallregisters ; 1368 IF mapswitch THEN statement_ends (symbolindex - sttindex) ; 1369 push_lab_pdl ; statement ; pop_lab_pdl ; 1370 IF mapswitch THEN statement_ends (symbolindex - sttindex) ; 1371 (* NOW ENDING OF LOOP *) 1372 IF lstate = 3 (* NO ERROR *) THEN 1373 BEGIN 1374 (* RELOAD CONTROL VARIABLE *) 1375 IF mapswitch THEN statement_begins (true) ; 1376 usednameaddr := controlnameaddr ; 1377 genstand (lbase, ldispw, lload, tn) ; 1378 IF supissval THEN 1379 gencstecode (supval, lcomp) ELSE 1380 genstand (pr6, highdispw, lcomp, tn) ; 1381 locskip2 := indfich ; genstand (nreg, 0, ejump, tic) ; 1382 IF lcl = 1 THEN 1383 BEGIN 1384 usednameaddr := controlnameaddr ; 1385 genstand (lbase, ldispw, iaos, tn) ; 1386 retdispw := (toret - cb) DIV bytesinword ; 1387 END ELSE 1388 BEGIN (* DOWNTO *) 1389 genstand (nreg, 1, lsub, tdl) ; 1390 retdispw := (downret - cb) DIV bytesinword ; 1391 END (* DOWNTO *) ; 1392 genstand (nreg, retdispw, itra, tic) ; 1393 IF locskip1 # 0 THEN inser (cb, locskip1) ; 1394 inser (cb, locskip2) ; 1395 END (* LSTATE=3 NO ERROR *) ; 1396 IF lptcont # NIL THEN 1397 lptcont@.visreadonly := false ; 1398 10 : (* EXIT PROC *) 1399 lcsave := oldlcsave ; 1400 IF mapswitch THEN statement_ends (3) ; (* "end" *) 1401 $OPTIONS compile = trace $ 1402 IF stattrace > low THEN 1403 BEGIN 1404 write (mpcogout, '@@@ FIN FORSTAT @@@ WITH LCSAVE,NO', lcsave, no) ; nextline ; 1405 END ; 1406 $OPTIONS compile = true $ 1407 END (* FORSTAT *) ; 1408 1409 1410 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 49 1411 1412 (* ************************************ GOTOSTAT ****************************** *) 1413 1414 PROCEDURE gotostat ; 1415 1416 (* C .INSTRUCTION COMPILED IS GOTO . 1417* .ALL DECLARED LABELS ARE IN LABTAB FROM 1 TO CLABIX 1418* .IF DECLARED LEVEL IS CURRENT LEVEL ,THEN IT IS A LOCAL GOTO 1419* (FORWARDS IF LABDEF=0 , BACKWARDS OTHERWISE). 1420* IF NOT, RETURNS IN A PREVIOUS PROC, THEN IT IS NECESSARY TO CLOSE 1421* LOCAL LIVING FILES ,AND TO GET THE OLD STACK FRAME. 1422* C *) 1423 (* E ERRORS DETECTED 1424* 15: INTEGER EXPECTED 1425* 167: UNDECLARED LABEL 1426* E *) 1427 LABEL 1428 20 ; (* EXIT OF LOOP *) 1429 VAR 1430 it : integer ; 1431 refbox : refptr ; 1432 BEGIN (* GOTOSTAT *) 1433 $OPTIONS compile = trace $ 1434 IF stattrace > none THEN 1435 BEGIN 1436 write (mpcogout, '@@@ DEBUT GOTOSTAT @@@') ; nextline ; 1437 END ; 1438 $OPTIONS compile = true $ 1439 insymbol ; 1440 IF (no # 2) OR (cl # 1) THEN (* NOT AN INTEGER CSTE *) 1441 BEGIN 1442 error (15) ; skip (46) ; 1443 END ELSE 1444 BEGIN 1445 (* SEARCHS IVAL IN LABTAB *) 1446 FOR it := clabix DOWNTO 1 DO 1447 WITH labtab [it] DO 1448 IF labval = ival THEN (* LABEL FOUND *) 1449 BEGIN 1450 IF labbox <> NIL THEN 1451 WITH labbox^ DO 1452 BEGIN 1453 refbox := references ; 1454 IF refbox <> NIL THEN BEGIN 1455 IF refbox^.refnbr = maxref THEN BEGIN 1456 new (refbox) ; 1457 WITH refbox^ DO 1458 BEGIN 1459 nextref := references ; 1460 references := refbox ; 1461 refnbr := 1 1462 END ; 1463 END 1464 ELSE 1465 WITH refbox^ DO 1466 refnbr := refnbr + 1 ; 1467 WITH refbox^ DO *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 50 1468 WITH refs [refnbr] DO BEGIN 1469 filen := symbolfile ; 1470 place := ic ; 1471 IF lablev <> level THEN 1472 linen := -symbolline 1473 ELSE 1474 linen := symbolline ; 1475 END ; 1476 END ; 1477 END ; 1478 IF lablev # level THEN 1479 BEGIN (* GOTO EXIT *) 1480 (* REMOVE FRAMES *) 1481 IF (lablev = 0) AND exportablecode THEN 1482 BEGIN 1483 IF NOT linktomain THEN 1484 BEGIN 1485 linktomainplace := lkc ; lkc := lkc + bytesindword ; 1486 linktomain := true 1487 END ; 1488 genstand (prlink, linktomainplace DIV bytesinword, iepp1, tny) ; 1489 IF labexit = 0 THEN 1490 BEGIN 1491 labexit := lkc ; lkc := lkc + bytesindword 1492 END ; 1493 genstand (prlink, labexit DIV bytesinword, iepp2, tny) ; 1494 genstand (pr0, gotoexitextplace, itsp3, tn) ; 1495 END 1496 ELSE 1497 BEGIN 1498 loadbase (lablev) ; 1499 IF currentpr # pr1 THEN genstand (currentpr, 0, iepp1, tn) ; 1500 freebloc (currentbloc) ; 1501 IF labexit = 0 THEN (* FIRST OCCUR *) 1502 BEGIN 1503 labexit := lkc ; lkc := lkc + bytesindword ; 1504 END ; 1505 genstand (prlink, labexit DIV bytesinword, iepp2, tny) ; 1506 genstand (pr0, gotoexitplace, itsp3, tn) ; 1507 END ; 1508 (* EXIT LOOP *) GOTO 20 ; 1509 END (* GOTO EXT *) ELSE 1510 BEGIN (* LOCAL GOTO *) 1511 IF labdef # 0 THEN (* ALREADY DEFINED *) 1512 genstand (nreg, (labdef - cb) DIV bytesinword, itra, tic) ELSE 1513 BEGIN (* NOT YET RESOLVED *) 1514 enterundlab (labch1) ; 1515 genstand (nreg, 0, itra, tic) ; 1516 END (* NOT YET RESOLV. *) ; 1517 (* EXIT LOOP *) GOTO 20 ; 1518 END (* LOCAL GOTO,IF,IF,WITH,FOR *) ; 1519 END ; 1520 (* AT THIS POINT, *) 1521 (* NOT FOUND INTEGER IN LABTAB *) 1522 error (167) ; 1523 20 : (* EXIT LOOP FOR *) 1524 insymbol ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 51 1525 IF mapswitch THEN statement_ends (symbolindex - sttindex) ; 1526 END (* INTEGER FOUND *) ; 1527 $OPTIONS compile = trace $ 1528 IF stattrace > low THEN 1529 BEGIN 1530 write (mpcogout, '@@@ FIN GOTOSTAT @@@ WITH NO', no : 4) ; nextline ; 1531 END ; 1532 $OPTIONS compile = true $ 1533 END (* GOTOSTAT *) ; 1534 1535 1536 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 52 1537 1538 (* ************************************ IFSTAT ******************************** *) 1539 1540 PROCEDURE ifstat ; 1541 1542 (* C .COMPILATION OF IF THEN 1543* IF THEN ELSE 1544* .GENJUMP GENERATES A BRANCH USING THE SETTING OF CONDITION CODES 1545* C *) 1546 (* E ERRORS DETECTED 1547* 6 : BOOLEAN EXPRESSION EXPECTED 1548* 52 : "THEN" EXPECTED 1549* E *) 1550 LABEL 1551 20, (* CALL OF STATEMENT AFTER THEN *) 1552 30 ; (* SKIP STATEMENT AFTER THEN *) 1553 VAR 1554 locthen, locelse : integer ; 1555 BEGIN (* IFSTAT *) 1556 $OPTIONS compile = trace $ 1557 IF stattrace > none THEN 1558 BEGIN 1559 write (mpcogout, '@@@ DEBUT IFSTAT @@@') ; nextline ; 1560 END ; 1561 $OPTIONS compile = true $ 1562 locthen := 0 ; (* DEFAULT MEANS NO INSER TO DO *) 1563 freeallregisters ; 1564 insymbol ; expression ; 1565 IF gattr.typtr # NIL THEN 1566 BEGIN 1567 IF gattr.typtr # boolptr THEN 1568 error (6) ELSE 1569 genjump (locthen, 0) ; 1570 END ; 1571 IF no # 24 (* THEN *) THEN 1572 BEGIN 1573 IF gattr.typtr # NIL THEN error (52) ; 1574 skip (24) ; 1575 IF no # 24 THEN 1576 BEGIN 1577 IF gattr.typtr = NIL THEN error (52) ; 1578 IF errcl [no] = endsy THEN 1579 GOTO 30 ELSE 1580 GOTO 20 ; 1581 END ; 1582 END (* NO#24 *) ; 1583 insymbol ; 1584 IF mapswitch THEN statement_ends (symbolindex - sttindex) ; 1585 20 : 1586 freeallregisters ; 1587 push_lab_pdl ; statement ; pop_lab_pdl ; 1588 30 : 1589 IF no = 25 (* ELSE *) THEN 1590 BEGIN 1591 locelse := indfich ; genstand (nreg, 0, itra, tic) ; 1592 IF mapswitch THEN statement_ends (symbolindex - sttindex) ; 1593 END ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 53 1594 IF locthen # 0 THEN 1595 inser (cb, locthen) ; 1596 IF no = 25 (* ELSE *) THEN 1597 BEGIN 1598 insymbol ; 1599 freeallregisters ; 1600 push_lab_pdl ; statement ; pop_lab_pdl ; 1601 inser (cb, locelse) ; 1602 IF mapswitch THEN statement_ends (symbolindex - sttindex) ; 1603 END ; 1604 $OPTIONS compile = trace $ 1605 IF stattrace > low THEN 1606 BEGIN 1607 write (mpcogout, '@@@ FIN IFSTAT @@@ WITH NO', no : 4) ; nextline ; 1608 END ; 1609 $OPTIONS compile = true $ 1610 END (* IFSTAT *) ; 1611 1612 1613 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 54 1614 1615 (* ************************************ CASESTAT ****************************** *) 1616 1617 PROCEDURE casestat ; 1618 1619 (* C .ANALYSIS AND CODE GENERATION FOR THE STATEMENT 1620* .GENERATED CODE IS THE FOLLOWING 1621* ******************** 1622* * * 1623* * SELECTOR IN RA * 1624* *** *** 1625* TRA SWITCH 1626* *** *** 1627* * * FOR MIN, MIN+2 1628* E1 * STATEMENT_1 * 1629* * * 1630* * TRA END * 1631* ................ 1632* * * FOR MAX 1633* EN * STATEMENT_N * 1634* * 1635* * TRA END 1636* ******************** 1637* * * 1638* SWITCH * RA TO ZERO POINT* 1639* * RA IN [MIN..MAX]* 1640* * TRA VECTOR[RA] * 1641* * * 1642* ******************** 1643* VECTOR * TRA E1 * MINSELECT 1644* * TRA END * MIN+1 1645* * TRA E1 * MIN+2 1646* * ....... * ..... 1647* * TRA EN * MAXSELECT 1648* ******************** 1649* END. 1650* C *) 1651 (* E ERRORS DETECTED 1652* 1: SCALAR OR NUMERIC EXPECTED AS SELECTOR 1653* 7 ":" EXPECTED 1654* 8: "OF" EXPECTED 1655* 13 "END" EXPECTED 1656* 14 : ";" EXPECTED 1657* 20 "," EXPECTED 1658* 23 "CASE LABEL" EXPECTED 1659* 60: "OR" NOT ALLOWED AS MONADIC OPERATOR 1660* 61 : ILLEGAL BEGINNING SYMBOL FOR A STATEMENT 1661* 103 IDENTIFIER IS NOT OF APPROPRIATE CLASS 1662* 104 UNDECLARED IDENTIFIER 1663* 105 SIGN NOT ALLOWED HERE 1664* 147 TYPE CONFLICT WITH THE CASE SELECTOR 1665* 148 CASE VECTOR TRANSFER TOO LARGE 1666* 156 DUPLICATE CASE LABEL 1667* 304 VALUE OUT OF BOUNDS 1668* E *) 1669 LABEL 1670 1, (* EXIT WHILE *) (* INSERTION OF A NEW LABEL BOX *) *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 55 1671 2, (* SKIP HERE IF DUPLICATE CASE LABEL *) 1672 3, 1673 10 ; (* EXIT PROC BEFORE ALL THE "DISPOSE" *) 1674 TYPE 1675 ptcas = @ reccas ; 1676 reccas = RECORD 1677 next : ptcas ; (* LINK IN GROWING ORDER THESE BOXES *) 1678 cslab : integer ; (* SELECTING CASE LABEL VALUE *) 1679 addr : integer ; (* "CB" VALUE OF FIRST INSTR. *) 1680 (* FOR THIS STATEMENT *) 1681 END ; 1682 (* SUCH A BOX IS BUILD *) 1683 (* FOR EACH CASE LABEL *) 1684 ptend = @ recend ; 1685 recend = RECORD 1686 succ : ptend ; (* REVERSE LINK *) 1687 indf : integer ; (* PLACE WHERE AN INSERTION OF *) 1688 (* EXIT ADDRESS MUST BE MADE *) 1689 END ; 1690 VAR 1691 seltype, labtype, generic : ctp ; 1692 locitra, locminexit, locmaxexit, loctabl, otherwiseplace : integer ; 1693 firstetiq, firstcase, minus, sign, stoploop, noterr, errintab, ierr, otherwise : boolean ; 1694 headcase, ptboxcur, ptlast, workpt, savept : ptcas ; 1695 ptchnend, pttetend, savept2 : ptend ; 1696 lastgen, longtabl, maxselect, minselect, valselect : integer ; 1697 BEGIN (* CASESTAT *) 1698 $OPTIONS compile = trace $ 1699 IF stattrace > none THEN 1700 BEGIN 1701 write (mpcogout, '@@@ DEBUT CASESTAT @@@') ; nextline ; 1702 END ; 1703 $OPTIONS compile = true $ 1704 otherwise := false ; 1705 seltype := NIL ; locitra := 0 ; 1706 headcase := NIL ; pttetend := NIL ; 1707 minselect := 0 ; maxselect := 0 ; 1708 (* *SELECTOR ANALYSIS *) 1709 freeallregisters ; 1710 insymbol ; expression ; 1711 WITH gattr DO 1712 BEGIN 1713 IF typtr # NIL THEN 1714 IF typtr@.form IN [numeric, scalar] THEN 1715 BEGIN 1716 transfer (gattr, inacc) ; freebloc (gattr.ldregbloc) ; 1717 seltype := typtr ; 1718 locitra := indfich ; genstand (nreg, 0, itra, tic) ; 1719 END ELSE 1720 error (1) ; 1721 END (* WITH GATTR *) ; 1722 (* *) 1723 (* *) 1724 (* *) 1725 IF no # 27 THEN 1726 BEGIN 1727 IF gattr.typtr # NIL THEN error (8) ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 56 1728 skip (27) ; 1729 IF no # 27 THEN 1730 IF gattr.typtr = NIL THEN error (8) ; 1731 END ELSE 1732 insymbol ; 1733 noterr := true ; 1734 (* *) 1735 (* ** MAIN LOOP ON STATEMENT BLOCKS *) 1736 (* *) 1737 firstcase := true ; 1738 REPEAT 1739 IF no = 7 (* + - OR *) THEN 1740 BEGIN 1741 minus := cl = 2 ; (* - *) 1742 IF cl = 3 THEN error (60) ; 1743 insymbol ; sign := true ; 1744 END ELSE 1745 BEGIN 1746 minus := false ; sign := false ; 1747 END ; 1748 IF (no <= 2) THEN (* CAN BE A CASE LABEL *) 1749 BEGIN 1750 stoploop := false ; 1751 firstetiq := true ; 1752 REPEAT (* LOOP ON LABEL(S) FOR ONE BLOCK *) 1753 labtype := NIL ; 1754 IF no = 1 (* ID *) THEN 1755 BEGIN 1756 search ; 1757 IF ctptr = NIL THEN 1758 BEGIN 1759 IF firstetiq AND (NOT firstcase) THEN 1760 IF envstandard > stdsol THEN 1761 IF (aval = usednames [6]) THEN (* OTHERWISE !! *) 1762 BEGIN 1763 otherwise := true ; 1764 otherwiseplace := cb ; 1765 REPEAT 1766 insymbol ; 1767 freeallregisters ; 1768 3 : push_lab_pdl ; statement ; pop_lab_pdl ; 1769 IF errcl [no] = begsy THEN 1770 BEGIN 1771 error (14) ; GOTO 3 ; 1772 END ; 1773 IF no = 25 (* ELSE *) THEN 1774 BEGIN 1775 error (61) ; insymbol ; GOTO 3 ; 1776 END ; 1777 UNTIL no <> 16 (* ; *) ; 1778 IF no <> 22 THEN BEGIN 1779 error (13) ; 1780 GOTO 10 ; 1781 END ; 1782 new (ptchnend) ; IF ptchnend = NIL THEN heaperror ; (* EXIT COMP *) 1783 ptchnend@.succ := pttetend ; pttetend := ptchnend ; 1784 ptchnend@.indf := indfich ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 57 1785 genstand (nreg, 0, itra, tic) ; (* EXIT OF CASE *) 1786 GOTO 10 ; 1787 END ; 1788 error (104) ; insymbol ; skip (46) ; 1789 END ELSE 1790 BEGIN 1791 IF symbolmap THEN nameisref (ctptr, symbolfile, symbolline) ; 1792 WITH ctptr@ DO 1793 IF klass # konst THEN 1794 BEGIN 1795 IF klass >= vars THEN stoploop := true ; 1796 error (103) ; insymbol ; skip (46) ; 1797 END (* # KONST *) ELSE 1798 BEGIN (* KONST *) 1799 IF contype # NIL THEN 1800 BEGIN 1801 labtype := contype ; 1802 IF minus THEN valselect := -values 1803 ELSE valselect := values ; 1804 END ; 1805 END (* KONST *) ; 1806 END 1807 END (* NO=1 *) ELSE 1808 IF no = 2 (* CSTE *) THEN 1809 BEGIN 1810 CASE cl OF 1811 1 : labtype := intptr ; 1812 2, 3 : error (1) ; 1813 4 : labtype := charptr ; 1814 END ; 1815 IF labtype # NIL THEN 1816 IF minus THEN valselect := -ival ELSE valselect := ival ; 1817 END (* NO=2 *) ELSE 1818 BEGIN 1819 error (23) ; 1820 END ; 1821 (* TYPE COMPATIBILTY *) 1822 IF labtype # NIL THEN 1823 BEGIN 1824 IF seltype = NIL THEN 1825 seltype := labtype ELSE 1826 BEGIN 1827 compatbin (seltype, labtype, generic) ; 1828 IF (generic = NIL) OR (generic = realptr) THEN 1829 BEGIN 1830 error (147) ; labtype := NIL ; 1831 END ELSE 1832 BEGIN 1833 IF generic@.form # numeric THEN 1834 IF sign THEN error (105) ; 1835 checkminmax (valselect, seltype, 304) ; 1836 END (* GENERIC NOT NIL *) ; 1837 END (* SELTYPE#NIL *) ; 1838 END (* LABTYPE #NIL *) ; 1839 IF labtype # NIL THEN 1840 BEGIN 1841 noterr := true ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 58 1842 ptboxcur := headcase ; ptlast := NIL ; 1843 WHILE ptboxcur # NIL DO 1844 BEGIN 1845 IF ptboxcur@.cslab >= valselect THEN 1846 BEGIN 1847 IF ptboxcur@.cslab = valselect THEN 1848 BEGIN error (156) ; GOTO 2 ; 1849 END ; 1850 GOTO 1 ; (* EXIT LOOP *) 1851 END ; 1852 ptlast := ptboxcur ; 1853 ptboxcur := ptboxcur@.next ; 1854 END ; 1855 (* HERE MAXSELECT MUST BE CHANGED. *) 1856 (* BOXES ARE LINKED VIA NEXT *) 1857 (* IN GROWTHING ORDER *) 1858 (* HEADCASE POINTS THE SMALLEST *) 1859 maxselect := valselect ; 1860 1 : (* CREATES A NEW LABEL BOX *) 1861 new (workpt) ; IF workpt = NIL THEN heaperror ; (* EXIT COMP *) 1862 WITH workpt@ DO 1863 BEGIN 1864 next := ptboxcur ; cslab := valselect ; addr := cb ; 1865 END ; 1866 IF ptlast = NIL THEN (* BOX =NEW BEGINNING OF LIST *) 1867 BEGIN 1868 headcase := workpt ; minselect := valselect ; 1869 END ELSE 1870 ptlast@.next := workpt ; 1871 END (* LABTYPE#NIL,CREATES THEN A NEW LABEL BOX *) ; 1872 2 : (* SKIP HERE IF DUPLICATE LABEL *) 1873 IF NOT stoploop THEN 1874 BEGIN 1875 insymbol ; 1876 IF no = 19 (* : *) THEN 1877 stoploop := true ELSE 1878 BEGIN 1879 IF no = 15 THEN (* , *) 1880 BEGIN 1881 insymbol ; 1882 IF no = 7 THEN 1883 BEGIN 1884 minus := cl = 2 ; sign := true ; 1885 IF cl = 3 THEN error (60) ; 1886 insymbol ; 1887 END ELSE 1888 BEGIN 1889 minus := false ; sign := false ; 1890 END ; 1891 END (* NO=15 *) ELSE 1892 error (20) ; 1893 ierr := false ; 1894 WHILE NOT (no IN [1, 2, 19]) AND (errcl [no] = irrelsy) DO 1895 BEGIN 1896 insymbol ; ierr := true ; 1897 END ; 1898 IF ierr THEN error (7) ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 59 1899 IF no > 2 THEN stoploop := true ; 1900 END (* NO#19 *) ; 1901 END (* NOT STOPLOOP *) ; 1902 firstetiq := false ; 1903 UNTIL stoploop ; 1904 IF mapswitch THEN statement_ends (symbolindex - sttindex) ; 1905 (* *) 1906 (* STATEMENT BLOCK *) 1907 (* *) 1908 IF (no = 19) OR (errcl [no] = begsy) THEN 1909 BEGIN 1910 IF no = 19 THEN insymbol ; 1911 freeallregisters ; 1912 (* ********* *) 1913 push_lab_pdl ; statement ; pop_lab_pdl ; 1914 (* ********* *) 1915 END ; 1916 new (ptchnend) ; IF ptchnend = NIL THEN heaperror ; (* EXIT COMP *) 1917 ptchnend@.succ := pttetend ; pttetend := ptchnend ; 1918 ptchnend@.indf := indfich ; 1919 genstand (nreg, 0, itra, tic) ; (* EXIT OF CASE *) 1920 IF mapswitch THEN statement_ends (symbolindex - sttindex) ; 1921 END (* NO <=2 CAN BE A CASE LABEL *) ELSE 1922 BEGIN 1923 IF noterr THEN 1924 BEGIN 1925 error (23) ; noterr := false ; 1926 END ; 1927 skip (46) ; 1928 IF no # 22 THEN 1929 IF errcl [no] = begsy THEN 1930 statement ELSE 1931 insymbol ; 1932 END (* NO >2 THEN ERROR *) ; 1933 IF no = 16 (* ; *) THEN 1934 insymbol ELSE 1935 IF (no # 22) (* END *) AND noterr THEN 1936 BEGIN 1937 error (13) ; GOTO 10 ; (* EXIT LOOP *) 1938 END ; 1939 firstcase := false ; 1940 UNTIL no = 22 ; (* END *) 1941 10 : 1942 longtabl := maxselect - minselect + 1 ; 1943 IF longtabl > (maxfich - indfich) DIV bytesinhword THEN 1944 BEGIN 1945 error (148) ; 1946 errintab := true ; locmaxexit := 0 ; 1947 END ELSE 1948 errintab := false ; 1949 (* *) 1950 (* CODE GENERATION *) 1951 (* *) 1952 IF mapswitch THEN statement_begins (true) ; 1953 IF locitra # 0 THEN 1954 inser (cb, locitra) ; 1955 IF inxcheck THEN *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 60 1956 IF seltype # NIL THEN 1957 checkbnds (caserrcode, ra, seltype) ; 1958 (* ZERO POINT *) 1959 IF minselect # 0 THEN 1960 gencstecode (minselect, isba) ; 1961 (* NOOP OR STOP IF < MIN , >MAX *) 1962 (* *) 1963 genstand (nreg, 0, icmpa, tdl) ; 1964 IF otherwise THEN 1965 genstand (nreg, (otherwiseplace - cb) DIV bytesinword, itmi, tic) ELSE 1966 BEGIN 1967 locminexit := indfich ; genstand (nreg, 0, itmi, tic) ; 1968 END ; 1969 IF NOT errintab THEN 1970 BEGIN 1971 genstand (nreg, longtabl - 1, icmpa, tdl) ; 1972 IF otherwise THEN 1973 genstand (nreg, (otherwiseplace - cb) DIV bytesinword, itpnz, tic) ELSE 1974 BEGIN 1975 locmaxexit := indfich ; genstand (nreg, 0, itpnz, tic) ; 1976 END ; 1977 END ; 1978 (* HERE EXP IS IN MIN..MAX *) 1979 loctabl := indfich ; genstand (nreg, 0, iepp3, tic) ; (* POINTS FIRST SWITCH *) 1980 genstand (pr3, 0, itra, tal) ; 1981 inser (cb, loctabl) ; 1982 lastgen := minselect - 1 ; 1983 WHILE headcase # NIL DO 1984 BEGIN 1985 IF NOT errintab THEN 1986 WHILE headcase@.cslab # lastgen + 1 DO 1987 BEGIN 1988 (* NO OP THEN EXIT OR STOP *) 1989 IF otherwise THEN 1990 genstand (nreg, (otherwiseplace - cb) DIV bytesinword, itra, tic) ELSE 1991 genstand (nreg, longtabl + minselect - 1 - lastgen, itra, tic) ; 1992 lastgen := lastgen + 1 ; 1993 END ; 1994 (* HERE EQUALITY, *) 1995 (* THEN GOTO SUITABLE STATEMENT BLOCK *) 1996 IF NOT errintab THEN 1997 genstand (nreg, (headcase@.addr - cb) DIV bytesinword, itra, tic) ; 1998 lastgen := headcase@.cslab ; 1999 savept := headcase ; headcase := headcase@.next ; 2000 savept := NIL ; 2001 END (* WHILE *) ; 2002 IF NOT otherwise THEN 2003 BEGIN 2004 inser (cb, locminexit) ; 2005 IF locmaxexit # 0 THEN 2006 inser (cb, locmaxexit) ; 2007 IF inxcheck THEN 2008 BEGIN IF minselect # 0 THEN gencstecode (minselect, iada) ; 2009 genexceptcode (caserrcode, ra) ; 2010 END ; 2011 END ; 2012 (* INSER ALL ENDING JUMPS *) *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 61 2013 ptchnend := pttetend ; 2014 WHILE ptchnend # NIL DO 2015 BEGIN 2016 inser (cb, ptchnend@.indf) ; savept2 := ptchnend ; 2017 ptchnend := ptchnend@.succ ; savept2 := NIL ; 2018 END ; 2019 IF mapswitch THEN statement_ends (3) ; (* "end" *) 2020 insymbol ; 2021 $OPTIONS compile = trace $ 2022 IF stattrace > low THEN 2023 BEGIN 2024 write (mpcogout, '@@@ FIN CASESTAT @@@ WITH NO,CL:', no : 4, cl : 4) ; nextline ; 2025 END ; 2026 $OPTIONS compile = true $ 2027 END (* CASESTAT *) ; 2028 2029 (* ************************************ STATEMENT ***************************** *) 2030 2031 PROCEDURE statement ; 2032 2033 (* C EACH STATEMENT CAN BE PREFIXED BY A LABEL INT: 2034* AFTER LABEL ANALYSIS, SPLITSTAT [NO] IS A SWITCH TO SEVERAL PROCEDURES 2035* C *) 2036 2037 (* E ERRORS DETECTED 2038* 7: ":" EXPECTED 2039* 42 Sol procedure not in PASCAL 2040* 44 Sol procedure not yet implemented 2041* 45 Extended pascal not allowed at this level 2042* 61: ILLEGAL BEGINNING SYMBOL FOR A STATEMENT 2043* 86: THIS FUNCTION MUST BE ASSIGNED IN HIS BLOCK 2044* 103: IDENTIFIER IS NOT OF APPROPRIATE CLASS 2045* 104: IDENTIFIER NOT DECLARED 2046* 150: ASSIGNMENT TO STANDARD FUNCTION NOT ALLOWED 2047* 165: MULTIDEFINED LABEL 2048* 167: LABEL IS NOT DECLARED 2049* 196: ASSIGNMENT NOT ALLOWED FOR THIS VARIABLE 2050* 306: LABEL MUST HAVE AT MOST 4 DIGITS 2051* E *) 2052 LABEL 2053 1 ; (* EXIT FOR WHEN LABEL FOUND *) 2054 VAR 2055 it : integer ; 2056 BEGIN (* STATEMENT *) 2057 $OPTIONS compile = trace $ 2058 IF stattrace > none THEN 2059 BEGIN 2060 write (mpcogout, '@@@ DEBUT STATEMENT @@@ WITH NO', no : 4) ; nextline ; 2061 END ; 2062 $OPTIONS compile = true $ 2063 (* FIRST CHECK FOR LABEL *) 2064 IF (no = 2) THEN (* CSTE *) 2065 IF (cl = 1) THEN (* " INTEGER *) 2066 BEGIN 2067 IF ival > 9999 THEN error (306) ; 2068 FOR it := clabix DOWNTO 1 DO 2069 WITH labtab [it] DO *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 62 2070 IF labval = ival THEN (* FOUND *) 2071 BEGIN 2072 IF labbox <> NIL THEN 2073 WITH labbox^ DO 2074 BEGIN 2075 deffile := symbolfile ; defline := symbolline ; locinbytes := ic ; 2076 WITH lab_pdl_top^ DO 2077 BEGIN 2078 next_in_block := first_in_block ; 2079 first_in_block := labbox ; 2080 END ; 2081 END ; 2082 IF lablev <> level THEN 2083 error (167) ELSE 2084 IF labdef <> 0 THEN (* MULTIDEFINED *) 2085 error (165) ELSE 2086 BEGIN (* FIRST OCCUR ==> RESOLVE IT *) 2087 labdef := cb ; (* PLACE IN CODE FOR CURRENT PROCEDURE *) 2088 IF labch1 # 0 THEN 2089 BEGIN (* USED BEFORE DEFINITION *) 2090 inserundlab (cb, labch1) ; 2091 labch1 := 0 ; (* FLAG RESOLVED *) 2092 END (* USED *) ; 2093 IF labexit <> 0 THEN 2094 BEGIN (* USED IN GOTO EXIT *) 2095 genstand (pr6, pr4depw, iepp4, tny) ; 2096 (* RESET PR4 DEL. BY UNWINDER OPER. *) 2097 END (* USED IN GOTO EXIT *) ; 2098 END (* FIRST OCCUR,NO ERR *) ; 2099 (* EXIT LOOP *) GOTO 1 ; 2100 END (* LABEL FOUND,WITH,FOR *) ; 2101 (* HERE LABEL NOT FOUND *) 2102 error (167) ; 2103 1 : insymbol ; 2104 IF no = 19 (* : *) THEN 2105 insymbol ELSE 2106 BEGIN 2107 error (7) ; skip (46) ; 2108 END ; 2109 END (* CL=1, NO=2 *) ; 2110 freeallregisters ; 2111 2112 IF splitstat [no] <> 1 THEN 2113 IF mapswitch THEN statement_begins (true) ; 2114 2115 CASE splitstat [no] OF 2116 (* NOOP *) 1 : (* ENDSY,IRRELSY *) ; 2117 (* IDENTIF. *) 2 : 2118 BEGIN 2119 search ; 2120 IF ctptr = NIL THEN 2121 BEGIN 2122 error (104) ; ctptr := undecptr ; 2123 END ; 2124 WITH ctptr@ DO 2125 IF klass <= konst THEN 2126 error (103) ELSE *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 63 2127 (* VARS PROC FIELD *) 2128 IF klass = proc THEN (* PROC OR FUNCT *) 2129 BEGIN 2130 IF proctype = ctptr THEN (* not a function *) 2131 BEGIN (* PROC *) 2132 IF symbolmap THEN 2133 nameisref (ctptr, symbolfile, symbolline) ; 2134 insymbol ; 2135 CASE ploc OF 2136 notpredef : BEGIN (* PROGRAMMER PROC *) 2137 passparams (0) ; (* NOT USED FOR A PROC *) 2138 END ; 2139 instdpure : 2140 CASE segsize OF 2141 0, 1, 2, 3 : getput (segsize) ; (* INCLUDE RESET POINTER *) 2142 4, 5 : newir (segsize - 4) ; 2143 6, 7 : readir (segsize - 6) ; 2144 8, 9, 10 : writeir (segsize - 8) ; 2145 11, 12 : pckunpck (segsize - 11) ; 2146 END ; 2147 instdcompiler : insapp (segsize) ; 2148 instdsol : 2149 BEGIN 2150 IF envstandard = stdpure THEN 2151 error (42) ; 2152 CASE segsize OF 2153 0, 1, 2, 3, 4, 5, 6 : getput (segsize + 4) ; 2154 7 : writeir (3) ; 2155 8 : argvstat ; 2156 9 : stopstat ; 2157 END ; 2158 END (* INSTDSOL *) ; 2159 instdextend : 2160 BEGIN 2161 IF envstandard <> stdextend THEN error (45) ; 2162 CASE segsize OF 2163 2 : mvcir (0) ; 2164 0, 1 : dateandtime (segsize) ; 2165 3 : insert_string ; 2166 4 : delete_string ; 2167 END ; 2168 END (* INSTDEXTEND *) ; 2169 2170 END (* case PLOC *) ; 2171 END (* PROCEDURE *) ELSE 2172 BEGIN (* FUNCTION IDENTIFIER ASSIGNMENT *) 2173 IF ploc <> notpredef THEN 2174 BEGIN 2175 IF symbolmap THEN 2176 nameisref (ctptr, symbolfile, -symbolline) ; 2177 error (150) ; skip (46) ; 2178 END ELSE 2179 BEGIN 2180 genstand (nreg, level - proclevel - 1, ilda, tdl) ; 2181 genstand (pr0, functionvaluesetplace, itsp3, tn) ; 2182 procisassigned := true ; 2183 *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 64 2184 IF NOT procinscope THEN error (86) ; 2185 2186 2187 assign ; 2188 2189 2190 END (* NO ERRORS FOR FUNCT. ID *) ; 2191 END (* FUNCT. IDENTIFIER *) ; 2192 END (* KLASS=PROC *) ELSE 2193 BEGIN (* VARS OR FIELD *) 2194 IF klass = vars THEN 2195 BEGIN 2196 (* VISUSED SET IN ADDRESSVAR *) 2197 IF visreadonly THEN error (196) ; 2198 visset := true ; 2199 END (* VARS *) ; 2200 2201 2202 assign ; 2203 2204 2205 END (* VARS OR FIELD *) ; 2206 IF mapswitch THEN statement_ends (symbolindex - sttindex) ; 2207 END (* IDENT., SPLITSTAT=2 *) ; 2208 3 (* BEGIN *) : compstat ; 2209 4 (* IF *) : ifstat ; 2210 5 (* CASE *) : casestat ; 2211 6 (* REPEAT *) : repeatstat ; 2212 7 (* WHILE *) : whilestat ; 2213 8 (* FOR *) : forstat ; 2214 9 (* GOTO *) : gotostat ; 2215 10 (* WITH *) : withstat ; 2216 END (* CASE SPLITSTAT *) ; 2217 2218 (* FREEALLREGISTERS MUST BE CALLED HERE, BECAUSE IT MAY GENERATE CODE 2219* WHICH IS LOGICALLY RELATED TO CODE GENERATED DURING STATEMENT. 2220* THIS IS DUE TO NEW STACK EXTENSION MECHANISM, USED FOR SOME TEMPORARY 2221* VARIABLES, IN STRING EXPRESSIONS EVALUATION *) 2222 2223 freeallregisters ; 2224 IF errcl [no] = irrelsy THEN 2225 BEGIN 2226 error (61) ; skip (46) ; 2227 END ; 2228 $OPTIONS compile = trace $ 2229 IF stattrace > low THEN 2230 BEGIN 2231 write (mpcogout, '@@@ FIN STATEMENT @@@ WITH NO=', no : 4) ; nextline ; 2232 END ; 2233 $OPTIONS compile = true $ 2234 END (* STATEMENT *) ; 2235 2236 2237 (* END OF STATE MODULE ******************************************* *) BEGIN 2238 END. *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM standstat *** ON 11/12/86 *** PAGE 65 NO COMPILATION ERROR STORAGE REQUIREMENTS FOR OBJECT SEGMENT Object Text Defs Links Static Symbol Start 0 0 23157 24576 24606 25314 Length 26634 23157 1416 516 100 1304 SOURCE FILES USED IN THIS COMPILATION NUMBER DATE MODIFIED PATHNAME 0 11/12/86 1607.6 >spec>install>1212>STANDSTAT.pascal 1 11/12/86 1528.2 >spec>install>1212>CONSTTYPE.incl.pascal NAMES DECLARED AND REFERENCED a0r0i0 const scalar, ord=0 ; DEF: 1-799 ; REF: 807 852 a1r0i0 const scalar, ord=4 ; DEF: 1-799 ; REF: 633 633 659 659 713 808 852 910 910 a1r1i0 const scalar, ord=6 ; DEF: 1-799 ; REF: 714 714 761 761 913 913 957 958 access field disp:70, size:4 ; scalar ; DEF: 1-871 ; REF: 797 actual const scalar, ord=0 ; DEF: 1-406 ; REF: 1208 actual_parameter_list field disp:160, size:10 ; pointer ; DEF: 1-530 ; REF: 674 699 700 704 709 718 735 744 746 749 752 addr field disp:14, size:4 ; integer ; DEF: 1679 ; REF: 1864* 1997 addressvar proc level 0, imported ; DEF: 330 ; REF: 76 709 752 aeltype field disp:200, size:10 ; pointer ; DEF: 1-546 ; REF: 940 943 alfaconst const scalar, ord=2 ; DEF: 1-416 ; REF: 1-569 alfactp field disp:20, size:10 ; pointer ; DEF: 1-897 ; REF: 693 814 825 857 877 925 929 alfaid type packed array of (char) ; DEF: 1-399 ; REF: 1-404 1-436 1-446 1-447 1-496 1-508 1-965 194 alfaleng const numeric ; DEF: 1-35 ; REF: 1-398 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: 693 877 alfapt type pointer ; DEF: 1-419 ; REF: 1-421 1-569 alfavalue type record ; DEF: 1-420 ; REF: 1-419 aliastype const scalar, ord=10 ; DEF: 1-413 ; REF: 1-563 argvstat proc level 0, imported ; DEF: 316 ; REF: 63 2155 arrays const scalar, ord=5 ; DEF: 1-412 ; REF: 1-546 870 asscheck var global imported, size:4 ; boolean ; DEF: 225 ; REF: 143 698 723 742 787 1249 1256 1297 asserr var local to assign, loc:266, size:4 ; boolean ; DEF: 576 ; REF: 590* 610* 612 asserrcode const numeric ; DEF: 1-250 ; REF: 790 assign proc level 0 ; DEF: 551 ; REF: 2187 2202 attr type record ; DEF: 1-849 ; REF: 226 287 288 289 290 291 292 304 330 334 338 339 571 1173 attraccess type scalar ; DEF: 1-813 ; REF: 1-871 attrkind type scalar ; DEF: 1-812 ; REF: 1-852 aval var global imported, size:40 ; packed array of (char) ; DEF: 194 ; REF: 106 1761 basebloc field disp:30, size:10 ; pointer ; DEF: 1-858 ; REF: 658 658 687 959 959 basereg field disp:20, size:4 ; scalar subrange ; DEF: 1-856 ; REF: 620 651 687 841 887 897 963 964 969 970 begsy const scalar, ord=1 ; DEF: 1-669 ; REF: 391 511 1025 1104 1231 1270 1313 1769 1908 1929 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 bjump var local to forstat, loc:227, size:4 ; scalar subrange ; DEF: 1175 ; REF: 1347* 1348* 1358 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 208 428 blocktp field disp:50, size:4 ; scalar ; DEF: 1-944 ; REF: 468* blocktype type scalar ; DEF: 1-938 ; REF: 1-944 boolptr var global imported, size:10 ; pointer ; DEF: 205 ; REF: 107 1044 1092 1567 bornesupset const numeric ; DEF: 1-112 ; REF: 1-815 brother field disp:10, size:10 ; pointer ; DEF: 1-941 ; REF: 475* byteinbyte const numeric ; DEF: 1-81 ; REF: 800 816 bytesindword const numeric ; DEF: 1-66 ; REF: 442 491 1485 1491 1503 bytesinhword const numeric ; DEF: 1-65 ; REF: 1-79 1943 bytesinword const numeric ; DEF: 1-64 ; REF: 1-65 1-66 1-71 1-72 1-78 1-110 1-128 1-276 486 495 497 620 651 816 842 858 888 888 897 898 1113 1186 1187 1210 1386 1390 1488 1493 1505 1512 1965 1973 1990 1997 calcvarient proc level 0, imported ; DEF: 339 ; REF: 77 806 822 caserrcode const numeric ; DEF: 1-253 ; REF: 1957 2009 casestat proc level 0 ; DEF: 1617 ; REF: 2210 cb var global imported, size:4 ; integer ; DEF: 215 ; REF: 135 729 758 1016 1085 1113 1116 1360 1362 1386 1390 1393 1394 1512 1595 1601 1764 1864 1954 1965 1973 1981 1990 1997 2004 2006 2016 2087 2090 cdspl field disp:344, size:4 ; integer ; DEF: 1-636 ; REF: 484* chain const scalar, ord=3 ; DEF: 1-812 ; REF: 1-894 693 814 825 857 876 884 925 929 char_const_token const scalar, ord=3 ; DEF: 1-491 ; REF: 1-499 charptr var global imported, size:10 ; pointer ; DEF: 206 ; REF: 108 616 1813 check_done var local to assign, loc:140, size:4 ; boolean ; DEF: 567 ; REF: 588* 702* 724 749* checkbnds proc level 0, imported ; DEF: 342 ; REF: 78 790 1257 1298 1957 checkminmax proc level 0, imported ; DEF: 297 ; REF: 42 786 864 865 1245 1287 1835 choicerarq proc level 0, imported ; DEF: 331 ; REF: 79 789 832 cl var global imported, size:4 ; integer ; DEF: 196 ; REF: 109 1276 1440 1741 1742 1810 1884 1885 2024 2065 clabix var global imported, size:4 ; integer ; DEF: 177 ; REF: 99 1446 2068 clevel field disp:340, size:4 ; numeric 0..20 ; DEF: 1-636 ; REF: 484* codebegin field disp:30, size:4 ; integer ; DEF: 1-942 ; REF: 478* codeend field disp:34, size:4 ; integer ; DEF: 1-942 ; REF: 479* 532* compatbin proc level 0, imported ; DEF: 298 ; REF: 43 608 1239 1279 1827 compstat proc level 0, exportable ; DEF: 372 ; REF: 160 2208 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 conformantdim funct level 0, imported ; boolean ; DEF: 299 ; REF: 44 679 871 940 consttype type scalar ; DEF: 1-416 ; REF: 1-566 contexttable type record ; DEF: 1-507 ; REF: 1-433 controlnameaddr var local to forstat, loc:146, size:10 ; pointer ; DEF: 1169 ; REF: 1183* 1213* 1299 1360 1376 1384 contype field disp:130, size:10 ; pointer ; DEF: 1-565 ; REF: 1799 1801 convreal proc level 0, imported ; DEF: 292 ; REF: 35 777 creflist field disp:20, size:320 ; record ; DEF: 1-636 ; REF: 487* cslab field disp:10, size:4 ; integer ; DEF: 1678 ; REF: 1845 1847 1864* 1986 1998 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 198 199 200 201 202 205 206 210 220 278 297 298 298 299 300 304 330 342 572 578 1166 1169 1691 ctptr var global imported, size:10 ; pointer ; DEF: 202 ; REF: 110 1196 1199 1200 1202 1203 1206 1207 1208 1209 1209 1210 1213 1214 1757 1791 1792 2120 2122* 2124 2130 2133 2176 currentbloc var global imported, size:10 ; pointer ; DEF: 227 ; REF: 144 494* 621* 628 628* 641 641* 648 654* 678 691 739 741 846* 936 1500* currentfather var local to withstat, loc:142, size:10 ; pointer ; DEF: 428 ; REF: 439* 530 currentnode var global imported, size:10 ; pointer ; DEF: 208 ; REF: 111 439 469 475 476 481* 530 532 533* 533 currentpr var global imported, size:4 ; scalar subrange ; DEF: 238 ; REF: 145 496 623 653 678 691 739 741 845 1499 1499 currwithlist var global imported, size:320 ; record ; DEF: 240 ; REF: 80 450* 487 498 cwith const scalar, ord=1 ; DEF: 1-622 ; REF: 1-636 484 dateandtime proc level 0, imported ; DEF: 323 ; REF: 64 2164 ddisp var local to assign, loc:270, size:4 ; integer ; DEF: 577 ; REF: 938* 942* 942 946 947 949 deffile field disp:50, size:4 ; integer ; DEF: 1-648 ; REF: 2075* defline field disp:54, size:4 ; integer ; DEF: 1-648 ; REF: 2075* delete_string proc level 0, imported ; DEF: 324 ; REF: 65 2166 descbloc field disp:130, size:10 ; pointer ; DEF: 1-881 ; REF: 683 945 952* 955* descreg field disp:120, size:4 ; scalar subrange ; DEF: 1-880 ; REF: 684 685 946 947 949 destination type scalar ; DEF: 1-814 ; REF: 334 1174 display var global imported, size:16030 ; array of (record) ; DEF: 185 ; REF: 112 461 463* 484* 484* 484* 487* 490* 490* 492* 495 497 498* displimit const numeric ; DEF: 1-15 ; REF: 185 457 downret var local to forstat, loc:162, size:4 ; integer ; DEF: 1170 ; REF: 1360* 1390 dplmt field disp:40, size:4 ; integer ; DEF: 1-861 ; REF: 484 486 620 651 816 842 847* 858 888 888 897 898 dummy var local to repeatstat, loc:141, size:4 ; integer ; DEF: 1008 ; REF: 1046* dummyclass const scalar, ord=7 ; DEF: 1-415 ; REF: 1-615 dwordconst const scalar, ord=1 ; DEF: 1-416 ; REF: 1-568 ejump var local to forstat, loc:226, size:4 ; scalar subrange ; DEF: 1175 ; REF: 1347* 1348* 1381 elset field disp:210, size:10 ; pointer ; DEF: 1-544 ; REF: 864 865 ended var local to assign, loc:267, size:4 ; boolean ; DEF: 576 ; REF: 792* 817* 827* 830 endsy const scalar, ord=2 ; DEF: 1-669 ; REF: 1578 ensaccessible type set of (scalar) ; DEF: 1-461 ; REF: 1-527 enterlcst proc level 0, imported ; DEF: 332 ; REF: 81 630 enterundlab proc level 0, imported ; DEF: 333 ; REF: 82 631 1514 envstandard var global imported, size:4 ; scalar ; DEF: 184 ; REF: 113 905 1760 2150 2161 errcl var global imported, size:400 ; array of (scalar) ; DEF: 203 ; REF: 114 391 511 1025 1104 1231 1270 1313 1578 1769 1894 1908 1929 2224 errintab var local to casestat, loc:161, size:4 ; boolean ; DEF: 1693 ; REF: 1946* 1948* 1969 1985 1996 error proc level 0, imported ; DEF: 270 ; REF: 23 393 397 404 456 458 506 510 595 701 769 770 779 880 907 915 975 1027 1031 1036 1045 1093 1099 1103 1193 1197 1201 1204 1206 1207 1208 1226 1230 1241 1265 1269 1281 1308 1312 1442 1522 1568 1573 1577 1720 1727 1730 1742 1771 1775 1779 1788 1796 1812 1819 1830 1834 1848 1885 1892 1898 1925 1937 1945 2067 2083 2085 2102 2107 2122 2126 2151 2161 2177 2184 2197 2226 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: 207 ; REF: 115 1481 expression proc level 0, imported ; DEF: 284 ; REF: 57 601 1041 1089 1238 1278 1564 1710 externalitem type record ; DEF: 1-445 ; REF: 1-444 externalitemtype type scalar ; DEF: 1-441 ; REF: 1-451 father field disp:0, size:10 ; pointer ; DEF: 1-941 ; REF: 469* 533 father_schema field disp:150, size:10 ; pointer ; DEF: 1-529 ; REF: 614 734 field const scalar, ord=5 ; DEF: 1-415 ; REF: 1-608 filelocation type scalar ; DEF: 1-437 ; REF: 1-598 filen field disp:0, size:4 ; integer ; DEF: 1-430 ; REF: 1469* files const scalar, ord=9 ; DEF: 1-413 ; REF: 1-555 975 first field disp:40, size:10 ; pointer ; DEF: 1-943 ; REF: 480* first_in_block field disp:20, size:10 ; pointer ; DEF: 1-666 ; REF: 2078 2079* firstcase var local to casestat, loc:154, size:4 ; boolean ; DEF: 1693 ; REF: 1737* 1759 1939* firstetiq var local to casestat, loc:153, size:4 ; boolean ; DEF: 1693 ; REF: 1751* 1759 1902* fname field disp:0, size:10 ; pointer ; DEF: 1-633 ; REF: 463* forerricode const numeric ; DEF: 1-248 ; REF: 1257 forerrscode const numeric ; DEF: 1-249 ; REF: 1298 form field disp:174, size:4 ; scalar ; DEF: 1-533 ; REF: 455 773 861 1203 1714 1833 forstat proc level 0 ; DEF: 1131 ; REF: 2213 freeallregisters proc level 0, imported ; DEF: 343 ; REF: 83 386 390 448 519 1022 1040 1088 1111 1237 1367 1563 1586 1599 1709 1767 1911 2110 2223 freeattr proc level 0, imported ; DEF: 287 ; REF: 36 670 670 710 732 732 753 767 767 973 973 freebloc proc level 0, imported ; DEF: 337 ; REF: 84 494 628 641 654 657 722 731 766 766 846 952 955 973 1301 1361 1500 1716 fstfld field disp:210, size:10 ; pointer ; DEF: 1-554 ; REF: 463 480 ftp type pointer ; DEF: 1-484 ; REF: 1-488 1-493 1-521 functionvaluesetplace const numeric ; DEF: 1-224 ; REF: 2181 gattr var global imported, size:150 ; record ; DEF: 226 ; REF: 146 453 454 455 463 470 480 482* 482 484 484 485 486 492 494* 506 510 592 595 602 603 608 615 616 626 629 642 643 644 645 649* 651 651 653* 661 662 670* 673* 679 681 681* 683 684 685 687 687 690* 692 693 694 694 732* 734 740* 746 749 767* 772 776 777* 780* 785 786 790 793 804 805* 805 810 820 837 862 864 865 867* 874* 876 877 878 884 885* 887 888 888 892* 923 924 924 925 925 954 954* 955* 959 963 969 973* 1042 1044 1090 1092 1099 1103 1239 1243 1244 1245 1248 1250* 1254 1255* 1257 1265 1269 1277 1279 1283 1284 1286 1287 1291 1295* 1298 1300 1301* 1308 1312 1565 1567 1573 1577 1711 1713 1714 1716* 1716* 1717 1727 1730 gencstecode proc level 0, imported ; DEF: 341 ; REF: 85 697 707 747 1356 1379 1960 2008 gendesca proc level 0, imported ; DEF: 263 ; REF: 51 635 638 662 663 665 716 718 720 764 765 811 815 854 858 926 930 969 970 gendescb proc level 0, imported ; DEF: 265 ; REF: 52 963 964 geneism proc level 0, imported ; DEF: 262 ; REF: 53 634 660 715 763 810 853 922 962 968 generic var local to casestat, loc:144, size:10 ; pointer ; DEF: 1691 ; REF: 1827* 1828 1828 1833 generic var local to forstat, loc:152, size:10 ; pointer ; DEF: 1169 ; REF: 1239* 1240 1240 1279* 1280 1280 generic var local to assign, loc:246, size:10 ; pointer ; DEF: 572 ; REF: 605* 608* 609 771 773 861 genexceptcode proc level 0, imported ; DEF: 335 ; REF: 86 728 757 2009 genjump proc level 0, imported ; DEF: 314 ; REF: 61 1046 1094 1569 genstand proc level 0, imported ; DEF: 261 ; REF: 54 495 632 642 643 644 645 666 667 684 685 686 721 726 727 755 756 762 762 826 917 918 946 947 948 949 951 1113 1300 1351 1357 1358 1360 1377 1380 1381 1385 1389 1392 1488 1493 1494 1499 1505 1506 1512 1515 1591 1718 1785 1919 1963 1965 1967 1971 1973 1975 1979 1980 1990 1991 1997 2095 2180 2181 getput proc level 0, imported ; DEF: 317 ; REF: 66 2141 2153 gotoexitextplace const numeric ; DEF: 1-159 ; REF: 1494 gotoexitplace const numeric ; DEF: 1-176 ; REF: 1506 gotostat proc level 0 ; DEF: 1414 ; REF: 2214 halfword type integer ; DEF: 1-809 ; REF: 1-810 headcase var local to casestat, loc:164, size:10 ; pointer ; DEF: 1694 ; REF: 1706* 1842 1868* 1983 1986 1997 1998 1999 1999* 1999 heaperror proc level 0, imported ; DEF: 311 ; REF: 59 465 1782 1861 1916 hi field disp:230, size:4 ; integer ; DEF: 1-549 ; REF: 694 high const scalar, ord=3 ; DEF: 1-624 ; REF: 524 highdispw var local to forstat, loc:157, size:4 ; integer ; DEF: 1170 ; REF: 1186* 1300 1357 1380 iada const scalar, ord=84 ; DEF: 1-689 ; REF: 2008 iadq const scalar, ord=98 ; DEF: 1-691 ; REF: 686 762 948 iaos const scalar, ord=107 ; DEF: 1-692 ; REF: 1385 ic var global imported, size:4 ; integer ; DEF: 214 ; REF: 136 1470 2075 icmpa const scalar, ord=162 ; DEF: 1-699 ; REF: 726 755 1341 1963 1971 icmpc const scalar, ord=513 ; DEF: 1-754 ; REF: 1-782 icmpq const scalar, ord=164 ; DEF: 1-699 ; REF: 1344 icsl const scalar, ord=519 ; DEF: 1-755 ; REF: 962 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: 917 ieax7 const scalar, ord=9 ; DEF: 1-680 ; REF: 918 ieism type scalar subrange ; DEF: 1-782 ; REF: 262 iepp1 const scalar, ord=320 ; DEF: 1-723 ; REF: 1488 1499 iepp2 const scalar, ord=321 ; DEF: 1-723 ; REF: 1493 1505 iepp3 const scalar, ord=322 ; DEF: 1-723 ; REF: 632 1979 iepp4 const scalar, ord=323 ; DEF: 1-723 ; REF: 2095 ierr var local to casestat, loc:162, size:4 ; boolean ; DEF: 1693 ; REF: 1893* 1896* 1898 ifstat proc level 0 ; DEF: 1540 ; REF: 2209 ilda const scalar, ord=21 ; DEF: 1-681 ; REF: 666 707 747 1341 2180 ildq const scalar, ord=25 ; DEF: 1-682 ; REF: 697 762 946 1344 imlr const scalar, ord=516 ; DEF: 1-754 ; REF: 634 660 715 763 810 853 922 968 impy const scalar, ord=155 ; DEF: 1-698 ; REF: 949 inacc const scalar, ord=0 ; DEF: 1-814 ; REF: 710 753 780 867 1293 1294 1338 1716 incbloc type scalar ; DEF: 1-462 ; REF: 1-585 indf field disp:10, size:4 ; integer ; DEF: 1687 ; REF: 1784* 1918* 2016 indfich var global imported, size:4 ; integer ; DEF: 216 ; REF: 137 727 756 1351 1358 1381 1591 1718 1784 1918 1943 1967 1975 1979 init_desc_address proc level 0, imported ; DEF: 304 ; REF: 47 681 933 954 inq const scalar, ord=1 ; DEF: 1-814 ; REF: 1255 1294 insapp proc level 0, imported ; DEF: 325 ; REF: 67 2147 inser proc level 0, imported ; DEF: 266 ; REF: 55 729 758 1116 1393 1394 1595 1601 1954 1981 2004 2006 2016 insert_string proc level 0, imported ; DEF: 326 ; REF: 68 2165 inserundlab proc level 0, imported ; DEF: 277 ; REF: 24 2090 instdcompiler const scalar, ord=2 ; DEF: 1-439 ; REF: 2147 instdextend const scalar, ord=4 ; DEF: 1-440 ; REF: 2159 instdpure const scalar, ord=1 ; DEF: 1-439 ; REF: 2139 instdsol const scalar, ord=3 ; DEF: 1-439 ; REF: 2148 instword type scalar ; DEF: 1-679 ; REF: 1-781 1-782 1-783 1-784 insymbol proc level 0, imported ; DEF: 271 ; REF: 25 388 397 402 445 517 600 1020 1039 1087 1109 1191 1219 1238 1278 1364 1439 1524 1564 1583 1598 1710 1732 1743 1766 1775 1788 1796 1875 1881 1886 1896 1910 1931 1934 2020 2103 2105 2134 int_const_token const scalar, ord=2 ; DEF: 1-491 ; REF: 1-497 intptr var global imported, size:10 ; pointer ; DEF: 198 ; REF: 116 1811 inxbloc field disp:50, size:10 ; pointer ; DEF: 1-867 ; REF: 798 inxcheck var global imported, size:4 ; boolean ; DEF: 224 ; REF: 147 1955 2007 inxmem field disp:60, size:4 ; integer ; DEF: 1-868 ; REF: 799 iqls const scalar, ord=81 ; DEF: 1-689 ; REF: 951 irpd const scalar, ord=540 ; DEF: 1-759 ; REF: 1-783 irpt const scalar, ord=542 ; DEF: 1-759 ; REF: 1-783 irrelsy const scalar, ord=0 ; DEF: 1-669 ; REF: 1894 2224 isba const scalar, ord=120 ; DEF: 1-694 ; REF: 1341 1960 isbq const scalar, ord=133 ; DEF: 1-695 ; REF: 684 685 947 1344 isstring funct level 0, imported ; boolean ; DEF: 290 ; REF: 38 673 874 ista const scalar, ord=45 ; DEF: 1-684 ; REF: 667 1341 istand type scalar subrange ; DEF: 1-781 ; REF: 228 237 261 341 1175 istba const scalar, ord=543 ; DEF: 1-761 ; REF: 1-784 istcq const scalar, ord=546 ; DEF: 1-761 ; REF: 1-784 istq const scalar, ord=53 ; DEF: 1-685 ; REF: 721 1344 istz const scalar, ord=63 ; DEF: 1-686 ; REF: 826 iswd const scalar, ord=510 ; DEF: 1-752 ; REF: 1-781 it var local to statement, loc:140, size:4 ; integer ; DEF: 2055 ; REF: 2068* 2069 it var local to gotostat, loc:140, size:4 ; integer ; DEF: 1430 ; REF: 1446* 1447 itmi const scalar, ord=375 ; DEF: 1-731 ; REF: 1348 1965 1967 itmoz const scalar, ord=376 ; DEF: 1-731 ; REF: 1348 itpl const scalar, ord=380 ; DEF: 1-732 ; REF: 727 756 1347 itpnz const scalar, ord=381 ; DEF: 1-732 ; REF: 1347 1973 1975 itra const scalar, ord=382 ; DEF: 1-732 ; REF: 1113 1351 1392 1512 1515 1591 1718 1785 1919 1980 1990 1991 1997 itsp3 const scalar, ord=389 ; DEF: 1-733 ; REF: 1494 1506 2181 iunresolv type record ; DEF: 1-828 ; REF: 1-824 ival var global imported, size:4 ; integer ; DEF: 204 ; REF: 117 1448 1816 1816 2067 2070 kind field disp:10, size:4 ; scalar ; DEF: 1-852 ; REF: 626 637 692 785 793 813 814 824 825 856 857 862 876 884 924 925 928 929 1244 1248 1254 1284 1291 1293 1323 1335 1337 klass field disp:110, size:4 ; scalar ; DEF: 1-515 ; REF: 699 705 745 746 1200 1793 1795 2125 2128 2194 konst const scalar, ord=2 ; DEF: 1-415 ; REF: 1-564 699 705 745 746 1793 2125 l9 const scalar, ord=2 ; DEF: 1-785 ; REF: 635 638 662 663 665 716 718 720 764 765 811 816 854 858 926 930 969 970 lab_pdl_element type record ; DEF: 1-664 ; REF: 1-663 lab_pdl_ptr type pointer ; DEF: 1-663 ; REF: 1-665 179 lab_pdl_top var global imported, size:10 ; pointer ; DEF: 179 ; REF: 101 2076 labbox field disp:30, size:10 ; pointer ; DEF: 1-661 ; REF: 1450 1451 2072 2073 2079 labch1 field disp:14, size:4 ; integer ; DEF: 1-660 ; REF: 1514* 2088 2090 2091* labdef field disp:20, size:4 ; integer ; DEF: 1-660 ; REF: 1511 1512 2084 2087* labdescr type record ; DEF: 1-659 ; REF: 178 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 labexit field disp:10, size:4 ; integer ; DEF: 1-660 ; REF: 1489 1491* 1493 1501 1503* 1505 2093 lablev field disp:4, size:4 ; integer ; DEF: 1-660 ; REF: 1471 1478 1481 1498 2082 labtab var global imported, size:3100 ; array of (record) ; DEF: 178 ; REF: 100 1447 1448 1450 1451 1471 1478 1481 1489 1491* 1493 1498 1501 1503* 1505 1511 1512 1514* 2069 2070 2072 2073 2079 2082 2084 2087* 2088 2090 2091* 2093 labtype var local to casestat, loc:142, size:10 ; pointer ; DEF: 1691 ; REF: 1753* 1801* 1811* 1813* 1815 1822 1825 1827 1830* 1839 labval field disp:0, size:4 ; integer ; DEF: 1-660 ; REF: 1448 2070 lamptr var global imported, size:10 ; pointer ; DEF: 199 ; REF: 118 837 lastgen var local to casestat, loc:204, size:4 ; integer ; DEF: 1696 ; REF: 1982* 1986 1991 1992* 1992 1998* lattr var local to forstat, loc:172, size:150 ; record ; DEF: 1173 ; REF: 1277* 1293 1294 1323 1330 1332 1335 1336* 1337 1338* 1339 1361* lattr var local to assign, loc:162, size:150 ; record ; DEF: 571 ; REF: 592* 608 613 614 618* 620 620 623* 636 637 637 658 658 664 670* 674 677* 699 700 704 709 718 732* 735 738* 744 752 767* 778 781* 786 790 795 797 798 799 800 806* 812 813 813 814 814 816 822* 823 824 824 825 825 833* 839* 841 842 845* 847* 849 850 851 855 856 856 857 857 858 864 865 868* 871 873 895* 897 897 898 901* 927 928 928 929 929 933 933* 939 945 946 947 949 950 952* 959 960 964 970 973* lbase var local to forstat, loc:164, size:4 ; scalar subrange ; DEF: 1171 ; REF: 1212* 1212* 1360 1377 1385 lbase var local to assign, loc:250, size:4 ; scalar subrange ; DEF: 573 ; REF: 620* 623* 638 643 645 665 667 806* 815 822* 826 841* 845* 858 897* 901* 930 lbloc var local to assign, loc:156, size:10 ; pointer ; DEF: 570 ; REF: 648* 656 657 657* 678* 712 731* 739* 760 766* lcl var local to forstat, loc:155, size:4 ; integer ; DEF: 1170 ; REF: 1276* 1328 1346 1382 lcomp var local to forstat, loc:231, size:4 ; scalar subrange ; DEF: 1175 ; REF: 1341* 1344* 1356 1357 1379 1380 lcompare var local to forstat, loc:167, size:4 ; boolean ; DEF: 1172 ; REF: 1322* 1327* 1353 lcond const scalar, ord=1 ; DEF: 1-812 ; REF: 1-908 lcsave var global imported, size:4 ; integer ; DEF: 232 ; REF: 148 434 441 442* 442 443 443 490 491* 491 492 492 526 536* 540 1180 1185 1186 1187* 1187 1188 1188 1399* 1404 lcstpt type pointer ; DEF: 1-826 ; REF: 1-841 332 569 ldest var local to forstat, loc:224, size:4 ; scalar ; DEF: 1174 ; REF: 1293* 1294* 1294* 1295 ldisp var local to assign, loc:254, size:4 ; integer ; DEF: 574 ; REF: 620* 624* 638 643 645 665 667 806* 815 822* 826 842* 846* 858 897* 901* 930 ldispw var local to forstat, loc:154, size:4 ; integer ; DEF: 1170 ; REF: 1210* 1360 1377 1385 ldreg field disp:14, size:4 ; scalar ; DEF: 1-889 ; REF: 642 643 644 645 790 1257 1294 1298 1300 1339 ldregbloc field disp:20, size:10 ; pointer ; DEF: 1-890 ; REF: 1301* 1361* 1716* len_in_desc var local to assign, loc:141, size:4 ; boolean ; DEF: 567 ; REF: 589* 706* 713 717 level var global imported, size:4 ; numeric 0..20 ; DEF: 195 ; REF: 119 1206 1211 1471 1478 2082 2180 levrange type numeric 0..20 ; DEF: 1-418 ; REF: 1-526 1-558 1-573 1-581 1-601 1-636 1-855 195 levtrace type scalar ; DEF: 1-624 ; REF: 233 lftag var local to assign, loc:264, size:4 ; scalar ; DEF: 575 ; REF: 910* 913* 930 lgcar type scalar ; DEF: 1-785 ; REF: 263 lgparm const numeric ; DEF: 1-23 ; REF: 1-24 linen field disp:4, size:4 ; integer ; DEF: 1-430 ; REF: 1472* 1474* linktomain var global imported, size:4 ; boolean ; DEF: 230 ; REF: 149 1483 1486* linktomainplace var global imported, size:4 ; integer ; DEF: 231 ; REF: 150 1485* 1488 liunresolv type record ; DEF: 1-838 ; REF: 1-825 lkc var global imported, size:4 ; integer ; DEF: 180 ; REF: 102 1485 1485* 1485 1491 1491* 1491 1503 1503* 1503 llcstpt type pointer ; DEF: 1-827 ; REF: 1-846 lliunresolv type record ; DEF: 1-843 ; REF: 1-824 lload var local to forstat, loc:232, size:4 ; scalar subrange ; DEF: 1175 ; REF: 1341* 1344* 1377 lmod var local to assign, loc:260, size:4 ; integer ; DEF: 574 ; REF: 898* 902* 930 lo field disp:224, size:4 ; integer ; DEF: 1-549 ; REF: 694 load const scalar, ord=0 ; DEF: 1-919 ; REF: 644 loadadr proc level 0, imported ; DEF: 338 ; REF: 87 494 623 653 677 690 738 740 845 892 901 loadbase proc level 0, imported ; DEF: 344 ; REF: 88 1498 loc1 var local to assign, loc:272, size:4 ; integer ; DEF: 577 ; REF: 727* 729 756* 758 locals const scalar, ord=1 ; DEF: 1-939 ; REF: 485 497 locarray var local to assign, loc:143, size:40 ; array of (integer) ; DEF: 569 ; REF: 629* 629* 630* locelse var local to ifstat, loc:141, size:4 ; integer ; DEF: 1554 ; REF: 1591* 1601 locinbytes field disp:4, size:4 ; integer ; DEF: 1-643 ; REF: 2075* locitra var local to casestat, loc:146, size:4 ; integer ; DEF: 1692 ; REF: 1705* 1718* 1953 1954 locmaxexit var local to casestat, loc:150, size:4 ; integer ; DEF: 1692 ; REF: 1946* 1975* 2005 2006 locminexit var local to casestat, loc:147, size:4 ; integer ; DEF: 1692 ; REF: 1967* 2004 locret var local to whilestat, loc:140, size:4 ; integer ; DEF: 1077 ; REF: 1085* 1113 locrpt var local to repeatstat, loc:140, size:4 ; integer ; DEF: 1007 ; REF: 1016* 1046 locskip var local to whilestat, loc:141, size:4 ; integer ; DEF: 1077 ; REF: 1086* 1094* 1115 1116 locskip1 var local to forstat, loc:160, size:4 ; integer ; DEF: 1170 ; REF: 1351* 1358* 1359* 1393 1393 locskip2 var local to forstat, loc:161, size:4 ; integer ; DEF: 1170 ; REF: 1381* 1394 loctabl var local to casestat, loc:151, size:4 ; integer ; DEF: 1692 ; REF: 1979* 1981 locthen var local to ifstat, loc:140, size:4 ; integer ; DEF: 1554 ; REF: 1562* 1569* 1594 1595 longalfbox const numeric ; DEF: 1-22 ; REF: 1-422 longtabl var local to casestat, loc:205, size:4 ; integer ; DEF: 1696 ; REF: 1942* 1943 1971 1991 low const scalar, ord=1 ; DEF: 1-624 ; REF: 538 980 1052 1119 1402 1528 1605 2022 2229 lplace field disp:40, size:4 ; integer ; DEF: 1-840 ; REF: 631* lpr var local to assign, loc:252, size:4 ; scalar subrange ; DEF: 573 ; REF: 678* 718 720 721 726 739* 765 lptcont var local to forstat, loc:140, size:10 ; pointer ; DEF: 1166 ; REF: 1189* 1209* 1226 1230 1366 1366 1396 1397 lretpt var local to assign, loc:154, size:10 ; pointer ; DEF: 569 ; REF: 630* 631 lsize var local to assign, loc:255, size:4 ; integer ; DEF: 574 ; REF: 850* 851* 858 873* 879 882 904 906 917 920* 930 lstate var local to forstat, loc:142, size:4 ; integer ; DEF: 1167 ; REF: 1184* 1205* 1229* 1260* 1260 1268* 1303* 1303 1311* 1320 1372 lstor var local to forstat, loc:225, size:4 ; scalar subrange ; DEF: 1175 ; REF: 1341* 1344* 1360 lsub var local to forstat, loc:230, size:4 ; scalar subrange ; DEF: 1175 ; REF: 1341* 1344* 1389 ltag var local to assign, loc:263, size:4 ; scalar ; DEF: 575 ; REF: 806* 809 822* 826 lval const scalar, ord=2 ; DEF: 1-812 ; REF: 1-887 640 1254 1291 1293 1335 1337 lvalvarbl proc level 0, imported ; DEF: 288 ; REF: 39 1336 mapswitch var global imported, size:4 ; boolean ; DEF: 186 ; REF: 120 516 522 978 1024 1038 1049 1096 1114 1318 1368 1370 1375 1400 1525 1584 1592 1602 1904 1920 1952 2019 2113 2206 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 1943 maxfield const numeric ; DEF: 1-39 ; REF: 1-627 1-628 maxident const numeric ; DEF: 1-26 ; REF: 1-399 maxlabs const numeric ; DEF: 1-16 ; REF: 178 maxlevel const numeric ; DEF: 1-18 ; REF: 1-418 maxno const numeric ; DEF: 1-13 ; REF: 1-434 1-621 maxref const numeric ; DEF: 1-38 ; REF: 1-429 1455 maxselect var local to casestat, loc:206, size:4 ; integer ; DEF: 1696 ; REF: 1707* 1859* 1942 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: 217 ; REF: 138 633* 659* 714* 761* 807* 852* 910* 913* 957* mfari2 var global imported, size:4 ; scalar ; DEF: 218 ; REF: 139 633* 659* 713* 714* 761* 808* 852* 910* 913* 958* mfreg2 var global imported, size:4 ; scalar subrange ; DEF: 219 ; REF: 140 809* minno const numeric ; DEF: 1-12 ; REF: 1-434 1-621 minselect var local to casestat, loc:207, size:4 ; integer ; DEF: 1696 ; REF: 1707* 1868* 1942 1959 1960 1982 1991 2008 2008 minus var local to casestat, loc:155, size:4 ; boolean ; DEF: 1693 ; REF: 1741* 1746* 1802 1816 1884* 1889* 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: 183 ; REF: 121 434 526 540 584 982 1013 1054 1082 1121 1180 1404 1436 1530 1559 1607 1701 2024 2060 2231 mreg type scalar subrange ; DEF: 1-778 ; REF: 219 264 265 mvcir proc level 0, imported ; DEF: 327 ; REF: 69 2163 name_token const scalar, ord=1 ; DEF: 1-491 ; REF: 1-496 nameaddr field disp:110, size:10 ; pointer ; DEF: 1-879 ; REF: 637 661 664 681 813 824 856 924 928 933 954 nameisref proc level 0, imported ; DEF: 278 ; REF: 26 1199 1791 2133 2176 nbr field disp:0, size:4 ; numeric 0..25 ; DEF: 1-627 ; REF: 450* newir proc level 0, imported ; DEF: 321 ; REF: 70 2142 next field disp:0, size:10 ; pointer ; DEF: 1677 ; REF: 1853 1864* 1870* 1999 next_in_block field disp:100, size:10 ; pointer ; DEF: 1-653 ; REF: 2078* nextline proc level 0, imported ; DEF: 274 ; REF: 27 435 527 541 584 982 1013 1054 1082 1121 1180 1404 1436 1530 1559 1607 1701 2024 2060 2231 nextref field disp:0, size:10 ; pointer ; DEF: 1-427 ; REF: 1459* no var global imported, size:4 ; integer ; DEF: 197 ; REF: 122 391 395 399 400 503 504 508 511 540 593 598 982 1025 1029 1033 1035 1054 1097 1101 1104 1121 1192 1224 1228 1231 1263 1267 1270 1306 1310 1313 1404 1440 1530 1571 1575 1578 1589 1596 1607 1725 1729 1739 1748 1754 1769 1773 1777 1778 1808 1876 1879 1882 1894 1894 1899 1908 1908 1910 1928 1929 1933 1935 1940 2024 2060 2064 2104 2112 2115 2224 2231 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: 432 582 1011 1080 1178 1434 1557 1699 2058 norange type numeric 0..63 ; DEF: 1-621 ; REF: 203 246 noterr var local to casestat, loc:160, size:4 ; boolean ; DEF: 1693 ; REF: 1733* 1841* 1923 1925* 1935 notpredef const scalar, ord=0 ; DEF: 1-439 ; REF: 2136 2173 nreg const scalar, ord=0 ; DEF: 1-774 ; REF: 1-777 494 623 632 642 644 653 666 677 686 690 727 738 740 756 762 811 845 854 883 890 917 918 948 951 1113 1351 1358 1381 1389 1392 1512 1515 1591 1718 1785 1919 1963 1965 1967 1971 1973 1975 1979 1990 1991 1997 2180 numeric const scalar, ord=1 ; DEF: 1-412 ; REF: 1-535 783 1203 1714 1833 nxreg const scalar, ord=10 ; DEF: 1-775 ; REF: 236 objaccessibles type scalar ; DEF: 1-460 ; REF: 1-461 occur field disp:10, size:4 ; scalar ; DEF: 1-634 ; REF: 484* 490* oldlcsave var local to forstat, loc:143, size:4 ; integer ; DEF: 1168 ; REF: 1185* 1399 oldlcsave var local to withstat, loc:141, size:4 ; integer ; DEF: 427 ; REF: 441* 536 oldtop var local to withstat, loc:140, size:4 ; integer ; DEF: 427 ; REF: 440* 535 opaq var global imported, size:160 ; array of (array of (scalar subrange)) ; DEF: 237 ; REF: 154 642 643 644 645 1300 otherwise var local to casestat, loc:163, size:4 ; boolean ; DEF: 1693 ; REF: 1704* 1763* 1964 1972 1989 2002 otherwiseplace var local to casestat, loc:152, size:4 ; integer ; DEF: 1692 ; REF: 1764* 1965 1973 1990 out const scalar, ord=5 ; DEF: 1-814 ; REF: 781 833 868 p0t0r0 const scalar, ord=0 ; DEF: 1-791 ; REF: 634 660 715 763 810 853 922 962 968 pack field disp:124, size:4 ; boolean ; DEF: 1-525 ; REF: 482 492 950 960 packedsize funct level 0, imported ; integer ; DEF: 300 ; REF: 45 800 850 pagesinsegment const numeric ; DEF: 1-69 ; REF: 1-70 passparams proc level 0, imported ; DEF: 306 ; REF: 49 2137 pckd field disp:100, size:4 ; boolean ; DEF: 1-878 ; REF: 662 795 849 pckunpck proc level 0, imported ; DEF: 319 ; REF: 71 2145 place field disp:14, size:4 ; integer ; DEF: 1-430 ; REF: 1470* ploc field disp:214, size:4 ; scalar ; DEF: 1-577 ; REF: 2135 2173 pointable const scalar, ord=2 ; DEF: 1-813 ; REF: 797 pointer const scalar, ord=3 ; DEF: 1-412 ; REF: 1-541 836 pop_lab_pdl proc level 0, imported ; DEF: 351 ; REF: 103 520 1034 1112 1369 1587 1600 1768 1913 power const scalar, ord=4 ; DEF: 1-412 ; REF: 1-543 836 861 pr0 const scalar, ord=6 ; DEF: 1-774 ; REF: 1494 1506 2181 pr1 const scalar, ord=1 ; DEF: 1-774 ; REF: 228 1499 pr2 const scalar, ord=2 ; DEF: 1-774 ; REF: 901 901 pr3 const scalar, ord=5 ; DEF: 1-774 ; REF: 635 892 893 1980 pr4depw const numeric ; DEF: 1-282 ; REF: 2095 pr6 const scalar, ord=9 ; DEF: 1-774 ; REF: 1-777 228 495 1212 1300 1357 1380 2095 preg type scalar subrange ; DEF: 1-777 ; REF: 1-856 1-880 235 238 261 263 265 338 339 573 1171 prinst var global imported, size:154 ; array of (array of (scalar subrange)) ; DEF: 228 ; REF: 155 496 prlink const scalar, ord=8 ; DEF: 1-774 ; REF: 1488 1493 1505 proc const scalar, ord=3 ; DEF: 1-415 ; REF: 1-571 2128 procblock const scalar, ord=0 ; DEF: 1-938 ; REF: 1-945 procinscope field disp:200, size:4 ; boolean ; DEF: 1-575 ; REF: 2184 procisassigned field disp:170, size:4 ; boolean ; DEF: 1-575 ; REF: 2182* proclevel field disp:144, size:4 ; numeric 0..20 ; DEF: 1-573 ; REF: 2180 proclocation type scalar ; DEF: 1-439 ; REF: 1-577 proctype field disp:120, size:10 ; pointer ; DEF: 1-571 ; REF: 2130 profarea type array of (integer) ; DEF: 1-934 ; REF: 1-933 prstatic const scalar, ord=7 ; DEF: 1-774 ; REF: 1212 ptboxcur var local to casestat, loc:166, size:10 ; pointer ; DEF: 1694 ; REF: 1842* 1843 1845 1847 1852 1853* 1853 1864 ptcas type pointer ; DEF: 1675 ; REF: 1677 1694 ptchnend var local to casestat, loc:176, size:10 ; pointer ; DEF: 1695 ; REF: 1782* 1782 1783 1783 1784 1916* 1916 1917 1917 1918 2013* 2014 2016 2016 2017* 2017 ptend type pointer ; DEF: 1684 ; REF: 1686 1695 ptexternalitem type pointer ; DEF: 1-444 ; REF: 1-448 1-578 1-607 ptlast var local to casestat, loc:170, size:10 ; pointer ; DEF: 1694 ; REF: 1842* 1852* 1866 1870 pttetend var local to casestat, loc:200, size:10 ; pointer ; DEF: 1695 ; REF: 1706* 1783 1783* 1917 1917* 2013 push_lab_pdl proc level 0, imported ; DEF: 350 ; REF: 104 520 1017 1112 1369 1587 1600 1768 1913 ra const scalar, ord=20 ; DEF: 1-776 ; REF: 237 757 935 1294 1339 1957 2009 rbase var local to assign, loc:251, size:4 ; scalar subrange ; DEF: 573 ; REF: 651* 653* 662 663 883* 887* 890 893* 926 rbloc var local to assign, loc:160, size:10 ; pointer ; DEF: 570 ; REF: 687* 691* 712 722* 741* 760 766* rcstpt type pointer ; DEF: 1-825 ; REF: 1-836 rdisp var local to assign, loc:257, size:4 ; integer ; DEF: 574 ; REF: 651* 654* 662 663 888* 893* 926 readir proc level 0, imported ; DEF: 318 ; REF: 72 2143 real_const_token const scalar, ord=4 ; DEF: 1-491 ; REF: 1-498 realptr var global imported, size:10 ; pointer ; DEF: 201 ; REF: 123 776 778 1240 1280 1828 reaq const scalar, ord=23 ; DEF: 1-776 ; REF: 237 recadre funct level 0, imported ; integer ; DEF: 276 ; REF: 28 442 reccas type record ; DEF: 1676 ; REF: 1675 recend type record ; DEF: 1685 ; REF: 1684 recidscope type record ; DEF: 1-632 ; REF: 185 recordptr field disp:110, size:10 ; pointer ; DEF: 1-957 ; REF: 470* records const scalar, ord=6 ; DEF: 1-412 ; REF: 1-554 455 870 reel const scalar, ord=0 ; DEF: 1-412 ; REF: 1-534 774 refbox var local to gotostat, loc:142, size:10 ; pointer ; DEF: 1431 ; REF: 1453* 1454 1455 1456* 1457 1460 1465 1467 references field disp:60, size:10 ; pointer ; DEF: 1-649 ; REF: 1453 1459 1460* reflist type record ; DEF: 1-426 ; REF: 1-425 refnbr field disp:10, size:4 ; integer ; DEF: 1-428 ; REF: 1455 1461* 1466* 1466 1468 refptr type pointer ; DEF: 1-425 ; REF: 1-427 1-512 1-649 1431 refs field disp:14, size:620 ; array of (record) ; DEF: 1-429 ; REF: 1468 1469* 1470* 1472* 1474* regbox type record ; DEF: 1-817 ; REF: 1-816 regenere proc level 0, imported ; DEF: 347 ; REF: 90 657 658 683 712 712 760 760 945 959 959 959 register type scalar ; DEF: 1-774 ; REF: 1-777 1-819 1-862 1-889 1-920 228 234 236 237 335 342 345 346 regpt type pointer ; DEF: 1-816 ; REF: 1-821 1-822 1-858 1-867 1-881 1-890 1-910 227 337 347 570 579 repeatstat proc level 0 ; DEF: 992 ; REF: 2211 retdispw var local to forstat, loc:144, size:4 ; integer ; DEF: 1168 ; REF: 1386* 1390* 1392 rgtag var local to assign, loc:265, size:4 ; scalar ; DEF: 575 ; REF: 910* 913* 926 rmod var local to assign, loc:261, size:4 ; integer ; DEF: 574 ; REF: 888* 893* 926 rpr var local to assign, loc:253, size:4 ; scalar subrange ; DEF: 573 ; REF: 687* 691* 716 741* 755 762 764 rq const scalar, ord=21 ; DEF: 1-776 ; REF: 236 682 696 728 935 rqbox var local to assign, loc:276, size:10 ; pointer ; DEF: 579 ; REF: 936* 959 973* rsize var local to assign, loc:256, size:4 ; integer ; DEF: 574 ; REF: 877* 878* 879 882* 904 906 918 920* 926 runresolv type record ; DEF: 1-833 ; REF: 1-825 sauvereg proc level 0, imported ; DEF: 345 ; REF: 91 682 696 935 935 savept var local to casestat, loc:174, size:10 ; pointer ; DEF: 1694 ; REF: 1999* 2000* savept2 var local to casestat, loc:202, size:10 ; pointer ; DEF: 1695 ; REF: 2016* 2017* scalar const scalar, ord=2 ; DEF: 1-412 ; REF: 1-536 783 1203 1714 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: 275 ; REF: 96 1195 1756 2119 segsize field disp:154, size:4 ; integer ; DEF: 1-574 ; REF: 2140 2141 2142 2143 2144 2145 2147 2152 2153 2162 2164 seltype var local to casestat, loc:140, size:10 ; pointer ; DEF: 1691 ; REF: 1705* 1717* 1824 1825* 1827 1835 1956 1957 setarray type array of (integer) ; DEF: 1-815 ; REF: 1-839 1-844 1-904 332 569 setrange const numeric ; DEF: 1-92 ; REF: 1-93 1-94 shiftl const scalar, ord=2 ; DEF: 1-919 ; REF: 642 shrtint type numeric -131072..131071 ; DEF: 1-619 ; REF: 1-671 sign var local to casestat, loc:156, size:4 ; boolean ; DEF: 1693 ; REF: 1743* 1746* 1834 1884* 1889* size field disp:114, size:4 ; integer ; DEF: 1-524 ; REF: 851 873 878 skip proc level 0, imported ; DEF: 273 ; REF: 30 507 596 605 1048 1100 1227 1266 1309 1442 1574 1728 1788 1796 1927 2107 2177 2226 skipall var local to forstat, loc:166, size:4 ; boolean ; DEF: 1172 ; REF: 1322* 1330* 1332* 1349 son field disp:20, size:10 ; pointer ; DEF: 1-941 ; REF: 475 476* 477* splitstat var global, loc:10, size:400 ; array of (integer) ; DEF: 246 ; REF: 251* 2112 2115 spri const scalar, ord=1 ; DEF: 1-917 ; REF: 496 statement proc level 0 ; DEF: 2031 ; REF: 364 389 520 1023 1112 1369 1587 1600 1768 1913 1930 statement_begins proc level 0, imported ; DEF: 279 ; REF: 31 1038 1375 1952 2113 statement_ends proc level 0, imported ; DEF: 280 ; REF: 32 516 522 978 1024 1049 1096 1114 1318 1368 1370 1400 1525 1584 1592 1602 1904 1920 2019 2206 statics const scalar, ord=0 ; DEF: 1-939 ; REF: 485 statnbr var global imported, size:4 ; integer ; DEF: 209 ; REF: 124 478 532 stattrace var global imported, size:4 ; scalar ; DEF: 233 ; REF: 156 432 524 538 582 980 1011 1052 1080 1119 1178 1402 1434 1528 1557 1605 1699 2022 2058 2229 stdextend const scalar, ord=3 ; DEF: 1-435 ; REF: 905 2161 stdkind type scalar ; DEF: 1-435 ; REF: 184 stdpure const scalar, ord=0 ; DEF: 1-435 ; REF: 2150 stdsol const scalar, ord=2 ; DEF: 1-435 ; REF: 1760 stoploop var local to casestat, loc:157, size:4 ; boolean ; DEF: 1693 ; REF: 1750* 1795* 1873 1877* 1899* 1903 stopstat proc level 0, imported ; DEF: 322 ; REF: 73 2156 stor const scalar, ord=6 ; DEF: 1-919 ; REF: 643 645 1300 string_ptr var global imported, size:10 ; pointer ; DEF: 210 ; REF: 125 614 734 stringlength_assignment_error const numeric ; DEF: 1-260 ; REF: 728 757 strlen var local to assign, loc:142, size:4 ; integer ; DEF: 568 ; REF: 693* 694* 697 700 sttindex var global imported, size:4 ; integer ; DEF: 188 ; REF: 126 516 522 978 1024 1049 1096 1114 1318 1368 1370 1525 1584 1592 1602 1904 1920 2206 sttmap type array of (record) ; DEF: 1-925 ; REF: 1-924 succ field disp:0, size:10 ; pointer ; DEF: 1686 ; REF: 1783* 1917* 2017 sup funct level 0, imported ; integer ; DEF: 281 ; REF: 33 904 supissval var local to forstat, loc:170, size:4 ; boolean ; DEF: 1172 ; REF: 1286* 1290* 1325 1355 1378 suplr var local to assign, loc:262, size:4 ; integer ; DEF: 574 ; REF: 904* 908 914 supval var local to forstat, loc:156, size:4 ; integer ; DEF: 1170 ; REF: 1286* 1330 1332 1356 1379 sval const scalar, ord=4 ; DEF: 1-812 ; REF: 1-900 627 785 793 862 1244 1284 1323 symbol_token const scalar, ord=0 ; DEF: 1-491 ; REF: 1-495 symbolfile var global imported, size:4 ; integer ; DEF: 189 ; REF: 127 446 472 1199 1469 1791 2075 2133 2176 symbolindex var global imported, size:4 ; integer ; DEF: 190 ; REF: 128 447 473 516 522 978 1024 1049 1096 1114 1318 1368 1370 1525 1584 1592 1602 1904 1920 2206 symbolline var global imported, size:4 ; integer ; DEF: 191 ; REF: 129 1199 1473 1474 1791 2075 2133 2176 symbolmap var global imported, size:4 ; boolean ; DEF: 192 ; REF: 130 1199 1791 2132 2175 tag type scalar ; DEF: 1-766 ; REF: 1-778 236 261 340 575 tagfield const scalar, ord=6 ; DEF: 1-415 ; REF: 1-610 tal const scalar, ord=5 ; DEF: 1-766 ; REF: 720 1980 tattr var local to assign, loc:214, size:150 ; record ; DEF: 571 ; REF: 709* 710* 710* 752* 753* 753* tdl const scalar, ord=7 ; DEF: 1-766 ; REF: 644 666 686 762 948 1389 1963 1971 2180 temp var local to assign, loc:274, size:10 ; pointer ; DEF: 578 ; REF: 939* 940 943* 943 tic const scalar, ord=4 ; DEF: 1-766 ; REF: 632 727 756 1113 1351 1358 1381 1392 1512 1515 1591 1718 1785 1919 1965 1967 1973 1975 1979 1990 1991 1997 tmax var global imported, size:4 ; integer ; DEF: 229 ; REF: 157 443 443* 492 492* 1188 1188* tn const scalar, ord=0 ; DEF: 1-766 ; REF: 1-778 496 635 638 642 643 645 662 663 665 667 684 685 718 721 726 755 762 811 816 854 858 910 910 917 918 946 947 949 951 1300 1357 1360 1377 1380 1385 1494 1499 1506 2181 tny const scalar, ord=16 ; DEF: 1-768 ; REF: 1488 1493 1505 2095 top var global imported, size:4 ; integer ; DEF: 187 ; REF: 131 434 440 457 460* 460 461 526 535* 540 toret var local to forstat, loc:163, size:4 ; integer ; DEF: 1170 ; REF: 1362* 1386 totransfer var local to forstat, loc:165, size:4 ; boolean ; DEF: 1172 ; REF: 1247* 1251* 1252 tql const scalar, ord=6 ; DEF: 1-766 ; REF: 716 764 765 963 964 969 970 transfer proc level 0, imported ; DEF: 334 ; REF: 92 710 753 780 781 833 867 868 1255 1295 1338 1716 twoto10 const numeric ; DEF: 1-50 ; REF: 1-51 1-68 twoto12 const numeric ; DEF: 1-51 ; REF: 706 908 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 914 twoto18 const numeric ; DEF: 1-57 ; REF: 1-58 1-59 1-71 twoto27 const numeric ; DEF: 1-59 ; REF: 629 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 805 tx6 const scalar, ord=14 ; DEF: 1-767 ; REF: 913 tx7 const scalar, ord=15 ; DEF: 1-767 ; REF: 1-778 913 typeofop type scalar ; DEF: 1-919 ; REF: 237 typepr type scalar ; DEF: 1-917 ; REF: 228 types const scalar, ord=1 ; DEF: 1-415 ; REF: 1-523 typform type scalar ; DEF: 1-412 ; REF: 1-533 typofsymb type scalar ; DEF: 1-669 ; REF: 203 typtr field disp:0, size:10 ; pointer ; DEF: 1-851 ; REF: 454 455 463 470 480 482 492 506 510 595 603 608 608 613 614 616 674 679 694 694 699 700 704 709 718 734 735 744 746 749 752 776 778 786 790 800 837 850 851 864 865 871 873 878 939 950 960 1042 1044 1090 1092 1099 1103 1239 1265 1269 1279 1308 1312 1565 1567 1573 1577 1713 1714 1717 1727 1730 typusednames type array of (array of (char)) ; DEF: 1-436 ; REF: 193 typvar var local to forstat, loc:150, size:10 ; pointer ; DEF: 1169 ; REF: 1190* 1209* 1239 1245 1257 1279 1287 1298 undecptr var global imported, size:10 ; pointer ; DEF: 200 ; REF: 132 2122 usednameaddr var global imported, size:10 ; pointer ; DEF: 220 ; REF: 141 637* 661* 664* 813* 814* 824* 825* 856* 857* 924* 925* 928* 929* 1299* 1360* 1376* 1384* usednames var global imported, size:300 ; array of (array of (char)) ; DEF: 193 ; REF: 133 1761 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: 1210 val field disp:14, size:4 ; integer ; DEF: 1-902 ; REF: 629 786 804 805* 805 810 820 864 865 1245 1286 1287 1330 1332 valselect var local to casestat, loc:210, size:4 ; integer ; DEF: 1696 ; REF: 1802* 1803* 1816* 1816* 1835 1845 1847 1859 1864 1868 values field disp:144, size:4 ; integer ; DEF: 1-567 ; REF: 700 706 707 718 747 749 749 1803 1803 vararea type scalar ; DEF: 1-939 ; REF: 1-953 varbl const scalar, ord=0 ; DEF: 1-812 ; REF: 1-854 637 647 694 813 824 856 924 928 1248 variab proc level 0, imported ; DEF: 336 ; REF: 93 451 variable proc level 0, imported ; DEF: 305 ; REF: 48 591 varissimple funct level 0, imported ; boolean ; DEF: 291 ; REF: 40 482 618 649 839 885 895 1250 vars const scalar, ord=4 ; DEF: 1-415 ; REF: 1-596 1200 1795 2194 vdspl field disp:340, size:4 ; integer ; DEF: 1-637 ; REF: 490* 495 497 visreadonly field disp:174, size:4 ; boolean ; DEF: 1-603 ; REF: 1207 1366* 1397* 2197 visset field disp:170, size:4 ; boolean ; DEF: 1-603 ; REF: 1217* 2198* visused field disp:164, size:4 ; boolean ; DEF: 1-603 ; REF: 1216* vkind field disp:130, size:4 ; scalar ; DEF: 1-597 ; REF: 1208 vlev field disp:14, size:4 ; numeric 0..20 ; DEF: 1-855 ; REF: 484 485 vlevel field disp:154, size:4 ; numeric 0..20 ; DEF: 1-601 ; REF: 1206 vpack field disp:344, size:4 ; boolean ; DEF: 1-637 ; REF: 492* vreflist field disp:20, size:320 ; record ; DEF: 1-637 ; REF: 498* vtype field disp:120, size:10 ; pointer ; DEF: 1-596 ; REF: 1202 1203 1209 vwith const scalar, ord=2 ; DEF: 1-622 ; REF: 1-637 490 wbase field disp:54, size:4 ; scalar ; DEF: 1-953 ; REF: 485* 485* 497* wcstpt type pointer ; DEF: 1-824 ; REF: 1-831 wdispl field disp:60, size:4 ; integer ; DEF: 1-954 ; REF: 486* 497* where type scalar ; DEF: 1-622 ; REF: 1-634 whilestat proc level 0 ; DEF: 1064 ; REF: 2212 windirect field disp:64, size:4 ; boolean ; DEF: 1-955 ; REF: 486* 497* withblock const scalar, ord=1 ; DEF: 1-938 ; REF: 1-952 468 withfile var local to withstat, loc:146, size:4 ; integer ; DEF: 429 ; REF: 446* 471 withindex var local to withstat, loc:147, size:4 ; integer ; DEF: 429 ; REF: 447* 471 474 withnode var local to withstat, loc:144, size:10 ; pointer ; DEF: 428 ; REF: 438* 464* 465 466 476 481 withreflist type record ; DEF: 1-626 ; REF: 1-636 1-637 240 withstat proc level 0 ; DEF: 412 ; REF: 2215 withvariable var global imported, size:4 ; boolean ; DEF: 239 ; REF: 94 449* 452* 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 workpt var local to casestat, loc:172, size:10 ; pointer ; DEF: 1694 ; REF: 1861* 1861 1862 1868 1870 writeir proc level 0, imported ; DEF: 320 ; REF: 74 2144 2154 wstrfile field disp:70, size:4 ; integer ; DEF: 1-956 ; REF: 471* 472 wstrindex field disp:74, size:4 ; integer ; DEF: 1-956 ; REF: 471* wstrlength field disp:100, size:4 ; integer ; DEF: 1-956 ; REF: 473* 474* zari type scalar ; DEF: 1-799 ; REF: 217 218 zptr type scalar ; DEF: 1-791 ; REF: 262 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 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 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 argvextplace * const numeric ; DEF: 1-208 argvplace * const numeric ; DEF: 1-207 argvshortplace * const numeric ; DEF: 1-206 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 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 brother field disp:20, size:10 ; pointer ; DEF: 1-645 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 casesize field disp:114, size:4 ; integer ; DEF: 1-610 casetype field disp:140, size:10 ; pointer ; DEF: 1-613 caseval field disp:134, size:4 ; integer ; DEF: 1-614 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 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 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 conformant field disp:220, size:4 ; boolean ; DEF: 1-548 connectplace * const numeric ; DEF: 1-188 contexte * type scalar ; DEF: 1-623 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 dateopplace * const numeric ; DEF: 1-196 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 definition const scalar, ord=3 ; DEF: 1-623 deflbool * const numeric ; DEF: 1-390 deflchar * const numeric ; DEF: 1-391 defline field disp:64, size:4 ; integer ; DEF: 1-511 deflnum * const numeric ; DEF: 1-389 deflreal * const numeric ; DEF: 1-388 delete_negative_length_error * const numeric ; DEF: 1-265 delete_offset_error * const numeric ; DEF: 1-264 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 disposeplace * const numeric ; DEF: 1-178 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 elem field disp:20, size:10 ; pointer ; DEF: 1-475 eltype field disp:220, size:10 ; pointer ; DEF: 1-542 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 evareaw * const numeric ; DEF: 1-288 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 fappendplace * const numeric ; DEF: 1-201 fastbit * const numeric ; DEF: 1-235 fcloseplace * const numeric ; DEF: 1-187 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 feltype field disp:200, size:10 ; pointer ; DEF: 1-555 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 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 flushplace * const numeric ; DEF: 1-200 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 freopenplace * const numeric ; DEF: 1-202 fsbadrw * const numeric ; DEF: 1-289 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 functionvaluecheckplace * const numeric ; DEF: 1-225 fupdtplace * const numeric ; DEF: 1-186 fxls const scalar, ord=1 ; DEF: 1-786 fxns const scalar, ord=3 ; DEF: 1-786 fxts const scalar, ord=2 ; DEF: 1-786 getdirplace * const numeric ; DEF: 1-185 getseqplace * const numeric ; DEF: 1-175 gettextplace * const numeric ; DEF: 1-174 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 holdplace * const numeric ; DEF: 1-358 ia4bd const scalar, ord=501 ; DEF: 1-751 ia6bd const scalar, ord=502 ; DEF: 1-751 ia9bd const scalar, ord=503 ; 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 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 iars const scalar, ord=75 ; DEF: 1-688 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 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 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 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 ildaq const scalar, ord=23 ; 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 ilprp3 const scalar, ord=331 ; 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 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 initattrvarbl * proc level 0, imported ; DEF: 289 ; REF: 37 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 inop const scalar, ord=414 ; DEF: 1-738 inpr const scalar, ord=4 ; DEF: 1-814 inpsr const scalar, ord=3 ; DEF: 1-814 insert_overflow_error * const numeric ; DEF: 1-267 instdcomputer const scalar, ord=5 ; DEF: 1-440 instdsimone const scalar, ord=6 ; DEF: 1-440 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 intreturnplace * const numeric ; DEF: 1-190 inxerrcode * const numeric ; DEF: 1-244 inxmemrw field disp:64, size:4 ; boolean ; DEF: 1-870 inxreg field disp:44, size:4 ; scalar ; DEF: 1-862 inxtype field disp:210, size:10 ; pointer ; DEF: 1-546 iora const scalar, ord=231 ; DEF: 1-710 ioraq const scalar, ord=232 ; DEF: 1-710 iorq const scalar, ord=233 ; DEF: 1-710 iorsa const scalar, ord=234 ; DEF: 1-711 iorsq const scalar, ord=235 ; 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 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 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 ispri1 const scalar, ord=346 ; DEF: 1-726 ispri2 const scalar, ord=347 ; DEF: 1-726 ispri3 const scalar, ord=348 ; 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 isprp1 const scalar, ord=354 ; 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 istaq const scalar, ord=48 ; DEF: 1-685 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 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 iszn const scalar, ord=174 ; DEF: 1-700 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 itnc const scalar, ord=377 ; DEF: 1-731 itnz const scalar, ord=378 ; DEF: 1-732 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 itsdplmt field disp:74, size:4 ; integer ; DEF: 1-877 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 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 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 localfile const scalar, ord=3 ; DEF: 1-437 localproc const scalar, ord=6 ; DEF: 1-442 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 longplacew * const numeric ; DEF: 1-291 longprofileplace * const numeric ; DEF: 1-199 longstplacew * const numeric ; DEF: 1-293 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 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 maxinxused * var global imported, size:4 ; scalar ; DEF: 234 ; REF: 152 maxkeylength * const numeric ; DEF: 1-31 maxlinepascal * const numeric ; DEF: 1-100 maxnbofkeywords * const numeric ; DEF: 1-29 maxnewsize * const numeric ; DEF: 1-42 maxpage * const numeric ; DEF: 1-95 maxpageline * const numeric ; DEF: 1-99 maxpredef * const numeric ; DEF: 1-25 maxprused * var global imported, size:4 ; scalar subrange ; DEF: 235 ; REF: 151 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 modif * var global imported, size:60 ; array of (scalar) ; DEF: 236 ; REF: 153 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 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 neg const scalar, ord=4 ; DEF: 1-919 negexpplace * const numeric ; DEF: 1-375 newbloc * proc level 0, imported ; DEF: 346 ; REF: 89 newplace * const numeric ; DEF: 1-177 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_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 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 nmax field disp:210, size:4 ; integer ; DEF: 1-535 nmin field disp:204, size:4 ; integer ; DEF: 1-535 noerrorcond * const numeric ; DEF: 1-107 normalplace * const numeric ; DEF: 1-374 notafile const scalar, ord=0 ; DEF: 1-437 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 nxtel field disp:40, size:10 ; pointer ; DEF: 1-509 o41 * const numeric ; DEF: 1-144 o43 * const numeric ; DEF: 1-145 objaccedes field disp:140, size:10 ; set of (scalar) ; DEF: 1-527 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 pageplace * const numeric ; DEF: 1-171 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 pckerrcode * const numeric ; DEF: 1-254 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:4, size:4 ; numeric -131072..131071 ; DEF: 1-671 pointee const scalar, ord=1 ; DEF: 1-813 ppksize field disp:200, size:4 ; integer ; DEF: 1-543 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 procisactive field disp:354, size:4 ; boolean ; DEF: 1-593 prockind field disp:140, size:4 ; scalar ; DEF: 1-572 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 procwasforwarddef field disp:334, size:4 ; boolean ; DEF: 1-589 prof * const numeric ; DEF: 1-333 profareaptr * type pointer ; DEF: 1-933 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 putdirplace * const numeric ; DEF: 1-184 putseqplace * const numeric ; DEF: 1-173 puttextplace * const numeric ; DEF: 1-172 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 raq const scalar, ord=22 ; DEF: 1-776 re const scalar, ord=25 ; DEF: 1-776 readlnplace * const numeric ; DEF: 1-167 readseqplace * const numeric ; DEF: 1-166 readtextplace * const numeric ; DEF: 1-165 realtype field disp:200, size:10 ; pointer ; DEF: 1-563 recur field disp:234, size:4 ; integer ; DEF: 1-580 recursive field disp:10, size:4 ; boolean ; DEF: 1-467 recvar field disp:200, size:10 ; pointer ; DEF: 1-554 ref_allowed field disp:70, size:10 ; record ; DEF: 1-650 references field disp:70, size:10 ; pointer ; DEF: 1-512 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 resetheapplace * const numeric ; DEF: 1-179 resetplace * const numeric ; DEF: 1-162 restorprevmoplace * const numeric ; DEF: 1-380 returnzeroplace * const numeric ; DEF: 1-192 rewriteplace * const numeric ; DEF: 1-163 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 saveplace field disp:4, size:4 ; integer ; DEF: 1-820 scaleplacew * const numeric ; DEF: 1-292 schema_ptr field disp:10, size:10 ; pointer ; DEF: 1-487 schema_status * type record ; DEF: 1-485 scientplace * const numeric ; DEF: 1-161 search_in_condition_attributes * proc level 0, imported ; DEF: 272 ; REF: 29 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 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 stdcompiler const scalar, ord=1 ; DEF: 1-435 stdcomputer const scalar, ord=4 ; DEF: 1-435 stopextplace * const numeric ; DEF: 1-211 stopplace * const numeric ; DEF: 1-210 stopshortplace * const numeric ; DEF: 1-209 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 sub const scalar, ord=1 ; DEF: 1-919 subrng field disp:204, size:4 ; boolean ; DEF: 1-537 subroutine const scalar, ord=1 ; DEF: 1-462 subsize field disp:240, size:4 ; integer ; DEF: 1-549 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 target_length * var local to assign, loc:271, size:4 ; integer ; DEF: 577 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 timeopplace * const numeric ; DEF: 1-197 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 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 twoto18m1 * const numeric ; DEF: 1-58 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 typix * type scalar ; DEF: 1-918 typofconst field disp:140, size:4 ; scalar ; DEF: 1-566 typset field disp:220, size:10 ; pointer ; DEF: 1-540 typsig * type scalar ; DEF: 1-786 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 valplacew * const numeric ; DEF: 1-290 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 variants field disp:120, size:10 ; pointer ; DEF: 1-611 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 vfather field disp:230, size:10 ; pointer ; DEF: 1-606 vfilelocation field disp:134, size:4 ; scalar ; DEF: 1-598 visrefincode field disp:204, size:4 ; boolean ; DEF: 1-603 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 vptextitem field disp:240, size:10 ; pointer ; DEF: 1-607 vtimeplace * const numeric ; DEF: 1-370 waitplace * const numeric ; DEF: 1-366 waitsonsplace * const numeric ; DEF: 1-356 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 writelnplace * const numeric ; DEF: 1-170 writeseqplace * const numeric ; DEF: 1-169 writetextplace * const numeric ; DEF: 1-168 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 186 192 207 224 225 230 239 279 290 291 299 305 330 336 345 567 576 1172 1693 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 451 452 486 588 589 590 682 696 709 752 792 935 1251 1290 1322 1327 1397 1704 1746 1746 1750 1889 1889 1893 1902 1925 1939 1948 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 177 178 180 185 187 188 189 190 191 196 197 204 209 214 215 216 229 231 232 246 261 262 263 264 265 266 266 270 273 276 276 277 278 280 281 281 297 297 300 306 314 314 317 318 319 320 321 323 325 327 333 335 339 341 342 344 427 429 568 574 577 1007 1008 1077 1167 1168 1170 1430 1554 1678 1679 1687 1692 1696 2055 new proc level 0 ; REF: 464 1456 1782 1861 1916 ord funct level 0 ; (standard) ; REF: 634 660 715 763 922 968 real type real ; REF: 1-498 1-568 1-834 1-903 text type text ; REF: 183 true const scalar, ord=1 ; REF: 1-539 1-550 1-614 449 497 591 610 702 706 749 817 827 935 1038 1216 1217 1247 1286 1322 1330 1332 1366 1375 1486 1733 1737 1743 1751 1763 1795 1841 1877 1884 1896 1899 1946 1952 2113 2182 2198 write proc level 0 ; REF: 434 526 540 584 982 1013 1054 1082 1121 1180 1404 1436 1530 1559 1607 1701 2024 2060 2231 LABELS BLOCK NAME 1 statement DCL : 2053 ; DEF: 2103 ; REF: 2099 1 casestat DCL : 1670 ; DEF: 1860 ; REF: 1850 1 compstat DCL : 383 ; DEF: 389 ; REF: 393 397 2 casestat DCL : 1671 ; DEF: 1872 ; REF: 1848 3 casestat DCL : 1672 ; DEF: 1768 ; REF: 1771 1775 10 casestat DCL : 1673 ; DEF: 1941 ; REF: 1780 1786 1937 10 forstat DCL : 1163 ; DEF: 1398 ; REF: 1233 1272 1315 10 whilestat DCL : 1073 ; DEF: 1117 ; REF: 1106 10 repeatstat DCL : 1004 ; DEF: 1019 ; REF: 1031 10 withstat DCL : 423 ; DEF: 521 ; REF: 513 20 ifstat DCL : 1551 ; DEF: 1585 ; REF: 1580 20 gotostat DCL : 1428 ; DEF: 1523 ; REF: 1508 1517 20 forstat DCL : 1164 ; DEF: 1365 ; REF: 1232 1271 1314 20 whilestat DCL : 1075 ; DEF: 1110 ; REF: 1105 20 repeatstat DCL : 1005 ; DEF: 1021 ; REF: 1027 20 withstat DCL : 424 ; DEF: 518 ; REF: 512 30 ifstat DCL : 1552 ; DEF: 1588 ; REF: 1579 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 372 1 0 386 1 11 388 1 17 389 1 25 390 1 32 391 1 40 393 1 55 393 2 67 395 1 70 397 1 73 397 2 105 397 3 113 399 1 114 400 1 117 402 1 122 404 1 131 405 1 143 412 1 144 432 1 151 434 1 153 435 1 200 438 1 206 439 1 210 440 1 212 441 1 214 442 1 216 443 1 240 443 2 243 445 1 245 446 1 253 447 1 255 448 1 257 449 1 265 450 1 267 451 1 270 452 1 302 453 1 303 454 1 305 455 1 311 456 1 316 457 1 331 458 1 334 460 1 347 461 1 352 463 1 366 464 1 372 465 1 375 465 2 401 466 1 407 468 1 411 469 1 414 470 1 416 471 1 421 471 2 424 472 1 427 473 1 433 474 1 440 475 1 442 476 1 447 477 1 453 478 1 456 479 1 462 480 1 464 481 1 471 482 1 473 484 1 513 484 2 516 484 3 531 485 1 535 485 2 540 485 3 543 486 1 546 486 2 555 487 1 557 490 1 566 490 2 571 491 1 574 492 1 577 492 2 602 492 3 604 494 1 620 494 2 634 495 1 644 497 1 716 497 2 721 497 3 730 498 1 733 503 1 741 504 1 744 506 1 747 506 2 753 507 1 765 508 1 777 510 1 1002 510 2 1006 511 1 1020 512 1 1035 513 1 1037 516 1 1040 516 2 1042 517 1 1055 519 1 1063 520 1 1071 520 2 1077 520 3 1104 522 1 1112 522 2 1114 524 1 1127 526 1 1132 527 1 1157 530 1 1165 532 1 1174 533 1 1201 535 1 1206 536 1 1210 538 1 1212 540 1 1215 541 1 1250 544 1 1256 544 1 1257 551 1 1326 582 1 1333 584 1 1335 584 2 1346 588 1 1354 589 1 1355 590 1 1356 591 1 1357 592 1 1371 593 1 1375 595 1 1400 595 2 1404 596 1 1416 598 1 1430 600 1 1433 601 1 1441 602 1 1447 603 1 1451 605 1 1455 605 2 1467 608 1 1472 609 1 1512 610 1 1516 612 1 1520 613 1 1522 614 1 1526 615 1 1536 616 1 1540 618 1 1547 620 1 1563 620 2 1574 621 1 1601 623 1 1604 623 2 1620 624 1 1631 626 1 1632 628 1 1635 628 2 1641 629 1 1651 629 2 1653 630 1 1657 631 1 1671 632 1 1702 633 1 1730 633 2 1732 634 1 1734 635 1 1756 637 1 2014 637 2 2016 638 1 2020 641 1 2066 641 2 2072 642 1 2102 643 1 2151 644 1 2230 645 1 2277 648 1 2356 649 1 2360 651 1 2374 651 2 2406 653 1 2415 653 2 2431 654 1 2442 654 2 2443 656 1 2453 657 1 2457 657 2 2471 658 1 2502 658 2 2506 659 1 2520 659 2 2522 660 1 2524 661 1 2546 662 1 2551 662 2 2554 663 1 2622 664 1 2667 665 1 2671 666 1 2737 667 1 2765 669 1 3023 670 1 3050 670 2 3060 673 1 3071 674 1 3105 677 1 3113 678 1 3127 678 2 3140 679 1 3142 681 1 3160 682 1 3175 683 1 3213 684 1 3226 685 1 3264 686 1 3322 687 1 3350 687 2 3362 690 1 3366 691 1 3402 691 2 3413 692 1 3415 693 1 3420 694 1 3426 695 1 3437 696 1 3463 697 1 3501 698 1 3517 699 1 3521 700 1 3527 701 1 3535 702 1 3547 704 1 3551 705 1 3555 706 1 3561 706 2 3565 707 1 3570 709 1 3610 710 1 3631 710 2 3645 712 1 3655 712 2 3667 713 1 3701 713 2 3703 714 1 3706 714 2 3710 715 1 3712 716 1 3734 717 1 4001 718 1 4003 720 1 4054 721 1 4121 722 1 4156 723 1 4166 724 1 4170 726 1 4172 727 1 4227 727 2 4231 728 1 4257 729 1 4275 731 1 4313 732 1 4323 732 2 4333 734 1 4344 735 1 4355 738 1 4363 739 1 4377 739 2 4410 740 1 4412 741 1 4426 741 2 4437 742 1 4441 744 1 4443 745 1 4447 746 1 4453 747 1 4461 749 1 4501 749 2 4510 752 1 4513 753 1 4534 753 2 4550 755 1 4560 756 1 4615 756 2 4617 757 1 4645 758 1 4663 760 1 4701 760 2 4713 761 1 4725 761 2 4727 762 1 4731 762 2 4766 763 1 5014 764 1 5036 765 1 5103 766 1 5150 766 2 5160 767 1 5170 767 2 5200 769 1 5211 770 1 5224 771 1 5236 772 1 5242 773 1 5244 776 1 5247 777 1 5256 778 1 5267 779 1 5276 780 1 5310 781 1 5324 785 1 5341 786 1 5345 787 1 5371 789 1 5373 790 1 5401 792 1 5433 793 1 5434 795 1 5440 797 1 5442 798 1 5445 799 1 5451 800 1 5453 804 1 5472 805 1 5475 806 1 5502 807 1 5520 808 1 5521 809 1 5523 810 1 5534 811 1 5557 813 1 5615 813 2 5617 814 1 5622 814 2 5625 815 1 5627 817 1 5702 820 1 5705 822 1 5710 824 1 5726 824 2 5730 825 1 5733 825 2 5736 826 1 5740 827 1 6004 830 1 6006 832 1 6010 833 1 6016 837 1 6033 839 1 6042 841 1 6056 842 1 6067 845 1 6075 845 2 6111 846 1 6122 846 2 6132 847 1 6133 849 1 6134 850 1 6136 851 1 6155 852 1 6160 852 2 6161 853 1 6163 854 1 6205 856 1 6243 856 2 6245 857 1 6250 857 2 6253 858 1 6255 861 1 6331 862 1 6335 864 1 6341 865 1 6373 867 1 6422 868 1 6436 871 1 6453 873 1 6471 874 1 6474 876 1 6510 877 1 6514 878 1 6522 879 1 6526 880 1 6531 882 1 6544 883 1 6546 884 1 6547 885 1 6553 887 1 6567 888 1 6601 888 2 6607 890 1 6620 892 1 6622 893 1 6636 893 2 6640 893 3 6641 895 1 6642 897 1 6656 897 2 6667 898 1 6674 901 1 6705 901 2 6707 901 3 6723 902 1 6724 904 1 6725 905 1 6747 906 1 6752 907 1 6755 908 1 6767 910 1 6772 910 2 6774 910 3 6776 910 4 6777 913 1 7001 913 2 7003 913 3 7005 913 4 7007 914 1 7011 915 1 7014 917 1 7027 918 1 7055 920 1 7103 920 2 7104 922 1 7105 923 1 7127 924 1 7131 924 2 7134 925 1 7140 925 2 7144 926 1 7147 928 1 7223 928 2 7225 929 1 7230 929 2 7233 930 1 7235 933 1 7312 935 1 7326 935 2 7344 936 1 7362 938 1 7364 939 1 7365 940 1 7367 942 1 7406 943 1 7411 945 1 7415 946 1 7427 947 1 7465 948 1 7522 949 1 7550 950 1 7606 951 1 7611 952 1 7637 954 1 7647 955 1 7664 957 1 7675 958 1 7677 959 1 7701 959 2 7713 959 3 7725 960 1 7740 962 1 7743 963 1 7765 964 1 10033 968 1 10101 969 1 10123 970 1 10171 973 1 10236 973 2 10246 973 3 10256 975 1 10267 976 1 10302 978 1 10334 978 2 10336 980 1 10351 982 1 10354 982 2 10373 985 1 10401 985 1 10402 992 1 10424 1011 1 10431 1013 1 10433 1013 2 10444 1016 1 10452 1017 1 10454 1020 1 10462 1022 1 10470 1023 1 10476 1024 1 10503 1024 2 10505 1025 1 10520 1027 1 10535 1027 2 10547 1029 1 10550 1031 1 10553 1031 2 10565 1033 1 10566 1034 1 10571 1035 1 10577 1036 1 10602 1038 1 10615 1038 2 10617 1039 1 10631 1040 1 10637 1041 1 10645 1042 1 10653 1044 1 10657 1045 1 10666 1046 1 10701 1048 1 10716 1049 1 10730 1049 2 10732 1052 1 10745 1054 1 10750 1054 2 10767 1057 1 10775 1057 1 10776 1064 1 11022 1080 1 11027 1082 1 11031 1082 2 11042 1085 1 11050 1086 1 11052 1087 1 11053 1088 1 11061 1089 1 11067 1090 1 11075 1092 1 11101 1093 1 11110 1094 1 11123 1096 1 11137 1096 2 11141 1097 1 11154 1099 1 11157 1099 2 11163 1100 1 11175 1101 1 11207 1103 1 11212 1103 2 11216 1104 1 11230 1105 1 11245 1106 1 11247 1109 1 11250 1111 1 11256 1112 1 11264 1112 2 11272 1112 3 11277 1113 1 11305 1114 1 11341 1114 2 11343 1115 1 11356 1116 1 11360 1119 1 11376 1121 1 11401 1121 2 11420 1124 1 11426 1124 1 11427 1131 1 11454 1178 1 11461 1180 1 11463 1180 2 11502 1183 1 11510 1184 1 11512 1185 1 11513 1186 1 11515 1187 1 11522 1188 1 11525 1188 2 11530 1189 1 11532 1190 1 11534 1191 1 11536 1192 1 11544 1193 1 11547 1195 1 11562 1196 1 11570 1197 1 11574 1199 1 11607 1199 2 11611 1200 1 11633 1201 1 11640 1202 1 11653 1203 1 11661 1204 1 11677 1205 1 11712 1206 1 11714 1206 2 11721 1207 1 11733 1207 2 11737 1208 1 11751 1208 2 11755 1209 1 11767 1209 2 11771 1210 1 11775 1211 1 12004 1212 1 12006 1212 2 12011 1213 1 12013 1214 1 12015 1216 1 12020 1217 1 12023 1219 1 12026 1224 1 12034 1226 1 12037 1226 2 12043 1227 1 12055 1228 1 12067 1229 1 12072 1230 1 12073 1230 2 12077 1231 1 12111 1232 1 12126 1233 1 12130 1237 1 12131 1238 1 12137 1238 2 12145 1239 1 12153 1240 1 12173 1241 1 12217 1243 1 12232 1244 1 12234 1245 1 12240 1247 1 12264 1248 1 12266 1249 1 12271 1250 1 12273 1251 1 12307 1252 1 12310 1254 1 12312 1255 1 12316 1256 1 12332 1257 1 12334 1260 1 12366 1263 1 12371 1265 1 12374 1265 2 12400 1266 1 12412 1267 1 12424 1268 1 12427 1269 1 12430 1269 2 12434 1270 1 12446 1271 1 12463 1272 1 12465 1276 1 12466 1277 1 12470 1278 1 12474 1278 2 12502 1279 1 12510 1280 1 12530 1281 1 12554 1283 1 12567 1284 1 12571 1286 1 12575 1286 2 12577 1287 1 12602 1290 1 12626 1291 1 12627 1293 1 12633 1293 2 12636 1294 1 12640 1294 2 12643 1294 3 12646 1295 1 12647 1297 1 12672 1298 1 12674 1299 1 12726 1300 1 12730 1301 1 12777 1303 1 13010 1306 1 13013 1308 1 13016 1308 2 13022 1309 1 13034 1310 1 13046 1311 1 13051 1312 1 13052 1312 2 13056 1313 1 13070 1314 1 13105 1315 1 13107 1318 1 13110 1318 2 13112 1320 1 13125 1322 1 13130 1322 2 13131 1323 1 13133 1325 1 13136 1327 1 13140 1328 1 13141 1330 1 13144 1330 2 13147 1332 1 13152 1332 2 13155 1335 1 13160 1336 1 13163 1337 1 13173 1338 1 13176 1339 1 13212 1341 1 13215 1341 2 13217 1341 3 13221 1341 4 13223 1344 1 13226 1344 2 13230 1344 3 13232 1344 4 13234 1346 1 13236 1347 1 13241 1347 2 13243 1348 1 13246 1348 2 13250 1349 1 13252 1351 1 13254 1351 2 13256 1353 1 13305 1355 1 13307 1356 1 13311 1357 1 13337 1358 1 13374 1358 2 13376 1359 1 13434 1360 1 13435 1360 2 13437 1360 3 13441 1361 1 13505 1362 1 13515 1364 1 13517 1366 1 13525 1366 2 13531 1367 1 13534 1368 1 13542 1368 2 13544 1369 1 13557 1369 2 13565 1369 3 13572 1370 1 13600 1370 2 13602 1372 1 13615 1375 1 13620 1375 2 13622 1376 1 13634 1377 1 13636 1378 1 13702 1379 1 13704 1380 1 13732 1381 1 13767 1381 2 13771 1382 1 14026 1384 1 14031 1385 1 14033 1386 1 14070 1389 1 14101 1390 1 14136 1392 1 14146 1393 1 14174 1393 2 14176 1394 1 14214 1396 1 14232 1397 1 14236 1399 1 14240 1400 1 14242 1400 2 14244 1402 1 14256 1404 1 14261 1404 2 14306 1407 1 14314 1407 1 14315 1414 1 14350 1434 1 14355 1436 1 14357 1436 2 14370 1439 1 14376 1440 1 14404 1442 1 14423 1442 2 14435 1446 1 14450 1447 1 14454 1448 1 14470 1450 1 14473 1451 1 14500 1453 1 14504 1454 1 14507 1455 1 14513 1456 1 14517 1457 1 14522 1459 1 14524 1460 1 14527 1461 1 14532 1465 1 14536 1466 1 14540 1467 1 14545 1468 1 14547 1469 1 14564 1470 1 14566 1471 1 14571 1472 1 14575 1474 1 14601 1478 1 14604 1481 1 14610 1483 1 14620 1485 1 14622 1485 2 14624 1486 1 14627 1488 1 14631 1489 1 14662 1491 1 14665 1491 2 14670 1493 1 14673 1494 1 14725 1498 1 14754 1499 1 14767 1499 2 14772 1500 1 15027 1501 1 15037 1503 1 15042 1503 2 15045 1505 1 15050 1506 1 15102 1508 1 15130 1511 1 15132 1512 1 15135 1514 1 15173 1515 1 15204 1517 1 15232 1519 1 15233 1522 1 15240 1524 1 15252 1525 1 15260 1525 2 15262 1528 1 15275 1530 1 15300 1530 2 15317 1533 1 15325 1533 1 15326 1540 1 15347 1557 1 15354 1559 1 15356 1559 2 15367 1562 1 15375 1563 1 15376 1564 1 15404 1564 2 15412 1565 1 15420 1567 1 15424 1568 1 15433 1569 1 15446 1571 1 15462 1573 1 15465 1573 2 15471 1574 1 15503 1575 1 15515 1577 1 15520 1577 2 15524 1578 1 15536 1579 1 15553 1580 1 15555 1583 1 15556 1584 1 15564 1584 2 15566 1586 1 15601 1587 1 15607 1587 2 15615 1587 3 15622 1589 1 15630 1591 1 15633 1591 2 15635 1592 1 15663 1592 2 15665 1594 1 15700 1595 1 15702 1596 1 15720 1598 1 15723 1599 1 15731 1600 1 15737 1600 2 15745 1600 3 15752 1601 1 15760 1602 1 15776 1602 2 16000 1605 1 16013 1607 1 16016 1607 2 16035 1610 1 16043 1610 1 16044 1617 1 16066 1699 1 16073 1701 1 16075 1701 2 16106 1704 1 16114 1705 1 16115 1705 2 16117 1706 1 16120 1706 2 16122 1707 1 16124 1707 2 16125 1709 1 16126 1710 1 16134 1710 2 16142 1711 1 16150 1713 1 16152 1714 1 16156 1716 1 16173 1716 2 16207 1717 1 16220 1718 1 16222 1718 2 16224 1720 1 16253 1725 1 16265 1727 1 16270 1727 2 16274 1728 1 16306 1729 1 16320 1730 1 16323 1730 2 16327 1732 1 16342 1733 1 16350 1737 1 16352 1739 1 16354 1741 1 16357 1742 1 16375 1742 2 16400 1743 1 16412 1743 2 16420 1746 1 16423 1746 2 16424 1748 1 16425 1750 1 16430 1751 1 16431 1753 1 16433 1754 1 16435 1756 1 16440 1757 1 16446 1759 1 16452 1760 1 16456 1761 1 16461 1763 1 16470 1764 1 16472 1766 1 16474 1767 1 16502 1768 1 16510 1768 2 16516 1768 3 16523 1769 1 16531 1771 1 16546 1771 2 16560 1773 1 16561 1775 1 16564 1775 2 16576 1775 3 16604 1777 1 16605 1778 1 16610 1779 1 16613 1780 1 16625 1782 1 16626 1782 2 16631 1782 3 16635 1783 1 16643 1783 2 16645 1784 1 16647 1785 1 16652 1786 1 16700 1788 1 16701 1788 2 16713 1788 3 16721 1791 1 16734 1791 2 16736 1792 1 16760 1793 1 16763 1795 1 16767 1795 2 16773 1796 1 16775 1796 2 17007 1796 3 17015 1799 1 17030 1801 1 17035 1802 1 17040 1802 2 17042 1803 1 17046 1808 1 17052 1810 1 17055 1811 1 17057 1812 1 17062 1813 1 17075 1814 1 17100 1815 1 17117 1816 1 17123 1816 2 17125 1816 3 17130 1819 1 17133 1822 1 17145 1824 1 17151 1825 1 17155 1827 1 17160 1828 1 17200 1830 1 17224 1830 2 17236 1833 1 17241 1834 1 17245 1834 2 17247 1835 1 17261 1839 1 17303 1841 1 17307 1842 1 17311 1842 2 17313 1843 1 17315 1845 1 17321 1847 1 17325 1848 1 17331 1848 2 17343 1850 1 17344 1852 1 17345 1853 1 17347 1859 1 17352 1861 1 17354 1861 2 17357 1861 3 17363 1862 1 17371 1864 1 17373 1864 2 17375 1864 3 17400 1866 1 17403 1868 1 17407 1868 2 17411 1870 1 17414 1873 1 17416 1875 1 17420 1876 1 17426 1877 1 17431 1879 1 17434 1881 1 17437 1882 1 17445 1884 1 17450 1884 2 17466 1885 1 17470 1885 2 17473 1886 1 17505 1889 1 17514 1889 2 17515 1892 1 17517 1893 1 17531 1894 1 17532 1896 1 17570 1896 2 17576 1898 1 17601 1898 2 17603 1899 1 17615 1899 2 17620 1902 1 17622 1903 1 17623 1904 1 17625 1904 2 17627 1908 1 17642 1910 1 17671 1910 2 17674 1911 1 17702 1913 1 17710 1913 2 17716 1913 3 17723 1916 1 17731 1916 2 17734 1916 3 17740 1917 1 17746 1917 2 17750 1918 1 17752 1919 1 17755 1920 1 20003 1920 2 20005 1923 1 20021 1925 1 20023 1925 2 20035 1927 1 20036 1928 1 20050 1929 1 20053 1930 1 20070 1931 1 20076 1933 1 20104 1934 1 20107 1935 1 20116 1937 1 20126 1937 2 20140 1939 1 20141 1940 1 20142 1942 1 20145 1943 1 20151 1945 1 20162 1946 1 20174 1946 2 20176 1948 1 20200 1952 1 20201 1952 2 20203 1953 1 20215 1954 1 20217 1955 1 20235 1956 1 20237 1957 1 20243 1959 1 20265 1960 1 20267 1963 1 20305 1964 1 20333 1965 1 20335 1967 1 20372 1967 2 20374 1969 1 20422 1971 1 20424 1972 1 20453 1973 1 20455 1975 1 20512 1975 2 20514 1979 1 20542 1979 2 20544 1980 1 20572 1981 1 20620 1982 1 20636 1983 1 20641 1985 1 20645 1986 1 20647 1989 1 20654 1990 1 20656 1991 1 20713 1992 1 20744 1996 1 20750 1997 1 20752 1998 1 21007 1999 1 21012 1999 2 21014 2000 1 21016 2002 1 21021 2004 1 21023 2005 1 21041 2006 1 21043 2007 1 21061 2008 1 21063 2008 2 21065 2009 1 21103 2013 1 21121 2014 1 21123 2016 1 21127 2016 2 21146 2017 1 21150 2017 2 21152 2019 1 21155 2019 2 21157 2020 1 21171 2022 1 21177 2024 1 21202 2024 2 21226 2027 1 21234 2027 1 21235 2031 1 21266 2058 1 21273 2060 1 21275 2060 2 21314 2064 1 21322 2065 1 21325 2067 1 21330 2067 2 21333 2068 1 21345 2069 1 21351 2070 1 21365 2072 1 21370 2073 1 21375 2075 1 21401 2075 2 21404 2075 3 21407 2076 1 21412 2078 1 21415 2079 1 21421 2082 1 21425 2083 1 21431 2084 1 21444 2085 1 21447 2087 1 21462 2088 1 21465 2090 1 21470 2091 1 21507 2093 1 21511 2095 1 21514 2099 1 21542 2100 1 21543 2102 1 21550 2103 1 21562 2104 1 21570 2105 1 21573 2107 1 21602 2107 2 21614 2110 1 21626 2112 1 21634 2113 1 21651 2113 2 21653 2115 1 21665 2119 1 21700 2120 1 21706 2122 1 21712 2122 2 21724 2124 1 21726 2125 1 21731 2126 1 21735 2128 1 21750 2130 1 21754 2132 1 21764 2133 1 21766 2134 1 22010 2135 1 22016 2137 1 22021 2140 1 22034 2141 1 22037 2142 1 22053 2143 1 22070 2144 1 22105 2145 1 22122 2146 1 22137 2147 1 22166 2150 1 22202 2151 1 22204 2152 1 22216 2153 1 22221 2154 1 22236 2155 1 22251 2156 1 22260 2157 1 22267 2161 1 22313 2161 2 22316 2162 1 22330 2163 1 22333 2164 1 22346 2165 1 22362 2166 1 22371 2167 1 22400 2170 1 22417 2173 1 22445 2175 1 22450 2176 1 22452 2177 1 22474 2177 2 22506 2180 1 22521 2181 1 22552 2182 1 22600 2184 1 22603 2184 2 22606 2187 1 22620 2194 1 22626 2197 1 22632 2197 2 22635 2198 1 22647 2202 1 22652 2206 1 22657 2206 2 22661 2208 1 22675 2209 1 22704 2210 1 22712 2211 1 22720 2212 1 22726 2213 1 22734 2214 1 22742 2215 1 22750 2216 1 22756 2223 1 23003 2224 1 23011 2226 1 23023 2226 2 23035 2229 1 23047 2231 1 23052 2231 2 23071 2234 1 23077 2234 1 23100 19 1 23126 19 1 23137 2238 1 23146 2238 1 23152 2238 1 23154 ----------------------------------------------------------- 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