COMPILATION LISTING OF SEGMENT: >spec>install>1212>MODATTR.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 1710.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 modattr ; 19 20 $OPTIONS switch trace := true ; switch security := true ; t + $ 21 22 23 $IMPORT 24 (* IMPORTED PROCEDURES *) 25 'RACINE (pascal) ' : 26 error, 27 nextline ; 28 'STATE (pascal) ' : 29 freebloc, 30 newbloc, 31 printstatusregister, 32 sauvereg ; 33 'STATE (pascal) ' : 34 transfer ; 35 'GENERE (pascal) ' : 36 genstand ; 37 38 (* IMPORTED VARIABLES *) 39 'GENERE (pascal)' : 40 illegal_generation ; 41 'RACINE (pascal) ' : 42 boxheader, 43 charptr, 44 envstandard, 45 declarationpart, 46 level, 47 mpcogout, 48 nilptr, 49 realptr, *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM modattr *** ON 11/12/86 *** PAGE 2 50 string_ptr ; 51 'STATE (pascal) ' : 52 currentbloc, 53 maxprused, 54 regname, 55 stattrace, 56 tabacc, 57 tabkind 58 $ 59 60 $EXPORT 61 convreal, 62 easyvar, 63 is_pl1_varying_char, 64 freeattr, 65 initattrvarbl, 66 is_possible_string, 67 isstring, 68 lvalvarbl, 69 printattr, 70 varissimple 71 $ 72 73 $INCLUDE 'CONSTTYPE' $(* BEGIN INCLUDE FILE CONSTTYPE.incl.pascal *) 1 2 1 3 (* HISTORY COMMENTS: 1 4* 1) change(86-09-11,JMAthane), approve(86-09-11,MCR7521), 1 5* audit(86-09-15,JPFauche), install(86-11-12,MR12.0-1212): 1 6* Release 8.03 for MR12 1 7* END HISTORY COMMENTS *) 1 8 1 9 CONST (* VERSION 7.05 *) 1 10 (* ARRAY'S BOUNDS *) 1 11 1 12 minno = 0 ; (* MIN VALUE FOR NO ; SEE TYPE NORANGE *) 1 13 maxno = 63 ; (* MAX VALUE FORNO ; " " " *) { Modified for SimOne } 1 14 ptlimit = 20 ; (* MAX FOR PTLIST 0 ..PTLIMIT *) 1 15 displimit = 30 ; (* " " DISPLAY ..DISPLIMIT *) 1 16 maxlabs = 50 ; (* " " LABTAB ..MAXLABS *) 1 17 fillimit = 50 ; (* " " FILPTS .. FILLIMIT *) 1 18 maxlevel = 20 ; (* SEE LEVRANGE TYPE *) 1 19 maxerrline = 16 ; (* MAX FOR ERRINX *) 1 20 maxerpg = 2 ; (* MAX FOR ERRORSFOUND, PAGESERRORS 0.. *) 1 21 undmax = 1000 ; (* " " UNDLAB 1.. *) 1 22 longalfbox = 16 ; (* SEE ALFAVALUE TYPE *) 1 23 lgparm = 100 ; (* PARMLIST IN $PARM *) 1 24 lgparm1 = lgparm - 1 ; (* LGPARM - 1 *) 1 25 maxpredef = 99 ; (* INITNAME 0 .. MAXPREDEF *) 1 26 maxident = 32 ; (* LENGTH MAX FOR AN ID. *) 1 27 (* DONT MODIFY WITHOUT MODIFY maxident *) 1 28 (* IN optimized_procedures.alm *) 1 29 maxnbofkeywords = 49 ; { Modified for SimOne } 1 30 1 31 maxkeylength = 12 ; (* LENGTH MAX FOR A KEY-WORD *) { Modified for SimOne } 1 32 maxexternname = 168 ; (* length max for an external name *) 1 33 maxval = 256 ; (* LENGTH MAX FOR A STRING *) 1 34 maxstring = 256 ; (* MAX LENGTH FOR A STRING (STAND) <= MAXVAL *) *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM modattr *** ON 11/12/86 *** PAGE 3 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 ; 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 *) *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM modattr *** ON 11/12/86 *** PAGE 4 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 *) 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 *) *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM modattr *** ON 11/12/86 *** PAGE 5 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 ; 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 ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM modattr *** ON 11/12/86 *** PAGE 6 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 *) 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 ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM modattr *** ON 11/12/86 *** PAGE 7 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 ; 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 *) *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM modattr *** ON 11/12/86 *** PAGE 8 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 } 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 } *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM modattr *** ON 11/12/86 *** PAGE 9 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 ; 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 ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM modattr *** ON 11/12/86 *** PAGE 10 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 } 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 ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM modattr *** ON 11/12/86 *** PAGE 11 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 ; 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 *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM modattr *** ON 11/12/86 *** PAGE 12 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 *) 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 ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM modattr *** ON 11/12/86 *** PAGE 13 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) *) 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 ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM modattr *** ON 11/12/86 *** PAGE 14 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, 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, *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM modattr *** ON 11/12/86 *** PAGE 15 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 * , *) 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, *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM modattr *** ON 11/12/86 *** PAGE 16 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 *) 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 *) *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM modattr *** ON 11/12/86 *** PAGE 17 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 *) 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 *) *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM modattr *** ON 11/12/86 *** PAGE 18 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 ; 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 : ( *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM modattr *** ON 11/12/86 *** PAGE 19 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 74 75 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM modattr *** ON 11/12/86 *** PAGE 20 76 77 VAR 78 (* REDEFINE IMPORTED VARIABLES *) 79 (* FROM RACINE *) 80 81 boxheader : PACKED ARRAY [1..120] OF char ; 82 charptr : ctp ; 83 declarationpart : boolean ; 84 envstandard : stdkind ; 85 level : levrange ; 86 mpcogout : text ; 87 nilptr : ctp ; 88 realptr : ctp ; 89 string_ptr : ctp ; 90 91 (* FROM GENERE *) 92 illegal_generation : boolean ; 93 94 95 (* FROM STATE *) 96 97 currentbloc : regpt ; (* LAST CREATED BOX REGISTER *) 98 maxprused : preg ; (* LAST POINTER REGISTER USED IN GETPR *) 99 regname : ARRAY [register] OF PACKED ARRAY [1..4] OF char ; (* REGIST. NAMES *) 100 stattrace : levtrace ; (* TRACE FOR MODULE STATEMENT *) 101 tabacc : ARRAY [attraccess] OF alfa ; (* MNEMONICS USED IN TRACE *) 102 tabkind : ARRAY [attrkind] OF alfa ; (* MNEMONICS USED IN TRACE *) 103 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM modattr *** ON 11/12/86 *** PAGE 21 104 105 (* REDEFINE IMPORTED PROCEDURES *) 106 (* FROM RACINE *) 107 108 PROCEDURE error (errno : integer) ; EXTERNAL ; 109 PROCEDURE nextline ; EXTERNAL ; 110 111 (* FROM STATE *) 112 113 PROCEDURE freebloc (VAR fbtofree : regpt) ; EXTERNAL ; 114 PROCEDURE newbloc (freg : register) ; EXTERNAL ; 115 PROCEDURE printstatusregister ; EXTERNAL ; 116 PROCEDURE sauvereg (freg : register ; fload : boolean) ; EXTERNAL ; 117 118 (* FROM STATE *) 119 120 PROCEDURE transfer (VAR fattr : attr ; inwhat : destination) ; EXTERNAL ; 121 122 (* FROM GENERE *) 123 124 PROCEDURE genstand (fpr : preg ; fadr : integer ; fcode : istand ; ftg : tag) ; EXTERNAL ; 125 126 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM modattr *** ON 11/12/86 *** PAGE 22 127 128 (* ************************************ PRINTATTR ***************************** *) 129 130 PROCEDURE printattr (VAR fattr : attr) ; 131 132 (* C USED IN TRACE CONTEXT IN ORDER TO PRINT 133* . LOADED REGISTERS 134* . MEANINGSFULL FIELDS OF FATTR 135* C *) 136 VAR 137 it : integer ; 138 BEGIN (* PRINTATTR *) 139 write (mpcogout, boxheader) ; nextline ; 140 printstatusregister ; 141 WITH fattr DO 142 BEGIN 143 IF typtr = NIL THEN 144 write (mpcogout, '* REQUESTED ATTR HAS A TYPTR AT NIL') ELSE 145 BEGIN 146 write (mpcogout, '* TYPTR IS AT @', ord (typtr), 147 ' FATTR_KIND IS:', tabkind [kind]) ; 148 nextline ; 149 CASE kind OF 150 varbl : BEGIN 151 write (mpcogout, '* VLEV,BASEREG ARE:', vlev : 4, regname [basereg] : 9, 152 ' BASEBLOC IS AT @', ord (basebloc), ' DPLMT,PCKD ARE:', dplmt, 153 pckd : 6) ; 154 nextline ; 155 write (mpcogout, '* INXREG,INXMEM,INXMEMRW ARE:', regname [inxreg] : 9, 156 inxmem, inxmemrw : 6, ' INXBLOC IS AT @', ord (inxbloc)) ; 157 nextline ; 158 write (mpcogout, '* ACCESS IS:', tabacc [access], 159 ' ITSDPLMT IS:', itsdplmt) ; 160 write (mpcogout, ' DESCREG IS ', regname [descreg], ', DESCBLOC AT @', ord (descbloc)) ; 161 END (* VARBL *) ; 162 lval : BEGIN 163 write (mpcogout, '* LDREG IS ', regname [ldreg], ' LDREGBLOC IS AT @', 164 ord (ldregbloc)) ; 165 IF ldreg = psr THEN write (mpcogout, ' PSRSIZE IS:', psrsize) ; 166 END (* LVAL *) ; 167 chain : write (mpcogout, '* ALFACTP IS AT @', ord (alfactp)) ; 168 sval : BEGIN 169 IF typtr = realptr THEN 170 write (mpcogout, '* RSVAL IS', rsval) ELSE 171 IF typtr = nilptr THEN 172 write (mpcogout, '* SVAL IS "NIL" ') ELSE 173 IF typtr@.form = power THEN 174 BEGIN 175 write (mpcogout, '* SETS. LONGV IS', longv, ' VALPW0..7 ARE') ; 176 FOR it := 0 TO 7 DO 177 write (mpcogout, '*', valpw [it]) ; 178 END (* SETS *) ELSE 179 write (mpcogout, '* VAL IS :', val) ; 180 END (* SVAL *) ; 181 lcond : BEGIN 182 write (mpcogout, '* ACCBOOL IS:', accbool : 6, 183 ' ACCBLOC IS AT @', ord (accbloc), *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM modattr *** ON 11/12/86 *** PAGE 23 184 ' TRANSF IS:', transf : 4) ; 185 END (* LCOND *) ; 186 END (* CASE KIND *) ; 187 END (* TYPTR # NIL *) ; 188 END (* WITH FATTR *) ; 189 nextline ; 190 write (mpcogout, boxheader) ; nextline ; 191 END (* PRINTATTR *) ; 192 193 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM modattr *** ON 11/12/86 *** PAGE 24 194 195 (* ******************************************** INITATTRVARBL ******************************** *) 196 197 PROCEDURE initattrvarbl (VAR fattr : attr) ; 198 199 BEGIN 200 WITH fattr DO 201 BEGIN 202 kind := varbl ; 203 vlev := level ; 204 basereg := pr6 ; 205 basebloc := NIL ; 206 access := direct ; 207 dplmt := 0 ; 208 inxreg := nxreg ; 209 inxbloc := NIL ; 210 inxmem := 0 ; 211 inxmemrw := true ; 212 itsdplmt := 0 ; 213 pckd := false ; 214 nameaddr := NIL ; 215 descreg := nreg ; 216 descbloc := NIL ; 217 temporary := false ; 218 END ; 219 END (* INITATTRVARBL *) ; 220 221 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM modattr *** ON 11/12/86 *** PAGE 25 222 223 (* ******************************* IS_PL1_VARYING_CHAR *********************** *) 224 225 FUNCTION is_pl1_varying_char (VAR typectp : ctp) : boolean ; 226 227 VAR 228 locbool : boolean ; 229 locctp_1, locctp_2 : ctp ; 230 locmax : integer ; 231 232 BEGIN 233 locbool := false ; 234 IF typectp <> NIL THEN 235 WITH typectp^ DO 236 IF form = records THEN 237 IF (recvar = NIL) AND (fstfld <> NIL) THEN 238 IF (fstfld^.fldtype <> NIL) AND (fstfld^.nxtel <> NIL) THEN 239 BEGIN 240 locctp_1 := fstfld ; 241 WITH locctp_1^.fldtype^ DO 242 BEGIN 243 IF form = numeric THEN 244 IF nmin = 0 THEN 245 BEGIN 246 locmax := nmax ; 247 locctp_2 := locctp_1^.nxtel ; 248 IF (locctp_2 <> NIL) AND (locctp_2^.nxtel = NIL) THEN 249 IF locctp_2^.fldtype <> NIL THEN 250 WITH locctp_2^.fldtype^ DO 251 IF form = arrays THEN 252 IF pack THEN 253 IF aeltype = charptr THEN 254 IF inxtype <> NIL THEN 255 IF inxtype^.form = numeric THEN 256 IF (lo = 1) AND (hi = locmax) THEN 257 locbool := true ; 258 END ; 259 END ; 260 END ; 261 is_pl1_varying_char := locbool ; 262 END (* IS_PL1_VARYING_CHAR *) ; 263 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM modattr *** ON 11/12/86 *** PAGE 26 264 265 (* ************************************ FCT. ISSTRING ************************* *) 266 267 FUNCTION isstring (VAR fattr : attr) : boolean ; 268 269 (* C RETURNS TRUE IF FATTR DESCRIBES A "STRING" 270* . PACKED ARRAY OF CHAR 271* . CHAIN * FATTR IS NOT ALTERED 272* C *) 273 BEGIN (* ISSTRING *) 274 $OPTIONS compile = trace $ 275 IF stattrace > none THEN 276 BEGIN 277 write (mpcogout, '@@@ DEBUT-FIN ISSTRING @@@') ; nextline ; 278 END ; 279 $OPTIONS compile = true $ 280 isstring := false ; 281 WITH fattr DO 282 IF typtr # NIL THEN 283 IF kind = chain THEN 284 (* <--- *) isstring := true ELSE 285 WITH typtr@ DO 286 IF form = arrays THEN 287 IF pack THEN 288 IF aeltype = charptr THEN 289 IF inxtype # NIL THEN 290 IF inxtype@.form = numeric THEN 291 IF envstandard <> stdextend THEN 292 BEGIN 293 IF NOT conformant THEN 294 IF lo = 1 THEN isstring := true ; 295 END ELSE 296 isstring := true ; 297 END (* ISSTRING *) ; 298 299 300 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM modattr *** ON 11/12/86 *** PAGE 27 301 302 (* ************************************ FCT. VARISSIMPLE ********************* *) 303 FUNCTION varissimple (VAR fattr : attr) : boolean ; 304 305 (* C RETURNS TRUE WHEN FATTR DESCRIBES A VARIABLE EASY TO ADDRESS 306* NO CHANGE FOR FATTR 307* C *) 308 VAR 309 variss : boolean ; 310 BEGIN (* VARISSIMPLE *) 311 variss := false ; 312 WITH fattr DO 313 IF access = direct THEN 314 IF (vlev = 0) OR (vlev = level) THEN 315 IF inxreg = nxreg THEN 316 IF inxmem = 0 THEN 317 (* <--- *) 318 variss := true ; 319 varissimple := variss ; (* <--------- *) 320 $OPTIONS compile = trace $ 321 IF stattrace > low THEN 322 BEGIN 323 write (mpcogout, ' @@@ Fin de VARISSIMPLE @@@ avec valeur retournee:', 324 variss) ; 325 nextline ; 326 END ; 327 $OPTIONS compile = true $ 328 END (* VARISSIMPLE *) ; 329 330 331 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM modattr *** ON 11/12/86 *** PAGE 28 332 333 (* ************************************ FCT. EASYVAR ************************** *) 334 335 FUNCTION easyvar (VAR fattr : attr) : boolean ; 336 337 (* C ."FATTR" IS NOT CHANGED 338* .RETURNS TRUE FOR AN EASY ADDRESSED VARIABLE 339* * NOT PACKED, INDEX NOT SAVED, NO STORAGE INDEX 340* C *) 341 (* E ERRORS DETECTED 342* 430 TYPTR = NIL 343* 431 KIND # VARBL 344* E *) 345 VAR 346 easyv : boolean ; 347 BEGIN (* EASYVAR *) 348 easyv := false ; 349 $OPTIONS compile = trace $ 350 IF stattrace > none THEN 351 BEGIN 352 write (mpcogout, '@@@ DEBUT EASYVAR @@@') ; nextline ; 353 END ; 354 $OPTIONS compile = true $ 355 $OPTIONS compile = security $ 356 IF fattr.typtr = NIL THEN error (430) ELSE 357 IF fattr.kind # varbl THEN error (431) ELSE 358 $OPTIONS compile = true $ 359 WITH fattr DO 360 IF NOT pckd THEN 361 IF inxmem = 0 THEN 362 IF inxbloc = NIL THEN 363 easyv := true ELSE 364 IF inxbloc@.saveplace = 0 THEN 365 easyv := true ; 366 easyvar := easyv ; 367 $OPTIONS compile = trace $ 368 IF stattrace > low THEN 369 BEGIN 370 write (mpcogout, '@@@ FIN EASYVAR @@@ WITH RETURNED VALUE:', easyv) ; nextline ; 371 END ; 372 $OPTIONS compile = true $ 373 END (* EASYVAR *) ; 374 375 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM modattr *** ON 11/12/86 *** PAGE 29 376 377 (* ************************************ FREEATTR ****************************** *) 378 379 PROCEDURE freeattr (VAR fattr : attr) ; 380 381 (* C THIS PROCEDURE DOESN'T MODIFY FATTR, BUT FREES ALL ASSOCIATED BOXES 382* (AND REGISTERS) 383* C *) 384 BEGIN (* FREEATTR *) 385 $OPTIONS compile = trace $ 386 IF stattrace > none THEN 387 BEGIN 388 write (mpcogout, '@@@ DEBUT FREEATTR @@@') ; nextline ; 389 END ; 390 $OPTIONS compile = true $ 391 WITH fattr DO 392 CASE kind OF 393 lval : freebloc (ldregbloc) ; 394 varbl : 395 BEGIN IF basereg <= maxprused THEN freebloc (basebloc) ; 396 IF inxreg # nxreg THEN freebloc (inxbloc) ; 397 freebloc (descbloc) ; 398 END (* VARBL *) ; 399 lcond : IF accbool THEN freebloc (accbloc) ; 400 sval, chain : ; 401 END (* CASE KIND,WITH FATTR *) ; 402 $OPTIONS compile = trace $ 403 IF stattrace > low THEN 404 BEGIN 405 write (mpcogout, '@@@ FIN FREEATTR @@@') ; nextline ; 406 END ; 407 $OPTIONS compile = true $ 408 END (* FREEATTR *) ; 409 410 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM modattr *** ON 11/12/86 *** PAGE 30 411 412 (* ************************************ LVALVARBL ***************************** *) 413 414 PROCEDURE lvalvarbl (VAR fattr : attr) ; 415 416 (* C .MUST BE CALLED ONLY FOR "LVAL" 417* .CHANGES THIS ATTR INTO A VARIABLE DIRECT FROM CURRENT LEVEL. 418* EITHER FOR A SAVED REGISTER 419* EITHER FOR PSR 420* .IN OTHER CASES NO OPERATION 421* C *) 422 (* E ERRORS DETECTED 423* 425 FATTR.KIND MUST BE LVAL 424* 426 FATTR.LDREGBLOC IS NIL 425* E *) 426 VAR 427 locdep : integer ; 428 BEGIN (* LVALVARBL *) 429 $OPTIONS compile = trace $ 430 IF stattrace > none THEN 431 BEGIN write (mpcogout, '@@@ DEBUT LVALVARBL @@@') ; nextline ; 432 END ; 433 $OPTIONS compile = true $ 434 $OPTIONS compile = security $ 435 IF fattr.kind # lval THEN error (425) ELSE 436 IF fattr.ldregbloc = NIL THEN error (426) ELSE 437 $OPTIONS compile = true $ 438 WITH fattr DO 439 BEGIN 440 IF ldregbloc@.saveplace # 0 THEN (* SAVED REGISTER *) 441 locdep := ldregbloc@.saveplace ELSE 442 IF ldreg = psr THEN 443 locdep := psrdepb ELSE 444 locdep := 0 ; 445 IF locdep # 0 THEN 446 BEGIN 447 freebloc (ldregbloc) ; 448 (* NOW CHANGE FATTR *) 449 initattrvarbl (fattr) ; 450 dplmt := locdep ; 451 $OPTIONS compile = trace $ 452 IF stattrace > none THEN 453 BEGIN write (mpcogout, '* LVALVARBL .ATTR RECEIVED BECOMES DIRECT') ; 454 nextline ; 455 END ; 456 $OPTIONS compile = true $ 457 END ; 458 END (* WITH FATTR *) ; 459 $OPTIONS compile = trace $ 460 IF stattrace > low THEN 461 BEGIN 462 write (mpcogout, '@@@ FIN LVALVARBL @@@') ; nextline ; 463 END ; 464 $OPTIONS compile = true $ 465 END (* LVALVARBL *) ; 466 467 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM modattr *** ON 11/12/86 *** PAGE 31 468 469 (* ************************************ CONVREAL ****************************** *) 470 471 PROCEDURE convreal (VAR fattr : attr) ; 472 473 (* C WORKS ON A NUMERIC ATTR 474* .SVAL CHANGE IT IN RSVAL 475* .NOT LVAL TRANSFER AND CALL OPERATOR 476* .LVAL SAVED TRANSFER. ,OPERATOR. 477* C *) 478 (* E ERRORS DETECTED 479* 402: TYPTR@.FORM MUST BE NUMERIC 480* 411: TYPTR IS NIL 481* E *) 482 VAR 483 lop : integer ; 484 BEGIN (* CONVREAL *) 485 $OPTIONS compile = trace $ 486 IF stattrace > none THEN 487 BEGIN 488 write (mpcogout, '@@@ DEBUT CONVREAL @@@') ; nextline ; 489 END ; 490 $OPTIONS compile = true $ 491 $OPTIONS compile = security $ 492 IF fattr.typtr = NIL THEN error (411) ELSE 493 IF fattr.typtr@.form # numeric THEN error (402) ELSE 494 $OPTIONS compile = true $ 495 WITH fattr DO 496 BEGIN 497 IF kind = sval THEN 498 rsval := val ELSE 499 IF declarationpart THEN illegal_generation := true 500 ELSE 501 BEGIN 502 IF kind = lval THEN 503 lvalvarbl (fattr) ; 504 IF kind # lval THEN 505 transfer (fattr, inacc) ; 506 IF ldreg = ra THEN 507 BEGIN 508 sauvereg (rq, false) ; lop := rafltplace ; 509 END ELSE 510 BEGIN 511 sauvereg (ra, false) ; lop := rqfltplace ; 512 END ; 513 genstand (pr0, lop, itsp3, tn) ; 514 freebloc (ldregbloc) ; newbloc (reaq) ; 515 ldreg := reaq ; ldregbloc := currentbloc ; 516 END ; 517 typtr := realptr ; 518 END (* WITH FATTR *) ; 519 $OPTIONS compile = trace $ 520 IF stattrace > low THEN 521 BEGIN 522 write (mpcogout, '@@@ FIN CONVREAL @@@') ; nextline ; 523 END ; 524 $OPTIONS compile = true $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM modattr *** ON 11/12/86 *** PAGE 32 525 END (* CONVREAL *) ; 526 527 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM modattr *** ON 11/12/86 *** PAGE 33 528 529 (* ***************************** IS_POSSIBLE_STRING *********************** *) 530 531 FUNCTION is_possible_string (VAR fattr : attr) : boolean ; 532 533 BEGIN 534 IF fattr.typtr = NIL THEN is_possible_string := false ELSE 535 is_possible_string := isstring (fattr) OR (fattr.typtr^.father_schema = string_ptr) OR (fattr.typtr = charptr) ; 536 END ; 537 538 BEGIN 539 END. *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM modattr *** ON 11/12/86 *** PAGE 34 NO COMPILATION ERROR STORAGE REQUIREMENTS FOR OBJECT SEGMENT Object Text Defs Links Static Symbol Start 0 0 3651 4260 4270 4376 Length 4742 3651 407 116 0 330 SOURCE FILES USED IN THIS COMPILATION NUMBER DATE MODIFIED PATHNAME 0 11/12/86 1607.7 >spec>install>1212>MODATTR.pascal 1 11/12/86 1528.2 >spec>install>1212>CONSTTYPE.incl.pascal NAMES DECLARED AND REFERENCED accbloc field disp:20, size:10 ; pointer ; DEF: 1-910 ; REF: 183 399* accbool field disp:30, size:4 ; boolean ; DEF: 1-911 ; REF: 182 399 access field disp:70, size:4 ; scalar ; DEF: 1-871 ; REF: 158 206* 313 aeltype field disp:200, size:10 ; pointer ; DEF: 1-546 ; REF: 253 288 alfa type packed array of (char) ; DEF: 1-398 ; REF: 101 102 alfaconst const scalar, ord=2 ; DEF: 1-416 ; REF: 1-569 alfactp field disp:20, size:10 ; pointer ; DEF: 1-897 ; REF: 167 alfaid type packed array of (char) ; DEF: 1-399 ; REF: 1-404 1-436 1-446 1-447 1-496 1-508 1-965 alfaleng const numeric ; DEF: 1-35 ; REF: 1-398 alfalist type record ; DEF: 1-402 ; REF: 1-401 alfalistptr type pointer ; DEF: 1-401 ; REF: 1-403 alfapt type pointer ; DEF: 1-419 ; REF: 1-421 1-569 alfavalue type record ; DEF: 1-420 ; REF: 1-419 aliastype const scalar, ord=10 ; DEF: 1-413 ; REF: 1-563 arrays const scalar, ord=5 ; DEF: 1-412 ; REF: 1-546 251 286 attr type record ; DEF: 1-849 ; REF: 120 130 197 267 303 335 379 414 471 531 attraccess type scalar ; DEF: 1-813 ; REF: 1-871 101 attrkind type scalar ; DEF: 1-812 ; REF: 1-852 102 basebloc field disp:30, size:10 ; pointer ; DEF: 1-858 ; REF: 152 205* 395* basereg field disp:20, size:4 ; scalar subrange ; DEF: 1-856 ; REF: 151 204* 395 binartype type packed array of (integer) ; DEF: 1-810 ; REF: 1-811 1-811 bitsinbyte const numeric ; DEF: 1-63 ; REF: 1-78 1-79 bitsinword const numeric ; DEF: 1-78 ; REF: 1-80 1-92 1-111 1-115 1-117 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: 81 ; REF: 42 139 190 bytesinhword const numeric ; DEF: 1-65 ; REF: 1-79 bytesinword const numeric ; DEF: 1-64 ; REF: 1-65 1-66 1-71 1-72 1-78 1-110 1-128 1-276 chain const scalar, ord=3 ; DEF: 1-812 ; REF: 1-894 167 283 400 char_const_token const scalar, ord=3 ; DEF: 1-491 ; REF: 1-499 charptr var global imported, size:10 ; pointer ; DEF: 82 ; REF: 43 253 288 535 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: 293 consttype type scalar ; DEF: 1-416 ; REF: 1-566 contexttable type record ; DEF: 1-507 ; REF: 1-433 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 82 87 88 89 225 229 currentbloc var global imported, size:10 ; pointer ; DEF: 97 ; REF: 52 515 cwith const scalar, ord=1 ; DEF: 1-622 ; REF: 1-636 declarationpart var global imported, size:4 ; boolean ; DEF: 83 ; REF: 45 499 descbloc field disp:130, size:10 ; pointer ; DEF: 1-881 ; REF: 160 216* 397* descreg field disp:120, size:4 ; scalar subrange ; DEF: 1-880 ; REF: 160 215* destination type scalar ; DEF: 1-814 ; REF: 120 direct const scalar, ord=0 ; DEF: 1-813 ; REF: 206 313 dplmt field disp:40, size:4 ; integer ; DEF: 1-861 ; REF: 152 207* 450* dummyclass const scalar, ord=7 ; DEF: 1-415 ; REF: 1-615 dwordconst const scalar, ord=1 ; DEF: 1-416 ; REF: 1-568 easyv var local to easyvar, loc:144, size:4 ; boolean ; DEF: 346 ; REF: 348* 363* 365* 366 370 ensaccessible type set of (scalar) ; DEF: 1-461 ; REF: 1-527 envstandard var global imported, size:4 ; scalar ; DEF: 84 ; REF: 44 291 error proc level 0, imported ; DEF: 108 ; REF: 26 356 357 435 436 492 493 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: 535 fattr var var parameter of is_possible_string, size:150 ; record ; DEF: 531 ; REF: 534 535* 535 535 fattr var var parameter of convreal, size:150 ; record ; DEF: 471 ; REF: 492 493 495 497 498* 498 502 503* 504 505* 506 514* 515* 515* 517* fattr var var parameter of lvalvarbl, size:150 ; record ; DEF: 414 ; REF: 435 436 438 440 441 442 447* 449* 450* fattr var var parameter of freeattr, size:150 ; record ; DEF: 379 ; REF: 391 392 393* 395 395* 396 396* 397* 399 399* fattr var var parameter of easyvar, size:150 ; record ; DEF: 335 ; REF: 356 357 359 360 361 362 364 fattr var var parameter of varissimple, size:150 ; record ; DEF: 303 ; REF: 312 313 314 314 315 316 fattr var var parameter of isstring, size:150 ; record ; DEF: 267 ; REF: 281 282 283 285 fattr var var parameter of initattrvarbl, size:150 ; record ; DEF: 197 ; REF: 200 202* 203* 204* 205* 206* 207* 208* 209* 210* 211* 212* 213* 214* 215* 216* 217* fattr var var parameter of printattr, size:150 ; record ; DEF: 130 ; REF: 141 143 146 147 149 151 151 152 152 153 155 156 156 156 158 159 160 160 163 164 165 165 167 169 170 171 173 175 177 179 182 183 184 field const scalar, ord=5 ; DEF: 1-415 ; REF: 1-608 filelocation type scalar ; DEF: 1-437 ; REF: 1-598 files const scalar, ord=9 ; DEF: 1-413 ; REF: 1-555 fldtype field disp:120, size:10 ; pointer ; DEF: 1-608 ; REF: 238 241 249 250 form field disp:174, size:4 ; scalar ; DEF: 1-533 ; REF: 173 236 243 251 255 286 290 493 freebloc proc level 0, imported ; DEF: 113 ; REF: 29 393 395 396 397 399 447 514 fstfld field disp:210, size:10 ; pointer ; DEF: 1-554 ; REF: 237 238 238 240 ftp type pointer ; DEF: 1-484 ; REF: 1-488 1-493 1-521 genstand proc level 0, imported ; DEF: 124 ; REF: 36 513 halfword type integer ; DEF: 1-809 ; REF: 1-810 hi field disp:230, size:4 ; integer ; DEF: 1-549 ; REF: 256 icmpc const scalar, ord=513 ; DEF: 1-754 ; REF: 1-782 idkinds type scalar ; DEF: 1-406 ; REF: 1-452 1-572 1-597 idklass type scalar ; DEF: 1-415 ; REF: 1-515 idprocdef type scalar ; DEF: 1-417 ; REF: 1-590 idv3d const scalar, ord=539 ; DEF: 1-757 ; REF: 1-782 ieaa const scalar, ord=0 ; DEF: 1-679 ; REF: 1-781 illegal_generation var global imported, size:4 ; boolean ; DEF: 92 ; REF: 40 499* inacc const scalar, ord=0 ; DEF: 1-814 ; REF: 505 incbloc type scalar ; DEF: 1-462 ; REF: 1-585 initattrvarbl proc level 0, exportable ; DEF: 197 ; REF: 65 449 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 inxbloc field disp:50, size:10 ; pointer ; DEF: 1-867 ; REF: 156 209* 362 364 396* inxmem field disp:60, size:4 ; integer ; DEF: 1-868 ; REF: 156 210* 316 361 inxmemrw field disp:64, size:4 ; boolean ; DEF: 1-870 ; REF: 156 211* inxreg field disp:44, size:4 ; scalar ; DEF: 1-862 ; REF: 155 208* 315 396 inxtype field disp:210, size:10 ; pointer ; DEF: 1-546 ; REF: 254 255 289 290 irpd const scalar, ord=540 ; DEF: 1-759 ; REF: 1-783 irpt const scalar, ord=542 ; DEF: 1-759 ; REF: 1-783 isstring funct level 0, exportable ; boolean ; DEF: 267 ; REF: 67 280* 284* 294* 296* 535 istand type scalar subrange ; DEF: 1-781 ; REF: 124 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 it var local to printattr, loc:142, size:4 ; integer ; DEF: 137 ; REF: 176* 177 itsdplmt field disp:74, size:4 ; integer ; DEF: 1-877 ; REF: 159 212* itsp3 const scalar, ord=389 ; DEF: 1-733 ; REF: 513 iunresolv type record ; DEF: 1-828 ; REF: 1-824 kind field disp:10, size:4 ; scalar ; DEF: 1-852 ; REF: 147 149 202* 283 357 392 435 497 502 504 konst const scalar, ord=2 ; DEF: 1-415 ; REF: 1-564 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 lcond const scalar, ord=1 ; DEF: 1-812 ; REF: 1-908 181 399 lcstpt type pointer ; DEF: 1-826 ; REF: 1-841 ldreg field disp:14, size:4 ; scalar ; DEF: 1-889 ; REF: 163 165 442 506 515* ldregbloc field disp:20, size:10 ; pointer ; DEF: 1-890 ; REF: 164 393* 436 440 441 447* 514* 515* level var global imported, size:4 ; numeric 0..20 ; DEF: 85 ; REF: 46 203 314 levrange type numeric 0..20 ; DEF: 1-418 ; REF: 1-526 1-558 1-573 1-581 1-601 1-636 1-855 85 levtrace type scalar ; DEF: 1-624 ; REF: 100 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 lo field disp:224, size:4 ; integer ; DEF: 1-549 ; REF: 256 294 locbool var local to is_pl1_varying_char, loc:144, size:4 ; boolean ; DEF: 228 ; REF: 233* 257* 261 locctp_1 var local to is_pl1_varying_char, loc:146, size:10 ; pointer ; DEF: 229 ; REF: 240* 241 247 locctp_2 var local to is_pl1_varying_char, loc:150, size:10 ; pointer ; DEF: 229 ; REF: 247* 248 248 249 250 locdep var local to lvalvarbl, loc:142, size:4 ; integer ; DEF: 427 ; REF: 441* 443* 444* 445 450 locmax var local to is_pl1_varying_char, loc:152, size:4 ; integer ; DEF: 230 ; REF: 246* 256 longalfbox const numeric ; DEF: 1-22 ; REF: 1-422 longv field disp:70, size:4 ; integer ; DEF: 1-905 ; REF: 175 lop var local to convreal, loc:142, size:4 ; integer ; DEF: 483 ; REF: 508* 511* 513 low const scalar, ord=1 ; DEF: 1-624 ; REF: 321 368 403 460 520 lval const scalar, ord=2 ; DEF: 1-812 ; REF: 1-887 162 393 435 502 504 lvalvarbl proc level 0, exportable ; DEF: 414 ; REF: 68 503 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 maxprused var global imported, size:4 ; scalar subrange ; DEF: 98 ; REF: 53 395 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 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: 86 ; REF: 47 139 144 146 151 155 158 160 163 165 167 170 172 175 177 179 182 190 277 323 352 370 388 405 431 453 462 488 522 name_token const scalar, ord=1 ; DEF: 1-491 ; REF: 1-496 nameaddr field disp:110, size:10 ; pointer ; DEF: 1-879 ; REF: 214* newbloc proc level 0, imported ; DEF: 114 ; REF: 30 514 nextline proc level 0, imported ; DEF: 109 ; REF: 27 139 148 154 157 189 190 277 325 352 370 388 405 431 454 462 488 522 nilptr var global imported, size:10 ; pointer ; DEF: 87 ; REF: 48 171 nmax field disp:210, size:4 ; integer ; DEF: 1-535 ; REF: 246 nmin field disp:204, size:4 ; integer ; DEF: 1-535 ; REF: 244 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: 275 350 386 430 452 486 nreg const scalar, ord=0 ; DEF: 1-774 ; REF: 1-777 215 numeric const scalar, ord=1 ; DEF: 1-412 ; REF: 1-535 243 255 290 493 nxreg const scalar, ord=10 ; DEF: 1-775 ; REF: 208 315 396 nxtel field disp:40, size:10 ; pointer ; DEF: 1-509 ; REF: 238 247 248 objaccessibles type scalar ; DEF: 1-460 ; REF: 1-461 pack field disp:124, size:4 ; boolean ; DEF: 1-525 ; REF: 252 287 pagesinsegment const numeric ; DEF: 1-69 ; REF: 1-70 pckd field disp:100, size:4 ; boolean ; DEF: 1-878 ; REF: 153 213* 360 pointer const scalar, ord=3 ; DEF: 1-412 ; REF: 1-541 power const scalar, ord=4 ; DEF: 1-412 ; REF: 1-543 173 pr0 const scalar, ord=6 ; DEF: 1-774 ; REF: 513 pr6 const scalar, ord=9 ; DEF: 1-774 ; REF: 1-777 204 preg type scalar subrange ; DEF: 1-777 ; REF: 1-856 1-880 98 124 printstatusregister proc level 0, imported ; DEF: 115 ; REF: 31 140 proc const scalar, ord=3 ; DEF: 1-415 ; REF: 1-571 procblock const scalar, ord=0 ; DEF: 1-938 ; REF: 1-945 proclocation type scalar ; DEF: 1-439 ; REF: 1-577 profarea type array of (integer) ; DEF: 1-934 ; REF: 1-933 psr const scalar, ord=24 ; DEF: 1-776 ; REF: 165 442 psrdepb const numeric ; DEF: 1-284 ; REF: 443 psrsize field disp:30, size:4 ; integer ; DEF: 1-891 ; REF: 165 ptexternalitem type pointer ; DEF: 1-444 ; REF: 1-448 1-578 1-607 ra const scalar, ord=20 ; DEF: 1-776 ; REF: 506 511 rafltplace const numeric ; DEF: 1-182 ; REF: 508 rcstpt type pointer ; DEF: 1-825 ; REF: 1-836 real_const_token const scalar, ord=4 ; DEF: 1-491 ; REF: 1-498 realptr var global imported, size:10 ; pointer ; DEF: 88 ; REF: 49 169 517 reaq const scalar, ord=23 ; DEF: 1-776 ; REF: 514 515 records const scalar, ord=6 ; DEF: 1-412 ; REF: 1-554 236 recvar field disp:200, size:10 ; pointer ; DEF: 1-554 ; REF: 237 reel const scalar, ord=0 ; DEF: 1-412 ; REF: 1-534 reflist type record ; DEF: 1-426 ; REF: 1-425 refptr type pointer ; DEF: 1-425 ; REF: 1-427 1-512 1-649 regbox type record ; DEF: 1-817 ; REF: 1-816 register type scalar ; DEF: 1-774 ; REF: 1-777 1-819 1-862 1-889 1-920 99 114 116 regname var global imported, size:154 ; array of (array of (char)) ; DEF: 99 ; REF: 54 151 155 160 163 regpt type pointer ; DEF: 1-816 ; REF: 1-821 1-822 1-858 1-867 1-881 1-890 1-910 97 113 rq const scalar, ord=21 ; DEF: 1-776 ; REF: 508 rqfltplace const numeric ; DEF: 1-183 ; REF: 511 rsval field disp:20, size:10 ; real ; DEF: 1-903 ; REF: 170 498* runresolv type record ; DEF: 1-833 ; REF: 1-825 sauvereg proc level 0, imported ; DEF: 116 ; REF: 32 508 511 saveplace field disp:4, size:4 ; integer ; DEF: 1-820 ; REF: 364 440 441 scalar const scalar, ord=2 ; DEF: 1-412 ; REF: 1-536 schema const scalar, ord=0 ; DEF: 1-415 ; REF: 1-516 schema_token type record ; DEF: 1-492 ; REF: 1-484 schema_token_kind type scalar ; DEF: 1-491 ; REF: 1-494 setarray type array of (integer) ; DEF: 1-815 ; REF: 1-839 1-844 1-904 setrange const numeric ; DEF: 1-92 ; REF: 1-93 1-94 shrtint type numeric -131072..131071 ; DEF: 1-619 ; REF: 1-671 stattrace var global imported, size:4 ; scalar ; DEF: 100 ; REF: 55 275 321 350 368 386 403 430 452 460 486 520 stdextend const scalar, ord=3 ; DEF: 1-435 ; REF: 291 stdkind type scalar ; DEF: 1-435 ; REF: 84 string_ptr var global imported, size:10 ; pointer ; DEF: 89 ; REF: 50 535 sttmap type array of (record) ; DEF: 1-925 ; REF: 1-924 sval const scalar, ord=4 ; DEF: 1-812 ; REF: 1-900 168 400 497 symbol_token const scalar, ord=0 ; DEF: 1-491 ; REF: 1-495 tabacc var global imported, size:40 ; array of (array of (char)) ; DEF: 101 ; REF: 56 158 tabkind var global imported, size:50 ; array of (array of (char)) ; DEF: 102 ; REF: 57 147 tag type scalar ; DEF: 1-766 ; REF: 1-778 124 tagfield const scalar, ord=6 ; DEF: 1-415 ; REF: 1-610 temporary field disp:144, size:4 ; boolean ; DEF: 1-883 ; REF: 217* tn const scalar, ord=0 ; DEF: 1-766 ; REF: 1-778 513 transf field disp:34, size:4 ; integer ; DEF: 1-912 ; REF: 184 transfer proc level 0, imported ; DEF: 120 ; REF: 34 505 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 typectp var var parameter of is_pl1_varying_char, size:10 ; pointer ; DEF: 225 ; REF: 234 235 types const scalar, ord=1 ; DEF: 1-415 ; REF: 1-523 typform type scalar ; DEF: 1-412 ; REF: 1-533 typtr field disp:0, size:10 ; pointer ; DEF: 1-851 ; REF: 143 146 169 171 173 282 285 356 492 493 517* 534 535 535 usednamesarray type packed array of (pointer) ; DEF: 1-973 ; REF: 1-974 1-974 val field disp:14, size:4 ; integer ; DEF: 1-902 ; REF: 179 498 valpw field disp:30, size:40 ; array of (integer) ; DEF: 1-904 ; REF: 177 vararea type scalar ; DEF: 1-939 ; REF: 1-953 varbl const scalar, ord=0 ; DEF: 1-812 ; REF: 1-854 150 202 357 394 variss var local to varissimple, loc:144, size:4 ; boolean ; DEF: 309 ; REF: 311* 318* 319 324 vars const scalar, ord=4 ; DEF: 1-415 ; REF: 1-596 vlev field disp:14, size:4 ; numeric 0..20 ; DEF: 1-855 ; REF: 151 203* 314 314 vwith const scalar, ord=2 ; DEF: 1-622 ; REF: 1-637 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 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 activated field disp:54, size:4 ; boolean ; DEF: 1-967 active field disp:50, size:4 ; boolean ; DEF: 1-967 actual const scalar, ord=0 ; DEF: 1-406 actual_parameter_list field disp:160, size:10 ; pointer ; DEF: 1-530 add const scalar, ord=3 ; DEF: 1-919 adlx const scalar, ord=0 ; DEF: 1-918 adx const scalar, ord=1 ; DEF: 1-918 alfadeb field disp:150, size:10 ; pointer ; DEF: 1-569 alfalevel field disp:164, size:4 ; integer ; DEF: 1-570 alfalong field disp:160, size:4 ; integer ; DEF: 1-570 alfathread field disp:50, size:10 ; pointer ; DEF: 1-510 alfaval field disp:10, size:20 ; array of (char) ; DEF: 1-422 argcextplace * const numeric ; DEF: 1-205 argcplace * const numeric ; DEF: 1-204 argcshortplace * const numeric ; DEF: 1-203 argptw * const numeric ; DEF: 1-280 argvextplace * const numeric ; DEF: 1-208 argvplace * const numeric ; DEF: 1-207 argvshortplace * const numeric ; DEF: 1-206 arraybound const scalar, ord=2 ; DEF: 1-406 askforexclusionplace * const numeric ; DEF: 1-363 asserrcode * const numeric ; DEF: 1-250 bad_date_time_parameter * const numeric ; DEF: 1-269 bad_string_index * const numeric ; DEF: 1-268 baseprocessdplmt * const numeric ; DEF: 1-345 begsy const scalar, ord=1 ; DEF: 1-669 binartypeptr * type pointer ; DEF: 1-811 bit29 * const numeric ; DEF: 1-142 bitsforset * const numeric ; DEF: 1-111 bitsindword * const numeric ; DEF: 1-80 bitsinhword * const numeric ; DEF: 1-79 blank const alphanumeric, 8 char(s) ; DEF: 1-138 blocenglob field disp:270, size:10 ; pointer ; DEF: 1-561 blockbox field disp:60, size:10 ; pointer ; DEF: 1-946 blocktp field disp:50, size:4 ; scalar ; DEF: 1-944 brother field disp:20, size:10 ; pointer ; DEF: 1-645 brother field disp:10, size:10 ; pointer ; DEF: 1-941 byteinbyte * const numeric ; DEF: 1-81 bytesforset * const numeric ; DEF: 1-110 byteshift * const numeric ; DEF: 1-82 bytesindword * const numeric ; DEF: 1-66 bytint * type numeric -256..255 ; DEF: 1-620 bytwidth field disp:134, size:4 ; integer ; DEF: 1-609 cadrage field disp:120, size:4 ; integer ; DEF: 1-524 caserrcode * const numeric ; DEF: 1-253 casesize field disp:114, size:4 ; integer ; DEF: 1-610 casetype field disp:140, size:10 ; pointer ; DEF: 1-613 caseval field disp:134, size:4 ; integer ; DEF: 1-614 cdspl field disp:344, size:4 ; integer ; DEF: 1-636 chaineentree field disp:260, size:10 ; pointer ; DEF: 1-583 checkbeforeeofplace * const numeric ; DEF: 1-157 checkbeforeeolnplace * const numeric ; DEF: 1-156 checkbeforetextreferenceplace * const numeric ; DEF: 1-158 checkbit * const numeric ; DEF: 1-236 chrerrcode * const numeric ; DEF: 1-245 clevel field disp:340, size:4 ; numeric 0..20 ; DEF: 1-636 clockopplace * const numeric ; DEF: 1-198 closeplace * const numeric ; DEF: 1-164 cmp const scalar, ord=5 ; DEF: 1-919 code const scalar, ord=1 ; DEF: 1-623 codebegin field disp:30, size:4 ; integer ; DEF: 1-942 codeend field disp:34, size:4 ; integer ; DEF: 1-942 compiled field disp:4, size:4 ; boolean ; DEF: 1-467 condcounterplace * const numeric ; DEF: 1-343 condit const scalar, ord=2 ; DEF: 1-460 condname field disp:0, size:40 ; packed array of (char) ; DEF: 1-965 confdimsize * const numeric ; DEF: 1-276 connectplace * const numeric ; DEF: 1-188 contexte * type scalar ; DEF: 1-623 contype field disp:130, size:10 ; pointer ; DEF: 1-565 convreal * proc level 0, exportable ; DEF: 471 ; REF: 61 creflist field disp:20, size:320 ; record ; DEF: 1-636 cstnext field disp:10, size:10 ; pointer ; DEF: 1-831 cstplace field disp:4, size:4 ; integer ; DEF: 1-830 current_parameter field disp:30, size:10 ; pointer ; DEF: 1-489 current_token field disp:20, size:10 ; pointer ; DEF: 1-488 data const scalar, ord=0 ; DEF: 1-623 dateopplace * const numeric ; DEF: 1-196 dclfile field disp:40, size:4 ; integer ; DEF: 1-647 dclline field disp:44, size:4 ; integer ; DEF: 1-647 deccode const scalar, ord=4 ; DEF: 1-623 deffile field disp:60, size:4 ; integer ; DEF: 1-511 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:64, size:4 ; integer ; DEF: 1-511 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 desc_vector_references field disp:170, size:4 ; integer ; DEF: 1-531 displimit * const numeric ; DEF: 1-15 disposeplace * const numeric ; DEF: 1-178 diverrcode * const numeric ; DEF: 1-251 dlkdepw * const numeric ; DEF: 1-285 domain field disp:210, size:10 ; pointer ; DEF: 1-542 dopevectorsize * const numeric ; DEF: 1-274 easyvar * funct level 0, exportable ; boolean ; DEF: 335 ; REF: 62 366* elem field disp:20, size:10 ; pointer ; DEF: 1-475 elset field disp:210, size:10 ; pointer ; DEF: 1-544 eltype field disp:220, size:10 ; pointer ; DEF: 1-542 emptyindex * const numeric ; DEF: 1-385 emptyplace * const numeric ; DEF: 1-367 encode const scalar, ord=3 ; DEF: 1-813 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 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 fconst field disp:210, size:10 ; pointer ; DEF: 1-538 fctdepl * const numeric ; DEF: 1-287 fctdeplw * const numeric ; DEF: 1-286 fdescsize * const numeric ; DEF: 1-304 feltype field disp:200, size:10 ; pointer ; DEF: 1-555 filen field disp:0, size:4 ; integer ; DEF: 1-430 fillimit * const numeric ; DEF: 1-17 finitdef const scalar, ord=4 ; DEF: 1-417 finitmoproc field disp:260, size:10 ; pointer ; DEF: 1-561 first field disp:20, size:10 ; pointer ; DEF: 1-657 first field disp:40, size:10 ; pointer ; DEF: 1-943 first_in_block field disp:20, size:10 ; pointer ; DEF: 1-666 firstfield field disp:140, size:10 ; pointer ; DEF: 1-614 firstglobal * const numeric ; DEF: 1-298 firstlabel field disp:100, size:10 ; pointer ; DEF: 1-948 fldaddr field disp:130, size:4 ; integer ; DEF: 1-609 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 formal_parameter_list field disp:130, size:10 ; pointer ; DEF: 1-519 formals field disp:130, size:10 ; pointer ; DEF: 1-571 forset * type scalar ; DEF: 1-807 forwdef const scalar, ord=1 ; DEF: 1-417 fposb * const numeric ; DEF: 1-311 fposw * const numeric ; DEF: 1-307 freeattr * proc level 0, exportable ; DEF: 379 ; REF: 64 freeexclusionplace * const numeric ; DEF: 1-364 french_bit * const numeric ; DEF: 1-240 freopenplace * const numeric ; DEF: 1-202 fsbadrw * const numeric ; DEF: 1-289 fsbpointersize * const numeric ; DEF: 1-305 fsizeb * const numeric ; DEF: 1-312 fsizew * const numeric ; DEF: 1-308 fstatusb * const numeric ; DEF: 1-310 fstatusw * const numeric ; DEF: 1-306 functionvaluecheckplace * const numeric ; DEF: 1-225 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 high const scalar, ord=3 ; DEF: 1-624 holdplace * const numeric ; DEF: 1-358 ia4bd const scalar, ord=501 ; DEF: 1-751 ia6bd const scalar, ord=502 ; DEF: 1-751 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 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 inxerrcode * const numeric ; DEF: 1-244 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 is_pl1_varying_char * funct level 0, exportable ; boolean ; DEF: 225 ; REF: 63 261* is_possible_string * funct level 0, exportable ; boolean ; DEF: 531 ; REF: 66 534* 535* 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 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 itsp0 const scalar, ord=386 ; DEF: 1-733 itsp1 const scalar, ord=387 ; DEF: 1-733 itsp2 const scalar, ord=388 ; DEF: 1-733 itsp4 const scalar, ord=390 ; DEF: 1-733 itsp5 const scalar, ord=391 ; DEF: 1-733 itsp6 const scalar, ord=392 ; DEF: 1-733 itsp7 const scalar, ord=393 ; DEF: 1-733 itss const scalar, ord=394 ; DEF: 1-734 itsx0 const scalar, ord=395 ; DEF: 1-734 itsx1 const scalar, ord=396 ; DEF: 1-734 itsx2 const scalar, ord=397 ; DEF: 1-734 itsx3 const scalar, ord=398 ; DEF: 1-734 itsx4 const scalar, ord=399 ; DEF: 1-734 itsx5 const scalar, ord=400 ; DEF: 1-734 itsx6 const scalar, ord=401 ; DEF: 1-734 itsx7 const scalar, ord=402 ; DEF: 1-735 ittf const scalar, ord=403 ; DEF: 1-735 ittn const scalar, ord=404 ; DEF: 1-735 itze const scalar, ord=405 ; DEF: 1-735 iufa const scalar, ord=185 ; DEF: 1-703 iufm const scalar, ord=193 ; DEF: 1-704 iufs const scalar, ord=189 ; DEF: 1-703 ixec const scalar, ord=408 ; DEF: 1-737 ixed const scalar, ord=409 ; DEF: 1-737 kind field disp:10, size:4 ; scalar ; DEF: 1-494 klass field disp:110, size:4 ; scalar ; DEF: 1-515 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 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 locincode field disp:164, size:4 ; integer ; DEF: 1-574 log10switch * const numeric ; DEF: 1-150 longblank const alphanumeric, 32 char(s) ; DEF: 1-139 longboxlist * const numeric ; DEF: 1-37 longfill field disp:30, size:4 ; integer ; DEF: 1-423 longplacew * const numeric ; DEF: 1-291 longprofileplace * const numeric ; DEF: 1-199 longstplacew * const numeric ; DEF: 1-293 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 medium const scalar, ord=2 ; DEF: 1-624 minexp * const numeric ; DEF: 1-120 minrealstring const alphanumeric, 20 char(s) ; DEF: 1-125 mlterrcode * const numeric ; DEF: 1-256 moaddr field disp:210, size:4 ; integer ; DEF: 1-559 moarglistw * const numeric ; DEF: 1-344 modul const scalar, ord=0 ; DEF: 1-460 module const scalar, ord=0 ; DEF: 1-459 modulentryplace * const numeric ; DEF: 1-360 modulinitsize * const numeric ; DEF: 1-134 modynlk * const numeric ; DEF: 1-342 mofatherdisp * const numeric ; DEF: 1-339 monit const scalar, ord=1 ; DEF: 1-460 monitor const scalar, ord=1 ; DEF: 1-459 monitorentryplace * const numeric ; DEF: 1-361 monitorinitsize * const numeric ; DEF: 1-135 monitormodule const scalar, ord=0 ; DEF: 1-462 motype field disp:200, size:4 ; scalar ; DEF: 1-557 mowaitsonsplace * const numeric ; DEF: 1-372 mreg * type scalar subrange ; DEF: 1-778 name field disp:20, size:40 ; packed array of (char) ; DEF: 1-404 name field disp:0, size:40 ; packed array of (char) ; DEF: 1-508 nbparmo field disp:214, size:4 ; integer ; DEF: 1-559 nbparproc field disp:160, size:4 ; integer ; DEF: 1-574 nbr field disp:0, size:4 ; numeric 0..25 ; DEF: 1-627 neg const scalar, ord=4 ; DEF: 1-919 negexpplace * const numeric ; DEF: 1-375 newplace * const numeric ; DEF: 1-177 next field disp:10, size:10 ; pointer ; DEF: 1-403 next field disp:0, size:10 ; pointer ; DEF: 1-493 next field disp:10, size:10 ; pointer ; DEF: 1-644 next field disp:10, size:10 ; pointer ; DEF: 1-656 next field disp:10, size:10 ; pointer ; DEF: 1-665 next_for_schema field disp:120, size:10 ; pointer ; DEF: 1-518 next_in_block field disp:100, size:10 ; pointer ; DEF: 1-653 next_sp_place * const numeric ; DEF: 1-281 nextbloc field disp:10, size:10 ; pointer ; DEF: 1-821 nextcond field disp:40, size:10 ; pointer ; DEF: 1-966 nextexitelem field disp:0, size:10 ; pointer ; DEF: 1-480 nextnode field disp:10, size:10 ; pointer ; DEF: 1-474 nextproc field disp:110, size:10 ; pointer ; DEF: 1-949 nextref field disp:0, size:10 ; pointer ; DEF: 1-427 nextval field disp:0, size:10 ; pointer ; DEF: 1-421 nilleft * const numeric ; DEF: 1-75 nilright * const numeric ; DEF: 1-76 niveau field disp:204, size:4 ; numeric 0..20 ; DEF: 1-558 noerrorcond * const numeric ; DEF: 1-107 norange * type numeric 0..63 ; DEF: 1-621 normalplace * const numeric ; DEF: 1-374 notafile const scalar, ord=0 ; DEF: 1-437 notpredef const scalar, ord=0 ; DEF: 1-439 npksize field disp:200, size:4 ; integer ; DEF: 1-535 ntwotobyte * const numeric ; DEF: 1-89 ntwotohword * const numeric ; DEF: 1-90 number field disp:0, size:4 ; integer ; DEF: 1-642 numberstring * type packed array of (char) ; DEF: 1-397 o41 * const numeric ; DEF: 1-144 o43 * const numeric ; DEF: 1-145 objaccedes field disp:140, size:10 ; set of (scalar) ; DEF: 1-527 occur field disp:10, size:4 ; scalar ; DEF: 1-634 occurence * type record ; DEF: 1-670 on field disp:0, size:4 ; boolean ; DEF: 1-486 opt2 field disp:234, size:4 ; integer ; DEF: 1-549 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 packednil * const numeric ; DEF: 1-77 pageplace * const numeric ; DEF: 1-171 parameter_count field disp:140, size:4 ; integer ; DEF: 1-520 parerrcode * const numeric ; DEF: 1-252 parmproccheckplace * const numeric ; DEF: 1-223 pascdebstacklocal * const numeric ; DEF: 1-130 pascoperatorsdep * const numeric ; DEF: 1-232 pckerrcode * const numeric ; DEF: 1-254 pclength * const numeric ; DEF: 1-321 pdescsaddrplace field disp:350, size:4 ; integer ; DEF: 1-592 permanentfile const scalar, ord=1 ; DEF: 1-437 pextcalltrapinfoplace field disp:360, size:4 ; integer ; DEF: 1-594 phasdescriptor field disp:210, size:4 ; boolean ; DEF: 1-576 phl * const numeric ; DEF: 1-323 pisrefincode field disp:204, size:4 ; boolean ; DEF: 1-575 place field disp:14, size:4 ; integer ; DEF: 1-430 place field disp:4, size:4 ; numeric -131072..131071 ; DEF: 1-671 ploc field disp:214, size:4 ; scalar ; DEF: 1-577 pointable const scalar, ord=2 ; DEF: 1-813 pointee const scalar, ord=1 ; DEF: 1-813 ppksize field disp:200, size:4 ; integer ; DEF: 1-543 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 predefproc field disp:174, size:4 ; boolean ; DEF: 1-575 previous field disp:0, size:10 ; pointer ; DEF: 1-403 previous field disp:0, size:10 ; pointer ; DEF: 1-656 previous field disp:0, size:10 ; pointer ; DEF: 1-665 previousnode field disp:0, size:10 ; pointer ; DEF: 1-474 printattr * proc level 0, exportable ; DEF: 130 ; REF: 69 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 procaddr field disp:150, size:4 ; integer ; DEF: 1-574 procdef field disp:340, size:4 ; scalar ; DEF: 1-590 proce field disp:20, size:10 ; pointer ; DEF: 1-469 processentryplace * const numeric ; DEF: 1-354 processlocaldplmt * const numeric ; DEF: 1-348 processreturnplace * const numeric ; DEF: 1-357 processus field disp:244, size:4 ; boolean ; DEF: 1-582 procextitem field disp:220, size:10 ; pointer ; DEF: 1-578 procfatherdisp * const numeric ; DEF: 1-340 procfirstexit field disp:310, size:10 ; pointer ; DEF: 1-586 procfirsttofinit field disp:320, size:10 ; pointer ; DEF: 1-587 procincbloc field disp:300, size:4 ; scalar ; DEF: 1-585 procinscope field disp:200, size:4 ; boolean ; DEF: 1-575 procisactive field disp:354, size:4 ; boolean ; DEF: 1-593 procisassigned field disp:170, size:4 ; boolean ; DEF: 1-575 prockind field disp:140, size:4 ; scalar ; DEF: 1-572 proclevel field disp:144, size:4 ; numeric 0..20 ; DEF: 1-573 procmodlkw * const numeric ; DEF: 1-341 procnode field disp:270, size:10 ; pointer ; DEF: 1-584 procnode field disp:30, size:10 ; pointer ; DEF: 1-646 procparmsize * const numeric ; DEF: 1-132 procstackinitsize field disp:330, size:4 ; integer ; DEF: 1-588 proctype field disp:120, size:10 ; pointer ; DEF: 1-571 procwasforwarddef field disp:334, size:4 ; boolean ; DEF: 1-589 prof * const numeric ; DEF: 1-333 profareaptr * type pointer ; DEF: 1-933 prstatic const scalar, ord=7 ; DEF: 1-774 psrdepw * const numeric ; DEF: 1-283 psrinbytes * const numeric ; DEF: 1-113 ptentr field disp:240, size:10 ; pointer ; DEF: 1-560 pthigh field disp:230, size:10 ; pointer ; DEF: 1-551 ptlimit * const numeric ; DEF: 1-14 ptlow field disp:240, size:10 ; pointer ; DEF: 1-551 ptpar field disp:220, size:10 ; pointer ; DEF: 1-560 ptpksize field disp:200, size:4 ; integer ; DEF: 1-541 ptvarloc field disp:230, size:10 ; pointer ; DEF: 1-560 ptypesymbolplace field disp:230, size:4 ; integer ; DEF: 1-579 pure field disp:250, size:4 ; boolean ; DEF: 1-582 pureentryplace * const numeric ; DEF: 1-377 putdirplace * const numeric ; DEF: 1-184 putseqplace * const numeric ; DEF: 1-173 puttextplace * const numeric ; DEF: 1-172 pwantdescs field disp:344, size:4 ; boolean ; DEF: 1-591 pwantspl1descriptors field disp:364, size:4 ; boolean ; DEF: 1-595 racmaxint * const numeric ; DEF: 1-87 randinterrcode * const numeric ; DEF: 1-258 randintplace * const numeric ; DEF: 1-376 raq const scalar, ord=22 ; DEF: 1-776 re const scalar, ord=25 ; DEF: 1-776 readlnplace * const numeric ; DEF: 1-167 readseqplace * const numeric ; DEF: 1-166 readtextplace * const numeric ; DEF: 1-165 realtype field disp:200, size:10 ; pointer ; DEF: 1-563 recidscope * type record ; DEF: 1-632 recordptr field disp:110, size:10 ; pointer ; DEF: 1-957 recur field disp:234, size:4 ; integer ; DEF: 1-580 recursive field disp:10, size:4 ; boolean ; DEF: 1-467 ref_allowed field disp:70, size:10 ; record ; DEF: 1-650 references field disp:70, size:10 ; pointer ; DEF: 1-512 references field disp:60, size:10 ; pointer ; DEF: 1-649 refnbr field disp:10, size:4 ; integer ; DEF: 1-428 refs field disp:14, size:620 ; array of (record) ; DEF: 1-429 remanentfile const scalar, ord=8 ; DEF: 1-442 requiredfile const scalar, ord=9 ; DEF: 1-443 reset_stack_end_op_place * const numeric ; DEF: 1-227 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 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 scaleplacew * const numeric ; DEF: 1-292 schema_ptr field disp:10, size:10 ; pointer ; DEF: 1-487 schema_status * type record ; DEF: 1-485 scientplace * const numeric ; DEF: 1-161 segsize field disp:154, size:4 ; integer ; DEF: 1-574 selectorfield field disp:150, size:10 ; pointer ; DEF: 1-613 self_rel * const numeric ; DEF: 1-331 seterrcode * const numeric ; DEF: 1-255 setinargs field disp:60, size:4 ; boolean ; DEF: 1-967 setlength field disp:220, size:4 ; integer ; DEF: 1-545 setofno * type set of (numeric 0..63) ; DEF: 1-434 settinginactivequeueplace * const numeric ; DEF: 1-355 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 size field disp:114, size:4 ; integer ; DEF: 1-524 sizemax field disp:14, size:4 ; integer ; DEF: 1-468 smax field disp:214, size:4 ; integer ; DEF: 1-539 smin field disp:210, size:4 ; integer ; DEF: 1-539 solstandardbit * const numeric ; DEF: 1-239 son field disp:20, size:10 ; pointer ; DEF: 1-941 spksize field disp:200, size:4 ; integer ; DEF: 1-536 spri const scalar, ord=1 ; DEF: 1-917 sptcstepw field disp:220, size:10 ; pointer ; DEF: 1-538 sreadcharplace * const numeric ; DEF: 1-212 sreadintegerplace * const numeric ; DEF: 1-213 sreadrealplace * const numeric ; DEF: 1-214 sregister field disp:0, size:4 ; scalar ; DEF: 1-819 stackboundary * const numeric ; DEF: 1-128 standardfile const scalar, ord=4 ; DEF: 1-437 standdef const scalar, ord=0 ; DEF: 1-417 start field disp:30, size:4 ; integer ; DEF: 1-667 statearray * type array of (boolean) ; DEF: 1-920 statics const scalar, ord=0 ; DEF: 1-939 stdcompiler const scalar, ord=1 ; DEF: 1-435 stdcomputer const scalar, ord=4 ; DEF: 1-435 stdpure const scalar, ord=0 ; DEF: 1-435 stdsol const scalar, ord=2 ; DEF: 1-435 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 stwotobyte * const numeric ; DEF: 1-91 sub const scalar, ord=1 ; DEF: 1-919 subrng field disp:204, size:4 ; boolean ; DEF: 1-537 subroutine const scalar, ord=1 ; DEF: 1-462 subsize field disp:240, size:4 ; integer ; DEF: 1-549 substring_negative_length_error * const numeric ; DEF: 1-262 substring_offset_error * const numeric ; DEF: 1-261 substring_too_long_error * const numeric ; DEF: 1-263 succ field disp:120, size:10 ; pointer ; DEF: 1-565 succ field disp:0, size:4 ; numeric -131072..131071 ; DEF: 1-671 sucerrcode * const numeric ; DEF: 1-247 swritebooleanplace * const numeric ; DEF: 1-218 swritecharplace * const numeric ; DEF: 1-215 swriteenumplace * const numeric ; DEF: 1-222 swriteintegerplace * const numeric ; DEF: 1-219 swriterealdplace * const numeric ; DEF: 1-221 swriterealeplace * const numeric ; DEF: 1-220 swritestringplace * const numeric ; DEF: 1-216 swritesubstringplace * const numeric ; DEF: 1-217 sxl const scalar, ord=2 ; DEF: 1-918 symb * const numeric ; DEF: 1-335 symbolp field disp:10, size:310 ; array of (pointer) ; DEF: 1-628 symbolplace field disp:100, size:4 ; integer ; DEF: 1-513 symbtablerefs field disp:104, size:4 ; integer ; DEF: 1-514 t_char_value field disp:14, size:4 ; char ; DEF: 1-499 t_int_value field disp:14, size:4 ; integer ; DEF: 1-497 t_real_value field disp:20, size:10 ; real ; DEF: 1-498 tad const scalar, ord=43 ; DEF: 1-771 tagval field disp:130, size:4 ; boolean ; DEF: 1-612 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 taval field disp:14, size:40 ; packed array of (char) ; DEF: 1-496 tci const scalar, ord=40 ; DEF: 1-771 tcl field disp:20, size:4 ; integer ; DEF: 1-495 tdi const scalar, ord=44 ; DEF: 1-771 tdic const scalar, ord=45 ; DEF: 1-771 tdl const scalar, ord=7 ; DEF: 1-766 tdu const scalar, ord=3 ; DEF: 1-766 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 tlevel field disp:130, size:4 ; numeric 0..20 ; DEF: 1-526 tno field disp:14, size:4 ; integer ; DEF: 1-495 tny const scalar, ord=16 ; DEF: 1-768 token_list field disp:150, size:10 ; pointer ; DEF: 1-521 top_for_schema field disp:114, size:4 ; integer ; DEF: 1-517 tql const scalar, ord=6 ; DEF: 1-766 tqly const scalar, ord=22 ; DEF: 1-768 tqu const scalar, ord=2 ; DEF: 1-766 tquy const scalar, ord=18 ; DEF: 1-768 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 typofconst field disp:140, size:4 ; scalar ; DEF: 1-566 typofsymb * type scalar ; DEF: 1-669 typset field disp:220, size:10 ; pointer ; DEF: 1-540 typsig * type scalar ; DEF: 1-786 typusednames * type array of (array of (char)) ; DEF: 1-436 tyql const scalar, ord=54 ; DEF: 1-772 tyqu const scalar, ord=50 ; DEF: 1-772 tyx0 const scalar, ord=56 ; DEF: 1-773 tyx1 const scalar, ord=57 ; DEF: 1-773 tyx2 const scalar, ord=58 ; DEF: 1-773 tyx3 const scalar, ord=59 ; DEF: 1-773 tyx4 const scalar, ord=60 ; DEF: 1-773 tyx5 const scalar, ord=61 ; DEF: 1-773 tyx6 const scalar, ord=62 ; DEF: 1-773 tyx7 const scalar, ord=63 ; DEF: 1-773 tz23 const scalar, ord=19 ; DEF: 1-768 tz27 const scalar, ord=23 ; DEF: 1-768 tz42 const scalar, ord=34 ; DEF: 1-770 tz60 const scalar, ord=48 ; DEF: 1-772 unddeb field disp:170, size:4 ; integer ; DEF: 1-570 undmax * const numeric ; DEF: 1-21 uniformplace * const numeric ; DEF: 1-373 usednamesptr * type pointer ; DEF: 1-974 vaddr field disp:140, size:4 ; integer ; DEF: 1-599 valplacew * const numeric ; DEF: 1-290 valreel field disp:150, size:10 ; real ; DEF: 1-568 valu field disp:0, size:4 ; integer ; DEF: 1-829 values field disp:144, size:4 ; integer ; DEF: 1-567 variants field disp:120, size:10 ; pointer ; DEF: 1-611 varissimple * funct level 0, exportable ; boolean ; DEF: 303 ; REF: 70 319* varmo field disp:220, size:4 ; boolean ; DEF: 1-605 varparam field disp:200, size:4 ; boolean ; DEF: 1-603 vdescaddr field disp:150, size:4 ; integer ; DEF: 1-600 vdispl field disp:144, size:4 ; integer ; DEF: 1-600 vdspl field disp:340, size:4 ; integer ; DEF: 1-637 vfather field disp:230, size:10 ; pointer ; DEF: 1-606 vfilelocation field disp:134, size:4 ; scalar ; DEF: 1-598 visreadonly field disp:174, size:4 ; boolean ; DEF: 1-603 visrefincode field disp:204, size:4 ; boolean ; DEF: 1-603 visset field disp:170, size:4 ; boolean ; DEF: 1-603 visused field disp:164, size:4 ; boolean ; DEF: 1-603 vkind field disp:130, size:4 ; scalar ; DEF: 1-597 vlevel field disp:154, size:4 ; numeric 0..20 ; DEF: 1-601 vlink_is_generated field disp:160, size:4 ; boolean ; DEF: 1-602 vmo field disp:140, size:4 ; boolean ; DEF: 1-882 vnexttofinit field disp:210, size:10 ; pointer ; DEF: 1-604 vpack field disp:344, size:4 ; boolean ; DEF: 1-637 vptextitem field disp:240, size:10 ; pointer ; DEF: 1-607 vreflist field disp:20, size:320 ; record ; DEF: 1-637 vtimeplace * const numeric ; DEF: 1-370 vtype field disp:120, size:10 ; pointer ; DEF: 1-596 waitplace * const numeric ; DEF: 1-366 waitsonsplace * const numeric ; DEF: 1-356 wbase field disp:54, size:4 ; scalar ; DEF: 1-953 wdispl field disp:60, size:4 ; integer ; DEF: 1-954 windirect field disp:64, size:4 ; boolean ; DEF: 1-955 word1 field disp:0, size:4 ; integer ; DEF: 1-927 word2 field disp:4, size:4 ; integer ; DEF: 1-928 workfile const scalar, ord=2 ; DEF: 1-437 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 83 92 116 225 228 267 303 309 335 346 531 char type char ; REF: 1-397 1-398 1-399 1-400 1-422 1-499 81 99 false const scalar, ord=0 ; REF: 1-538 1-549 1-613 213 217 233 280 311 348 508 511 534 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 81 99 108 124 137 230 427 483 ord funct level 0 ; (standard) ; REF: 146 152 156 160 164 167 183 real type real ; REF: 1-498 1-568 1-834 1-903 text type text ; REF: 86 true const scalar, ord=1 ; REF: 1-539 1-550 1-614 211 257 284 294 296 318 363 365 499 write proc level 0 ; REF: 139 144 146 151 155 158 160 163 165 167 170 172 175 177 179 182 190 277 323 352 370 388 405 431 453 462 488 522 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 130 1 0 139 1 15 139 2 26 140 1 34 141 1 42 143 1 44 144 1 50 146 1 62 148 1 133 149 1 141 151 1 144 154 1 252 155 1 260 157 1 350 158 1 356 160 1 427 163 1 501 165 1 552 165 2 556 167 1 577 169 1 621 170 1 630 171 1 651 172 1 660 173 1 672 175 1 677 176 1 726 177 1 730 177 2 756 179 1 764 182 1 1005 186 1 1063 189 1 1110 190 1 1116 190 2 1127 191 1 1135 191 1 1136 197 1 1313 200 1 1330 202 1 1332 203 1 1334 204 1 1346 205 1 1351 206 1 1354 207 1 1356 208 1 1360 209 1 1363 210 1 1366 211 1 1370 212 1 1373 213 1 1375 214 1 1377 215 1 1402 216 1 1404 217 1 1407 219 1 1411 219 1 1412 225 1 1414 233 1 1431 234 1 1432 235 1 1436 236 1 1441 237 1 1445 238 1 1470 240 1 1517 241 1 1522 243 1 1526 244 1 1532 246 1 1535 247 1 1540 248 1 1543 249 1 1565 250 1 1572 251 1 1576 252 1 1602 253 1 1605 254 1 1615 255 1 1622 256 1 1630 257 1 1651 261 1 1653 262 1 1666 262 1 1672 267 1 1700 275 1 1715 277 1 1717 277 2 1730 280 1 1736 281 1 1741 282 1 1743 283 1 1747 284 1 1753 285 1 1760 286 1 1763 287 1 1767 288 1 1772 289 1 2002 290 1 2007 291 1 2015 293 1 2020 294 1 2023 294 2 2027 296 1 2034 297 1 2040 297 1 2044 303 1 2061 311 1 2076 312 1 2077 313 1 2101 314 1 2104 315 1 2124 316 1 2130 318 1 2133 319 1 2135 321 1 2150 323 1 2153 325 1 2175 328 1 2203 328 1 2207 335 1 2225 348 1 2242 350 1 2243 352 1 2245 352 2 2256 356 1 2264 356 2 2270 357 1 2303 357 2 2306 359 1 2321 360 1 2323 361 1 2326 362 1 2331 363 1 2336 364 1 2341 365 1 2346 366 1 2350 368 1 2363 370 1 2366 370 2 2410 373 1 2416 373 1 2422 379 1 2446 386 1 2463 388 1 2465 388 2 2476 391 1 2504 392 1 2506 393 1 2511 395 1 2523 395 2 2527 396 1 2540 396 2 2544 397 1 2555 399 1 2567 399 2 2572 401 1 2605 403 1 2632 405 1 2635 405 2 2646 408 1 2654 408 1 2655 414 1 2671 430 1 2706 431 1 2710 431 2 2721 435 1 2727 435 2 2733 436 1 2746 436 2 2753 438 1 2766 440 1 2770 441 1 2775 442 1 3003 443 1 3007 444 1 3012 445 1 3013 447 1 3015 449 1 3026 450 1 3036 452 1 3041 453 1 3043 454 1 3054 460 1 3062 462 1 3065 462 2 3076 465 1 3104 465 1 3105 471 1 3141 486 1 3156 488 1 3160 488 2 3171 492 1 3177 492 2 3203 493 1 3216 493 2 3223 495 1 3236 497 1 3240 498 1 3244 499 1 3252 499 2 3254 502 1 3257 503 1 3263 504 1 3273 505 1 3277 506 1 3313 508 1 3317 508 2 3335 511 1 3340 511 2 3356 513 1 3360 514 1 3406 514 2 3417 515 1 3431 515 2 3434 517 1 3437 520 1 3441 522 1 3444 522 2 3455 525 1 3463 525 1 3464 531 1 3503 534 1 3520 534 2 3524 535 1 3530 536 1 3605 536 1 3611 18 1 3620 18 1 3631 539 1 3640 539 1 3644 539 1 3646 ----------------------------------------------------------- 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