COMPILATION LISTING OF SEGMENT: >spec>install>1212>CONTEXTTABLE.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 1702.1 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 PROGRAM contexttable ; 19 20 $OPTIONS switch trace := true ; switch security := true ; t + $ 21 22 23 $IMPORT 24 'RACINE (pascal)' : 25 alfaptr, 26 anytrace, 27 boxheader, 28 charptr, 29 intptr, 30 lamptr, 31 level, 32 mpcogout, 33 next, 34 nilptr, 35 pnumptr, 36 realptr, 37 symbolfile, 38 symbolline, 39 top ; 40 'RACINE (pascal) ' : 41 error, 42 nextline, 43 warning ; 44 'DECLARE (pascal) ' : 45 analyzing_schema, 46 decltrace, 47 tabform, 48 tabkinds, 49 tabklass, *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 2 50 tabkonst, 51 tabpdef ; 52 'UNIQUE (pascal)' : 53 heaperror ; 54 'STATE (pascal)' : 55 stattrace ; 56 $ 57 58 59 $EXPORT 60 add_schema_token, 61 areconformeq, 62 boundary, 63 bytesneeded, 64 checkminmax, 65 compatbin, 66 conformantdim, 67 create_vars_box, 68 create_types_box, 69 create_proc_box, 70 create_field_box, 71 create_konst_box, 72 create_schema_box, 73 create_tagfield_box, 74 create_dummyclass_box, 75 existfileintype, 76 findminmax, 77 legalconfarrsubstitution, 78 packedsize, 79 packedcadre, 80 printrec, 81 warningminmax 82 83 $ 84 $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 *) *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 3 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 ; 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 ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 4 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 ; 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 *) *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 5 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 ; 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 ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 6 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 ; 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 *) *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 7 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 *) 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 ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 8 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 } 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 } *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 9 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 ; 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 ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 10 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 ; 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 } *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 11 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 ; 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 ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 12 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) ; 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 *) *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 13 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) ; 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) *) *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 14 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, 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, *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 15 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, 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 * , *) *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 16 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 *) 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 *) *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 17 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 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 *) *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 18 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 *) 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 ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 19 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 ; 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 85 86 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 20 87 88 VAR 89 90 (* REDEFINE IMPORTED VARIABLES FROM "RACINE" *) 91 92 alfaptr : ctp ; 93 anytrace : levtrace ; 94 boxheader : PACKED ARRAY [1..120] OF char ; 95 charptr : ctp ; 96 intptr : ctp ; 97 lamptr : ctp ; 98 level : levrange ; 99 mpcogout : text ; 100 next : ctp ; 101 nilptr : ctp ; 102 pnumptr : ctp ; 103 realptr : ctp ; 104 symbolfile : integer ; 105 symbolline : integer ; 106 top : integer ; 107 108 109 (* REDEFINE IMPORTED VARIABLES FROM "DECLARE" *) 110 111 112 analyzing_schema : schema_status ; 113 decltrace : levtrace ; 114 tabform : ARRAY [typform] OF alfa ; 115 tabkinds : ARRAY [idkinds] OF alfa ; 116 tabklass : ARRAY [idklass] OF alfa ; 117 tabkonst : ARRAY [consttype] OF alfa ; 118 tabpdef : ARRAY [idprocdef] OF alfa ; 119 120 (* REDEFINE IMPORTED VARIABLES FROM "STATE" *) 121 122 123 stattrace : levtrace ; 124 125 126 (* REDEFINE IMPORTED PROCEDURES FROM "UNIQUE" *) 127 128 PROCEDURE heaperror ; EXTERNAL ; 129 130 131 (* REDEFINE IMPORTED PROCEDURES FROM "RACINE" *) 132 133 PROCEDURE error (errno : integer) ; EXTERNAL ; 134 PROCEDURE nextline ; EXTERNAL ; 135 PROCEDURE warning (ferrnum : integer) ; EXTERNAL ; 136 137 138 139 140 (* ******************************************* ADD_FORMAT_TOKEN ****************************** *) 141 142 PROCEDURE add_schema_token (kind : schema_token_kind) ; 143 *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 21 144 VAR 145 localftp : ftp ; 146 BEGIN 147 new (localftp) ; 148 IF localftp = NIL THEN heaperror ; 149 localftp^.kind := kind ; 150 WITH localftp^ DO 151 CASE kind OF 152 symbol_token : 153 BEGIN 154 tno := 0 ; tcl := 0 155 END ; 156 name_token : 157 taval := blank ; 158 int_const_token : 159 t_int_value := 0 ; 160 char_const_token : 161 t_char_value := ' ' ; 162 real_const_token : 163 t_real_value := 0 ; 164 END ; 165 localftp^.next := NIL ; 166 IF analyzing_schema.schema_ptr^.token_list = NIL THEN 167 analyzing_schema.schema_ptr^.token_list := localftp 168 ELSE analyzing_schema.current_token^.next := localftp ; 169 analyzing_schema.current_token := localftp ; 170 END ; 171 172 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 22 173 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 23 174 PROCEDURE initcommonpart (fvbox : ctp ; fname : alfaid) ; 175 176 (* C Cette procedure initialise les champs communs a toutes les boites 177* CONTEXTTABLE. 178* C *) 179 180 BEGIN (* INITCOMMONPART *) 181 182 WITH fvbox^ DO 183 BEGIN 184 name := fname ; 185 alfathread := NIL ; 186 symbolplace := packednil ; 187 symbtablerefs := 0 ; 188 189 190 IF name = blank THEN 191 BEGIN 192 nxtel := NIL ; deffile := 0 ; defline := 0 ; references := NIL ; 193 END (* NAME = BLANK *) ELSE 194 BEGIN 195 nxtel := next ; (* Common default *) 196 deffile := symbolfile ; defline := symbolline ; 197 new (references) ; IF references = NIL THEN heaperror ; 198 WITH references^ DO 199 BEGIN 200 refnbr := 0 ; nextref := NIL ; 201 END ; 202 END ; 203 END (* with FVBOX *) ; 204 END (* INITCOMMONPART *) ; 205 206 207 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 24 208 209 (* ********************************* CREATE_VARS_BOX ********* *) 210 211 PROCEDURE create_vars_box (VAR fvbox : ctp ; fname : alfaid) ; 212 213 (* C Cette procedure est la seule autorisee a creer un enregistrement 214* de CONTEXTTABLE correspondant a la classe VARS. 215* En sortie ,elle renvoie le pointeur FVBOX . 216* En cas de saturation du tas, on appelle HEAPERROR, qui arrete la 217* compilation. 218* C *) 219 220 BEGIN (* CREATE_VARS_BOX *) 221 222 new (fvbox, vars) ; 223 IF fvbox = NIL THEN heaperror ; 224 WITH fvbox ^ DO 225 BEGIN 226 initcommonpart (fvbox, fname) ; 227 klass := vars ; 228 vtype := NIL ; 229 vkind := actual ; 230 vfilelocation := notafile ; 231 vaddr := 0 ; 232 vdispl := 0 ; vdescaddr := 0 ; 233 vlevel := level ; 234 visused := false ; 235 visset := false ; 236 visreadonly := false ; 237 visrefincode := false ; 238 varparam := false ; 239 vptextitem := NIL ; 240 END ; 241 242 END (* CREATE_VARS_BOX *) ; 243 244 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 25 245 (* ********************************* CREATE_SCHEMA_BOX ********* *) 246 247 PROCEDURE create_schema_box (VAR fvbox : ctp ; fname : alfaid) ; 248 249 (* C Cette procedure est la seule autorisee a creer un enregistrement 250* de CONTEXTTABLE correspondant a la classe SCHEMA. 251* En sortie ,elle renvoie le pointeur FVBOX . 252* En cas de saturation du tas, on appelle HEAPERROR, qui arrete la 253* compilation. 254* C *) 255 256 BEGIN (* CREATE_SCHEMA_BOX *) 257 258 new (fvbox, schema) ; 259 IF fvbox = NIL THEN heaperror ; 260 WITH fvbox ^ DO 261 BEGIN 262 initcommonpart (fvbox, fname) ; 263 klass := schema ; 264 top_for_schema := top ; 265 next_for_schema := next ; 266 formal_parameter_list := NIL ; 267 parameter_count := 0 ; 268 token_list := NIL 269 END ; 270 271 END (* CREATE_SCHEMA_BOX *) ; 272 273 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 26 274 275 276 (* ********************************* CREATE_TYPES_BOX ********* *) 277 278 PROCEDURE create_types_box (VAR fvbox : ctp ; fname : alfaid ; 279 fform : typform ; fbool : boolean) ; 280 281 (* C Cette procedure est la seule autorisee a creer un enregistrement 282* de CONTEXTTABLE correspondant a la classe TYPES. 283* En sortie ,elle renvoie le pointeur FVBOX . 284* En cas de saturation du tas, on appelle HEAPERROR, qui arrete la 285* compilation. 286* FFORM identifie le sous-type. 287* FBOOL n'est utilise que pour SCALAR, ARRAYS. 288* C *) 289 290 BEGIN (* CREATE_TYPES_BOX *) 291 292 new (fvbox, types) ; 293 IF fvbox = NIL THEN heaperror ; 294 WITH fvbox ^ DO 295 BEGIN 296 initcommonpart (fvbox, fname) ; 297 klass := types ; 298 size := 0 ; 299 cadrage := 0 ; 300 pack := false ; 301 tlevel := level ; 302 form := fform ; 303 father_schema := NIL ; 304 actual_parameter_list := NIL ; 305 306 CASE form OF 307 reel : BEGIN 308 END ; 309 numeric : BEGIN 310 npksize := 0 ; 311 nmin := 0 ; 312 nmax := 0 ; 313 END ; 314 scalar : BEGIN 315 spksize := 0 ; 316 subrng := fbool ; 317 CASE subrng OF 318 false : BEGIN 319 fconst := NIL ; 320 sptcstepw := NIL ; 321 END ; 322 true : BEGIN 323 smin := 0 ; 324 smax := 0 ; 325 typset := NIL ; 326 END ; 327 END ; 328 END ; 329 pointer : BEGIN 330 ptpksize := 0 ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 27 331 domain := NIL ; 332 eltype := NIL ; 333 END ; 334 power : BEGIN 335 ppksize := 0 ; 336 setlength := 0 ; 337 elset := NIL ; 338 END ; 339 arrays : BEGIN 340 aeltype := NIL ; 341 inxtype := NIL ; 342 conformant := fbool ; 343 CASE conformant OF 344 false : BEGIN 345 lo := 0 ; 346 hi := 0 ; 347 opt2 := 0 ; 348 subsize := 0 ; 349 END ; 350 true : BEGIN 351 ptlow := NIL ; 352 father_schema := NIL ; 353 actual_parameter_list := NIL ; 354 desc_vector_references := -1 ; 355 END ; 356 END (* case CONFORMANT *) ; 357 END ; 358 records : BEGIN 359 recvar := NIL ; 360 fstfld := NIL ; 361 END ; 362 files : BEGIN 363 feltype := NIL ; 364 END ; 365 aliastype : BEGIN 366 realtype := NIL ; 367 END ; 368 END (* case FORM *) ; 369 END ; 370 371 END (* CREATE_TYPES_BOX *) ; 372 373 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 28 374 375 (* ********************************* CREATE_PROC_BOX ********* *) 376 377 PROCEDURE create_proc_box (VAR fvbox : ctp ; fname : alfaid) ; 378 379 (* C Cette procedure est la seule autorisee a creer un enregistrement 380* de CONTEXTTABLE correspondant a la classe PROC. 381* En sortie ,elle renvoie le pointeur FVBOX . 382* En cas de saturation du tas, on appelle HEAPERROR, qui arrete la 383* compilation. 384* C *) 385 386 BEGIN (* CREATE_PROC_BOX *) 387 388 new (fvbox, proc) ; 389 IF fvbox = NIL THEN heaperror ; 390 WITH fvbox ^ DO 391 BEGIN 392 initcommonpart (fvbox, fname) ; 393 klass := proc ; 394 proctype := NIL ; 395 formals := NIL ; 396 prockind := actual ; 397 proclevel := level ; 398 procaddr := 0 ; 399 segsize := 0 ; 400 nbparproc := 0 ; 401 locincode := 0 ; 402 procisassigned := false ; 403 predefproc := false ; 404 procinscope := true ; 405 phasdescriptor := false ; 406 ploc := notpredef ; 407 procextitem := NIL ; 408 procdef := standdef ; 409 ptypesymbolplace := packednil ; 410 pisrefincode := false ; 411 procisactive := false ; 412 pwantdescs := false ; 413 pdescsaddrplace := 0 ; 414 pextcalltrapinfoplace := 0 ; 415 pwantspl1descriptors := false ; 416 END ; 417 418 END (* CREATE_PROC_BOX *) ; 419 420 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 29 421 422 (* ********************************* CREATE_FIELD_BOX ********* *) 423 424 PROCEDURE create_field_box (VAR fvbox : ctp ; fname : alfaid) ; 425 426 (* C Cette procedure est la seule autorisee a creer un enregistrement 427* de CONTEXTTABLE correspondant a la classe FIELD. 428* En sortie ,elle renvoie le pointeur FVBOX . 429* En cas de saturation du tas, on appelle HEAPERROR, qui arrete la 430* compilation. 431* C *) 432 433 BEGIN (* CREATE_FIELD_BOX *) 434 435 new (fvbox, field) ; 436 IF fvbox = NIL THEN heaperror ; 437 WITH fvbox ^ DO 438 BEGIN 439 initcommonpart (fvbox, fname) ; 440 klass := field ; 441 fldtype := NIL ; 442 fldaddr := 0 ; 443 bytwidth := 0 ; 444 END ; 445 446 END (* CREATE_FIELD_BOX *) ; 447 448 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 30 449 450 (* ********************************* CREATE_KONST_BOX ********* *) 451 452 PROCEDURE create_konst_box (VAR fvbox : ctp ; fname : alfaid ; 453 ftypofconst : consttype) ; 454 455 (* C Cette procedure est la seule autorisee a creer un enregistrement 456* de CONTEXTTABLE correspondant a la classe KONST. 457* En sortie ,elle renvoie le pointeur FVBOX . 458* En cas de saturation du tas, on appelle HEAPERROR, qui arrete la 459* compilation. 460* FTYPOFCONST identifie la sous-classe de constante. 461* C *) 462 463 BEGIN (* CREATE_KONST_BOX *) 464 465 new (fvbox, konst) ; 466 IF fvbox = NIL THEN heaperror ; 467 WITH fvbox ^ DO 468 BEGIN 469 initcommonpart (fvbox, fname) ; 470 klass := konst ; 471 succ := NIL ; 472 contype := NIL ; 473 typofconst := ftypofconst ; 474 475 CASE typofconst OF 476 wordconst : BEGIN 477 values := 0 ; 478 END ; 479 dwordconst : BEGIN 480 valreel := 0 ; 481 END ; 482 alfaconst : BEGIN 483 alfadeb := NIL ; 484 alfalong := 0 ; 485 alfalevel := level ; 486 unddeb := 0 ; 487 END ; 488 END (* case TYPOFCONST *) ; 489 END ; 490 491 END (* CREATE_KONST_BOX *) ; 492 493 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 31 494 495 (* ********************************* CREATE_TAGFIELD_BOX ********* *) 496 497 PROCEDURE create_tagfield_box (VAR fvbox : ctp ; fname : alfaid ; ftagval : boolean) ; 498 499 (* C Cette procedure est la seule autorisee a creer un enregistrement 500* de CONTEXTTABLE correspondant a la classe TAGFIELD. 501* En sortie ,elle renvoie le pointeur FVBOX . 502* En cas de saturation du tas, on appelle HEAPERROR, qui arrete la 503* compilation. 504* FTAGVAL permet la discrimination de champs. 505* C *) 506 507 BEGIN (* CREATE_TAGFIELD_BOX *) 508 509 new (fvbox, tagfield) ; 510 IF fvbox = NIL THEN heaperror ; 511 WITH fvbox ^ DO 512 BEGIN 513 initcommonpart (fvbox, fname) ; 514 klass := tagfield ; 515 casesize := 0 ; 516 variants := NIL ; 517 tagval := ftagval ; 518 519 CASE tagval OF 520 false : BEGIN 521 casetype := NIL ; 522 selectorfield := NIL ; 523 END ; 524 true : BEGIN 525 caseval := 0 ; 526 firstfield := NIL ; 527 END ; 528 END (* case TAGVAL *) ; 529 530 END (* with *) ; 531 532 END (* CREATE_TAGFIELD_BOX *) ; 533 534 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 32 535 536 (* ********************************* CREATE_DUMMYCLASS_BOX ********* *) 537 538 PROCEDURE create_dummyclass_box (VAR fvbox : ctp ; fname : alfaid) ; 539 540 (* C Cette procedure est la seule autorisee a creer un enregistrement 541* de CONTEXTTABLE correspondant a la classe DUMMYCLASS. 542* En sortie ,elle renvoie le pointeur FVBOX . 543* En cas de saturation du tas, on appelle HEAPERROR, qui arrete la 544* compilation. 545* C *) 546 547 BEGIN (* CREATE_DUMMYCLASS_BOX *) 548 549 new (fvbox, dummyclass) ; 550 IF fvbox = NIL THEN heaperror ; 551 WITH fvbox ^ DO 552 BEGIN 553 initcommonpart (fvbox, fname) ; 554 klass := dummyclass ; 555 END ; 556 557 END (* CREATE_DUMMYCLASS_BOX *) ; 558 559 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 33 560 561 (* *************************************PRINTREC******************************* *) 562 563 PROCEDURE printrec (ptbox : ctp) ; 564 565 (* C .CALLED IN ORDER TO WRITE ON LISTING THE CONTENT OF THE BOX POINTED BY 566* "PTBOX". 567* .THE VALUE OF DECLTRACE GIVES THE LEVEL OF INFORMATIONS TO BE 568* WRITTEN 569* C *) 570 571 572 (* ***********************************************CRACHEPROC < PRINTREC******** *) 573 574 PROCEDURE cracheproc ; 575 576 BEGIN nextline ; 577 WITH ptbox@ DO 578 IF decltrace = high THEN 579 BEGIN 580 write (mpcogout, '* PROCTYPE, FORMALS AT @ ', ord (proctype), ord (formals), 581 ' PROCKIND IS ', tabkinds [prockind], ' PROCLEVEL IS', proclevel : 4) ; 582 nextline ; 583 write (mpcogout, '* PROCADDR,SEGSIZE ARE ', procaddr : 5, segsize, ' PROCDEF IS ', 584 tabpdef [procdef], ' POCISASSIGNED IS ', procisassigned : 5, 585 ' PROCINSCOPE IS ', procinscope) ; 586 nextline ; 587 write (mpcogout, '* NBPARPROC,PREDEFPROC ARE : ', nbparproc : 5, predefproc : 5) ; 588 write (mpcogout, ' PROCEXTITEM is at^', ord (procextitem)) ; 589 write (mpcogout, ' PISREFINCODE is:', pisrefincode) ; 590 write (mpcogout, ' PHASDESCRIPTOR = ', phasdescriptor) ; 591 nextline ; 592 END ; 593 END (* CRACHEPROC *) ; 594 595 596 (* *************************************CRACHEFIELD < PRINTREC *********** *) 597 598 PROCEDURE crachefield ; 599 BEGIN nextline ; 600 WITH ptbox@ DO 601 IF decltrace = high THEN 602 BEGIN 603 write (mpcogout, '* FLDTYPE IS AT @ ', ord (fldtype), ' FLDADDR,BYTWIDTH ARE', 604 fldaddr : 5, bytwidth : 5) ; 605 nextline ; 606 END ; 607 END ; (* CRACHEFIELD *) 608 609 610 (* *************************************CRACHEVARS < PRINTREC *********** *) 611 612 PROCEDURE crachevars ; 613 BEGIN 614 nextline ; 615 WITH ptbox@ DO 616 IF decltrace = high THEN *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 34 617 BEGIN 618 write (mpcogout, '* VTYPE IS AT @ ', ord (vtype), ' VKIND IS ', tabkinds [vkind], 619 ' VADDR,VLEVEL,VPTEXTITEM ARE : ', vaddr, vlevel : 4, ord (vptextitem)) ; 620 nextline ; 621 write (mpcogout, '* ord(VFILELOCATION) is:', ord (vfilelocation), 622 ' VISREFINCODE is :', visrefincode) ; 623 write (mpcogout, ' VDISPL and VDESCADDR are :', vdispl : 8, vdescaddr : 8) ; 624 nextline ; 625 write (mpcogout, '* VISUSED,VISSET,VISREADONLY ARE :', visused : 5, visset : 5, 626 visreadonly : 5, ' VARPARAM IS : ', varparam : 5) ; 627 nextline ; 628 END ; 629 END ; (* CRACHEVARS *) 630 631 632 (* *************************************CRACHEKONST < PRINTREC *********** *) 633 634 PROCEDURE crachekonst ; 635 636 BEGIN 637 WITH ptbox@ DO 638 IF decltrace = medium THEN 639 BEGIN 640 write (mpcogout, ' TYPOFCONST IS ', tabkonst [typofconst]) ; nextline ; 641 END ELSE 642 BEGIN 643 nextline ; 644 write (mpcogout, 645 '* SUCC ,CONTYPE ARE AT@ ', ord (succ), ord (contype), ' TYPOFCONST IS', 646 tabkonst [typofconst] : 9) ; 647 nextline ; 648 IF typofconst = wordconst THEN 649 write (mpcogout, '* VALUES IS: ', values) ELSE 650 IF typofconst = dwordconst THEN 651 write (mpcogout, '* VALREEL IS: ', valreel) ELSE 652 write (mpcogout, 653 '* ALFADEB IS AT @ ', ord (alfadeb), ' ALFALONG,ALFALEVEL,UNDDEB ', 654 alfalong : 4, alfalevel : 4, unddeb : 4) ; 655 nextline ; 656 END ; 657 END ; (* CRACHEKONST *) 658 659 660 (* *************************************CRACHETAGFIELD < PRINTREC *********** *) 661 PROCEDURE crachetagfield ; 662 663 BEGIN 664 WITH ptbox@ DO 665 IF decltrace = medium THEN 666 BEGIN 667 write (mpcogout, '* TAGVAL IS: ', tagval : 5) ; nextline ; 668 END ELSE 669 BEGIN 670 nextline ; 671 write (mpcogout, 672 '* CASESIZE IS:', casesize : 5, ' VARIANTS IS AT@ ', ord (variants), 673 ' TAGVAL IS: ', tagval : 5) ; nextline ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 35 674 IF tagval THEN 675 write (mpcogout, '* CASEVAL IS:', caseval) ELSE 676 write (mpcogout, '* CASETYPE IS AT @', ord (casetype)) ; 677 nextline ; 678 END ; 679 END ; (* CRACHETAGFIELD *) 680 681 682 (* *************************************CRACHETYPES < PRINTREC *********** *) 683 PROCEDURE crachetypes ; 684 685 BEGIN 686 WITH ptbox@ DO 687 IF decltrace = medium THEN 688 BEGIN 689 write (mpcogout, ' FORM IS : ', tabform [form]) ; 690 IF form = scalar THEN 691 write (mpcogout, ' SUBRNG IS ', subrng : 5) ELSE 692 IF form = arrays THEN 693 write (mpcogout, ' CONFORMANT IS ', conformant : 5) ; 694 nextline ; 695 END ELSE 696 BEGIN nextline ; 697 write (mpcogout, 698 '* SIZE,CADRAGE ARE : ', size, cadrage : 4, ' PACK IS ', pack : 5, 699 ' FORM IS : ', tabform [form]) ; 700 nextline ; 701 CASE form OF 702 reel : ; 703 numeric : BEGIN 704 write (mpcogout, '* NPKSIZE,NMIN AND NMAX ARE: ', npksize, nmin, nmax) ; 705 nextline ; 706 END ; 707 scalar : BEGIN 708 write (mpcogout, '* SPKSIZE IS: ', spksize, ' SUBRNG IS: ', subrng : 5) ; 709 nextline ; 710 IF subrng THEN 711 write (mpcogout, 712 '* SMIN,SMAX ARE :', smin, smax, ' TYPSET IS AT @', ord (typset)) 713 ELSE 714 write (mpcogout, 715 '* FCONST,SPTCSTEPW ARE AT @', ord (fconst), ord (sptcstepw)) ; 716 nextline ; 717 END ; 718 pointer : BEGIN 719 write (mpcogout, 720 '* PTPKSIZE IS:', ptpksize : 4, 721 ' DOMAIN,ELTYPE ARE AT @', ord (domain), ord (eltype)) ; 722 nextline ; 723 END ; 724 power : BEGIN 725 write (mpcogout, 726 '* PPKSIZE IS: ', ppksize : 4, ' ELSET IS AT @', ord (elset)) ; 727 nextline ; 728 END ; 729 arrays : BEGIN 730 write (mpcogout, '* AELTYPE,INXTYPE ARE AT @', ord (aeltype), ord (inxtype), *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 36 731 ' CONFORMANT IS :', conformant : 5) ; 732 nextline ; 733 IF conformant THEN 734 BEGIN 735 736 END ELSE 737 write (mpcogout, '* LO,HI,OPT2,SUBSIZE ARE :', lo, hi, opt2, subsize) ; 738 nextline ; 739 END ; 740 records : BEGIN 741 write (mpcogout, '*RECVAR,FSTFLD ARE AT@', ord (recvar), ord (fstfld)) ; 742 nextline ; 743 END ; 744 files : BEGIN 745 write (mpcogout, 746 '* FELTYPE IS AT @', ord (feltype)) ; 747 nextline ; 748 END ; 749 aliastype : BEGIN 750 write (mpcogout, '* REALTYPE IS AT @', ord (realtype)) ; nextline ; 751 END ; 752 END (* CASE FORM *) ; 753 END (* DECLTRACE=HIGH *) ; 754 END (* CRACHETYPE *) ; 755 756 757 BEGIN (* PRINTREC *) 758 IF decltrace > low THEN 759 BEGIN 760 nextline ; write (mpcogout, boxheader) ; nextline ; 761 IF ptbox = NIL THEN 762 BEGIN 763 write (mpcogout, '* BOX REQUESTED IS NIL . TRACE STOPS ') ; nextline ; 764 END ELSE 765 WITH ptbox@ DO 766 BEGIN 767 write (mpcogout, '* BOX FOLLOWING HERE IS AT @', ord (ptbox)) ; nextline ; 768 write (mpcogout, '* NAME IS : ', name, ' NXTEL IS AT @', ord (nxtel), 769 ' KLASS IS : ', tabklass [klass]) ; 770 CASE klass OF 771 types : crachetypes ; 772 konst : crachekonst ; 773 proc : cracheproc ; 774 vars : crachevars ; 775 field : crachefield ; 776 tagfield : crachetagfield ; 777 dummyclass : nextline ; 778 END (* CASE KLASS *) ; 779 END ; 780 write (mpcogout, boxheader) ; nextline ; 781 nextline ; 782 END (* DECLTRACE > LOW *) ; 783 END ; (* PRINTREC *) 784 785 786 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 37 787 788 (* ******************************************** FCT. EXISTFILEINTYPE *) 789 790 FUNCTION existfileintype (ptontype : ctp) : boolean ; 791 792 (* C returns TRUE if the type pointed by PTONTYPE (may be a complex type) 793* is a file type or a type containing a file as element, 794* returns FALSE otherwise 795* C *) 796 797 VAR 798 locexist : boolean ; 799 800 BEGIN (* EXISTFILEINTYPE *) 801 $OPTIONS compile = trace $ 802 IF decltrace > none THEN 803 BEGIN 804 write (mpcogout, ' @@@ Debut de EXISTFILEINTYPE @@@ avec ^', 805 ord (ptontype)) ; nextline ; 806 END ; 807 $OPTIONS compile = true $ 808 809 (* THIS IS A VERY POOR SIMULATION OF THE DEFINITIVE FUNCTION *) 810 811 locexist := ptontype^.form = files ; 812 existfileintype := locexist ; 813 $OPTIONS compile = trace $ 814 IF decltrace = high THEN 815 BEGIN 816 write (mpcogout, ' @@@ Fin de EXISTFILEINTYPE @@@ avec valeur=', 817 locexist) ; nextline ; 818 END ; 819 $OPTIONS compile = true $ 820 821 END (* EXISTFILEINTYPE *) ; 822 823 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 38 824 825 (* *********************************************************FCT. BOUNDARY****** *) 826 827 FUNCTION boundary (objform : typform ; ispack : boolean ; pcksize : integer) : integer ; 828 829 (* C GIVES FOR AN OBJECT ITS BOUNDARY IN MEMORY (IN BYTES) C *) 830 (* E ERRORS DETECTED 831* 353 COMPILER'S CONTROL (BOUNDARY) (OBJFORM=ALIASTYPE) 832* 354 COMPILER'S CONTROL (BOUNDARY) (BAD ARGUMENT) E *) 833 VAR 834 lbound : integer ; 835 BEGIN 836 lbound := bytesinword ; (* DEFAULT AND MOST COMMON VALUE *) 837 IF ispack THEN 838 (* PACKED OBJECT *) 839 CASE objform OF 840 reel : lbound := bytesindword ; 841 numeric, scalar : lbound := pcksize ; 842 pointer : (* LBOUND := BYTESINWORD *) ; 843 power : IF pcksize <= bytesindword THEN lbound := pcksize ELSE 844 lbound := bytesindword ; 845 arrays, records, files : error (354) ; (* COMPILER'S FAULT *) 846 aliastype : error (353) ; (* COMPILER'S FAULT *) 847 END (* CASE,PACKED *) 848 ELSE 849 (* UNPACKED OBJECT *) 850 CASE objform OF 851 reel, pointer : lbound := bytesindword ; 852 numeric, scalar : (* LBOUND:=BYTESINWORD *) ; 853 power : lbound := bytesindword ; 854 arrays, records : (* LBOUND:=BYTESINWORD *) ; 855 files : lbound := bytesindword ; 856 aliastype : error (353) ; (* COMPILER'S FAULT *) 857 END (* CASE,UNPACKED *) ; 858 boundary := lbound ; 859 END (* BOUNDARY *) ; 860 861 862 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 39 863 864 (* *************************************FCT.BYTESNEEDED************************ *) 865 866 FUNCTION bytesneeded (objform : typform ; highest : integer ; 867 ispack : boolean) : integer ; 868 869 (* C FOR EACH TYPE THIS FUNCTION RETURNS THE SIZE NEEDED IN BYTES 870* THIS VALUE DEPENDS ON THE BOOLEAN ISPACK. 871* WHEN THIS BOOLEAN IS TRUE, HIGHEST GIVES THE MAXIMUM VALUE OF THE OBJECT 872* THEN IT IS POSSIBLE TO FIND THE OPTIMAL SIZE C *) 873 (* E ERRORS DETECTED 874* 351 COMPILER'S CONTROL (BYTESNEEDED) (OBSFORM=ALIASTYPE) 875* 352 COMPILER'S CONTROL (BYTESNEEDED) (BAD ARGUMENT ) E *) 876 VAR i : integer ; 877 BEGIN i := bytesinword ; (* DEFAULT VALUE *) 878 IF NOT ispack THEN 879 (* NOT PACKED ENVIRONMENT *) 880 CASE objform OF 881 reel, pointer : i := bytesindword ; 882 numeric, scalar : (* DEFAULT *) ; 883 power : IF highest <= bitsindword - 1 THEN i := bytesindword ELSE 884 i := bytesforset ; 885 arrays, records : i := 0 ; (* PRELIMINARY SIZE *) 886 files : i := fsbpointersize ; 887 aliastype : error (351) ; (* COMPILER'S CONTROL *) 888 END (* CASE , NOT ISPACK *) 889 ELSE 890 (* PACKED ENVIRONMENT *) 891 CASE objform OF 892 reel : i := bytesindword ; 893 numeric : IF highest <= ntwotobyte THEN i := 1 (* ONE BYTE *) ELSE 894 IF highest <= ntwotohword THEN i := bytesinhword ELSE 895 i := bytesinword ; 896 scalar : IF highest <= stwotobyte THEN i := 1 (* ONE BYTE *) ELSE 897 i := bytesinhword ; 898 pointer : i := bytesinword ; 899 power : IF highest <= bitsinbyte - 1 THEN i := 1 (* ONE BYTE *) ELSE 900 IF highest <= bitsinhword - 1 THEN i := bytesinhword ELSE 901 IF highest <= bitsinword - 1 THEN i := bytesinword ELSE 902 IF highest <= bitsindword - 1 THEN i := bytesindword ELSE 903 i := bytesforset ; 904 arrays, records, files : error (352) ; (* NO MEANINGS IN PACKED *) 905 aliastype : error (351) ; (* COMPILER'S CONTROL *) 906 END (* CASE , PACKED ENV *) ; 907 bytesneeded := i ; 908 END (* BYTESNEEDED *) ; 909 910 911 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 40 912 913 (* *********************************************************PACKEDSIZE********* *) 914 915 FUNCTION packedsize (ftype : ctp) : integer ; 916 917 (* C GIVES THE PACKED SIZE FOR A GIVEN TYPE FTYPE C *) 918 (* E 379 COMPILER'S CONTROL (PACKEDSIZE) E *) 919 VAR 920 lsize : integer ; 921 BEGIN 922 lsize := 0 ; 923 $OPTIONS compile = security $ 924 IF ftype = NIL THEN error (379) ELSE 925 IF ftype@.klass # types THEN error (379) ELSE 926 $OPTIONS compile = true $ 927 WITH ftype@ DO 928 IF pack THEN lsize := size ELSE 929 CASE form OF 930 numeric : lsize := npksize ; 931 pointer : lsize := ptpksize ; 932 power : lsize := ppksize ; 933 scalar : lsize := spksize ; 934 aliastype, arrays, files, records, reel : lsize := size ; 935 END (* CASE *) ; 936 packedsize := lsize ; 937 END (* PACKEDSIZE *) ; 938 939 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 41 940 941 (* *********************************************************PACKEDCADRE********* *) 942 943 FUNCTION packedcadre (ftype : ctp) : integer ; 944 945 (* C GIVES THE PACKED CADRE FOR A GIVEN TYPE FTYPE C *) 946 (* E 379 COMPILER'S CONTROL (PACKEDCADRE) E *) 947 VAR 948 lcadre : integer ; 949 BEGIN 950 lcadre := 0 ; 951 $OPTIONS compile = security $ 952 IF ftype = NIL THEN error (379) ELSE 953 IF ftype@.klass # types THEN error (379) ELSE 954 $OPTIONS compile = true $ 955 WITH ftype@ DO 956 IF pack THEN lcadre := cadrage ELSE 957 CASE form OF 958 numeric : BEGIN 959 lcadre := npksize ; 960 END ; 961 pointer : lcadre := ptpksize ; 962 power : lcadre := ppksize ; 963 scalar : lcadre := spksize ; 964 aliastype, arrays, files, records, reel : lcadre := cadrage ; 965 END (* CASE *) ; 966 packedcadre := lcadre ; 967 $OPTIONS compile = trace $ 968 IF decltrace = high THEN 969 BEGIN 970 write (mpcogout, '@@@ Fin de PACKED CADRE @@@ sur FTYPE^', 971 ord (ftype), ' valeur retournee =', lcadre : 6) ; 972 nextline ; 973 END ; 974 $OPTIONS compile = true $ 975 END (* PACKEDCADRE *) ; 976 977 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 42 978 979 (* ************************************ COMPATBIN ***************************** *) 980 981 PROCEDURE compatbin (typleft, typright : ctp ; VAR fgeneric : ctp) ; 982 983 (* C GIVEN TWO CTP (TYPES) ,THIS PROCEDURE RETURNS NIL IF POINTER ARE NOT 984* COMPATIBLE. 985* IF THEY ARE COMPATIBLES RETURNS GENERIC TYPE 986* C *) 987 VAR 988 locgen : ctp ; 989 BEGIN (* COMPATBIN *) 990 $OPTIONS compile = trace $ 991 IF anytrace > none THEN 992 BEGIN 993 write (mpcogout, '@@@ DEBUT COMPATBIN @@@ WITH TYPLEFT,TYPRIGHT AT @', ord (typleft), 994 ord (typright)) ; nextline ; 995 END ; 996 $OPTIONS compile = true $ 997 fgeneric := NIL ; (* DEFAULT OVERRIDEN *) 998 (* ONLY IF COMPATIBLE TYPES *) 999 IF typleft # NIL THEN (* LEFT NIL *) 1000 IF typright # NIL THEN (* RIGHT NIL *) 1001 IF typleft = typright THEN (* SAME TYPE *) 1002 fgeneric := typleft ELSE 1003 CASE typleft@.form OF 1004 reel : IF typright@.form = numeric THEN fgeneric := realptr ; 1005 numeric : 1006 IF typright = realptr THEN fgeneric := realptr ELSE 1007 IF typright@.form = numeric THEN fgeneric := intptr ; 1008 scalar : 1009 IF typright@.form = scalar THEN 1010 IF NOT typleft@.subrng THEN 1011 BEGIN 1012 IF typright@.subrng THEN 1013 BEGIN 1014 IF typright@.typset = typleft THEN fgeneric := typleft ; 1015 END 1016 END (* LEFT NOT SUBRNG *) ELSE 1017 BEGIN (* SUBRNG *) 1018 IF typright@.subrng THEN 1019 BEGIN 1020 IF typright@.typset = typleft@.typset 1021 THEN fgeneric := typleft@.typset ; 1022 END ELSE 1023 IF typleft@.typset = typright THEN fgeneric := typright ; 1024 END (* LEFT SUBRNG *) ; 1025 pointer : IF typright@.form = pointer THEN 1026 IF typleft = nilptr THEN 1027 fgeneric := typright ELSE 1028 IF typright = nilptr THEN 1029 fgeneric := typleft ; 1030 power : IF typright@.form = power THEN 1031 IF typleft = lamptr THEN fgeneric := typright ELSE 1032 IF typright = lamptr THEN fgeneric := typleft ELSE 1033 BEGIN 1034 compatbin (typleft@.elset, typright@.elset, locgen) ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 43 1035 IF locgen # NIL THEN 1036 IF locgen@.form = numeric THEN 1037 fgeneric := pnumptr ELSE 1038 IF locgen@.subrng THEN 1039 fgeneric := locgen@.typset@.sptcstepw ELSE 1040 fgeneric := locgen@.sptcstepw ; 1041 END ; 1042 arrays : IF typright@.form = arrays THEN 1043 IF typleft@.pack THEN 1044 IF typright@.pack THEN 1045 IF typleft@.aeltype = charptr THEN 1046 IF typright@.aeltype = charptr THEN 1047 BEGIN 1048 IF typright = alfaptr THEN 1049 BEGIN 1050 IF typleft@.lo = 1 THEN 1051 IF typleft@.inxtype@.form = numeric THEN 1052 fgeneric := typleft 1053 END ELSE 1054 IF typleft = alfaptr THEN 1055 BEGIN 1056 IF typright@.lo = 1 THEN 1057 IF typright@.inxtype@.form = numeric THEN 1058 fgeneric := typright 1059 END ELSE 1060 BEGIN 1061 IF typright@.inxtype = typleft@.inxtype THEN 1062 IF typleft@.inxtype@.form = numeric THEN 1063 IF typleft@.size = typright@.size THEN 1064 fgeneric := typleft ; 1065 END ; 1066 END (* 2 PACKED ARRAYS OF CHARS *) ; 1067 records, files : ; 1068 END (* CASE TYPLEFT@.FORM *) ; 1069 $OPTIONS compile = trace $ 1070 IF anytrace > low THEN 1071 BEGIN 1072 write (mpcogout, '@@@ FIN COMPATBIN @@@ WITH GENERIC AT @', ord (fgeneric)) ; 1073 nextline ; 1074 END ; 1075 $OPTIONS compile = true $ 1076 END (* COMPATBIN *) ; 1077 1078 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 44 1079 1080 (* *************************************WARNINGMINMAX**************************** *) 1081 1082 PROCEDURE warningminmax (fvalue : integer ; fctp : ctp ; ferrnum : integer) ; 1083 1084 (* C CALLED EACH TIME THE COMPILER IS ABLE TO FIND IF 'FVALUE' IS A CONSTANT 1085* COMPATIBLE WITH THE DECLARED BOUNDS OF 'FCTP' C *) 1086 (* E Errors detected 1087* COMPILER'S CONTROL 1088* 384 : FCTP IS NIL 1089* 385 : TYPES NOT OF A GOOD FORM 1090* 386 : FCONST IS NIL E *) 1091 VAR 1092 lerr : boolean ; 1093 BEGIN 1094 $OPTIONS compile = security $ 1095 IF fctp = NIL THEN error (384) ELSE 1096 IF fctp@.klass # types THEN error (385) ELSE 1097 IF NOT (fctp@.form IN [numeric, scalar]) THEN error (385) ELSE 1098 $OPTIONS compile = true $ 1099 WITH fctp@ DO 1100 BEGIN 1101 (* NUMERIC *) 1102 IF form = numeric THEN lerr := (fvalue > nmax) OR (fvalue < nmin) ELSE 1103 (* SCALAR *) 1104 IF subrng THEN lerr := (fvalue > smax) OR (fvalue < smin) ELSE 1105 BEGIN 1106 $OPTIONS compile = security $ 1107 IF fconst = NIL THEN 1108 BEGIN 1109 error (386) ; lerr := false ; 1110 END ELSE 1111 $OPTIONS compile = true $ 1112 lerr := (fvalue > fconst@.values) OR (fvalue < 0) ; 1113 END ; 1114 IF lerr THEN 1115 warning (ferrnum) ; 1116 END (* WITH *) ; 1117 END (* WARNINGMINMAX *) ; 1118 1119 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 45 1120 1121 (* *************************************CHECKMINMAX**************************** *) 1122 1123 PROCEDURE checkminmax (fvalue : integer ; fctp : ctp ; ferrnum : integer) ; 1124 1125 (* C CALLED EACH TIME THE COMPILER IS ABLE TO FIND IF 'FVALUE' IS A CONSTANT 1126* COMPATIBLE WITH THE DECLARED BOUNDS OF 'FCTP' C *) 1127 (* E ERRORS DETECTED 1128* VIA FERRNUM 1129* 301 : CASE VARIANT OUT OF BOUNDS 1130* 302 : INDEX OUT OF BOUNDS 1131* 303 : VALUE ASSIGNED OUT OF BOUNDS 1132* 304 : CASE LABEL OUT OF BOUNDS 1133* 305 : VALUE IN A SET OUT OF BOUNDS 1134* COMPILER'S CONTROL 1135* 384 : FCTP IS NIL 1136* 385 : TYPES NOT OF A GOOD FORM 1137* 386 : FCONST IS NIL E *) 1138 VAR 1139 lerr : boolean ; 1140 BEGIN 1141 $OPTIONS compile = trace $ 1142 IF decltrace > none THEN 1143 BEGIN 1144 write (mpcogout, ' @@@ DEBUT CHEKMINMAX @@@', ' FVALUE,FCTP,FERRNUM :', fvalue, 1145 ord (fctp), ferrnum) ; 1146 nextline ; 1147 END ; 1148 $OPTIONS compile = true $ 1149 $OPTIONS compile = security $ 1150 IF fctp = NIL THEN error (384) ELSE 1151 IF fctp@.klass # types THEN error (385) ELSE 1152 IF NOT (fctp@.form IN [numeric, scalar]) THEN error (385) ELSE 1153 $OPTIONS compile = true $ 1154 WITH fctp@ DO 1155 BEGIN 1156 (* NUMERIC *) 1157 IF form = numeric THEN lerr := (fvalue > nmax) OR (fvalue < nmin) ELSE 1158 (* SCALAR *) 1159 IF subrng THEN lerr := (fvalue > smax) OR (fvalue < smin) ELSE 1160 BEGIN 1161 $OPTIONS compile = security $ 1162 IF fconst = NIL THEN 1163 BEGIN 1164 error (386) ; lerr := false ; 1165 END ELSE 1166 $OPTIONS compile = true $ 1167 lerr := (fvalue > fconst@.values) OR (fvalue < 0) ; 1168 END ; 1169 IF lerr THEN 1170 error (ferrnum) ; 1171 END (* WITH *) ; 1172 $OPTIONS compile = trace $ 1173 IF decltrace > low THEN 1174 BEGIN 1175 write (mpcogout, ' @@@ FIN CHECKMINMAX') ; nextline ; 1176 END ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 46 1177 $OPTIONS compile = true $ 1178 END (* CHECKMINMAX *) ; 1179 1180 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 47 1181 1182 (* ************************************ FINDMINMAX **************************** *) 1183 1184 PROCEDURE findminmax (fctp : ctp ; VAR fmin, fmax : integer) ; 1185 1186 (* C GIVEN A POINTER (FCTP) NOT NIL ON A SCALAR OR NUMERIC TYPE,THIS PROC. 1187* RETURNS THE BOUNDS ALLOWED IN "FMIN" AND "FMAX 1188* C *) 1189 (* E ERRORS DETECTED 1190* 423 FCTP NIL 1191* 424 KLASS # TYPES 1192* 437 FORM # [NUMERIC,SCALAR] 1193* E *) 1194 BEGIN (* FINDMINMAX *) 1195 $OPTIONS compile = trace $ 1196 IF stattrace > none THEN 1197 BEGIN 1198 write (mpcogout, '@@@ DEBUT FINDMINMAX @@@ FOR CTP AT @', ord (fctp)) ; nextline ; 1199 END ; 1200 $OPTIONS compile = true $ 1201 fmin := 0 ; fmax := 0 ; (* IF ERROR(S) *) 1202 $OPTIONS compile = security $ 1203 IF fctp = NIL THEN error (423) ELSE 1204 IF fctp@.klass # types THEN error (424) ELSE 1205 IF NOT (fctp@.form IN [numeric, scalar]) THEN error (437) ELSE 1206 $OPTIONS compile = true $ 1207 WITH fctp@ DO 1208 IF form = numeric THEN 1209 BEGIN 1210 fmin := nmin ; fmax := nmax ; 1211 END ELSE 1212 (* SCALAR *) 1213 IF subrng THEN 1214 BEGIN 1215 fmin := smin ; fmax := smax ; 1216 END ELSE 1217 BEGIN 1218 fmin := 0 ; fmax := fconst@.values ; 1219 END ; 1220 $OPTIONS compile = trace $ 1221 IF stattrace > low THEN 1222 BEGIN 1223 write (mpcogout, '@@@ FIN FINDMINMAX @@@ WITH FMIN,FMAX', fmin, fmax) ; nextline ; 1224 END ; 1225 $OPTIONS compile = true $ 1226 END (* FINDMINMAX *) ; 1227 1228 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 48 1229 1230 (* ****************************** ARECONFORMEQ ******************* *) 1231 1232 FUNCTION areconformeq (fp1, fp2 : ctp) : boolean ; 1233 1234 (* C 1235* Tool of PASSPARAMS 1236* if two types denoted by a pointer on their descriptive box are not 1237* identical, perhaps are they congruent conformant arrays types 1238* C *) 1239 1240 VAR 1241 locbool : boolean ; 1242 1243 BEGIN (* ARECONFORMEQ *) 1244 $OPTIONS compile = trace $ 1245 IF stattrace > none THEN 1246 BEGIN 1247 write (mpcogout, '@@@ Debut de ARECONFORMEQ @@@ avec ', 1248 ' FP1 en ^', ord (fp1), ' FP2 en ^', ord (fp2)) ; 1249 nextline ; 1250 END ; 1251 $OPTIONS compile = true $ 1252 locbool := false ; 1253 IF fp1^.form = arrays THEN 1254 IF fp1^.conformant THEN 1255 IF fp2^.form = arrays THEN 1256 IF fp2^.conformant THEN 1257 IF fp1^.inxtype = fp2^.inxtype THEN (* ISO 7185 6.6.3.6 (3) *) 1258 IF fp1^.pack = fp2^.pack THEN 1259 IF fp1^.aeltype = fp2^.aeltype THEN 1260 locbool := true ELSE 1261 IF (fp1^.aeltype <> NIL) AND (fp2^.aeltype <> NIL) THEN 1262 locbool := areconformeq (fp1^.aeltype, fp2^.aeltype) ; 1263 1264 areconformeq := locbool ; 1265 1266 $OPTIONS compile = trace $ 1267 IF stattrace > low THEN 1268 BEGIN 1269 write (mpcogout, '@@@ Fin de ARECONFORMEQ @@@ avec valeur=', 1270 locbool) ; 1271 nextline ; 1272 END ; 1273 $OPTIONS compile = true $ 1274 END (* ARECONFORMEQ *) ; 1275 1276 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 49 1277 1278 (* ******************************** LEGALCONFARRSUBSTITUTION ************* *) 1279 1280 FUNCTION legalconfarrsubstitution (ffound, fdecl : ctp) : boolean ; 1281 VAR 1282 locbool : boolean ; 1283 lmin, lmax : integer ; 1284 generic : ctp ; 1285 1286 BEGIN (* LEGALCONFARRSUBSTITUTION *) 1287 locbool := false ; 1288 1289 IF (ffound <> NIL) AND (fdecl <> NIL) THEN 1290 IF (ffound^.klass = types) AND (fdecl^.klass = types) THEN 1291 IF (ffound^.form = arrays) AND (fdecl^.form = arrays) THEN 1292 IF ffound^.pack = fdecl^.pack THEN 1293 BEGIN 1294 compatbin (ffound^.inxtype, fdecl^.inxtype, generic) ; 1295 IF generic <> NIL THEN 1296 BEGIN 1297 findminmax (fdecl^.inxtype, lmin, lmax) ; 1298 IF ffound^.conformant THEN 1299 BEGIN 1300 locbool := areconformeq (ffound, fdecl) ; 1301 END (* FOUND CONFORMANT *) ELSE 1302 BEGIN 1303 IF ffound^.lo >= lmin THEN 1304 IF ffound^.hi <= lmax THEN 1305 IF ffound^.aeltype = fdecl^.aeltype THEN 1306 locbool := true ELSE 1307 BEGIN 1308 IF ffound^.aeltype^.form = arrays THEN 1309 IF fdecl^.aeltype^.form = arrays THEN 1310 locbool := legalconfarrsubstitution (ffound^.aeltype, fdecl^.aeltype) ; 1311 END ; 1312 1313 END (* FOUND NOT CONFORMANT *) ; 1314 END (* GENERIC <> nil *) ; 1315 END (* Can be equivalent *) ; 1316 legalconfarrsubstitution := locbool ; 1317 1318 $OPTIONS compile = trace $ 1319 IF stattrace = high THEN 1320 BEGIN 1321 write (mpcogout, '@@@ Fin de LEGALCONFARRSUBSTITUTION avec valeur retournee=', locbool) ; 1322 nextline ; 1323 END ; 1324 $OPTIONS compile = true $ 1325 END (* LEGALCONFARRSUBSTITUTION *) ; 1326 1327 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 50 1328 1329 (* **************************** CONFORMANTDIM ************************ *) 1330 1331 FUNCTION conformantdim (ffound : ctp) : boolean ; 1332 1333 VAR 1334 locbool : boolean ; 1335 1336 BEGIN (* CONFORMANTDIM *) 1337 locbool := false ; 1338 1339 IF ffound <> NIL THEN 1340 IF ffound^.klass = types THEN 1341 IF ffound^.father_schema <> NIL THEN 1342 locbool := ffound^.actual_parameter_list = NIL 1343 ELSE IF ffound^.form = arrays THEN 1344 IF ffound^.conformant THEN 1345 locbool := true ; 1346 conformantdim := locbool ; 1347 1348 $OPTIONS compile = trace $ 1349 IF stattrace = high THEN 1350 BEGIN 1351 write (mpcogout, '@@@ Fin de CONFORMANTDIM avec valeur retournee=', locbool) ; 1352 nextline ; 1353 END ; 1354 $OPTIONS compile = true $ 1355 END (* CONFORMANTDIM *) ; 1356 1357 1358 BEGIN 1359 END. *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM contexttable *** ON 11/12/86 *** PAGE 51 NO COMPILATION ERROR STORAGE REQUIREMENTS FOR OBJECT SEGMENT Object Text Defs Links Static Symbol Start 0 0 12665 13542 13552 13734 Length 14436 12665 654 172 0 466 SOURCE FILES USED IN THIS COMPILATION NUMBER DATE MODIFIED PATHNAME 0 11/12/86 1607.7 >spec>install>1212>CONTEXTTABLE.pascal 1 11/12/86 1528.2 >spec>install>1212>CONSTTYPE.incl.pascal NAMES DECLARED AND REFERENCED actual const scalar, ord=0 ; DEF: 1-406 ; REF: 229 396 actual_parameter_list field disp:160, size:10 ; pointer ; DEF: 1-530 ; REF: 304* 353* 1342 aeltype field disp:200, size:10 ; pointer ; DEF: 1-546 ; REF: 340* 730 1045 1046 1259 1259 1261 1261 1262 1262 1305 1305 1308 1309 1310 1310 alfa type packed array of (char) ; DEF: 1-398 ; REF: 114 115 116 117 118 alfaconst const scalar, ord=2 ; DEF: 1-416 ; REF: 1-569 482 alfadeb field disp:150, size:10 ; pointer ; DEF: 1-569 ; REF: 483* 653 alfaid type packed array of (char) ; DEF: 1-399 ; REF: 1-404 1-436 1-446 1-447 1-496 1-508 1-965 174 211 247 278 377 424 452 497 538 alfaleng const numeric ; DEF: 1-35 ; REF: 1-398 alfalevel field disp:164, size:4 ; integer ; DEF: 1-570 ; REF: 485* 654 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: 484* 654 alfapt type pointer ; DEF: 1-419 ; REF: 1-421 1-569 alfaptr var global imported, size:10 ; pointer ; DEF: 92 ; REF: 25 1048 1054 alfathread field disp:50, size:10 ; pointer ; DEF: 1-510 ; REF: 185* alfavalue type record ; DEF: 1-420 ; REF: 1-419 aliastype const scalar, ord=10 ; DEF: 1-413 ; REF: 1-563 365 749 846 856 887 905 934 964 analyzing_schema var global imported, size:40 ; record ; DEF: 112 ; REF: 45 166 167 168 169* anytrace var global imported, size:4 ; scalar ; DEF: 93 ; REF: 26 991 1070 areconformeq funct level 0, exportable ; boolean ; DEF: 1232 ; REF: 61 1262 1264* 1300 arrays const scalar, ord=5 ; DEF: 1-412 ; REF: 1-546 339 692 729 845 854 885 904 934 964 1042 1042 1253 1255 1291 1291 1308 1309 1343 attraccess type scalar ; DEF: 1-813 ; REF: 1-871 attrkind type scalar ; DEF: 1-812 ; REF: 1-852 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 899 bitsindword const numeric ; DEF: 1-80 ; REF: 883 902 bitsinhword const numeric ; DEF: 1-79 ; REF: 900 bitsinword const numeric ; DEF: 1-78 ; REF: 1-80 1-92 1-111 1-115 1-117 901 blank const alphanumeric, 8 char(s) ; DEF: 1-138 ; REF: 157 190 block const scalar, ord=0 ; DEF: 1-622 ; REF: 1-635 blocknode type record ; DEF: 1-940 ; REF: 1-639 blocknodeptr type pointer ; DEF: 1-639 ; REF: 1-646 1-941 1-949 blocktype type scalar ; DEF: 1-938 ; REF: 1-944 bornesupset const numeric ; DEF: 1-112 ; REF: 1-815 boxheader var global imported, size:170 ; array of (char) ; DEF: 94 ; REF: 27 760 780 bytesforset const numeric ; DEF: 1-110 ; REF: 884 903 bytesindword const numeric ; DEF: 1-66 ; REF: 840 843 844 851 853 855 881 883 892 902 bytesinhword const numeric ; DEF: 1-65 ; REF: 1-79 894 897 900 bytesinword const numeric ; DEF: 1-64 ; REF: 1-65 1-66 1-71 1-72 1-78 1-110 1-128 1-276 836 877 895 898 901 bytwidth field disp:134, size:4 ; integer ; DEF: 1-609 ; REF: 443* 604 cadrage field disp:120, size:4 ; integer ; DEF: 1-524 ; REF: 299* 698 956 964 casesize field disp:114, size:4 ; integer ; DEF: 1-610 ; REF: 515* 672 casetype field disp:140, size:10 ; pointer ; DEF: 1-613 ; REF: 521* 676 caseval field disp:134, size:4 ; integer ; DEF: 1-614 ; REF: 525* 675 chain const scalar, ord=3 ; DEF: 1-812 ; REF: 1-894 char_const_token const scalar, ord=3 ; DEF: 1-491 ; REF: 1-499 160 charptr var global imported, size:10 ; pointer ; DEF: 95 ; REF: 28 1045 1046 compatbin proc level 0, exportable ; DEF: 981 ; REF: 65 1034 1294 condaddr type pointer ; DEF: 1-963 ; REF: 1-966 condbox type record ; DEF: 1-964 ; REF: 1-963 condition const scalar, ord=8 ; DEF: 1-413 ; REF: 1-562 confdimw const numeric ; DEF: 1-273 ; REF: 1-276 conformant field disp:220, size:4 ; boolean ; DEF: 1-548 ; REF: 342* 343 693 731 733 1254 1256 1298 1344 consttype type scalar ; DEF: 1-416 ; REF: 1-566 117 453 contexttable type record ; DEF: 1-507 ; REF: 1-433 contype field disp:130, size:10 ; pointer ; DEF: 1-565 ; REF: 472* 645 crachefield proc of printrec ; DEF: 598 ; REF: 775 crachekonst proc of printrec ; DEF: 634 ; REF: 772 cracheproc proc of printrec ; DEF: 574 ; REF: 773 crachetagfield proc of printrec ; DEF: 661 ; REF: 776 crachetypes proc of printrec ; DEF: 683 ; REF: 771 crachevars proc of printrec ; DEF: 612 ; REF: 774 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 92 95 96 97 100 101 102 103 174 211 247 278 377 424 452 497 538 563 790 915 943 981 981 988 1082 1123 1184 1232 1280 1284 1331 current_token field disp:20, size:10 ; pointer ; DEF: 1-488 ; REF: 168 169* cwith const scalar, ord=1 ; DEF: 1-622 ; REF: 1-636 decltrace var global imported, size:4 ; scalar ; DEF: 113 ; REF: 46 578 601 616 638 665 687 758 802 814 968 1142 1173 deffile field disp:60, size:4 ; integer ; DEF: 1-511 ; REF: 192* 196* defline field disp:64, size:4 ; integer ; DEF: 1-511 ; REF: 192* 196* desc_vector_references field disp:170, size:4 ; integer ; DEF: 1-531 ; REF: 354* domain field disp:210, size:10 ; pointer ; DEF: 1-542 ; REF: 331* 721 dummyclass const scalar, ord=7 ; DEF: 1-415 ; REF: 1-615 554 777 dwordconst const scalar, ord=1 ; DEF: 1-416 ; REF: 1-568 479 650 elset field disp:210, size:10 ; pointer ; DEF: 1-544 ; REF: 337* 726 1034 1034 eltype field disp:220, size:10 ; pointer ; DEF: 1-542 ; REF: 332* 721 ensaccessible type set of (scalar) ; DEF: 1-461 ; REF: 1-527 error proc level 0, imported ; DEF: 133 ; REF: 41 845 846 856 887 904 905 924 925 952 953 1095 1096 1097 1109 1150 1151 1152 1164 1170 1203 1204 1205 exitelem type record ; DEF: 1-479 ; REF: 1-478 exitptr type pointer ; DEF: 1-478 ; REF: 1-480 1-586 externalitem type record ; DEF: 1-445 ; REF: 1-444 externalitemtype type scalar ; DEF: 1-441 ; REF: 1-451 father_schema field disp:150, size:10 ; pointer ; DEF: 1-529 ; REF: 303* 352* 1341 fbool var parameter of create_types_box, size:4 ; boolean ; DEF: 279 ; REF: 316 342 fconst field disp:210, size:10 ; pointer ; DEF: 1-538 ; REF: 319* 715 1107 1112 1162 1167 1218 fctp var parameter of findminmax, size:10 ; pointer ; DEF: 1184 ; REF: 1198 1203 1204 1205 1207 fctp var parameter of checkminmax, size:10 ; pointer ; DEF: 1123 ; REF: 1145 1150 1151 1152 1154 fctp var parameter of warningminmax, size:10 ; pointer ; DEF: 1082 ; REF: 1095 1096 1097 1099 fdecl var parameter of legalconfarrsubstitution, size:10 ; pointer ; DEF: 1280 ; REF: 1289 1290 1291 1292 1294 1297 1300 1305 1309 1310 feltype field disp:200, size:10 ; pointer ; DEF: 1-555 ; REF: 363* 746 ferrnum var parameter of checkminmax, size:4 ; integer ; DEF: 1123 ; REF: 1145 1170 ferrnum var parameter of warningminmax, size:4 ; integer ; DEF: 1082 ; REF: 1115 fform var parameter of create_types_box, size:4 ; scalar ; DEF: 279 ; REF: 302 ffound var parameter of conformantdim, size:10 ; pointer ; DEF: 1331 ; REF: 1339 1340 1341 1342 1343 1344 ffound var parameter of legalconfarrsubstitution, size:10 ; pointer ; DEF: 1280 ; REF: 1289 1290 1291 1292 1294 1298 1300 1303 1304 1305 1308 1310 fgeneric var var parameter of compatbin, size:10 ; pointer ; DEF: 981 ; REF: 997* 1002* 1004* 1006* 1007* 1014* 1021* 1023* 1027* 1029* 1031* 1032* 1037* 1039* 1040* 1052* 1058* 1064* 1072 field const scalar, ord=5 ; DEF: 1-415 ; REF: 1-608 440 775 filelocation type scalar ; DEF: 1-437 ; REF: 1-598 files const scalar, ord=9 ; DEF: 1-413 ; REF: 1-555 362 744 811 845 855 886 904 934 964 1067 findminmax proc level 0, exportable ; DEF: 1184 ; REF: 76 1297 firstfield field disp:140, size:10 ; pointer ; DEF: 1-614 ; REF: 526* fldaddr field disp:130, size:4 ; integer ; DEF: 1-609 ; REF: 442* 604 fldtype field disp:120, size:10 ; pointer ; DEF: 1-608 ; REF: 441* 603 fmax var var parameter of findminmax, size:4 ; integer ; DEF: 1184 ; REF: 1201* 1210* 1215* 1218* 1223 fmin var var parameter of findminmax, size:4 ; integer ; DEF: 1184 ; REF: 1201* 1210* 1215* 1218* 1223 fname var parameter of create_dummyclass_box, size:40 ; packed array of (char) ; DEF: 538 ; REF: 553 fname var parameter of create_tagfield_box, size:40 ; packed array of (char) ; DEF: 497 ; REF: 513 fname var parameter of create_konst_box, size:40 ; packed array of (char) ; DEF: 452 ; REF: 469 fname var parameter of create_field_box, size:40 ; packed array of (char) ; DEF: 424 ; REF: 439 fname var parameter of create_proc_box, size:40 ; packed array of (char) ; DEF: 377 ; REF: 392 fname var parameter of create_types_box, size:40 ; packed array of (char) ; DEF: 278 ; REF: 296 fname var parameter of create_schema_box, size:40 ; packed array of (char) ; DEF: 247 ; REF: 262 fname var parameter of create_vars_box, size:40 ; packed array of (char) ; DEF: 211 ; REF: 226 fname var parameter of initcommonpart, size:40 ; packed array of (char) ; DEF: 174 ; REF: 184 form field disp:174, size:4 ; scalar ; DEF: 1-533 ; REF: 302* 306 689 690 692 699 701 811 929 957 1003 1004 1007 1009 1025 1030 1036 1042 1051 1057 1062 1097 1102 1152 1157 1205 1208 1253 1255 1291 1291 1308 1309 1343 formal_parameter_list field disp:130, size:10 ; pointer ; DEF: 1-519 ; REF: 266* formals field disp:130, size:10 ; pointer ; DEF: 1-571 ; REF: 395* 580 fp1 var parameter of areconformeq, size:10 ; pointer ; DEF: 1232 ; REF: 1248 1253 1254 1257 1258 1259 1261 1262 fp2 var parameter of areconformeq, size:10 ; pointer ; DEF: 1232 ; REF: 1248 1255 1256 1257 1258 1259 1261 1262 fsbpointersize const numeric ; DEF: 1-305 ; REF: 886 fstfld field disp:210, size:10 ; pointer ; DEF: 1-554 ; REF: 360* 741 ftagval var parameter of create_tagfield_box, size:4 ; boolean ; DEF: 497 ; REF: 517 ftp type pointer ; DEF: 1-484 ; REF: 1-488 1-493 1-521 145 ftype var parameter of packedcadre, size:10 ; pointer ; DEF: 943 ; REF: 952 953 955 971 ftype var parameter of packedsize, size:10 ; pointer ; DEF: 915 ; REF: 924 925 927 ftypofconst var parameter of create_konst_box, size:4 ; scalar ; DEF: 453 ; REF: 473 fvalue var parameter of checkminmax, size:4 ; integer ; DEF: 1123 ; REF: 1144 1157 1157 1159 1159 1167 1167 fvalue var parameter of warningminmax, size:4 ; integer ; DEF: 1082 ; REF: 1102 1102 1104 1104 1112 1112 fvbox var var parameter of create_dummyclass_box, size:10 ; pointer ; DEF: 538 ; REF: 549* 550 551 553 fvbox var var parameter of create_tagfield_box, size:10 ; pointer ; DEF: 497 ; REF: 509* 510 511 513 fvbox var var parameter of create_konst_box, size:10 ; pointer ; DEF: 452 ; REF: 465* 466 467 469 fvbox var var parameter of create_field_box, size:10 ; pointer ; DEF: 424 ; REF: 435* 436 437 439 fvbox var var parameter of create_proc_box, size:10 ; pointer ; DEF: 377 ; REF: 388* 389 390 392 fvbox var var parameter of create_types_box, size:10 ; pointer ; DEF: 278 ; REF: 292* 293 294 296 fvbox var var parameter of create_schema_box, size:10 ; pointer ; DEF: 247 ; REF: 258* 259 260 262 fvbox var var parameter of create_vars_box, size:10 ; pointer ; DEF: 211 ; REF: 222* 223 224 226 fvbox var parameter of initcommonpart, size:10 ; pointer ; DEF: 174 ; REF: 182 generic var local to legalconfarrsubstitution, loc:152, size:10 ; pointer ; DEF: 1284 ; REF: 1294* 1295 halfword type integer ; DEF: 1-809 ; REF: 1-810 heaperror proc level 0, imported ; DEF: 128 ; REF: 53 148 197 223 259 293 389 436 466 510 550 hi field disp:230, size:4 ; integer ; DEF: 1-549 ; REF: 346* 737 1304 high const scalar, ord=3 ; DEF: 1-624 ; REF: 578 601 616 814 968 1319 1349 highest var parameter of bytesneeded, size:4 ; integer ; DEF: 866 ; REF: 883 893 894 896 899 900 901 902 i var local to bytesneeded, loc:150, size:4 ; integer ; DEF: 876 ; REF: 877* 881* 883* 884* 885* 886* 892* 893* 894* 895* 896* 897* 898* 899* 900* 901* 902* 903* 907 icmpc const scalar, ord=513 ; DEF: 1-754 ; REF: 1-782 idkinds type scalar ; DEF: 1-406 ; REF: 1-452 1-572 1-597 115 idklass type scalar ; DEF: 1-415 ; REF: 1-515 116 idprocdef type scalar ; DEF: 1-417 ; REF: 1-590 118 idv3d const scalar, ord=539 ; DEF: 1-757 ; REF: 1-782 ieaa const scalar, ord=0 ; DEF: 1-679 ; REF: 1-781 incbloc type scalar ; DEF: 1-462 ; REF: 1-585 initcommonpart proc level 0 ; DEF: 174 ; REF: 226 262 296 392 439 469 513 553 instword type scalar ; DEF: 1-679 ; REF: 1-781 1-782 1-783 1-784 int_const_token const scalar, ord=2 ; DEF: 1-491 ; REF: 1-497 158 intptr var global imported, size:10 ; pointer ; DEF: 96 ; REF: 29 1007 inxtype field disp:210, size:10 ; pointer ; DEF: 1-546 ; REF: 341* 730 1051 1057 1061 1061 1062 1257 1257 1294 1294 1297 irpd const scalar, ord=540 ; DEF: 1-759 ; REF: 1-783 irpt const scalar, ord=542 ; DEF: 1-759 ; REF: 1-783 ispack var parameter of bytesneeded, size:4 ; boolean ; DEF: 867 ; REF: 878 ispack var parameter of boundary, size:4 ; boolean ; DEF: 827 ; REF: 837 istba const scalar, ord=543 ; DEF: 1-761 ; REF: 1-784 istcq const scalar, ord=546 ; DEF: 1-761 ; REF: 1-784 iswd const scalar, ord=510 ; DEF: 1-752 ; REF: 1-781 iunresolv type record ; DEF: 1-828 ; REF: 1-824 kind field disp:10, size:4 ; scalar ; DEF: 1-494 ; REF: 149* 151 kind var parameter of add_schema_token, size:4 ; scalar ; DEF: 142 ; REF: 149 klass field disp:110, size:4 ; scalar ; DEF: 1-515 ; REF: 227* 263* 297* 393* 440* 470* 514* 554* 769 770 925 953 1096 1151 1204 1290 1290 1340 konst const scalar, ord=2 ; DEF: 1-415 ; REF: 1-564 470 772 lab_pdl_element type record ; DEF: 1-664 ; REF: 1-663 lab_pdl_ptr type pointer ; DEF: 1-663 ; REF: 1-665 label_pdl_element type record ; DEF: 1-655 ; REF: 1-656 labelblock type record ; DEF: 1-641 ; REF: 1-640 labelblockptr type pointer ; DEF: 1-640 ; REF: 1-644 1-645 1-653 1-657 1-661 1-666 1-948 lamptr var global imported, size:10 ; pointer ; DEF: 97 ; REF: 30 1031 1032 lbound var local to boundary, loc:150, size:4 ; integer ; DEF: 834 ; REF: 836* 840* 841* 843* 844* 851* 853* 855* 858 lcadre var local to packedcadre, loc:144, size:4 ; integer ; DEF: 948 ; REF: 950* 956* 959* 961* 962* 963* 964* 966 971 lcond const scalar, ord=1 ; DEF: 1-812 ; REF: 1-908 lcstpt type pointer ; DEF: 1-826 ; REF: 1-841 lerr var local to checkminmax, loc:146, size:4 ; boolean ; DEF: 1139 ; REF: 1157* 1159* 1164* 1167* 1169 lerr var local to warningminmax, loc:146, size:4 ; boolean ; DEF: 1092 ; REF: 1102* 1104* 1109* 1112* 1114 level var global imported, size:4 ; numeric 0..20 ; DEF: 98 ; REF: 31 233 301 397 485 levrange type numeric 0..20 ; DEF: 1-418 ; REF: 1-526 1-558 1-573 1-581 1-601 1-636 1-855 98 levtrace type scalar ; DEF: 1-624 ; REF: 93 113 123 lgparm const numeric ; DEF: 1-23 ; REF: 1-24 liunresolv type record ; DEF: 1-838 ; REF: 1-825 llcstpt type pointer ; DEF: 1-827 ; REF: 1-846 lliunresolv type record ; DEF: 1-843 ; REF: 1-824 lmax var local to legalconfarrsubstitution, loc:150, size:4 ; integer ; DEF: 1283 ; REF: 1297* 1304 lmin var local to legalconfarrsubstitution, loc:147, size:4 ; integer ; DEF: 1283 ; REF: 1297* 1303 lo field disp:224, size:4 ; integer ; DEF: 1-549 ; REF: 345* 737 1050 1056 1303 localftp var local to add_schema_token, loc:142, size:10 ; pointer ; DEF: 145 ; REF: 147* 148 149 150 165 168 168 169 locbool var local to conformantdim, loc:144, size:4 ; boolean ; DEF: 1334 ; REF: 1337* 1342* 1345* 1346 1351 locbool var local to legalconfarrsubstitution, loc:146, size:4 ; boolean ; DEF: 1282 ; REF: 1287* 1300* 1306* 1310* 1316 1321 locbool var local to areconformeq, loc:146, size:4 ; boolean ; DEF: 1241 ; REF: 1252* 1260* 1262* 1264 1270 locexist var local to existfileintype, loc:144, size:4 ; boolean ; DEF: 798 ; REF: 811* 812 817 locgen var local to compatbin, loc:146, size:10 ; pointer ; DEF: 988 ; REF: 1034* 1035 1036 1038 1039 1040 locincode field disp:164, size:4 ; integer ; DEF: 1-574 ; REF: 401* longalfbox const numeric ; DEF: 1-22 ; REF: 1-422 low const scalar, ord=1 ; DEF: 1-624 ; REF: 758 1070 1173 1221 1267 lsize var local to packedsize, loc:144, size:4 ; integer ; DEF: 920 ; REF: 922* 928* 930* 931* 932* 933* 934* 936 lval const scalar, ord=2 ; DEF: 1-812 ; REF: 1-887 maxdigitsreal const numeric ; DEF: 1-122 ; REF: 1-397 maxerrnum const numeric ; DEF: 1-94 ; REF: 1-95 maxexternname const numeric ; DEF: 1-32 ; REF: 1-400 maxfich const numeric ; DEF: 1-36 ; REF: 1-810 maxfield const numeric ; DEF: 1-39 ; REF: 1-627 1-628 maxident const numeric ; DEF: 1-26 ; REF: 1-399 maxlevel const numeric ; DEF: 1-18 ; REF: 1-418 maxno const numeric ; DEF: 1-13 ; REF: 1-434 1-621 maxref const numeric ; DEF: 1-38 ; REF: 1-429 maxsliceline const numeric ; DEF: 1-101 ; REF: 1-102 maxwseg const numeric ; DEF: 1-73 ; REF: 1-973 medium const scalar, ord=2 ; DEF: 1-624 ; REF: 638 665 687 minno const numeric ; DEF: 1-12 ; REF: 1-434 1-621 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: 99 ; REF: 32 580 583 587 588 589 590 603 618 621 623 625 640 644 649 651 652 667 671 675 676 689 691 693 697 704 708 711 714 719 725 730 737 741 745 750 760 763 767 768 780 804 816 970 993 1072 1144 1175 1198 1223 1247 1269 1321 1351 name field disp:0, size:40 ; packed array of (char) ; DEF: 1-508 ; REF: 184* 190 768 name_token const scalar, ord=1 ; DEF: 1-491 ; REF: 1-496 156 nbparproc field disp:160, size:4 ; integer ; DEF: 1-574 ; REF: 400* 587 next field disp:0, size:10 ; pointer ; DEF: 1-493 ; REF: 165* 168* next var global imported, size:10 ; pointer ; DEF: 100 ; REF: 33 195 265 next_for_schema field disp:120, size:10 ; pointer ; DEF: 1-518 ; REF: 265* nextline proc level 0, imported ; DEF: 134 ; REF: 42 576 582 586 591 599 605 614 620 624 627 640 643 647 655 667 670 673 677 694 696 700 705 709 716 722 727 732 738 742 747 750 760 760 763 767 777 780 781 805 817 972 994 1073 1146 1175 1198 1223 1249 1271 1322 1352 nextref field disp:0, size:10 ; pointer ; DEF: 1-427 ; REF: 200* nilptr var global imported, size:10 ; pointer ; DEF: 101 ; REF: 34 1026 1028 nmax field disp:210, size:4 ; integer ; DEF: 1-535 ; REF: 312* 704 1102 1157 1210 nmin field disp:204, size:4 ; integer ; DEF: 1-535 ; REF: 311* 704 1102 1157 1210 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: 802 991 1142 1196 1245 notafile const scalar, ord=0 ; DEF: 1-437 ; REF: 230 notpredef const scalar, ord=0 ; DEF: 1-439 ; REF: 406 npksize field disp:200, size:4 ; integer ; DEF: 1-535 ; REF: 310* 704 930 959 nreg const scalar, ord=0 ; DEF: 1-774 ; REF: 1-777 ntwotobyte const numeric ; DEF: 1-89 ; REF: 893 ntwotohword const numeric ; DEF: 1-90 ; REF: 894 numeric const scalar, ord=1 ; DEF: 1-412 ; REF: 1-535 309 703 841 852 882 893 930 958 1004 1005 1007 1036 1051 1057 1062 1097 1102 1152 1157 1205 1208 nxtel field disp:40, size:10 ; pointer ; DEF: 1-509 ; REF: 192* 195* 768 objaccessibles type scalar ; DEF: 1-460 ; REF: 1-461 objform var parameter of bytesneeded, size:4 ; scalar ; DEF: 866 ; REF: 880 891 objform var parameter of boundary, size:4 ; scalar ; DEF: 827 ; REF: 839 850 opt2 field disp:234, size:4 ; integer ; DEF: 1-549 ; REF: 347* 737 pack field disp:124, size:4 ; boolean ; DEF: 1-525 ; REF: 300* 698 928 956 1043 1044 1258 1258 1292 1292 packednil const numeric ; DEF: 1-77 ; REF: 186 409 pagesinsegment const numeric ; DEF: 1-69 ; REF: 1-70 parameter_count field disp:140, size:4 ; integer ; DEF: 1-520 ; REF: 267* pcksize var parameter of boundary, size:4 ; integer ; DEF: 827 ; REF: 841 843 843 pdescsaddrplace field disp:350, size:4 ; integer ; DEF: 1-592 ; REF: 413* pextcalltrapinfoplace field disp:360, size:4 ; integer ; DEF: 1-594 ; REF: 414* phasdescriptor field disp:210, size:4 ; boolean ; DEF: 1-576 ; REF: 405* 590 pisrefincode field disp:204, size:4 ; boolean ; DEF: 1-575 ; REF: 410* 589 ploc field disp:214, size:4 ; scalar ; DEF: 1-577 ; REF: 406* pnumptr var global imported, size:10 ; pointer ; DEF: 102 ; REF: 35 1037 pointer const scalar, ord=3 ; DEF: 1-412 ; REF: 1-541 329 718 842 851 881 898 931 961 1025 1025 power const scalar, ord=4 ; DEF: 1-412 ; REF: 1-543 334 724 843 853 883 899 932 962 1030 1030 ppksize field disp:200, size:4 ; integer ; DEF: 1-543 ; REF: 335* 726 932 962 pr6 const scalar, ord=9 ; DEF: 1-774 ; REF: 1-777 predefproc field disp:174, size:4 ; boolean ; DEF: 1-575 ; REF: 403* 587 preg type scalar subrange ; DEF: 1-777 ; REF: 1-856 1-880 proc const scalar, ord=3 ; DEF: 1-415 ; REF: 1-571 393 773 procaddr field disp:150, size:4 ; integer ; DEF: 1-574 ; REF: 398* 583 procblock const scalar, ord=0 ; DEF: 1-938 ; REF: 1-945 procdef field disp:340, size:4 ; scalar ; DEF: 1-590 ; REF: 408* 584 procextitem field disp:220, size:10 ; pointer ; DEF: 1-578 ; REF: 407* 588 procinscope field disp:200, size:4 ; boolean ; DEF: 1-575 ; REF: 404* 585 procisactive field disp:354, size:4 ; boolean ; DEF: 1-593 ; REF: 411* procisassigned field disp:170, size:4 ; boolean ; DEF: 1-575 ; REF: 402* 584 prockind field disp:140, size:4 ; scalar ; DEF: 1-572 ; REF: 396* 581 proclevel field disp:144, size:4 ; numeric 0..20 ; DEF: 1-573 ; REF: 397* 581 proclocation type scalar ; DEF: 1-439 ; REF: 1-577 proctype field disp:120, size:10 ; pointer ; DEF: 1-571 ; REF: 394* 580 profarea type array of (integer) ; DEF: 1-934 ; REF: 1-933 ptbox var parameter of printrec, size:10 ; pointer ; DEF: 563 ; REF: 577 600 615 637 664 686 761 765 767 ptexternalitem type pointer ; DEF: 1-444 ; REF: 1-448 1-578 1-607 ptlow field disp:240, size:10 ; pointer ; DEF: 1-551 ; REF: 351* ptontype var parameter of existfileintype, size:10 ; pointer ; DEF: 790 ; REF: 805 811 ptpksize field disp:200, size:4 ; integer ; DEF: 1-541 ; REF: 330* 720 931 961 ptypesymbolplace field disp:230, size:4 ; integer ; DEF: 1-579 ; REF: 409* pwantdescs field disp:344, size:4 ; boolean ; DEF: 1-591 ; REF: 412* pwantspl1descriptors field disp:364, size:4 ; boolean ; DEF: 1-595 ; REF: 415* rcstpt type pointer ; DEF: 1-825 ; REF: 1-836 real_const_token const scalar, ord=4 ; DEF: 1-491 ; REF: 1-498 162 realptr var global imported, size:10 ; pointer ; DEF: 103 ; REF: 36 1004 1006 1006 realtype field disp:200, size:10 ; pointer ; DEF: 1-563 ; REF: 366* 750 records const scalar, ord=6 ; DEF: 1-412 ; REF: 1-554 358 740 845 854 885 904 934 964 1067 recvar field disp:200, size:10 ; pointer ; DEF: 1-554 ; REF: 359* 741 reel const scalar, ord=0 ; DEF: 1-412 ; REF: 1-534 307 702 840 851 881 892 934 964 1004 references field disp:70, size:10 ; pointer ; DEF: 1-512 ; REF: 192* 197* 197 198 reflist type record ; DEF: 1-426 ; REF: 1-425 refnbr field disp:10, size:4 ; integer ; DEF: 1-428 ; REF: 200* refptr type pointer ; DEF: 1-425 ; REF: 1-427 1-512 1-649 regbox type record ; DEF: 1-817 ; REF: 1-816 register type scalar ; DEF: 1-774 ; REF: 1-777 1-819 1-862 1-889 1-920 regpt type pointer ; DEF: 1-816 ; REF: 1-821 1-822 1-858 1-867 1-881 1-890 1-910 runresolv type record ; DEF: 1-833 ; REF: 1-825 scalar const scalar, ord=2 ; DEF: 1-412 ; REF: 1-536 314 690 707 841 852 882 896 933 963 1008 1009 1097 1152 1205 schema const scalar, ord=0 ; DEF: 1-415 ; REF: 1-516 263 schema_ptr field disp:10, size:10 ; pointer ; DEF: 1-487 ; REF: 166 167 schema_status type record ; DEF: 1-485 ; REF: 112 schema_token type record ; DEF: 1-492 ; REF: 1-484 schema_token_kind type scalar ; DEF: 1-491 ; REF: 1-494 142 segsize field disp:154, size:4 ; integer ; DEF: 1-574 ; REF: 399* 583 selectorfield field disp:150, size:10 ; pointer ; DEF: 1-613 ; REF: 522* setarray type array of (integer) ; DEF: 1-815 ; REF: 1-839 1-844 1-904 setlength field disp:220, size:4 ; integer ; DEF: 1-545 ; REF: 336* setrange const numeric ; DEF: 1-92 ; REF: 1-93 1-94 shrtint type numeric -131072..131071 ; DEF: 1-619 ; REF: 1-671 size field disp:114, size:4 ; integer ; DEF: 1-524 ; REF: 298* 698 928 934 1063 1063 smax field disp:214, size:4 ; integer ; DEF: 1-539 ; REF: 324* 712 1104 1159 1215 smin field disp:210, size:4 ; integer ; DEF: 1-539 ; REF: 323* 712 1104 1159 1215 spksize field disp:200, size:4 ; integer ; DEF: 1-536 ; REF: 315* 708 933 963 sptcstepw field disp:220, size:10 ; pointer ; DEF: 1-538 ; REF: 320* 715 1039 1040 standdef const scalar, ord=0 ; DEF: 1-417 ; REF: 408 stattrace var global imported, size:4 ; scalar ; DEF: 123 ; REF: 55 1196 1221 1245 1267 1319 1349 sttmap type array of (record) ; DEF: 1-925 ; REF: 1-924 stwotobyte const numeric ; DEF: 1-91 ; REF: 896 subrng field disp:204, size:4 ; boolean ; DEF: 1-537 ; REF: 316* 317 691 708 710 1010 1012 1018 1038 1104 1159 1213 subsize field disp:240, size:4 ; integer ; DEF: 1-549 ; REF: 348* 737 succ field disp:120, size:10 ; pointer ; DEF: 1-565 ; REF: 471* 645 sval const scalar, ord=4 ; DEF: 1-812 ; REF: 1-900 symbol_token const scalar, ord=0 ; DEF: 1-491 ; REF: 1-495 152 symbolfile var global imported, size:4 ; integer ; DEF: 104 ; REF: 37 196 symbolline var global imported, size:4 ; integer ; DEF: 105 ; REF: 38 196 symbolplace field disp:100, size:4 ; integer ; DEF: 1-513 ; REF: 186* symbtablerefs field disp:104, size:4 ; integer ; DEF: 1-514 ; REF: 187* t_char_value field disp:14, size:4 ; char ; DEF: 1-499 ; REF: 161* t_int_value field disp:14, size:4 ; integer ; DEF: 1-497 ; REF: 159* t_real_value field disp:20, size:10 ; real ; DEF: 1-498 ; REF: 163* tabform var global imported, size:130 ; array of (array of (char)) ; DEF: 114 ; REF: 47 689 699 tabkinds var global imported, size:50 ; array of (array of (char)) ; DEF: 115 ; REF: 48 581 618 tabklass var global imported, size:100 ; array of (array of (char)) ; DEF: 116 ; REF: 49 769 tabkonst var global imported, size:30 ; array of (array of (char)) ; DEF: 117 ; REF: 50 640 646 tabpdef var global imported, size:50 ; array of (array of (char)) ; DEF: 118 ; REF: 51 584 tag type scalar ; DEF: 1-766 ; REF: 1-778 tagfield const scalar, ord=6 ; DEF: 1-415 ; REF: 1-610 514 776 tagval field disp:130, size:4 ; boolean ; DEF: 1-612 ; REF: 517* 519 667 673 674 taval field disp:14, size:40 ; packed array of (char) ; DEF: 1-496 ; REF: 157* tcl field disp:20, size:4 ; integer ; DEF: 1-495 ; REF: 154* tlevel field disp:130, size:4 ; numeric 0..20 ; DEF: 1-526 ; REF: 301* tn const scalar, ord=0 ; DEF: 1-766 ; REF: 1-778 tno field disp:14, size:4 ; integer ; DEF: 1-495 ; REF: 154* token_list field disp:150, size:10 ; pointer ; DEF: 1-521 ; REF: 166 167* 268* top var global imported, size:4 ; integer ; DEF: 106 ; REF: 39 264 top_for_schema field disp:114, size:4 ; integer ; DEF: 1-517 ; REF: 264* twoto10 const numeric ; DEF: 1-50 ; REF: 1-51 1-68 twoto14 const numeric ; DEF: 1-52 ; REF: 1-53 twoto15 const numeric ; DEF: 1-53 ; REF: 1-54 1-72 twoto16 const numeric ; DEF: 1-54 ; REF: 1-55 twoto17 const numeric ; DEF: 1-55 ; REF: 1-56 1-57 1-90 1-619 twoto17m1 const numeric ; DEF: 1-56 ; REF: 1-619 twoto18 const numeric ; DEF: 1-57 ; REF: 1-58 1-59 1-71 twoto4 const numeric ; DEF: 1-45 ; REF: 1-46 twoto6 const numeric ; DEF: 1-46 ; REF: 1-47 1-52 twoto8 const numeric ; DEF: 1-47 ; REF: 1-48 1-49 1-52 1-69 1-89 1-620 twoto8m1 const numeric ; DEF: 1-48 ; REF: 1-620 twoto9 const numeric ; DEF: 1-49 ; REF: 1-50 1-59 1-91 tx7 const scalar, ord=15 ; DEF: 1-767 ; REF: 1-778 types const scalar, ord=1 ; DEF: 1-415 ; REF: 1-523 297 771 925 953 1096 1151 1204 1290 1290 1340 typform type scalar ; DEF: 1-412 ; REF: 1-533 114 279 827 866 typleft var parameter of compatbin, size:10 ; pointer ; DEF: 981 ; REF: 993 999 1001 1002 1003 1010 1014 1014 1020 1021 1023 1026 1029 1031 1032 1034 1043 1045 1050 1051 1053 1054 1061 1062 1063 1064 typofconst field disp:140, size:4 ; scalar ; DEF: 1-566 ; REF: 473* 475 640 646 648 650 typright var parameter of compatbin, size:10 ; pointer ; DEF: 981 ; REF: 994 1000 1001 1004 1006 1007 1009 1012 1014 1018 1020 1023 1023 1025 1027 1028 1030 1031 1032 1034 1042 1044 1046 1048 1056 1057 1059 1061 1063 typset field disp:220, size:10 ; pointer ; DEF: 1-540 ; REF: 325* 712 1014 1020 1021 1021 1023 1039 unddeb field disp:170, size:4 ; integer ; DEF: 1-570 ; REF: 486* 654 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: 231* 619 valreel field disp:150, size:10 ; real ; DEF: 1-568 ; REF: 480* 651 values field disp:144, size:4 ; integer ; DEF: 1-567 ; REF: 477* 649 1112 1167 1218 vararea type scalar ; DEF: 1-939 ; REF: 1-953 varbl const scalar, ord=0 ; DEF: 1-812 ; REF: 1-854 variants field disp:120, size:10 ; pointer ; DEF: 1-611 ; REF: 516* 672 varparam field disp:200, size:4 ; boolean ; DEF: 1-603 ; REF: 238* 626 vars const scalar, ord=4 ; DEF: 1-415 ; REF: 1-596 227 774 vdescaddr field disp:150, size:4 ; integer ; DEF: 1-600 ; REF: 232* 623 vdispl field disp:144, size:4 ; integer ; DEF: 1-600 ; REF: 232* 623 vfilelocation field disp:134, size:4 ; scalar ; DEF: 1-598 ; REF: 230* 621 visreadonly field disp:174, size:4 ; boolean ; DEF: 1-603 ; REF: 236* 626 visrefincode field disp:204, size:4 ; boolean ; DEF: 1-603 ; REF: 237* 622 visset field disp:170, size:4 ; boolean ; DEF: 1-603 ; REF: 235* 625 visused field disp:164, size:4 ; boolean ; DEF: 1-603 ; REF: 234* 625 vkind field disp:130, size:4 ; scalar ; DEF: 1-597 ; REF: 229* 618 vlevel field disp:154, size:4 ; numeric 0..20 ; DEF: 1-601 ; REF: 233* 619 vptextitem field disp:240, size:10 ; pointer ; DEF: 1-607 ; REF: 239* 619 vtype field disp:120, size:10 ; pointer ; DEF: 1-596 ; REF: 228* 618 vwith const scalar, ord=2 ; DEF: 1-622 ; REF: 1-637 warning proc level 0, imported ; DEF: 135 ; REF: 43 1115 wcstpt type pointer ; DEF: 1-824 ; REF: 1-831 where type scalar ; DEF: 1-622 ; REF: 1-634 withblock const scalar, ord=1 ; DEF: 1-938 ; REF: 1-952 withreflist type record ; DEF: 1-626 ; REF: 1-636 1-637 wordconst const scalar, ord=0 ; DEF: 1-416 ; REF: 1-567 476 648 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 NAMES DECLARED AND NEVER REFERENCED a0b0c0 const scalar, ord=0 ; DEF: 1-795 a0b0c1 const scalar, ord=1 ; DEF: 1-795 a0b1c0 const scalar, ord=4 ; DEF: 1-795 a0b1c1 const scalar, ord=5 ; DEF: 1-795 a0r0i0 const scalar, ord=0 ; DEF: 1-799 a0r0i1 const scalar, ord=1 ; DEF: 1-799 a0r1i0 const scalar, ord=2 ; DEF: 1-799 a0r1i1 const scalar, ord=3 ; DEF: 1-799 a1b0c0 const scalar, ord=2 ; DEF: 1-795 a1b0c1 const scalar, ord=3 ; DEF: 1-795 a1b1c0 const scalar, ord=6 ; DEF: 1-795 a1b1c1 const scalar, ord=7 ; DEF: 1-795 a1r0i0 const scalar, ord=4 ; DEF: 1-799 a1r0i1 const scalar, ord=5 ; DEF: 1-799 a1r1i0 const scalar, ord=6 ; 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 access field disp:70, size:4 ; scalar ; DEF: 1-871 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 add_schema_token * proc level 0, exportable ; DEF: 142 ; REF: 60 adlx const scalar, ord=0 ; DEF: 1-918 adx const scalar, ord=1 ; DEF: 1-918 alfactp field disp:20, size:10 ; pointer ; DEF: 1-897 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 asserrcode * const numeric ; DEF: 1-250 attr * type record ; DEF: 1-849 bad_date_time_parameter * const numeric ; DEF: 1-269 bad_string_index * const numeric ; DEF: 1-268 basebloc field disp:30, size:10 ; pointer ; DEF: 1-858 baseprocessdplmt * const numeric ; DEF: 1-345 basereg field disp:20, size:4 ; scalar subrange ; DEF: 1-856 begsy const scalar, ord=1 ; DEF: 1-669 binartypeptr * type pointer ; DEF: 1-811 bit29 * const numeric ; DEF: 1-142 bitsforset * const numeric ; DEF: 1-111 blocenglob field disp:270, size:10 ; pointer ; DEF: 1-561 blockbox field disp:60, size:10 ; pointer ; DEF: 1-946 blocktp field disp:50, size:4 ; scalar ; DEF: 1-944 boundary * funct level 0, exportable ; integer ; DEF: 827 ; REF: 62 858* brother field disp:20, size:10 ; pointer ; DEF: 1-645 brother field disp:10, size:10 ; pointer ; DEF: 1-941 byteinbyte * const numeric ; DEF: 1-81 byteshift * const numeric ; DEF: 1-82 bytesneeded * funct level 0, exportable ; integer ; DEF: 866 ; REF: 63 907* bytint * type numeric -256..255 ; DEF: 1-620 caserrcode * const numeric ; DEF: 1-253 cdspl field disp:344, size:4 ; integer ; DEF: 1-636 chaineentree field disp:260, size:10 ; pointer ; DEF: 1-583 checkbeforeeofplace * const numeric ; DEF: 1-157 checkbeforeeolnplace * const numeric ; DEF: 1-156 checkbeforetextreferenceplace * const numeric ; DEF: 1-158 checkbit * const numeric ; DEF: 1-236 checkminmax * proc level 0, exportable ; DEF: 1123 ; REF: 64 chrerrcode * const numeric ; DEF: 1-245 clevel field disp:340, size:4 ; numeric 0..20 ; DEF: 1-636 clockopplace * const numeric ; DEF: 1-198 closeplace * const numeric ; DEF: 1-164 cmp const scalar, ord=5 ; DEF: 1-919 code const scalar, ord=1 ; DEF: 1-623 codebegin field disp:30, size:4 ; integer ; DEF: 1-942 codeend field disp:34, size:4 ; integer ; DEF: 1-942 compiled field disp:4, size:4 ; boolean ; DEF: 1-467 condcounterplace * const numeric ; DEF: 1-343 condit const scalar, ord=2 ; DEF: 1-460 condname field disp:0, size:40 ; packed array of (char) ; DEF: 1-965 confdimsize * const numeric ; DEF: 1-276 conformantdim * funct level 0, exportable ; boolean ; DEF: 1331 ; REF: 66 1346* connectplace * const numeric ; DEF: 1-188 contexte * type scalar ; DEF: 1-623 create_dummyclass_box * proc level 0, exportable ; DEF: 538 ; REF: 74 create_field_box * proc level 0, exportable ; DEF: 424 ; REF: 70 create_konst_box * proc level 0, exportable ; DEF: 452 ; REF: 71 create_proc_box * proc level 0, exportable ; DEF: 377 ; REF: 69 create_schema_box * proc level 0, exportable ; DEF: 247 ; REF: 72 create_tagfield_box * proc level 0, exportable ; DEF: 497 ; REF: 73 create_types_box * proc level 0, exportable ; DEF: 278 ; REF: 68 create_vars_box * proc level 0, exportable ; DEF: 211 ; REF: 67 creflist field disp:20, size:320 ; record ; DEF: 1-636 cstnext field disp:10, size:10 ; pointer ; DEF: 1-831 cstplace field disp:4, size:4 ; integer ; DEF: 1-830 current_parameter field disp:30, size:10 ; pointer ; DEF: 1-489 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:50, size:4 ; integer ; DEF: 1-648 definition const scalar, ord=3 ; DEF: 1-623 deflbool * const numeric ; DEF: 1-390 deflchar * const numeric ; DEF: 1-391 defline field disp:54, size:4 ; integer ; DEF: 1-648 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 descbloc field disp:130, size:10 ; pointer ; DEF: 1-881 descreg field disp:120, size:4 ; scalar subrange ; DEF: 1-880 destination * type scalar ; DEF: 1-814 direct const scalar, ord=0 ; DEF: 1-813 displimit * const numeric ; DEF: 1-15 disposeplace * const numeric ; DEF: 1-178 diverrcode * const numeric ; DEF: 1-251 dlkdepw * const numeric ; DEF: 1-285 dopevectorsize * const numeric ; DEF: 1-274 dplmt field disp:40, size:4 ; integer ; DEF: 1-861 elem field disp:20, size:10 ; pointer ; DEF: 1-475 emptyindex * const numeric ; DEF: 1-385 emptyplace * const numeric ; DEF: 1-367 encode const scalar, ord=3 ; DEF: 1-813 endsy const scalar, ord=2 ; DEF: 1-669 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 existfileintype * funct level 0, exportable ; boolean ; DEF: 790 ; REF: 75 812* 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 father field disp:0, size:10 ; pointer ; DEF: 1-941 fcloseplace * const numeric ; DEF: 1-187 fctdepl * const numeric ; DEF: 1-287 fctdeplw * const numeric ; DEF: 1-286 fdescsize * const numeric ; DEF: 1-304 filen field disp:0, size:4 ; integer ; DEF: 1-430 fillimit * const numeric ; DEF: 1-17 finitdef const scalar, ord=4 ; DEF: 1-417 finitmoproc field disp:260, size:10 ; pointer ; DEF: 1-561 first field disp:20, size:10 ; pointer ; DEF: 1-657 first field disp:40, size:10 ; pointer ; DEF: 1-943 first_in_block field disp:20, size:10 ; pointer ; DEF: 1-666 firstglobal * const numeric ; DEF: 1-298 firstlabel field disp:100, size:10 ; pointer ; DEF: 1-948 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 fname field disp:0, size:10 ; pointer ; DEF: 1-633 forerricode * const numeric ; DEF: 1-248 forerrscode * const numeric ; DEF: 1-249 formal const scalar, ord=1 ; DEF: 1-406 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 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 functionvaluesetplace * const numeric ; DEF: 1-224 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 gotoexitextplace * const numeric ; DEF: 1-159 gotoexitplace * const numeric ; DEF: 1-176 hdrfil field disp:120, size:4 ; integer ; DEF: 1-950 hdrind field disp:124, size:4 ; integer ; DEF: 1-950 hdrlen field disp:130, size:4 ; integer ; DEF: 1-950 hdrlin field disp:134, size:4 ; integer ; DEF: 1-950 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 iada const scalar, ord=84 ; DEF: 1-689 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 iadq const scalar, ord=98 ; DEF: 1-691 iadwp0 const scalar, ord=361 ; DEF: 1-728 iadwp1 const scalar, ord=362 ; DEF: 1-728 iadwp2 const scalar, ord=363 ; DEF: 1-728 iadwp3 const scalar, ord=364 ; DEF: 1-728 iadwp4 const scalar, ord=365 ; DEF: 1-728 iadwp5 const scalar, ord=366 ; DEF: 1-728 iadwp6 const scalar, ord=367 ; DEF: 1-729 iadwp7 const scalar, ord=368 ; DEF: 1-729 iadx0 const scalar, ord=99 ; DEF: 1-691 iadx1 const scalar, ord=100 ; DEF: 1-691 iadx2 const scalar, ord=101 ; DEF: 1-691 iadx3 const scalar, ord=102 ; DEF: 1-691 iadx4 const scalar, ord=103 ; DEF: 1-691 iadx5 const scalar, ord=104 ; DEF: 1-692 iadx6 const scalar, ord=105 ; DEF: 1-692 iadx7 const scalar, ord=106 ; DEF: 1-692 ialr const scalar, ord=72 ; DEF: 1-688 ials const scalar, ord=73 ; DEF: 1-688 iana const scalar, ord=210 ; DEF: 1-708 ianaq const scalar, ord=211 ; DEF: 1-708 ianq const scalar, ord=212 ; DEF: 1-708 iansa const scalar, ord=213 ; DEF: 1-708 iansq const scalar, ord=214 ; DEF: 1-708 iansx0 const scalar, ord=215 ; DEF: 1-708 iansx1 const scalar, ord=216 ; DEF: 1-708 iansx2 const scalar, ord=217 ; DEF: 1-708 iansx3 const scalar, ord=218 ; DEF: 1-709 iansx4 const scalar, ord=219 ; DEF: 1-709 iansx5 const scalar, ord=220 ; DEF: 1-709 iansx6 const scalar, ord=221 ; DEF: 1-709 iansx7 const scalar, ord=222 ; DEF: 1-709 ianx0 const scalar, ord=223 ; DEF: 1-709 ianx1 const scalar, ord=224 ; DEF: 1-709 ianx2 const scalar, ord=225 ; DEF: 1-709 ianx3 const scalar, ord=226 ; DEF: 1-710 ianx4 const scalar, ord=227 ; DEF: 1-710 ianx5 const scalar, ord=228 ; DEF: 1-710 ianx6 const scalar, ord=229 ; DEF: 1-710 ianx7 const scalar, ord=230 ; DEF: 1-710 iaos const scalar, ord=107 ; DEF: 1-692 iara0 const scalar, ord=475 ; DEF: 1-748 iara1 const scalar, ord=476 ; DEF: 1-748 iara2 const scalar, ord=477 ; DEF: 1-748 iara3 const scalar, ord=478 ; DEF: 1-748 iara4 const scalar, ord=479 ; DEF: 1-748 iara5 const scalar, ord=480 ; DEF: 1-748 iara6 const scalar, ord=481 ; DEF: 1-749 iara7 const scalar, ord=482 ; DEF: 1-749 iarl const scalar, ord=74 ; DEF: 1-688 iarn0 const scalar, ord=483 ; DEF: 1-749 iarn1 const scalar, ord=484 ; DEF: 1-749 iarn2 const scalar, ord=485 ; DEF: 1-749 iarn3 const scalar, ord=486 ; DEF: 1-749 iarn4 const scalar, ord=487 ; DEF: 1-749 iarn5 const scalar, ord=488 ; DEF: 1-749 iarn6 const scalar, ord=489 ; DEF: 1-750 iarn7 const scalar, ord=490 ; DEF: 1-750 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 icmpa const scalar, ord=162 ; DEF: 1-699 icmpaq const scalar, ord=163 ; DEF: 1-699 icmpb const scalar, ord=527 ; DEF: 1-756 icmpn const scalar, ord=525 ; DEF: 1-755 icmpq const scalar, ord=164 ; DEF: 1-699 icmpx0 const scalar, ord=165 ; DEF: 1-699 icmpx1 const scalar, ord=166 ; DEF: 1-699 icmpx2 const scalar, ord=167 ; DEF: 1-699 icmpx3 const scalar, ord=168 ; DEF: 1-700 icmpx4 const scalar, ord=169 ; DEF: 1-700 icmpx5 const scalar, ord=170 ; DEF: 1-700 icmpx6 const scalar, ord=171 ; DEF: 1-700 icmpx7 const scalar, ord=172 ; DEF: 1-700 icnaa const scalar, ord=284 ; DEF: 1-717 icnaaq const scalar, ord=285 ; DEF: 1-717 icnaq const scalar, ord=286 ; DEF: 1-717 icnax0 const scalar, ord=287 ; DEF: 1-717 icnax1 const scalar, ord=288 ; DEF: 1-717 icnax2 const scalar, ord=289 ; DEF: 1-717 icnax3 const scalar, ord=290 ; DEF: 1-718 icnax4 const scalar, ord=291 ; DEF: 1-718 icnax5 const scalar, ord=292 ; DEF: 1-718 icnax6 const scalar, ord=293 ; DEF: 1-718 icnax7 const scalar, ord=294 ; DEF: 1-718 icsl const scalar, ord=519 ; DEF: 1-755 icsr const scalar, ord=520 ; DEF: 1-755 icwl const scalar, ord=173 ; DEF: 1-700 idfad const scalar, ord=182 ; DEF: 1-702 idfcmg const scalar, ord=202 ; DEF: 1-705 idfcmp const scalar, ord=203 ; DEF: 1-705 idfdi const scalar, ord=194 ; DEF: 1-704 idfdv const scalar, ord=195 ; DEF: 1-704 idfld const scalar, ord=176 ; DEF: 1-702 idfmp const scalar, ord=190 ; DEF: 1-703 idfrd const scalar, ord=200 ; DEF: 1-705 idfsb const scalar, ord=186 ; DEF: 1-703 idfst const scalar, ord=178 ; DEF: 1-702 idfstr const scalar, ord=179 ; DEF: 1-702 idis const scalar, ord=448 ; DEF: 1-743 idiv const scalar, ord=156 ; DEF: 1-698 idrl const scalar, ord=407 ; DEF: 1-737 idtb const scalar, ord=529 ; DEF: 1-756 idufa const scalar, ord=183 ; DEF: 1-702 idufm const scalar, ord=191 ; DEF: 1-703 idufs const scalar, ord=187 ; DEF: 1-703 idv2d const scalar, ord=533 ; DEF: 1-756 idvf const scalar, ord=157 ; DEF: 1-698 ieaq const scalar, ord=1 ; DEF: 1-679 ieasp0 const scalar, ord=295 ; DEF: 1-720 ieasp1 const scalar, ord=296 ; DEF: 1-720 ieasp2 const scalar, ord=297 ; DEF: 1-720 ieasp3 const scalar, ord=298 ; DEF: 1-720 ieasp4 const scalar, ord=299 ; DEF: 1-720 ieasp5 const scalar, ord=300 ; DEF: 1-720 ieasp6 const scalar, ord=301 ; DEF: 1-720 ieasp7 const scalar, ord=302 ; DEF: 1-720 ieawp0 const scalar, ord=303 ; DEF: 1-721 ieawp1 const scalar, ord=304 ; DEF: 1-721 ieawp2 const scalar, ord=305 ; DEF: 1-721 ieawp3 const scalar, ord=306 ; DEF: 1-721 ieawp4 const scalar, ord=307 ; DEF: 1-721 ieawp5 const scalar, ord=308 ; DEF: 1-721 ieawp6 const scalar, ord=309 ; DEF: 1-721 ieawp7 const scalar, ord=310 ; DEF: 1-721 ieax0 const scalar, ord=2 ; DEF: 1-679 ieax1 const scalar, ord=3 ; DEF: 1-679 ieax2 const scalar, ord=4 ; DEF: 1-679 ieax3 const scalar, ord=5 ; DEF: 1-679 ieax4 const scalar, ord=6 ; DEF: 1-679 ieax5 const scalar, ord=7 ; DEF: 1-679 ieax6 const scalar, ord=8 ; DEF: 1-680 ieax7 const scalar, ord=9 ; DEF: 1-680 ieism * type scalar subrange ; DEF: 1-782 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 iepp1 const scalar, ord=320 ; DEF: 1-723 iepp2 const scalar, ord=321 ; DEF: 1-723 iepp3 const scalar, ord=322 ; DEF: 1-723 iepp4 const scalar, ord=323 ; DEF: 1-723 iepp5 const scalar, ord=324 ; DEF: 1-723 iepp6 const scalar, ord=325 ; DEF: 1-723 iepp7 const scalar, ord=326 ; DEF: 1-723 iera const scalar, ord=252 ; DEF: 1-713 ieraq const scalar, ord=253 ; DEF: 1-713 ierq const scalar, ord=254 ; DEF: 1-713 iersa const scalar, ord=255 ; DEF: 1-713 iersq const scalar, ord=256 ; DEF: 1-713 iersx0 const scalar, ord=257 ; DEF: 1-713 iersx1 const scalar, ord=258 ; DEF: 1-714 iersx2 const scalar, ord=259 ; DEF: 1-714 iersx3 const scalar, ord=260 ; DEF: 1-714 iersx4 const scalar, ord=261 ; DEF: 1-714 iersx5 const scalar, ord=262 ; DEF: 1-714 iersx6 const scalar, ord=263 ; DEF: 1-714 iersx7 const scalar, ord=264 ; DEF: 1-714 ierx0 const scalar, ord=265 ; DEF: 1-714 ierx1 const scalar, ord=266 ; DEF: 1-715 ierx2 const scalar, ord=267 ; DEF: 1-715 ierx3 const scalar, ord=268 ; DEF: 1-715 ierx4 const scalar, ord=269 ; DEF: 1-715 ierx5 const scalar, ord=270 ; DEF: 1-715 ierx6 const scalar, ord=271 ; DEF: 1-715 ierx7 const scalar, ord=272 ; DEF: 1-715 ifad const scalar, ord=184 ; DEF: 1-703 ifcmg const scalar, ord=204 ; DEF: 1-705 ifcmp const scalar, ord=205 ; DEF: 1-705 ifdi const scalar, ord=196 ; DEF: 1-704 ifdv const scalar, ord=197 ; DEF: 1-704 ifld const scalar, ord=177 ; DEF: 1-702 ifmp const scalar, ord=192 ; DEF: 1-704 ifneg const scalar, ord=198 ; DEF: 1-704 ifno const scalar, ord=199 ; DEF: 1-704 ifrd const scalar, ord=201 ; DEF: 1-705 ifsb const scalar, ord=188 ; DEF: 1-703 ifst const scalar, ord=180 ; DEF: 1-702 ifstr const scalar, ord=181 ; DEF: 1-702 ifszn const scalar, ord=207 ; DEF: 1-705 igtb const scalar, ord=420 ; DEF: 1-738 ilar0 const scalar, ord=457 ; DEF: 1-746 ilar1 const scalar, ord=458 ; DEF: 1-746 ilar2 const scalar, ord=459 ; DEF: 1-746 ilar3 const scalar, ord=460 ; DEF: 1-746 ilar4 const scalar, ord=461 ; DEF: 1-746 ilar5 const scalar, ord=462 ; DEF: 1-746 ilar6 const scalar, ord=463 ; DEF: 1-746 ilar7 const scalar, ord=464 ; DEF: 1-746 ilareg const scalar, ord=465 ; DEF: 1-747 ilbar const scalar, ord=421 ; DEF: 1-740 ilca const scalar, ord=10 ; DEF: 1-680 ilcaq const scalar, ord=11 ; DEF: 1-680 ilcpr const scalar, ord=422 ; DEF: 1-740 ilcq const scalar, ord=12 ; DEF: 1-680 ilcx0 const scalar, ord=13 ; DEF: 1-680 ilcx1 const scalar, ord=14 ; DEF: 1-680 ilcx2 const scalar, ord=15 ; DEF: 1-680 ilcx3 const scalar, ord=16 ; DEF: 1-681 ilcx4 const scalar, ord=17 ; DEF: 1-681 ilcx5 const scalar, ord=18 ; DEF: 1-681 ilcx6 const scalar, ord=19 ; DEF: 1-681 ilcx7 const scalar, ord=20 ; DEF: 1-681 ilda const scalar, ord=21 ; 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 ildq const scalar, ord=25 ; 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 imlr const scalar, ord=516 ; DEF: 1-754 imme const scalar, ord=410 ; DEF: 1-737 imme2 const scalar, ord=411 ; DEF: 1-737 imme3 const scalar, ord=412 ; DEF: 1-737 imme4 const scalar, ord=413 ; DEF: 1-737 imp2d const scalar, ord=532 ; DEF: 1-756 imp3d const scalar, ord=538 ; DEF: 1-757 impf const scalar, ord=154 ; DEF: 1-698 imported const scalar, ord=4 ; DEF: 1-406 importproc const scalar, ord=5 ; DEF: 1-442 importvar const scalar, ord=3 ; DEF: 1-441 impy const scalar, ord=155 ; DEF: 1-698 imrl const scalar, ord=517 ; DEF: 1-754 imve const scalar, ord=534 ; DEF: 1-756 imvn const scalar, ord=526 ; DEF: 1-755 imvne const scalar, ord=535 ; DEF: 1-757 imvt const scalar, ord=518 ; DEF: 1-754 inacc const scalar, ord=0 ; DEF: 1-814 inaq const scalar, ord=2 ; DEF: 1-814 inar0 const scalar, ord=467 ; DEF: 1-747 inar1 const scalar, ord=468 ; DEF: 1-747 inar2 const scalar, ord=469 ; DEF: 1-747 inar3 const scalar, ord=470 ; DEF: 1-747 inar4 const scalar, ord=471 ; DEF: 1-747 inar5 const scalar, ord=472 ; DEF: 1-747 inar6 const scalar, ord=473 ; DEF: 1-748 inar7 const scalar, ord=474 ; DEF: 1-748 ineg const scalar, ord=158 ; DEF: 1-698 inegl const scalar, ord=159 ; DEF: 1-698 inhibit * const numeric ; DEF: 1-143 initcondplace * const numeric ; DEF: 1-362 initdef const scalar, ord=3 ; DEF: 1-417 initfsballocplace * const numeric ; DEF: 1-195 initmoproc field disp:250, size:10 ; pointer ; DEF: 1-561 inop const scalar, ord=414 ; DEF: 1-738 inpr const scalar, ord=4 ; DEF: 1-814 inpsr const scalar, ord=3 ; DEF: 1-814 inq const scalar, ord=1 ; DEF: 1-814 insert_overflow_error * const numeric ; DEF: 1-267 instdcompiler const scalar, ord=2 ; DEF: 1-439 instdcomputer const scalar, ord=5 ; DEF: 1-440 instdextend const scalar, ord=4 ; DEF: 1-440 instdpure const scalar, ord=1 ; DEF: 1-439 instdsimone const scalar, ord=6 ; DEF: 1-440 instdsol const scalar, ord=3 ; DEF: 1-439 int15 * const numeric ; DEF: 1-332 int18 * const numeric ; DEF: 1-330 intcallplace * const numeric ; DEF: 1-193 intentryplace * const numeric ; DEF: 1-160 interactivebit * const numeric ; DEF: 1-237 inthelist field disp:0, size:4 ; boolean ; DEF: 1-467 intreturnplace * const numeric ; DEF: 1-190 inxbloc field disp:50, size:10 ; pointer ; DEF: 1-867 inxerrcode * const numeric ; DEF: 1-244 inxmem field disp:60, size:4 ; integer ; DEF: 1-868 inxmemrw field disp:64, size:4 ; boolean ; DEF: 1-870 inxreg field disp:44, size:4 ; scalar ; DEF: 1-862 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 iqls const scalar, ord=81 ; DEF: 1-689 iqrl const scalar, ord=82 ; DEF: 1-689 iqrs const scalar, ord=83 ; DEF: 1-689 irccl const scalar, ord=406 ; DEF: 1-737 ircu const scalar, ord=430 ; DEF: 1-741 irept * type scalar subrange ; DEF: 1-783 iret const scalar, ord=371 ; DEF: 1-731 irmcm const scalar, ord=440 ; DEF: 1-742 irpl const scalar, ord=541 ; DEF: 1-759 irrelsy const scalar, ord=0 ; DEF: 1-669 irscr const scalar, ord=441 ; DEF: 1-742 irsw const scalar, ord=442 ; DEF: 1-742 irtcd const scalar, ord=372 ; DEF: 1-731 is4bd const scalar, ord=506 ; DEF: 1-752 is6bd const scalar, ord=507 ; DEF: 1-752 is9bd const scalar, ord=508 ; DEF: 1-752 isar0 const scalar, ord=491 ; DEF: 1-750 isar1 const scalar, ord=492 ; DEF: 1-750 isar2 const scalar, ord=493 ; DEF: 1-750 isar3 const scalar, ord=494 ; DEF: 1-750 isar4 const scalar, ord=495 ; DEF: 1-750 isar5 const scalar, ord=496 ; DEF: 1-750 isar6 const scalar, ord=497 ; DEF: 1-751 isar7 const scalar, ord=498 ; DEF: 1-751 isareg const scalar, ord=499 ; DEF: 1-751 isb2d const scalar, ord=531 ; DEF: 1-756 isb3d const scalar, ord=537 ; DEF: 1-757 isba const scalar, ord=120 ; DEF: 1-694 isbaq const scalar, ord=121 ; DEF: 1-694 isbar const scalar, ord=418 ; DEF: 1-738 isbd const scalar, ord=509 ; DEF: 1-752 isbla const scalar, ord=122 ; DEF: 1-694 isblaq const scalar, ord=123 ; DEF: 1-694 isblq const scalar, ord=124 ; DEF: 1-694 isblx0 const scalar, ord=125 ; DEF: 1-694 isblx1 const scalar, ord=126 ; DEF: 1-694 isblx2 const scalar, ord=127 ; DEF: 1-694 isblx3 const scalar, ord=128 ; DEF: 1-695 isblx4 const scalar, ord=129 ; DEF: 1-695 isblx5 const scalar, ord=130 ; DEF: 1-695 isblx6 const scalar, ord=131 ; DEF: 1-695 isblx7 const scalar, ord=132 ; DEF: 1-695 isbq const scalar, ord=133 ; DEF: 1-695 isbx0 const scalar, ord=134 ; DEF: 1-695 isbx1 const scalar, ord=135 ; DEF: 1-695 isbx2 const scalar, ord=136 ; DEF: 1-696 isbx3 const scalar, ord=137 ; DEF: 1-696 isbx4 const scalar, ord=138 ; DEF: 1-696 isbx5 const scalar, ord=139 ; DEF: 1-696 isbx6 const scalar, ord=140 ; DEF: 1-696 isbx7 const scalar, ord=141 ; DEF: 1-696 iscd const scalar, ord=523 ; DEF: 1-755 iscdr const scalar, ord=524 ; DEF: 1-755 iscm const scalar, ord=514 ; DEF: 1-754 iscmr const scalar, ord=515 ; DEF: 1-754 iscpr const scalar, ord=431 ; DEF: 1-741 iscu const scalar, ord=432 ; DEF: 1-741 isdbr const scalar, ord=433 ; DEF: 1-741 ismcm const scalar, ord=444 ; DEF: 1-742 ismic const scalar, ord=445 ; DEF: 1-743 ispbp0 const scalar, ord=336 ; DEF: 1-725 ispbp1 const scalar, ord=337 ; DEF: 1-725 ispbp2 const scalar, ord=338 ; DEF: 1-725 ispbp3 const scalar, ord=339 ; DEF: 1-725 ispbp4 const scalar, ord=340 ; DEF: 1-725 ispbp5 const scalar, ord=341 ; DEF: 1-725 ispbp6 const scalar, ord=342 ; DEF: 1-725 ispbp7 const scalar, ord=343 ; DEF: 1-726 ispl const scalar, ord=500 ; DEF: 1-751 ispri const scalar, ord=344 ; DEF: 1-726 ispri0 const scalar, ord=345 ; DEF: 1-726 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 ista const scalar, ord=45 ; DEF: 1-684 istac const scalar, ord=46 ; DEF: 1-684 istacq const scalar, ord=47 ; DEF: 1-684 istand * type scalar subrange ; DEF: 1-781 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 istq const scalar, ord=53 ; DEF: 1-685 istt const scalar, ord=54 ; DEF: 1-685 istx0 const scalar, ord=55 ; DEF: 1-685 istx1 const scalar, ord=56 ; DEF: 1-686 istx2 const scalar, ord=57 ; DEF: 1-686 istx3 const scalar, ord=58 ; DEF: 1-686 istx4 const scalar, ord=59 ; DEF: 1-686 istx5 const scalar, ord=60 ; DEF: 1-686 istx6 const scalar, ord=61 ; DEF: 1-686 istx7 const scalar, ord=62 ; DEF: 1-686 istz const scalar, ord=63 ; DEF: 1-686 iswca const scalar, ord=152 ; DEF: 1-698 iswcq const scalar, ord=153 ; DEF: 1-698 isxl0 const scalar, ord=64 ; DEF: 1-687 isxl1 const scalar, ord=65 ; DEF: 1-687 isxl2 const scalar, ord=66 ; DEF: 1-687 isxl3 const scalar, ord=67 ; DEF: 1-687 isxl4 const scalar, ord=68 ; DEF: 1-687 isxl5 const scalar, ord=69 ; DEF: 1-687 isxl6 const scalar, ord=70 ; DEF: 1-687 isxl7 const scalar, ord=71 ; DEF: 1-687 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 itmi const scalar, ord=375 ; DEF: 1-731 itmoz const scalar, ord=376 ; 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 itpl const scalar, ord=380 ; DEF: 1-732 itpnz const scalar, ord=381 ; DEF: 1-732 itra const scalar, ord=382 ; 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 itsp3 const scalar, ord=389 ; 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-852 l4 const scalar, ord=0 ; DEF: 1-785 l6 const scalar, ord=1 ; DEF: 1-785 l9 const scalar, ord=2 ; DEF: 1-785 labbox field disp:30, size:10 ; pointer ; DEF: 1-661 labch1 field disp:14, size:4 ; integer ; DEF: 1-660 labdef field disp:20, size:4 ; integer ; DEF: 1-660 labdescr * type record ; DEF: 1-659 labexit field disp:10, size:4 ; integer ; DEF: 1-660 lablev field disp:4, size:4 ; integer ; DEF: 1-660 labval field disp:0, size:4 ; integer ; DEF: 1-660 lcprocess * const numeric ; DEF: 1-382 ldreg field disp:14, size:4 ; scalar ; DEF: 1-889 ldregbloc field disp:20, size:10 ; pointer ; DEF: 1-890 legalconfarrsubstitution * funct level 0, exportable ; boolean ; DEF: 1280 ; REF: 77 1310 1316* lengthplace * const numeric ; DEF: 1-368 lgcar * type scalar ; DEF: 1-785 lgfilename * const numeric ; DEF: 1-302 lgparm1 * const numeric ; DEF: 1-24 lgprint * const numeric ; DEF: 1-102 linen field disp:4, size:4 ; integer ; DEF: 1-430 link15 * const numeric ; DEF: 1-329 link18 * const numeric ; DEF: 1-328 linkage const scalar, ord=2 ; DEF: 1-623 llnext field disp:50, size:10 ; pointer ; DEF: 1-846 llplace field disp:40, size:4 ; integer ; DEF: 1-845 llvalu field disp:0, size:40 ; array of (integer) ; DEF: 1-844 lnext field disp:50, size:10 ; pointer ; DEF: 1-841 load const scalar, ord=0 ; DEF: 1-919 localfile const scalar, ord=3 ; DEF: 1-437 localproc const scalar, ord=6 ; DEF: 1-442 locals const scalar, ord=1 ; DEF: 1-939 locinbytes field disp:4, size:4 ; integer ; DEF: 1-643 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 lplace field disp:40, size:4 ; integer ; DEF: 1-840 lprp const scalar, ord=2 ; DEF: 1-917 lvalu field disp:0, size:40 ; array of (integer) ; DEF: 1-839 lxl const scalar, ord=3 ; DEF: 1-918 mainbit * const numeric ; DEF: 1-234 maindplmt * const numeric ; DEF: 1-347 mainentryplace * const numeric ; DEF: 1-154 mainprogram const scalar, ord=7 ; DEF: 1-442 mathworksizew * const numeric ; DEF: 1-133 max10 * const numeric ; DEF: 1-118 maxchar * const numeric ; DEF: 1-96 maxchar8 * const numeric ; DEF: 1-338 maxdig * const numeric ; DEF: 1-115 maxdigitsinteger * const numeric ; DEF: 1-121 maxerpg * const numeric ; DEF: 1-20 maxerrline * const numeric ; DEF: 1-19 maxexp * const numeric ; DEF: 1-119 maxexpon * const numeric ; DEF: 1-116 maxglobsize * const numeric ; DEF: 1-71 maxhexdi * const numeric ; DEF: 1-117 maxint * const numeric ; DEF: 1-84 maxintegerstring const alphanumeric, 20 char(s) ; DEF: 1-123 maxkeylength * const numeric ; DEF: 1-31 maxlabs * const numeric ; DEF: 1-16 maxlinepascal * const numeric ; DEF: 1-100 maxnbofkeywords * const numeric ; DEF: 1-29 maxnewsize * const numeric ; DEF: 1-42 maxpage * const numeric ; DEF: 1-95 maxpageline * const numeric ; DEF: 1-99 maxpredef * const numeric ; DEF: 1-25 maxrealstring const alphanumeric, 20 char(s) ; DEF: 1-124 maxrel * const numeric ; DEF: 1-129 maxset * const numeric ; DEF: 1-93 maxstacksize * const numeric ; DEF: 1-72 maxstring * const numeric ; DEF: 1-34 maxval * const numeric ; DEF: 1-33 minexp * const numeric ; DEF: 1-120 minrealstring const alphanumeric, 20 char(s) ; DEF: 1-125 mlterrcode * const numeric ; DEF: 1-256 moaddr field disp:210, size:4 ; integer ; DEF: 1-559 moarglistw * const numeric ; DEF: 1-344 modul const scalar, ord=0 ; DEF: 1-460 module const scalar, ord=0 ; DEF: 1-459 modulentryplace * const numeric ; DEF: 1-360 modulinitsize * const numeric ; DEF: 1-134 modynlk * const numeric ; DEF: 1-342 mofatherdisp * const numeric ; DEF: 1-339 monit const scalar, ord=1 ; DEF: 1-460 monitor const scalar, ord=1 ; DEF: 1-459 monitorentryplace * const numeric ; DEF: 1-361 monitorinitsize * const numeric ; DEF: 1-135 monitormodule const scalar, ord=0 ; DEF: 1-462 motype field disp:200, size:4 ; scalar ; DEF: 1-557 mowaitsonsplace * const numeric ; DEF: 1-372 mreg * type scalar subrange ; DEF: 1-778 name field disp:20, size:40 ; packed array of (char) ; DEF: 1-404 nameaddr field disp:110, size:10 ; pointer ; DEF: 1-879 nbparmo field disp:214, size:4 ; integer ; DEF: 1-559 nbr field disp:0, size:4 ; numeric 0..25 ; DEF: 1-627 neg const scalar, ord=4 ; DEF: 1-919 negexpplace * const numeric ; DEF: 1-375 newplace * const numeric ; DEF: 1-177 next field disp:10, size:10 ; pointer ; DEF: 1-403 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_in_block field disp:100, size:10 ; pointer ; DEF: 1-653 next_sp_place * const numeric ; DEF: 1-281 nextbloc field disp:10, size:10 ; pointer ; DEF: 1-821 nextcond field disp:40, size:10 ; pointer ; DEF: 1-966 nextexitelem field disp:0, size:10 ; pointer ; DEF: 1-480 nextnode field disp:10, size:10 ; pointer ; DEF: 1-474 nextproc field disp:110, size:10 ; pointer ; DEF: 1-949 nextval field disp:0, size:10 ; pointer ; DEF: 1-421 nilleft * const numeric ; DEF: 1-75 nilright * const numeric ; DEF: 1-76 niveau field disp:204, size:4 ; numeric 0..20 ; DEF: 1-558 noerrorcond * const numeric ; DEF: 1-107 norange * type numeric 0..63 ; DEF: 1-621 normalplace * const numeric ; DEF: 1-374 number field disp:0, size:4 ; integer ; DEF: 1-642 numberstring * type packed array of (char) ; DEF: 1-397 nxreg const scalar, ord=10 ; DEF: 1-775 o41 * const numeric ; DEF: 1-144 o43 * const numeric ; DEF: 1-145 objaccedes field disp:140, size:10 ; set of (scalar) ; DEF: 1-527 occur field disp:10, size:4 ; scalar ; DEF: 1-634 occurence * type record ; DEF: 1-670 on field disp:0, size:4 ; boolean ; DEF: 1-486 out const scalar, ord=5 ; DEF: 1-814 p0t0r0 const scalar, ord=0 ; DEF: 1-791 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 packedcadre * funct level 0, exportable ; integer ; DEF: 943 ; REF: 79 966* packedsize * funct level 0, exportable ; integer ; DEF: 915 ; REF: 78 936* pageplace * const numeric ; DEF: 1-171 parerrcode * const numeric ; DEF: 1-252 parmproccheckplace * const numeric ; DEF: 1-223 pascdebstacklocal * const numeric ; DEF: 1-130 pascoperatorsdep * const numeric ; DEF: 1-232 pckd field disp:100, size:4 ; boolean ; DEF: 1-878 pckerrcode * const numeric ; DEF: 1-254 pclength * const numeric ; DEF: 1-321 permanentfile const scalar, ord=1 ; DEF: 1-437 phl * const numeric ; DEF: 1-323 place field disp:14, size:4 ; integer ; DEF: 1-430 place field disp:4, size:4 ; numeric -131072..131071 ; DEF: 1-671 pointable const scalar, ord=2 ; DEF: 1-813 pointee const scalar, ord=1 ; DEF: 1-813 pr0 const scalar, ord=6 ; DEF: 1-774 pr1 const scalar, ord=1 ; DEF: 1-774 pr2 const scalar, ord=2 ; DEF: 1-774 pr3 const scalar, ord=5 ; DEF: 1-774 pr4depw * const numeric ; DEF: 1-282 pr5 const scalar, ord=3 ; DEF: 1-774 pr7 const scalar, ord=4 ; DEF: 1-774 prderrcode * const numeric ; DEF: 1-246 predbloc field disp:20, size:10 ; pointer ; DEF: 1-822 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 printrec * proc level 0, exportable ; DEF: 563 ; REF: 80 priorityplace * const numeric ; DEF: 1-369 prlink const scalar, ord=8 ; DEF: 1-774 procaccesslevel field disp:240, size:4 ; numeric 0..20 ; DEF: 1-581 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 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 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 prstatic const scalar, ord=7 ; DEF: 1-774 psr const scalar, ord=24 ; DEF: 1-776 psrdepb * const numeric ; DEF: 1-284 psrdepw * const numeric ; DEF: 1-283 psrinbytes * const numeric ; DEF: 1-113 psrsize field disp:30, size:4 ; integer ; DEF: 1-891 ptentr field disp:240, size:10 ; pointer ; DEF: 1-560 pthigh field disp:230, size:10 ; pointer ; DEF: 1-551 ptlimit * const numeric ; DEF: 1-14 ptpar field disp:220, size:10 ; pointer ; DEF: 1-560 ptvarloc field disp:230, size:10 ; pointer ; DEF: 1-560 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 ra const scalar, ord=20 ; DEF: 1-776 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 reaq const scalar, ord=23 ; DEF: 1-776 recidscope * type record ; DEF: 1-632 recordptr field disp:110, size:10 ; pointer ; DEF: 1-957 recur field disp:234, size:4 ; integer ; DEF: 1-580 recursive field disp:10, size:4 ; boolean ; DEF: 1-467 ref_allowed field disp:70, size:10 ; record ; DEF: 1-650 references field disp:60, size:10 ; pointer ; DEF: 1-649 refs field disp:14, size:620 ; array of (record) ; DEF: 1-429 remanentfile const scalar, ord=8 ; DEF: 1-442 requiredfile const scalar, ord=9 ; DEF: 1-443 reset_stack_end_op_place * const numeric ; DEF: 1-227 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 rq const scalar, ord=21 ; DEF: 1-776 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 scientplace * const numeric ; DEF: 1-161 self_rel * const numeric ; DEF: 1-331 seterrcode * const numeric ; DEF: 1-255 setinargs field disp:60, size:4 ; boolean ; DEF: 1-967 setofno * type set of (numeric 0..63) ; DEF: 1-434 settinginactivequeueplace * const numeric ; DEF: 1-355 shiftl const scalar, ord=2 ; DEF: 1-919 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 solstandardbit * const numeric ; DEF: 1-239 son field disp:20, size:10 ; pointer ; DEF: 1-941 spri const scalar, ord=1 ; DEF: 1-917 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 start field disp:30, size:4 ; integer ; DEF: 1-667 statearray * type array of (boolean) ; DEF: 1-920 statics const scalar, ord=0 ; DEF: 1-939 stdcompiler const scalar, ord=1 ; DEF: 1-435 stdcomputer const scalar, ord=4 ; DEF: 1-435 stdextend const scalar, ord=3 ; DEF: 1-435 stdkind * type scalar ; DEF: 1-435 stdpure const scalar, ord=0 ; DEF: 1-435 stdsol const scalar, ord=2 ; DEF: 1-435 stopextplace * const numeric ; DEF: 1-211 stopplace * const numeric ; DEF: 1-210 stopshortplace * const numeric ; DEF: 1-209 stor const scalar, ord=6 ; DEF: 1-919 stringlength_assignment_error * const numeric ; DEF: 1-260 stringlength_range_error * const numeric ; DEF: 1-259 structureplace field disp:70, size:4 ; integer ; DEF: 1-947 sttmapind field disp:10, size:4 ; integer ; DEF: 1-430 sttmapptr * type pointer ; DEF: 1-924 sub const scalar, ord=1 ; DEF: 1-919 subroutine const scalar, ord=1 ; DEF: 1-462 substring_negative_length_error * const numeric ; DEF: 1-262 substring_offset_error * const numeric ; DEF: 1-261 substring_too_long_error * const numeric ; DEF: 1-263 succ field disp: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 tad const scalar, ord=43 ; DEF: 1-771 tal const scalar, ord=5 ; DEF: 1-766 taly const scalar, ord=21 ; DEF: 1-768 tau const scalar, ord=1 ; DEF: 1-766 tauy const scalar, ord=17 ; DEF: 1-768 tci const scalar, ord=40 ; DEF: 1-771 tdi const scalar, ord=44 ; DEF: 1-771 tdic const scalar, ord=45 ; DEF: 1-771 tdl const scalar, ord=7 ; DEF: 1-766 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 tic const scalar, ord=4 ; DEF: 1-766 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 tny const scalar, ord=16 ; DEF: 1-768 tql const scalar, ord=6 ; DEF: 1-766 tqly const scalar, ord=22 ; DEF: 1-768 tqu const scalar, ord=2 ; DEF: 1-766 tquy const scalar, ord=18 ; DEF: 1-768 transf field disp:34, size:4 ; integer ; DEF: 1-912 transoptvptr * const numeric ; DEF: 1-230 truncplace * const numeric ; DEF: 1-180 tsc const scalar, ord=42 ; DEF: 1-771 tscr const scalar, ord=37 ; DEF: 1-770 tsd const scalar, ord=36 ; DEF: 1-770 twoto12 * const numeric ; DEF: 1-51 twoto18m1 * const numeric ; DEF: 1-58 twoto27 * const numeric ; DEF: 1-59 tx0 const scalar, ord=8 ; DEF: 1-767 tx0y const scalar, ord=24 ; DEF: 1-769 tx1 const scalar, ord=9 ; DEF: 1-767 tx1y const scalar, ord=25 ; DEF: 1-769 tx2 const scalar, ord=10 ; DEF: 1-767 tx2y const scalar, ord=26 ; DEF: 1-769 tx3 const scalar, ord=11 ; DEF: 1-767 tx3y const scalar, ord=27 ; DEF: 1-769 tx4 const scalar, ord=12 ; DEF: 1-767 tx4y const scalar, ord=28 ; DEF: 1-769 tx5 const scalar, ord=13 ; DEF: 1-767 tx5y const scalar, ord=29 ; DEF: 1-769 tx6 const scalar, ord=14 ; DEF: 1-767 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 typeofop * type scalar ; DEF: 1-919 typepr * type scalar ; DEF: 1-917 typix * type scalar ; DEF: 1-918 typofsymb * type scalar ; DEF: 1-669 typsig * type scalar ; DEF: 1-786 typtr field disp:0, size:10 ; pointer ; DEF: 1-851 typusednames * type array of (array of (char)) ; DEF: 1-436 tyql const scalar, ord=54 ; DEF: 1-772 tyqu const scalar, ord=50 ; DEF: 1-772 tyx0 const scalar, ord=56 ; DEF: 1-773 tyx1 const scalar, ord=57 ; DEF: 1-773 tyx2 const scalar, ord=58 ; DEF: 1-773 tyx3 const scalar, ord=59 ; DEF: 1-773 tyx4 const scalar, ord=60 ; DEF: 1-773 tyx5 const scalar, ord=61 ; DEF: 1-773 tyx6 const scalar, ord=62 ; DEF: 1-773 tyx7 const scalar, ord=63 ; DEF: 1-773 tz23 const scalar, ord=19 ; DEF: 1-768 tz27 const scalar, ord=23 ; DEF: 1-768 tz42 const scalar, ord=34 ; DEF: 1-770 tz60 const scalar, ord=48 ; DEF: 1-772 undmax * const numeric ; DEF: 1-21 uniformplace * const numeric ; DEF: 1-373 usednamesptr * type pointer ; DEF: 1-974 val field disp:14, size:4 ; integer ; DEF: 1-902 valplacew * const numeric ; DEF: 1-290 valpw field disp:30, size:40 ; array of (integer) ; DEF: 1-904 valu field disp:0, size:4 ; integer ; DEF: 1-829 varmo field disp:220, size:4 ; boolean ; DEF: 1-605 vdspl field disp:340, size:4 ; integer ; DEF: 1-637 vfather field disp:230, size:10 ; pointer ; DEF: 1-606 vlev field disp:14, size:4 ; numeric 0..20 ; DEF: 1-855 vlink_is_generated field disp:160, size:4 ; boolean ; DEF: 1-602 vmo field disp:140, size:4 ; boolean ; DEF: 1-882 vnexttofinit field disp:210, size:10 ; pointer ; DEF: 1-604 vpack field disp:344, size:4 ; boolean ; DEF: 1-637 vreflist field disp:20, size:320 ; record ; DEF: 1-637 vtimeplace * const numeric ; DEF: 1-370 waitplace * const numeric ; DEF: 1-366 waitsonsplace * const numeric ; DEF: 1-356 warningminmax * proc level 0, exportable ; DEF: 1082 ; REF: 81 wbase field disp:54, size:4 ; scalar ; DEF: 1-953 wdispl field disp:60, size:4 ; integer ; DEF: 1-954 windirect field disp:64, size:4 ; boolean ; DEF: 1-955 word1 field disp:0, size:4 ; integer ; DEF: 1-927 word2 field disp:4, size:4 ; integer ; DEF: 1-928 workfile const scalar, ord=2 ; DEF: 1-437 writelnplace * const numeric ; DEF: 1-170 writeseqplace * const numeric ; DEF: 1-169 writetextplace * const numeric ; DEF: 1-168 wstrfile field disp:70, size:4 ; integer ; DEF: 1-956 wstrindex field disp:74, size:4 ; integer ; DEF: 1-956 wstrlength field disp:100, size:4 ; integer ; DEF: 1-956 x0 const scalar, ord=11 ; DEF: 1-775 x1 const scalar, ord=12 ; DEF: 1-775 x2 const scalar, ord=13 ; DEF: 1-775 x3 const scalar, ord=14 ; DEF: 1-775 x4 const scalar, ord=15 ; DEF: 1-775 x5 const scalar, ord=16 ; DEF: 1-775 x6 const scalar, ord=17 ; DEF: 1-775 x7 const scalar, ord=18 ; DEF: 1-775 xbidon const scalar, ord=19 ; DEF: 1-776 zabc * type scalar ; DEF: 1-795 zari * type scalar ; DEF: 1-799 zptr * type scalar ; DEF: 1-791 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 279 497 790 798 827 867 1092 1139 1232 1241 1280 1282 1331 1334 char type char ; REF: 1-397 1-398 1-399 1-400 1-422 1-499 94 false const scalar, ord=0 ; REF: 1-538 1-549 1-613 234 235 236 237 238 300 318 344 402 403 405 410 411 412 415 520 1109 1164 1252 1287 1337 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 94 104 105 106 133 135 827 827 834 866 867 876 915 920 943 948 1082 1082 1123 1123 1184 1283 new proc level 0 ; REF: 147 197 222 258 292 388 435 465 509 549 ord funct level 0 ; (standard) ; REF: 580 580 588 603 618 619 621 645 645 653 672 676 712 715 715 721 721 726 730 730 741 741 746 750 767 768 805 971 993 994 1072 1145 1198 1248 1248 real type real ; REF: 1-498 1-568 1-834 1-903 text type text ; REF: 99 true const scalar, ord=1 ; REF: 1-539 1-550 1-614 322 350 404 524 1260 1306 1345 write proc level 0 ; REF: 580 583 587 588 589 590 603 618 621 623 625 640 644 649 651 652 667 671 675 676 689 691 693 697 704 708 711 714 719 725 730 737 741 745 750 760 763 767 768 780 804 816 970 993 1072 1144 1175 1198 1223 1247 1269 1321 1351 NO LABELS 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 142 1 0 147 1 15 148 1 20 148 2 24 149 1 32 150 1 44 151 1 46 154 1 51 154 2 53 157 1 56 159 1 65 161 1 70 163 1 74 164 1 100 165 1 125 166 1 127 167 1 136 168 1 144 169 1 151 170 1 154 170 1 155 174 1 166 182 1 177 184 1 202 185 1 207 186 1 212 187 1 215 190 1 217 192 1 225 192 2 230 192 3 232 192 4 234 195 1 240 196 1 243 196 2 246 197 1 251 197 2 255 197 3 262 198 1 270 200 1 274 200 2 276 204 1 300 204 1 301 211 1 310 222 1 325 223 1 330 223 2 334 224 1 342 226 1 345 227 1 364 228 1 367 229 1 372 230 1 374 231 1 376 232 1 400 232 2 402 233 1 404 234 1 416 235 1 420 236 1 422 237 1 424 238 1 426 239 1 430 242 1 433 242 1 434 247 1 440 258 1 455 259 1 460 259 2 464 260 1 472 262 1 475 263 1 514 264 1 516 265 1 521 266 1 524 267 1 527 268 1 531 271 1 534 271 1 535 278 1 542 292 1 557 293 1 562 293 2 566 294 1 574 296 1 577 297 1 616 298 1 621 299 1 623 300 1 625 301 1 627 302 1 641 303 1 653 304 1 656 306 1 661 307 1 664 310 1 665 311 1 667 312 1 671 315 1 674 316 1 676 317 1 710 319 1 713 320 1 716 323 1 722 324 1 724 325 1 726 327 1 732 330 1 755 331 1 757 332 1 762 335 1 766 336 1 770 337 1 772 340 1 776 341 1 1001 342 1 1004 343 1 1016 345 1 1021 346 1 1023 347 1 1025 348 1 1027 351 1 1032 352 1 1035 353 1 1040 354 1 1043 356 1 1047 359 1 1072 360 1 1075 363 1 1101 366 1 1105 368 1 1111 371 1 1144 371 1 1145 377 1 1152 388 1 1167 389 1 1172 389 2 1176 390 1 1204 392 1 1207 393 1 1226 394 1 1231 395 1 1234 396 1 1237 397 1 1241 398 1 1253 399 1 1255 400 1 1257 401 1 1261 402 1 1263 403 1 1265 404 1 1267 405 1 1272 406 1 1274 407 1 1276 408 1 1301 409 1 1303 410 1 1306 411 1 1310 412 1 1312 413 1 1314 414 1 1316 415 1 1320 418 1 1322 418 1 1323 424 1 1330 435 1 1345 436 1 1350 436 2 1354 437 1 1362 439 1 1365 440 1 1404 441 1 1407 442 1 1412 443 1 1414 446 1 1416 446 1 1417 452 1 1424 465 1 1441 466 1 1444 466 2 1450 467 1 1456 469 1 1461 470 1 1500 471 1 1503 472 1 1506 473 1 1511 475 1 1523 477 1 1526 480 1 1531 483 1 1535 484 1 1540 485 1 1542 486 1 1545 488 1 1550 491 1 1573 491 1 1574 497 1 1602 509 1 1617 510 1 1622 510 2 1626 511 1 1634 513 1 1637 514 1 1656 515 1 1661 516 1 1663 517 1 1666 519 1 1700 521 1 1703 522 1 1706 525 1 1712 526 1 1714 528 1 1720 532 1 1742 532 1 1743 538 1 1750 549 1 1765 550 1 1770 550 2 1774 551 1 2002 553 1 2005 554 1 2024 557 1 2027 557 1 2030 574 1 2034 576 1 2041 577 1 2050 578 1 2054 580 1 2057 582 1 2157 583 1 2166 586 1 2305 587 1 2314 588 1 2343 589 1 2364 590 1 2407 591 1 2432 593 1 2441 593 1 2442 598 1 2532 599 1 2537 600 1 2546 601 1 2552 603 1 2555 605 1 2623 607 1 2632 607 1 2633 612 1 2647 614 1 2654 615 1 2663 616 1 2667 618 1 2672 620 1 3001 621 1 3010 623 1 3051 624 1 3100 625 1 3107 627 1 3163 629 1 3172 629 1 3173 634 1 3253 637 1 3260 638 1 3264 640 1 3267 640 2 3322 643 1 3332 644 1 3341 647 1 3424 648 1 3433 649 1 3436 650 1 3457 651 1 3463 652 1 3504 655 1 3561 657 1 3570 657 1 3571 661 1 3635 664 1 3642 665 1 3646 667 1 3651 667 2 3671 670 1 3701 671 1 3710 673 1 3765 674 1 3774 675 1 3777 676 1 4020 677 1 4041 679 1 4050 679 1 4051 683 1 4103 686 1 4110 687 1 4114 689 1 4117 690 1 4152 691 1 4156 692 1 4177 693 1 4203 694 1 4223 696 1 4233 697 1 4242 700 1 4340 701 1 4347 704 1 4353 705 1 4411 708 1 4421 709 1 4457 710 1 4466 711 1 4471 714 1 4540 716 1 4571 719 1 4601 722 1 4650 725 1 4660 727 1 4717 730 1 4727 732 1 4776 733 1 5005 734 1 5010 737 1 5011 738 1 5056 741 1 5066 742 1 5117 745 1 5127 747 1 5150 750 1 5160 750 2 5201 752 1 5211 754 1 5244 754 1 5245 563 1 5417 758 1 5434 760 1 5437 760 2 5445 760 3 5456 761 1 5464 763 1 5470 763 2 5501 765 1 5510 767 1 5513 767 2 5533 768 1 5541 770 1 5630 771 1 5633 772 1 5641 773 1 5647 774 1 5655 775 1 5663 776 1 5671 777 1 5677 778 1 5706 780 1 5737 780 2 5750 781 1 5756 783 1 5764 783 1 5765 790 1 6030 802 1 6045 804 1 6047 805 1 6067 811 1 6075 812 1 6115 814 1 6130 816 1 6133 817 1 6155 821 1 6163 821 1 6167 827 1 6215 836 1 6232 837 1 6234 839 1 6236 840 1 6240 841 1 6243 843 1 6247 843 2 6252 844 1 6255 845 1 6260 846 1 6273 847 1 6306 850 1 6342 851 1 6344 853 1 6350 855 1 6354 856 1 6357 857 1 6372 858 1 6425 859 1 6431 859 1 6435 866 1 6436 877 1 6453 878 1 6455 880 1 6457 881 1 6461 883 1 6465 883 2 6470 884 1 6473 885 1 6476 886 1 6500 887 1 6503 888 1 6516 891 1 6552 892 1 6554 893 1 6557 893 2 6562 894 1 6565 894 2 6570 895 1 6573 896 1 6576 896 2 6601 897 1 6604 898 1 6607 899 1 6612 899 2 6615 900 1 6620 900 2 6623 901 1 6626 901 2 6631 902 1 6634 902 2 6637 903 1 6642 904 1 6645 905 1 6660 906 1 6673 907 1 6726 908 1 6732 915 1 6736 922 1 6753 924 1 6754 924 2 6760 925 1 6773 925 2 7000 927 1 7013 928 1 7016 928 2 7021 929 1 7025 930 1 7030 931 1 7034 932 1 7040 933 1 7044 934 1 7050 935 1 7054 936 1 7107 937 1 7113 937 1 7117 943 1 7124 950 1 7141 952 1 7142 952 2 7146 953 1 7161 953 2 7166 955 1 7201 956 1 7204 956 2 7207 957 1 7213 959 1 7216 961 1 7222 962 1 7226 963 1 7232 964 1 7236 965 1 7242 966 1 7275 968 1 7301 970 1 7304 972 1 7341 975 1 7347 975 1 7353 981 1 7377 991 1 7414 993 1 7416 994 1 7445 997 1 7453 999 1 7455 1000 1 7461 1001 1 7465 1002 1 7474 1003 1 7477 1004 1 7503 1004 2 7510 1006 1 7513 1006 2 7522 1007 1 7525 1007 2 7532 1009 1 7535 1010 1 7542 1012 1 7546 1014 1 7552 1014 2 7563 1018 1 7566 1020 1 7572 1021 1 7605 1023 1 7612 1023 2 7623 1025 1 7626 1026 1 7633 1027 1 7642 1028 1 7645 1029 1 7654 1030 1 7657 1031 1 7664 1031 2 7673 1032 1 7676 1032 2 7705 1034 1 7710 1035 1 7734 1036 1 7740 1037 1 7744 1038 1 7747 1039 1 7752 1040 1 7760 1042 1 7764 1043 1 7771 1044 1 7775 1045 1 10001 1046 1 10012 1048 1 10023 1050 1 10032 1051 1 10037 1052 1 10045 1054 1 10050 1056 1 10057 1057 1 10064 1058 1 10072 1061 1 10075 1062 1 10110 1063 1 10116 1064 1 10125 1068 1 10131 1070 1 10163 1072 1 10166 1073 1 10206 1076 1 10214 1076 1 10215 1082 1 10253 1095 1 10270 1095 2 10274 1096 1 10307 1096 2 10314 1097 1 10327 1097 2 10344 1099 1 10357 1102 1 10362 1102 2 10366 1104 1 10417 1104 2 10422 1107 1 10453 1109 1 10460 1109 2 10472 1112 1 10474 1114 1 10524 1115 1 10526 1117 1 10540 1117 1 10541 1123 1 10550 1142 1 10565 1144 1 10567 1146 1 10632 1150 1 10640 1150 2 10644 1151 1 10657 1151 2 10664 1152 1 10677 1152 2 10714 1154 1 10727 1157 1 10732 1157 2 10736 1159 1 10767 1159 2 10772 1162 1 11023 1164 1 11030 1164 2 11042 1167 1 11044 1169 1 11074 1170 1 11076 1173 1 11110 1175 1 11113 1175 2 11124 1178 1 11132 1178 1 11133 1184 1 11164 1196 1 11201 1198 1 11203 1198 2 11223 1201 1 11231 1201 2 11232 1203 1 11233 1203 2 11237 1204 1 11252 1204 2 11257 1205 1 11272 1205 2 11307 1207 1 11322 1208 1 11325 1210 1 11331 1210 2 11334 1213 1 11340 1215 1 11343 1215 2 11346 1218 1 11352 1218 2 11353 1221 1 11360 1223 1 11363 1223 2 11410 1226 1 11416 1226 1 11417 1232 1 11452 1245 1 11467 1247 1 11471 1249 1 11536 1252 1 11544 1253 1 11545 1254 1 11552 1255 1 11556 1256 1 11563 1257 1 11567 1258 1 11602 1259 1 11611 1260 1 11624 1261 1 11627 1262 1 11654 1264 1 11711 1267 1 11724 1269 1 11727 1271 1 11751 1274 1 11757 1274 1 11763 1280 1 12024 1287 1 12041 1289 1 12042 1290 1 12063 1291 1 12106 1292 1 12131 1294 1 12140 1295 1 12164 1297 1 12170 1298 1 12210 1300 1 12214 1303 1 12246 1304 1 12253 1305 1 12260 1306 1 12273 1308 1 12276 1309 1 12304 1310 1 12312 1316 1 12347 1319 1 12362 1321 1 12365 1322 1 12407 1325 1 12415 1325 1 12421 1331 1 12447 1337 1 12464 1339 1 12465 1340 1 12471 1341 1 12476 1342 1 12504 1343 1 12526 1344 1 12533 1345 1 12537 1346 1 12541 1349 1 12554 1351 1 12557 1352 1 12601 1355 1 12607 1355 1 12613 18 1 12634 18 1 12645 1359 1 12654 1359 1 12660 1359 1 12662 ----------------------------------------------------------- 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