COMPILATION LISTING OF SEGMENT: >spec>install>1212>UNIQUE.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 1727.9 mst Wed options: map no_table full_extensions private_storage no_io_warnings no_interactive 1 (* ************************************************************************* 2* * * 3* * Copyright (c) 1980 by Centre Interuniversitaire de Calcul de Grenoble * 4* * and Institut National de Recherche en Informatique et Automatique * 5* * * 6* ************************************************************************* *) 7 8 9 10 11 (* HISTORY COMMENTS: 12* 1) change(86-09-11,JMAthane), approve(86-09-11,MCR7521), 13* audit(86-09-15,JPFauche), install(86-11-12,MR12.0-1212): 14* Release 8.03 for MR12 15* END HISTORY COMMENTS *) 16 17 18 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM *** ON 11/12/86 *** PAGE 2 19 20 $OPTIONS switch trace := true ; switch security := true ; t + $ 21 PROGRAM unique ; 22 23 $IMPORT 24 (* IMPORTED CONSTANTS *) 25 'pascal_constants_$max_real (alm)' : maxreal ; 26 'pascal_constants_$min_real_pos (alm)' : minreal ; 27 (* IMPORTED PROCEDURES *) 28 'RACINE (pascal)' : 29 error, 30 initracine, 31 insymbol, 32 nextline, 33 nextpage, 34 recadre, 35 returnstop, 36 skip, 37 statement_begins ; 38 'DECLARE (pascal)' : 39 checkexternalitem, 40 createexternalbox, 41 initdeclare ; 42 'GENERE (pascal)' : 43 initgen, 44 longint ; 45 'STATE (pascal)' : 46 initstate ; 47 'CONTEXTTABLE (pascal)' : 48 add_schema_token, 49 boundary, 50 bytesneeded, 51 create_konst_box, 52 create_proc_box, 53 create_vars_box, 54 create_schema_box, 55 create_types_box ; 56 (* IMPORTED VARIABLES *) 57 'RACINE (pascal)' : 58 alfaptr, 59 aval, 60 boolptr, 61 ch8flag, 62 charptr, 63 display, 64 errorflag, 65 errorsfound, 66 errtotal, 67 inputflag, 68 intptr, 69 lamptr, 70 listyes, 71 mapswitch, 72 maxstring_ptr, 73 mpcogout, 74 next, 75 nilptr, *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 3 76 no, 77 outputflag, 78 pageserrors, 79 pascalfrench, 80 pnumptr, 81 progname, 82 programnode, 83 realptr, 84 string_ptr, 85 symbolfile, 86 symbolindex, 87 symbolline, 88 textfilectp, 89 top, 90 undecptr, 91 usednames, 92 version ; 93 'DECLARE (pascal)' : 94 analyzing_schema, 95 decltrace, 96 hdrfile, 97 hdrindex, 98 hdrlength, 99 hdrline, 100 firstlabbox $ 101 102 $EXPORT 103 displaysymbols, 104 heaperror, 105 initclasse, 106 initialise, 107 progdecl, 108 prterrmeans, 109 statistiques $ 110 111 112 113 114 115 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 4 116 117 $INCLUDE 'CONSTTYPE' $(* BEGIN INCLUDE FILE CONSTTYPE.incl.pascal *) 1 2 1 3 (* HISTORY COMMENTS: 1 4* 1) change(86-09-11,JMAthane), approve(86-09-11,MCR7521), 1 5* audit(86-09-15,JPFauche), install(86-11-12,MR12.0-1212): 1 6* Release 8.03 for MR12 1 7* END HISTORY COMMENTS *) 1 8 1 9 CONST (* VERSION 7.05 *) 1 10 (* ARRAY'S BOUNDS *) 1 11 1 12 minno = 0 ; (* MIN VALUE FOR NO ; SEE TYPE NORANGE *) 1 13 maxno = 63 ; (* MAX VALUE FORNO ; " " " *) { Modified for SimOne } 1 14 ptlimit = 20 ; (* MAX FOR PTLIST 0 ..PTLIMIT *) 1 15 displimit = 30 ; (* " " DISPLAY ..DISPLIMIT *) 1 16 maxlabs = 50 ; (* " " LABTAB ..MAXLABS *) 1 17 fillimit = 50 ; (* " " FILPTS .. FILLIMIT *) 1 18 maxlevel = 20 ; (* SEE LEVRANGE TYPE *) 1 19 maxerrline = 16 ; (* MAX FOR ERRINX *) 1 20 maxerpg = 2 ; (* MAX FOR ERRORSFOUND, PAGESERRORS 0.. *) 1 21 undmax = 1000 ; (* " " UNDLAB 1.. *) 1 22 longalfbox = 16 ; (* SEE ALFAVALUE TYPE *) 1 23 lgparm = 100 ; (* PARMLIST IN $PARM *) 1 24 lgparm1 = lgparm - 1 ; (* LGPARM - 1 *) 1 25 maxpredef = 99 ; (* INITNAME 0 .. MAXPREDEF *) 1 26 maxident = 32 ; (* LENGTH MAX FOR AN ID. *) 1 27 (* DONT MODIFY WITHOUT MODIFY maxident *) 1 28 (* IN optimized_procedures.alm *) 1 29 maxnbofkeywords = 49 ; { Modified for SimOne } 1 30 1 31 maxkeylength = 12 ; (* LENGTH MAX FOR A KEY-WORD *) { Modified for SimOne } 1 32 maxexternname = 168 ; (* length max for an external name *) 1 33 maxval = 256 ; (* LENGTH MAX FOR A STRING *) 1 34 maxstring = 256 ; (* MAX LENGTH FOR A STRING (STAND) <= MAXVAL *) 1 35 alfaleng = 8 ; (* SIZE OF ALFA TYPE *) 1 36 maxfich = 50000 ; (* FOR FICHINTER *) 1 37 longboxlist = 20 ; (* MAX. NB. OF REG. BOXES *) 1 38 maxref = 25 ; 1 39 maxfield = 25 ; 1 40 1 41 1 42 maxnewsize = 261094 ; (* MAX WORD SIZE FOR NEW *) 1 43 1 44 (* POWERS OF 2 *) 1 45 twoto4 = 2 * 2 * 2 * 2 ; 1 46 twoto6 = twoto4 * 2 * 2 ; 1 47 twoto8 = twoto6 * 2 * 2 ; 1 48 twoto8m1 = twoto8 - 1 ; 1 49 twoto9 = twoto8 * 2 ; 1 50 twoto10 = twoto9 * 2 ; 1 51 twoto12 = twoto10 * 2 * 2 ; 1 52 twoto14 = twoto6 * twoto8 ; 1 53 twoto15 = twoto14 * 2 ; 1 54 twoto16 = twoto15 * 2 ; 1 55 twoto17 = twoto16 * 2 ; 1 56 twoto17m1 = twoto17 - 1 ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 5 1 57 twoto18 = twoto17 * 2 ; 1 58 twoto18m1 = twoto18 - 1 ; 1 59 twoto27 = twoto18 * twoto9 ; 1 60 1 61 (* COMPUTER'S DESCRIPTION *) 1 62 1 63 bitsinbyte = 9 ; 1 64 bytesinword = 4 ; 1 65 bytesinhword = bytesinword DIV 2 ; 1 66 bytesindword = bytesinword * 2 ; 1 67 1 68 wordsinpage = twoto10 ; 1 69 pagesinsegment = twoto8 - 1 ; 1 70 wordsinsegment = wordsinpage * pagesinsegment ; 1 71 maxglobsize = twoto18 * bytesinword ; (* MAX SIZE FOR GLOBALS IN BYTES *) 1 72 maxstacksize = twoto15 * bytesinword ; (* MAX SIZE FOR A STACK FRAME IN BYTES *) 1 73 maxwseg = wordsinsegment ; (* MAX NBR OF WORDS IN SEGMENT = 255 * 1024 *) 1 74 1 75 nilleft = '1FFFC0023'x ; (* VALUE FOR LEFT WORD OF THE "NIL" ITS *) 1 76 nilright = '40000'x ; (* VALUE FOR RIGHT WORD OF THE "NIL" ITS *) 1 77 packednil = '007777000001'o ; (* MULTICS PACKED NIL PTR *) 1 78 bitsinword = bitsinbyte * bytesinword ; 1 79 bitsinhword = bitsinbyte * bytesinhword ; 1 80 bitsindword = 2 * bitsinword ; 1 81 byteinbyte = 1 ; 1 82 byteshift = 512 ; (* USED TO SHIFT AN INTEGER BY MULTIPLICATION *) 1 83 (* AND SUBSEQUENT VALUES *) 1 84 maxint = 34359738367 ; (* MAX. INTEGER *) 1 85 (* maxreal = 1.701411834604692317e38 ; *) 1 86 (* minreal = 1.469367938527859386e-39 ; *) 1 87 racmaxint = 131072 ; (* USED TO AVOID OVERFLOW *) 1 88 (* IN INTEGER MULTIPLICATION *) 1 89 ntwotobyte = twoto8 - 1 ; (* MAX. NUM. VALUE IN A BYTE *) 1 90 ntwotohword = twoto17 - 1 ; (* MAX. NUM. VALUE IN A HALF. WORD *) 1 91 stwotobyte = twoto9 - 1 ; (* MAX. SCAL. VALUE IN A BYTE *) 1 92 setrange = 8 * bitsinword ; (* SIZE OF STANDARD SETS : 8 WORDS MAX *) 1 93 maxset = setrange - 1 ; (* SETRANGE -1 *) 1 94 maxerrnum = 3 * setrange - 1 ; (* 3*SETRANGE -1 *) 1 95 maxpage = maxerrnum ; 1 96 maxchar = 127 ; (* < MAXSET *) 1 97 1 98 (* IN LISTING *) 1 99 maxpageline = 59 ; (* MAX NUMBER OF LINES ON A LISTING'S PAGE *) 1 100 maxlinepascal = 400 ; 1 101 maxsliceline = 136 ; 1 102 lgprint = maxsliceline - 10 ; (* SLICE OF PRINTED LINES *) 1 103 1 104 (* COMPILATION'S RETURN CODE *) 1 105 1 106 errorcond = 8 ; 1 107 noerrorcond = 0 ; 1 108 1 109 wordsforset = 8 ; 1 110 bytesforset = wordsforset * bytesinword ; (* MAX. NUM. OF BYTES IN A SET *) 1 111 bitsforset = wordsforset * bitsinword ; (* MAX. NUM. OF BITS IN A SET *) 1 112 bornesupset = wordsforset - 1 ; 1 113 psrinbytes = 32 ; (* SIZE OF PSR REG. IN BYTES *) *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 6 1 114 (* AND EXTERNAL CONSTRAINTS *) 1 115 maxdig = bitsinword DIV 3 ; (* MAX. NUMBER OF DIGITS IN OCTAL *) 1 116 maxexpon = 1000 ; (* TO AVOID OVERFLOW WITH EXPONENTS *) 1 117 maxhexdi = bitsinword DIV 4 ; (* MAX. NUMBER OF HEXA CHARS *) 1 118 max10 = 3435973835 ; (* TO AVOID OVERFLOW IN INTEGER CST *) 1 119 maxexp = 39 ; (* MAX. SCALING FACTOR ALLOWED *) 1 120 minexp = -38 ; (* MIN. SCALING FACTOR ALLOWED *) 1 121 maxdigitsinteger = 12 ; 1 122 maxdigitsreal = 20 ; 1 123 maxintegerstring = '+3435973836700000000' ; 1 124 maxrealstring = '+1701411834604692317' ; 1 125 minrealstring = '+1469367938527859386' ; 1 126 1 127 (* GENERATION CONSTRAINTS AND CONSTANTS *) 1 128 stackboundary = 16 * bytesinword ; (* BOUNDARY FOR A STACK FRAME *) 1 129 maxrel = 132 ; (* LENGTH OF PHYSICAL LINE *) 1 130 pascdebstacklocal = 384 ; (* BYTES DISP. OF FIRST FREE ST. IN PASCAL FRAME *) 1 131 simdebstacklocal = 448 ; (* BYTES DISP. OF FIRST FREE ST. IN SIMONE FRAME *) { Modified for SimOne } 1 132 procparmsize = 24 ; (* SIZE FOR FORMAL PROCEDURE PARAMETERS *) 1 133 mathworksizew = 32 ; (* SIZE OF WORK AREA FOR MATH OPS *) 1 134 modulinitsize = 48 ; { Inserted for SimOne } 1 135 monitorinitsize = 88 ; { Inserted for SimOne } 1 136 1 137 (* USEFUL TOOLS *) 1 138 blank = ' ' ; 1 139 longblank = ' ' ; 1 140 1 141 (* ALM GENERATION CONSTANTS *) 1 142 bit29 = 64 ; (* USE OF POINTER REGISTER BIT (BIT 29) *) 1 143 inhibit = 128 ; (* INTERRUPT INHIBITION BIT (BIT28) *) 1 144 o41 = 33 ; (* ITS *) 1 145 o43 = 35 ; (* ITP *) 1 146 1 147 1 148 (* ENTRY POINTS OF OPERATORS *) 1 149 1 150 log10switch = 6 ; 1 151 (* Used in UNIQUE for predefinition of log10 *) 1 152 (* and in EXPR for scientific subroutines *) 1 153 1 154 mainentryplace = 79 ; 1 155 extentryplace = 88 ; 1 156 checkbeforeeolnplace = 66 ; 1 157 checkbeforeeofplace = 67 ; 1 158 checkbeforetextreferenceplace = 68 ; 1 159 gotoexitextplace = 3 ; 1 160 intentryplace = 89 ; 1 161 scientplace = 80 ; 1 162 resetplace = 11 ; 1 163 rewriteplace = 12 ; 1 164 closeplace = 13 ; 1 165 readtextplace = 14 ; 1 166 readseqplace = 15 ; 1 167 readlnplace = 16 ; 1 168 writetextplace = 17 ; 1 169 writeseqplace = 18 ; 1 170 writelnplace = 19 ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 7 1 171 pageplace = 20 ; 1 172 puttextplace = 21 ; 1 173 putseqplace = 22 ; 1 174 gettextplace = 23 ; 1 175 getseqplace = 24 ; 1 176 gotoexitplace = 25 ; 1 177 newplace = 26 ; 1 178 disposeplace = 27 ; 1 179 resetheapplace = 28 ; 1 180 truncplace = 63 ; 1 181 roundplace = 64 ; 1 182 rafltplace = 31 ; 1 183 rqfltplace = 32 ; 1 184 putdirplace = 33 ; 1 185 getdirplace = 34 ; 1 186 fupdtplace = 35 ; 1 187 fcloseplace = 37 ; 1 188 connectplace = 36 ; 1 189 exceptcodeplace = 38 ; 1 190 intreturnplace = 39 ; 1 191 extreturnplace = 40 ; 1 192 returnzeroplace = 87 ; 1 193 intcallplace = 42 ; 1 194 extcallplace = 43 ; 1 195 initfsballocplace = 72 ; 1 196 dateopplace = 47 ; 1 197 timeopplace = 48 ; 1 198 clockopplace = 49 ; 1 199 longprofileplace = 50 ; 1 200 flushplace = 65 ; 1 201 fappendplace = 82 ; 1 202 freopenplace = 81 ; 1 203 argcshortplace = 69 ; 1 204 argcplace = 70 ; 1 205 argcextplace = 71 ; 1 206 argvshortplace = 73 ; 1 207 argvplace = 74 ; 1 208 argvextplace = 75 ; 1 209 stopshortplace = 76 ; 1 210 stopplace = 77 ; 1 211 stopextplace = 78 ; 1 212 sreadcharplace = 90 ; 1 213 sreadintegerplace = 91 ; 1 214 sreadrealplace = 92 ; 1 215 swritecharplace = 93 ; 1 216 swritestringplace = 94 ; 1 217 swritesubstringplace = 95 ; 1 218 swritebooleanplace = 96 ; 1 219 swriteintegerplace = 97 ; 1 220 swriterealeplace = 98 ; 1 221 swriterealdplace = 99 ; 1 222 swriteenumplace = 100 ; 1 223 parmproccheckplace = 101 ; 1 224 functionvaluesetplace = 102 ; 1 225 functionvaluecheckplace = 103 ; 1 226 extend_stack_op_place = 104 ; 1 227 reset_stack_end_op_place = 105 ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 8 1 228 1 229 (* CONST USED WITH OPERATORS *) 1 230 transoptvptr = 40 ; (* DISP / PR7 OF TRANSFER VECTOR *) 1 231 lotptrdep = 22 ; (* DISP / PR7 LOT-PTR *) 1 232 pascoperatorsdep = 8 ; (* PASCAL OPERATORS *) 1 233 (* EXECUTION BITS FOR STACK FRAME *) 1 234 mainbit = 131072 ; (* bit 18 *) 1 235 fastbit = 65536 ; (* bit 19 *) 1 236 checkbit = 32768 ; (* bit 20 *) 1 237 interactivebit = 16384 ; (* bit 21 *) 1 238 iowarningsbit = 8192 ; (* bit 22 *) 1 239 solstandardbit = 32 ; (* bit 30 *) 1 240 french_bit = 4 ; (* bit 31 *) 1 241 1 242 (* PASCAL ERRORS CODES *) 1 243 1 244 inxerrcode = 1 ; (* INDEX *) 1 245 chrerrcode = 2 ; (* FCT CHR *) 1 246 prderrcode = 3 ; (* FCT PRED *) 1 247 sucerrcode = 4 ; (* FCT SUCC *) 1 248 forerricode = 5 ; (* FOR INF *) 1 249 forerrscode = 6 ; (* FOR SUP *) 1 250 asserrcode = 7 ; (* ASSIGN *) 1 251 diverrcode = 8 ; (* DIV BY 0 *) 1 252 parerrcode = 9 ; (* PARAM. *) 1 253 caserrcode = 10 ; (* CASE *) 1 254 pckerrcode = 11 ; (* PACK/UNPK *) 1 255 seterrcode = 12 ; (* SET EXP *) 1 256 mlterrcode = 13 ; (* INTEGER MULT OVERFLOW *) 1 257 eofeolnerrcode = 14 ; (* Is eof or eoln meaningsfull *) 1 258 randinterrcode = 15 ; (* BAD BOUNDS FOR RANDINT *) 1 259 stringlength_range_error = 16 ; 1 260 stringlength_assignment_error = 17 ; 1 261 substring_offset_error = 18 ; 1 262 substring_negative_length_error = 19 ; 1 263 substring_too_long_error = 20 ; 1 264 delete_offset_error = 21 ; 1 265 delete_negative_length_error = 22 ; 1 266 delete_too_long_error = 23 ; 1 267 insert_overflow_error = 24 ; 1 268 bad_string_index = 25 ; 1 269 bad_date_time_parameter = 26 ; 1 270 1 271 (* ** FOR CONFORMANT ARRAY *) 1 272 1 273 confdimw = 4 ; (* FOUR ITS IN PARAMETERS LIST *) 1 274 dopevectorsize = 12 ; 1 275 (* LO HI SIZE SUBSIZE *) 1 276 confdimsize = confdimw * bytesinword ; (* SAME IN BYTES *) 1 277 1 278 (* STACK FRAME DISPL. *) 1 279 1 280 argptw = 26 ; (* SAVE ARG POINTER ENTRY *) 1 281 next_sp_place = 18 ; (* MULTIC STACK_FRAME NEXT_SP *) 1 282 pr4depw = 36 ; (* SAVE PR4 HERE *) 1 283 psrdepw = 56 ; (* PSEUDO REGISTER FOR SET *) 1 284 psrdepb = 224 ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 9 1 285 dlkdepw = 32 ; (* DYNAMIC LINK *) 1 286 fctdeplw = 34 ; (* RETURNED VALUE FOR A FUNCTION *) 1 287 fctdepl = 136 ; 1 288 evareaw = 38 ; (* WORKING EVEN STORAGE *) 1 289 fsbadrw = 68 ; (* FSB STORED HERE FOR I/0 OPERATORS *) 1 290 valplacew = 70 ; (* VALUE TO BE WRITTEN OR POINTER ON IT *) 1 291 longplacew = 73 ; (* REQUESTED LENGTH *) 1 292 scaleplacew = 74 ; (* FOR REAL SCALING FACTOR *) 1 293 longstplacew = 74 ; (* REAL LENGTH FOR STRINGS *) 1 294 1 295 (* INIT ZONE FOR LINKAGE SECTION *) 1 296 (* 8 WORDS HEADER *) 1 297 1 298 firstglobal = 8 ; (* WORD OFFSET OF FIRST GLOBAL (EVEN) *) 1 299 1 300 (* FSB DISPLACEMENTS *) 1 301 1 302 lgfilename = 32 ; 1 303 iotextbuffersize = 400 ; 1 304 fdescsize = 152 ; 1 305 fsbpointersize = 8 ; 1 306 fstatusw = 7 ; 1 307 fposw = 21 ; 1 308 fsizew = 22 ; 1 309 fllengthw = 23 ; 1 310 fstatusb = 28 ; 1 311 fposb = 84 ; 1 312 fsizeb = 88 ; 1 313 fllengthb = 92 ; 1 314 eofw = 4 ; (* WORD BOOLEAN EOF *) 1 315 eofb = 16 ; 1 316 eolnw = 27 ; (* WORD BOOLEAN EOLN *) 1 317 eolnb = 108 ; 1 318 1 319 (* PROFILE *) 1 320 1 321 pclength = 2 ; (* PROFILE COUNTER LENGTH IN WORDS *) 1 322 lpclength = 4 ; (* LONG PROFILE COUNTER LENGTH IN WORDS *) 1 323 phl = 0 ; (* PROFILE HEADER LENGTH *) 1 324 lphl = 13 ; (* LONG PROFILE HEADER LENGTH IN WORDS *) 1 325 1 326 (* RELOCATION CODES *) 1 327 1 328 link18 = '900000000'x ; (* "10010"b *) 1 329 link15 = 'A00000000'x ; (* "10100"b *) 1 330 int18 = 'C00000000'x ; (* "11000"b *) 1 331 self_rel = '880000000'x ; (* "10001"b *) 1 332 int15 = 'C80000000'x ; (* "11001"b *) 1 333 prof = 'D00000000'x ; (* "11010"b *) 1 334 absl = '000000000'x ; (* "0"b *) 1 335 symb = 'B00000000'x ; (* "10110"b *) 1 336 1 337 (* CONSTANTES USED BY SIMONE COMPILER *) { Inserted for SimOne } 1 338 maxchar8 = 255 ; 1 339 mofatherdisp = 1 ; (* DIFFERENCE BETWEEN ADDR OF FATHER WHOSE TYPE IS MONORMOD *) { Inserted for SimOne } 1 340 procfatherdisp = 0 ; (* OR WHOSE TYPE IS PROC *) { Inserted for SimOne } 1 341 procmodlkw = 104 ; { Inserted for SimOne } *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 10 1 342 modynlk = 0 ; { Inserted for SimOne } 1 343 condcounterplace = 16 ; (* BYTES DIP. OF CONDITION COUNTER *) { Inserted for SimOne } 1 344 moarglistw = 6 ; (* DEPLACEMENT OF ARGLIST IN MONITOR OR MODULE PSEUDO_STACK *) { Inserted for SimOne } 1 345 baseprocessdplmt = 100 ; { Inserted for SimOne } 1 346 executionmodplmt = 106 ; { Inserted for SimOne } 1 347 maindplmt = 0 ; 1 348 processlocaldplmt = 96 ; 1 349 (* ENTRY POINTS OF OPERATORS *) { Inserted for SimOne } 1 350 { Inserted for SimOne } 1 351 simainentryplace = -1 ; { Inserted for SimOne } 1 352 simintentryplace = -2 ; { Inserted for SimOne } 1 353 simintreturnplace = -3 ; { Inserted for SimOne } 1 354 processentryplace = -4 ; { Inserted for SimOne } 1 355 settinginactivequeueplace = -5 ; { Inserted for SimOne } 1 356 waitsonsplace = -6 ; { Inserted for SimOne } 1 357 processreturnplace = -7 ; { Inserted for SimOne } 1 358 holdplace = -8 ; { Inserted for SimOne } 1 359 savearglistplace = -9 ; { Inserted for SimOne } 1 360 modulentryplace = -10 ; { Inserted for SimOne } 1 361 monitorentryplace = -11 ; { Inserted for SimOne } 1 362 initcondplace = -12 ; { Inserted for SimOne } 1 363 askforexclusionplace = -13 ; { Inserted for SimOne } 1 364 freeexclusionplace = -14 ; { Inserted for SimOne } 1 365 signalplace = -15 ; { Inserted for SimOne } 1 366 waitplace = -16 ; { Inserted for SimOne } 1 367 emptyplace = -17 ; { Inserted for SimOne } 1 368 lengthplace = -18 ; { Inserted for SimOne } 1 369 priorityplace = -19 ; { Inserted for SimOne } 1 370 vtimeplace = -20 ; { Inserted for SimOne } 1 371 terminateplace = -21 ; { Inserted for SimOne } 1 372 mowaitsonsplace = -22 ; { Inserted for SimOne } 1 373 uniformplace = -23 ; { Inserted for SimOne } 1 374 normalplace = -24 ; { Inserted for SimOne } 1 375 negexpplace = -25 ; { Inserted for SimOne } 1 376 randintplace = -26 ; { Inserted for SimOne } 1 377 pureentryplace = -27 ; 1 378 simextentryplace = -28 ; 1 379 exitplace = -29 ; 1 380 restorprevmoplace = -30 ; 1 381 { Inserted for SimOne } 1 382 lcprocess = 96 ; (* BYTES SIZE OF THE LOCAL VARIABLES IN THE STACK OF A PROCESS *) { Inserted for SimOne } 1 383 { Inserted for SimOne } 1 384 { Inserted for SimOne } 1 385 emptyindex = 4 ; { Inserted for SimOne } 1 386 { Inserted for SimOne } 1 387 (* DEFAULT LENGTH FOR EDITION *) 1 388 deflreal = 24 ; 1 389 deflnum = 12 ; 1 390 deflbool = 4 ; 1 391 deflchar = 1 ; 1 392 1 393 1 394 1 395 (*$PAGE *) 1 396 TYPE 1 397 numberstring = PACKED ARRAY [1..maxdigitsreal] OF char ; 1 398 alfa = PACKED ARRAY [1..alfaleng] OF char ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 11 1 399 alfaid = PACKED ARRAY [1..maxident] OF char ; 1 400 externid = PACKED ARRAY [1..maxexternname] OF char ; 1 401 alfalistptr = ^alfalist ; 1 402 alfalist = RECORD 1 403 previous, next : alfalistptr ; 1 404 name : alfaid 1 405 END ; 1 406 idkinds = (actual, formal, arraybound, exportable, imported) ; 1 407 1 408 (* ACTUAL MEANS STANDARD PASCAL PROC/VARS 1 409* FORMAL USED FOR VAR PARAMETERS 1 410* EXPORTABLE 'DEF' PROC/VARS 1 411* IMPORTED APPEARS IN EXTERNAL LIST. MUST BE REDEFINED *) 1 412 typform = (reel, numeric, scalar, pointer, power, arrays, records, monormod, { Modified for SimOne } 1 413 condition, files, aliastype) ; { Modified for SimOne } 1 414 { Modified for SimOne } 1 415 idklass = (schema, types, konst, proc, vars, field, tagfield, dummyclass) ; 1 416 consttype = (wordconst, dwordconst, alfaconst) ; 1 417 idprocdef = (standdef, forwdef, extdef, initdef, finitdef) ; { Modified for SimOne } 1 418 levrange = 0..maxlevel ; 1 419 alfapt = @alfavalue ; 1 420 alfavalue = RECORD 1 421 nextval : alfapt ; (* NEXT VALUE BOX FOR SAME STRING *) 1 422 alfaval : PACKED ARRAY [1..longalfbox] OF char ; 1 423 longfill : integer ; (* USED PART OF ALFAVAL IN THIS BOX *) 1 424 END ; 1 425 refptr = @reflist ; 1 426 reflist = RECORD 1 427 nextref : refptr ; 1 428 refnbr : integer ; 1 429 refs : ARRAY [1..maxref] OF RECORD 1 430 filen, linen, sttmapind, place : integer ; 1 431 END ; 1 432 END ; 1 433 ctp = @contexttable ; 1 434 setofno = SET OF minno..maxno ; 1 435 stdkind = (stdpure, stdcompiler, stdsol, stdextend, stdcomputer) ; 1 436 typusednames = ARRAY [1..6] OF alfaid ; 1 437 filelocation = (notafile, permanentfile, workfile, localfile, standardfile) ; 1 438 1 439 proclocation = (notpredef, instdpure, instdcompiler, instdsol, 1 440 instdextend, instdcomputer, instdsimone) ; { Modified for SimOne } 1 441 externalitemtype = (extnotresolved, externalarea, exportvar, importvar, 1 442 exportproc, importproc, localproc, mainprogram, remanentfile, 1 443 requiredfile, runtimeentry) ; 1 444 ptexternalitem = ^ externalitem ; 1 445 externalitem = RECORD 1 446 extname : alfaid ; 1 447 extsegname, extgenerator, extentryname : alfaid ; 1 448 extnext : ptexternalitem ; 1 449 extrfile1, extrline1, extrfile2, extrline2 : integer ; 1 450 extdecl : ctp ; 1 451 extitemtype : externalitemtype ; 1 452 extkind : idkinds ; 1 453 extpltdisp : integer ; 1 454 extareadisp : integer ; 1 455 extlong : integer ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 12 1 456 extwantdescs : boolean ; 1 457 END ; 1 458 (* TYPES USED BY SIMONE COMPILER *) { Inserted for SimOne } 1 459 motypes = (module, monitor) ; { Inserted for SimOne } 1 460 objaccessibles = (modul, monit, condit) ; { Inserted for SimOne } 1 461 ensaccessible = SET OF objaccessibles ; { Inserted for SimOne } 1 462 incbloc = (monitormodule, subroutine) ; { Inserted for SimOne } 1 463 { Inserted for SimOne } 1 464 nodeptr = @node ; { Inserted for SimOne } 1 465 { Inserted for SimOne } 1 466 node = RECORD { USED FOR SPACE COMPUTATION } { Inserted for SimOne } 1 467 inthelist, compiled, recursive : boolean ; { Inserted for SimOne } 1 468 sizemax : integer ; { Inserted for SimOne } 1 469 proce : ctp ; { Inserted for SimOne } 1 470 END ; { Inserted for SimOne } 1 471 nodelistptr = @nodelistelem ; { Inserted for SimOne } 1 472 { Inserted for SimOne } 1 473 nodelistelem = RECORD { Inserted for SimOne } 1 474 previousnode, nextnode : nodelistptr ; { Inserted for SimOne } 1 475 elem : nodeptr ; { Inserted for SimOne } 1 476 END ; { Inserted for SimOne } 1 477 { Inserted for SimOne } 1 478 exitptr = @exitelem ; { Inserted for SimOne } 1 479 exitelem = RECORD (* ONE FOR EACH EXIT STATEMENT *) { Inserted for SimOne } 1 480 nextexitelem : exitptr ; { Inserted for SimOne } 1 481 exitdplmt : integer ; { Inserted for SimOne } 1 482 END ; { Inserted for SimOne } 1 483 1 484 ftp = ^schema_token ; 1 485 schema_status = RECORD 1 486 on : boolean ; 1 487 schema_ptr : ctp ; 1 488 current_token : ftp ; 1 489 current_parameter : ctp ; 1 490 END ; 1 491 schema_token_kind = (symbol_token, name_token, int_const_token, char_const_token, real_const_token) ; 1 492 schema_token = RECORD 1 493 next : ftp ; 1 494 CASE kind : schema_token_kind OF 1 495 symbol_token : (tno, tcl : integer) ; 1 496 name_token : (taval : alfaid) ; 1 497 int_const_token : (t_int_value : integer) ; 1 498 real_const_token : (t_real_value : real) ; 1 499 char_const_token : (t_char_value : char) ; 1 500 END ; 1 501 1 502 (* DONT MODIFY CONTEXTABLE DECLARATION 1 503* WITHOUT CHECKING : 1 504* nameplaceincontextable 1 505* AND nxtelplaceincontextable 1 506* IN optimized_procedures.alm *) 1 507 contexttable = RECORD 1 508 name : alfaid ; 1 509 nxtel : ctp ; 1 510 alfathread : ctp ; 1 511 deffile, defline : integer ; 1 512 references : refptr ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 13 1 513 symbolplace : integer ; (* PCK PTR TO SYMBOL NODE IN SYMB TB *) 1 514 symbtablerefs : integer ; (* BACKWARD THREAD OF REFS IN TEXT TO SYMBOL TABLE *) 1 515 CASE klass : idklass OF 1 516 schema : ( 1 517 top_for_schema : integer ; (* CONTEXT AT SHEMA DECLARATION TIME *) 1 518 next_for_schema : ctp ; 1 519 formal_parameter_list : ctp ; 1 520 parameter_count : integer ; 1 521 token_list : ftp ; 1 522 type_description : ctp) ; 1 523 types : ( 1 524 size, cadrage : integer ; 1 525 pack : boolean ; 1 526 tlevel : levrange ; 1 527 objaccedes : ensaccessible ; { TO ALLOW VARIABLES ' DECLARATIONS } { Inserted for SimOne } 1 528 (* *** BEGIN SCHEMA INFO *** *) 1 529 father_schema : ctp ; 1 530 actual_parameter_list : ctp ; 1 531 desc_vector_references : integer ; 1 532 (* *** END SCHEMA INFO *** *) 1 533 CASE form : typform OF 1 534 reel : () ; 1 535 numeric : (npksize, nmin, nmax : integer) ; 1 536 scalar : (spksize : integer ; 1 537 CASE subrng : boolean OF 1 538 false : (fconst, sptcstepw : ctp) ; 1 539 true : (smin, smax : integer ; 1 540 typset : ctp) ;) ; 1 541 pointer : (ptpksize : integer ; 1 542 domain, eltype : ctp) ; 1 543 power : (ppksize : integer ; 1 544 elset : ctp ; 1 545 setlength : integer) ; 1 546 arrays : (aeltype, inxtype : ctp ; 1 547 1 548 CASE conformant : boolean OF 1 549 false : (lo, hi, opt2, subsize : integer) ; 1 550 true : ( 1 551 pthigh, ptlow : ctp ; 1 552 ) ; 1 553 ) ; 1 554 records : (recvar, fstfld : ctp) ; 1 555 files : (feltype : ctp ; 1 556 ) ; 1 557 monormod : (motype : motypes ; { Inserted for SimOne } 1 558 niveau : levrange ; { Inserted for SimOne } 1 559 moaddr, nbparmo : integer ; { Inserted for SimOne } 1 560 ptpar, ptvarloc, ptentr : ctp ; { Inserted for SimOne } 1 561 initmoproc, finitmoproc, blocenglob : ctp) ; { Inserted for SimOne } 1 562 condition : () ; { Inserted for SimOne } 1 563 aliastype : (realtype : ctp) ;) ; 1 564 konst : ( 1 565 succ, contype : ctp ; 1 566 CASE typofconst : consttype OF 1 567 wordconst : (values : integer) ; 1 568 dwordconst : (valreel : real) ; 1 569 alfaconst : (alfadeb : alfapt ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 14 1 570 alfalong, alfalevel, unddeb : integer) ;) ; 1 571 proc : (proctype, formals : ctp ; 1 572 prockind : idkinds ; 1 573 proclevel : levrange ; 1 574 procaddr, segsize, nbparproc, locincode : integer ; 1 575 procisassigned, predefproc, procinscope, pisrefincode : boolean ; 1 576 phasdescriptor : boolean ; (* TRUE IF HAS CONF ARRAY PARAMETERS *) 1 577 ploc : proclocation ; 1 578 procextitem : ptexternalitem ; 1 579 ptypesymbolplace : integer ; (* PACKED PTR TO TYPE BOX IN SYMBOL TB *) 1 580 recur : integer ; { Inserted for SimOne } 1 581 procaccesslevel : levrange ; { Inserted for SimOne } 1 582 processus, pure : boolean ; { Inserted for SimOne } 1 583 chaineentree : ctp ; { Inserted for SimOne } 1 584 procnode : nodeptr ; { Inserted for SimOne } 1 585 procincbloc : incbloc ; (* BLOC CONTAINING THIS PROC *) { Inserted for SimOne } 1 586 procfirstexit : exitptr ; (* TO CHAIN EXIT STATEMENT *) { Inserted for SimOne } 1 587 procfirsttofinit : ctp ; (* FIRST VAR TO BE FINALIZED IN THIS PROCESS, ALWAYS NIL FOR A PROCEDURE *) { Inserted for SimO ne } 1 588 procstackinitsize : integer ; { Inserted for SimOne } 1 589 procwasforwarddef : boolean ; { Inserted for SimOne } 1 590 procdef : idprocdef ; 1 591 pwantdescs : boolean ; (* TRUE IF PROC WAS DECLARED EXT DESCRIPTORS *) 1 592 pdescsaddrplace : integer ; (* PLACE IN STATICS OF PTR TO DESCRS VECTOR - IF PREV. TRUE *) 1 593 procisactive : boolean ; (* TRUE IF COMPILER IS ANALYZING BODY OF THIS PROC *) 1 594 pextcalltrapinfoplace : integer ; (* WORD OFFSET OF TRAP INFO FOR EXT CALL - ONLY IF DESCS *) 1 595 pwantspl1descriptors : boolean) ; (* TRUE IF PL1 DESCRIPTORS NEEDED *) 1 596 vars : (vtype : ctp ; 1 597 vkind : idkinds ; 1 598 vfilelocation : filelocation ; 1 599 vaddr : integer ; 1 600 vdispl, vdescaddr : integer ; 1 601 vlevel : levrange ; 1 602 vlink_is_generated : boolean ; 1 603 visused, visset, visreadonly, varparam, visrefincode : boolean ; 1 604 vnexttofinit : ctp ; (* TO CHAIN VAR TO BE FINIT *) { Inserted for SimOne } 1 605 varmo : boolean ; (* TRUE IF VAR IS DECLARE IN A MONITOR OR A MODULE *) { Inserted for SimOne } 1 606 vfather : ctp ; (* PTR ON THE MONITOR OR THE MODULE CONTAINING VAR *) { Inserted for SimOne } 1 607 vptextitem : ptexternalitem) ; 1 608 field : (fldtype : ctp ; 1 609 fldaddr, bytwidth : integer) ; 1 610 tagfield : (casesize : integer ; 1 611 variants : ctp ; 1 612 CASE tagval : boolean OF 1 613 false : (casetype : ctp ; selectorfield : ctp) ; 1 614 true : (caseval : integer ; firstfield : ctp) ;) ; 1 615 dummyclass : () ; 1 616 END ; (* RECORD CONTEXTTABLE *) 1 617 (* NOW OTHER TYPES *) 1 618 1 619 shrtint = -twoto17..twoto17m1 ; 1 620 bytint = -twoto8..twoto8m1 ; 1 621 norange = minno..maxno ; 1 622 where = (block, cwith, vwith) ; (* USED TO DESCRIBE AN IDENTIFIER *) 1 623 contexte = (data, code, linkage, definition, deccode) ; { Modified for SimOne } 1 624 levtrace = (none, low, medium, high) ; 1 625 (* DONT MODIFY RECIDSCOPE DECLARATION *) *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 15 1 626 withreflist = RECORD 1 627 nbr : 0..maxfield ; 1 628 symbolp : ARRAY [1..maxfield] OF ctp 1 629 END ; 1 630 (* WITHOUT CHECK : *) 1 631 (* recidscopelength IN optimized_procedures.alm *) 1 632 recidscope = RECORD (* ELEMENT OF DISPLAY *) 1 633 fname : ctp ; 1 634 CASE occur : where OF 1 635 block : () ; 1 636 cwith : (creflist : withreflist ; clevel : levrange ; cdspl : integer) ; 1 637 vwith : (vreflist : withreflist ; vdspl : integer ; vpack : boolean) ; 1 638 END (* REC-ID-SCOPE *) ; 1 639 blocknodeptr = @blocknode ; 1 640 labelblockptr = ^labelblock ; (* BOXES FOR LABELS *) 1 641 labelblock = RECORD 1 642 number : integer ; (* LABEL ID *) 1 643 locinbytes : integer ; (* LOCATION IN TEXT SECTION (BYTES) *) 1 644 next : labelblockptr ; (* NEXT IN LABELS LIST *) 1 645 brother : labelblockptr ; (* THREAD FOR LABELS OF SAME BLOCK *) 1 646 procnode : blocknodeptr ; (* PTR TO PROCEDURE NODE *) 1 647 dclfile, dclline : integer ; (* FILE, LINE FOR DECLARATION *) 1 648 deffile, defline : integer ; (* FILE, LINE OF LOCATION *) 1 649 references : refptr ; (* PTR TO REFERENCES BOX(ES) *) 1 650 ref_allowed : RECORD 1 651 ic_from, ic_to : integer 1 652 END ; 1 653 next_in_block : labelblockptr ; 1 654 END ; 1 655 label_pdl_element = RECORD 1 656 previous, next : ^label_pdl_element ; 1 657 first : labelblockptr ; 1 658 END ; 1 659 labdescr = RECORD (* ELEMENT OF LABTAB *) 1 660 labval, lablev, labexit, labch1, labdef : integer ; 1 661 labbox : labelblockptr ; 1 662 END (* REC *) ; 1 663 lab_pdl_ptr = ^lab_pdl_element ; 1 664 lab_pdl_element = RECORD 1 665 previous, next : lab_pdl_ptr ; 1 666 first_in_block : labelblockptr ; 1 667 start : integer 1 668 END ; 1 669 typofsymb = (irrelsy, begsy, endsy) ; 1 670 occurence = RECORD (* ELEMENT OF UNDLAB *) 1 671 succ, place : shrtint ; 1 672 END (* REC *) ; 1 673 (* TYPES USED IN CODE GENERATION *) 1 674 1 675 (* ALM INSTRUCTIONS , I+MNEMONIC. INSTRUCTIONS ARE GROUPED BY FUNCTIONS. IN 1 676* EACH FUNCTION, THE ORDER IS THE ONE OF THE AL39 MANUAL EXCEPT FOR EIS 1 677* MULTIWORD. IN THIS LAST GROUP, THE ORDER MAKES EASIER THE CODE GENERATION *) 1 678 (* FIXED-POINT STANDARD INSTRUCTIONS ****** *) 1 679 instword = (ieaa, ieaq, ieax0, ieax1, ieax2, ieax3, ieax4, ieax5, 1 680 ieax6, ieax7, ilca, ilcaq, ilcq, ilcx0, ilcx1, ilcx2, 1 681 ilcx3, ilcx4, ilcx5, ilcx6, ilcx7, ilda, ildac, ildaq, 1 682 ildi, ildq, ildqc, ildx0, ildx1, ildx2, ildx3, ildx4, *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 16 1 683 ildx5, ildx6, ildx7, ilreg, ilxl0, ilxl1, ilxl2, ilxl3, 1 684 ilxl4, ilxl5, ilxl6, ilxl7, isreg, ista, istac, istacq, 1 685 istaq, istc1, istc2, istcd, isti, istq, istt, istx0, 1 686 istx1, istx2, istx3, istx4, istx5, istx6, istx7, istz, 1 687 isxl0, isxl1, isxl2, isxl3, isxl4, isxl5, isxl6, isxl7, 1 688 ialr, ials, iarl, iars, illr, ills, ilrl, ilrs, 1 689 iqlr, iqls, iqrl, iqrs, iada, iadaq, iadl, iadla, 1 690 iadlaq, iadlq, iadlx0, iadlx1, iadlx2, iadlx3, iadlx4, iadlx5, 1 691 iadlx6, iadlx7, iadq, iadx0, iadx1, iadx2, iadx3, iadx4, 1 692 iadx5, iadx6, iadx7, iaos, iasa, iasq, iasx0, iasx1, 1 693 iasx2, iasx3, iasx4, iasx5, iasx6, iasx7, iawca, iawcq, 1 694 isba, isbaq, isbla, isblaq, isblq, isblx0, isblx1, isblx2, 1 695 isblx3, isblx4, isblx5, isblx6, isblx7, isbq, isbx0, isbx1, 1 696 isbx2, isbx3, isbx4, isbx5, isbx6, isbx7, issa, issq, 1 697 issx0, issx1, issx2, issx3, issx4, issx5, issx6, issx7, 1 698 iswca, iswcq, impf, impy, idiv, idvf, ineg, inegl, 1 699 icmg, icmk, icmpa, icmpaq, icmpq, icmpx0, icmpx1, icmpx2, 1 700 icmpx3, icmpx4, icmpx5, icmpx6, icmpx7, icwl, iszn, isznc, 1 701 (* FLOATING-POINT INSTRUCTIONS ************* *) 1 702 idfld, ifld, idfst, idfstr, ifst, ifstr, idfad, idufa, 1 703 ifad, iufa, idfsb, idufs, ifsb, iufs, idfmp, idufm, 1 704 ifmp, iufm, idfdi, idfdv, ifdi, ifdv, ifneg, ifno, 1 705 idfrd, ifrd, idfcmg, idfcmp, ifcmg, ifcmp, iade, ifszn, 1 706 ilde, iste, 1 707 (* BOOLEAN INSTRUCTIONS ******************** *) 1 708 iana, ianaq, ianq, iansa, iansq, iansx0, iansx1, iansx2, 1 709 iansx3, iansx4, iansx5, iansx6, iansx7, ianx0, ianx1, ianx2, 1 710 ianx3, ianx4, ianx5, ianx6, ianx7, iora, ioraq, iorq, 1 711 iorsa, iorsq, iorsx0, iorsx1, iorsx2, iorsx3, iorsx4, iorsx5, 1 712 iorsx6, iorsx7, iorx0, iorx1, iorx2, iorx3, iorx4, iorx5, 1 713 iorx6, iorx7, iera, ieraq, ierq, iersa, iersq, iersx0, 1 714 iersx1, iersx2, iersx3, iersx4, iersx5, iersx6, iersx7, ierx0, 1 715 ierx1, ierx2, ierx3, ierx4, ierx5, ierx6, ierx7, icana, 1 716 icanaq, icanq, icanx0, icanx1, icanx2, icanx3, icanx4, icanx5, 1 717 icanx6, icanx7, icnaa, icnaaq, icnaq, icnax0, icnax1, icnax2, 1 718 icnax3, icnax4, icnax5, icnax6, icnax7, 1 719 (* POINTER REGISTERS INSTRUCTIONS ********** *) 1 720 ieasp0, ieasp1, ieasp2, ieasp3, ieasp4, ieasp5, ieasp6, ieasp7, 1 721 ieawp0, ieawp1, ieawp2, ieawp3, ieawp4, ieawp5, ieawp6, ieawp7, 1 722 iepbp0, iepbp1, iepbp2, iepbp3, iepbp4, iepbp5, iepbp6, iepbp7, 1 723 iepp0, iepp1, iepp2, iepp3, iepp4, iepp5, iepp6, iepp7, 1 724 ilpri, ilprp0, ilprp1, ilprp2, ilprp3, ilprp4, ilprp5, ilprp6, 1 725 ilprp7, ispbp0, ispbp1, ispbp2, ispbp3, ispbp4, ispbp5, ispbp6, 1 726 ispbp7, ispri, ispri0, ispri1, ispri2, ispri3, ispri4, ispri5, 1 727 ispri6, ispri7, isprp0, isprp1, isprp2, isprp3, isprp4, isprp5, 1 728 isprp6, isprp7, iadwp0, iadwp1, iadwp2, iadwp3, iadwp4, iadwp5, 1 729 iadwp6, iadwp7, iepaq, 1 730 (* TRANSFER INSTRUCTIONS ******************* *) 1 731 icall6, iret, irtcd, iteo, iteu, itmi, itmoz, itnc, 1 732 itnz, itov, itpl, itpnz, itra, itrc, itrtf, itrtn, 1 733 itsp0, itsp1, itsp2, itsp3, itsp4, itsp5, itsp6, itsp7, 1 734 itss, itsx0, itsx1, itsx2, itsx3, itsx4, itsx5, itsx6, 1 735 itsx7, ittf, ittn, itze, 1 736 (* MISCELLANEOUS INSTRUCTIONS ************** *) 1 737 irccl, idrl, ixec, ixed, imme, imme2, imme3, imme4, 1 738 inop, ipuls1, ipuls2, isra, isbar, ibcd, igtb, 1 739 (* PRIVILEGED INSTRUCTIONS ***************** *) *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 17 1 740 ilbar, ilcpr, ildbr, ildt, ilptp, ilptr, ilra, ilsdp, 1 741 ilsdr, ircu, iscpr, iscu, isdbr, isptp, isptr, issdp, 1 742 issdr, icamp, icams, irmcm, irscr, irsw, icioc, ismcm, 1 743 ismic, isscr, iabsa, idis, 1 744 (* SINGLE WORD EIS INSTRUCTIONS ************ *) 1 745 iaar0, iaar1, iaar2, iaar3, iaar4, iaar5, iaar6, iaar7, 1 746 ilar0, ilar1, ilar2, ilar3, ilar4, ilar5, ilar6, ilar7, 1 747 ilareg, ilpl, inar0, inar1, inar2, inar3, inar4, inar5, 1 748 inar6, inar7, iara0, iara1, iara2, iara3, iara4, iara5, 1 749 iara6, iara7, iarn0, iarn1, iarn2, iarn3, iarn4, iarn5, 1 750 iarn6, iarn7, isar0, isar1, isar2, isar3, isar4, isar5, 1 751 isar6, isar7, isareg, ispl, ia4bd, ia6bd, ia9bd, iabd, 1 752 iawd, is4bd, is6bd, is9bd, isbd, iswd, 1 753 (* MULTI-WORDS EIS INSTRUCTIONS ************ *) 1 754 itct, itctr, icmpc, iscm, iscmr, imlr, imrl, imvt, 1 755 icsl, icsr, isztl, isztr, iscd, iscdr, icmpn, imvn, 1 756 icmpb, ibtd, idtb, iad2d, isb2d, imp2d, idv2d, imve, 1 757 imvne, iad3d, isb3d, imp3d, idv3d, 1 758 (* REPEAT INSTRUCTIONS ********************* *) 1 759 irpd, irpl, irpt, 1 760 (* STBA, STBQ ,STCA AND STCB INSTRUCTIONS ** *) 1 761 istba, istbq, istca, istcq) ; 1 762 (* ADDRESS MODIFICATIONS , *) 1 763 (* T+MNEMONIC AND Y USED FOR * , *) 1 764 (* TZ = ILLEGAL MODIFIER *) 1 765 (* BINARY CODE IS OBTAINED WITH THE ORD FUNCTION *) 1 766 tag = (tn, tau, tqu, tdu, tic, tal, tql, tdl, (* R MOD *) 1 767 tx0, tx1, tx2, tx3, tx4, tx5, tx6, tx7, 1 768 tny, tauy, tquy, tz23, ticy, taly, tqly, tz27, (* RI MOD *) 1 769 tx0y, tx1y, tx2y, tx3y, tx4y, tx5y, tx6y, tx7y, 1 770 tf1, titp, tz42, tits, tsd, tscr, tf2, tf3, (* IT MOD *) 1 771 tci, ti, tsc, tad, tdi, tdic, tid, tidc, 1 772 tz60, tyau, tyqu, tydu, tyic, tyal, tyql, tydl, (* IR MOD *) 1 773 tyx0, tyx1, tyx2, tyx3, tyx4, tyx5, tyx6, tyx7) ; 1 774 register = (nreg, pr1, pr2, pr5, pr7, pr3, pr0, prstatic, prlink, pr6, 1 775 nxreg, x0, x1, x2, x3, x4, x5, x6, x7, 1 776 xbidon, ra, rq, raq, reaq, psr, re, ri) ; (* USED REGISTERS *) 1 777 preg = nreg..pr6 ; (* POINTER REGISTERS - SUBRANGE OF REGISTER *) 1 778 mreg = tn..tx7 ; (* ADDRESS MODIFICATIONS WITHOUT INDIRECTION *) 1 779 (* - SUBRANGE OF TAG *) 1 780 (* SUBRANGES OF INSTWORD USED IN CODE GENERATION *) 1 781 istand = ieaa..iswd ; (* STANDARD INSTRUCTIONS *) 1 782 ieism = icmpc..idv3d ; (* EIS MULTIWORD INSTRUCTIONS *) 1 783 irept = irpd..irpt ; (* REPEAT INSTRUCTIONS *) 1 784 istobc = istba..istcq ; (* STORE BYTES OR CHARACTERS INSTRUCTIONS *) 1 785 lgcar = (l4, l6, l9) ; (* CHARACTER DATA TYPE - NUMBER = LENGTH IN BITS *) 1 786 typsig = (flls, fxls, fxts, fxns) ; (* SIGN AND DECIMAL TYPES,FL=FLOATING-POINT, *) 1 787 (* FX=FIXED-POINT,LS= LEADING SIGN *) 1 788 (* TS= TRAILING SIGN *) 1 789 (* NS= NO SIGN *) 1 790 (* BIT VALUES FOR CODE GENERATION *) 1 791 zptr = (p0t0r0, p0t0r1, p0t1r0, p0t1r1, p1t0r0, p1t0r1, p1t1r0, p1t1r1) ; (* BITS 0,9 *) 1 792 (* AND 10 OF EIS MULTIWORD INSTRUCTIONS *) 1 793 (* P=SIGN OR FILL BIT , T=TRUNCATION BIT , *) 1 794 (* R=ROUNDING FLAG BIT *) 1 795 zabc = (a0b0c0, a0b0c1, a1b0c0, a1b0c1, a0b1c0, a0b1c1, a1b1c0, a1b1c1) ; (* BITS 8,9 *) 1 796 (* AND 10 OF REPEAT INSTRUCTIONS *) *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 18 1 797 (* A AND B = USE OF DELTA FIELD , *) 1 798 (* C = USE OF X0 REGISTER *) 1 799 zari = (a0r0i0, a0r0i1, a0r1i0, a0r1i1, a1r0i0, a1r0i1, a1r1i0, a1r1i1) ; (* BITS 0,1 *) 1 800 (* AND 2 OF EIS MODIFICATION FIELDS *) 1 801 (* A=USE OF ADDRESS REGISTER , *) 1 802 (* R = OPERAND LENGTH FIELD GIVES A REGISTER *) 1 803 (* I= USE OF INDIRECTION FOR *) 1 804 (* THE OPERAND DESCRIPTOR *) 1 805 1 806 (* USED ONLY IN CONDITIONNAL COMPILATION FOR COMPILER'S CONTROLS *) 1 807 forset = (s0, s1, s2, s3, s4, s5) ; (* USED TO GIVE FORBIDDEN TAGS/PTR FOR ISTAND/ *) 1 808 (* IEISM *) 1 809 halfword = integer ; (* USED FOR FICHINTER *) 1 810 binartype = PACKED ARRAY [1..maxfich] OF halfword ; (* FICHINTER *) 1 811 binartypeptr = ^binartype ; 1 812 attrkind = (varbl, lcond, lval, chain, sval) ; 1 813 attraccess = (direct, pointee, pointable, encode) ; 1 814 destination = (inacc, inq, inaq, inpsr, inpr, out) ; 1 815 setarray = ARRAY [0..bornesupset] OF integer ; 1 816 regpt = @regbox ; 1 817 regbox = RECORD (* BOX DESCRIBING A LOADED REGISTER *) 1 818 (* AND MEMORIZING SAVING INFORMATIONS *) 1 819 sregister : register ; (* LOADED REGISTER *) 1 820 saveplace : integer ; (* BYTES DISP. /PR6 OF SAVING STORAGE *) 1 821 nextbloc : regpt ; (* POINTS PREVIOUS BLOC.(NOT NEXT.) *) 1 822 predbloc : regpt ; (* POINTS NEXT BLOC. (NOT PRED.) *) 1 823 END ; (* REGBOX *) 1 824 wcstpt = @iunresolv ; 1 825 rcstpt = @runresolv ; 1 826 lcstpt = @liunresolv ; 1 827 llcstpt = @lliunresolv ; 1 828 iunresolv = RECORD 1 829 valu : integer ; 1 830 cstplace : integer ; (* ENTRY IN UNDLAB *) 1 831 cstnext : wcstpt ; (* LINKAGE OF WORD CSTES *) 1 832 END ; 1 833 runresolv = RECORD 1 834 rvalu : real ; 1 835 rplace : integer ; (* ENTRY IN UNDLAB *) 1 836 rnext : rcstpt ; (* LINKAGE OF REAL CSTES *) 1 837 END ; 1 838 liunresolv = RECORD 1 839 lvalu : setarray ; 1 840 lplace : integer ; (* ENTRY IN UNDLAB *) 1 841 lnext : lcstpt ; (* LINKAGE OF LONG CSTES *) 1 842 END ; 1 843 lliunresolv = RECORD 1 844 llvalu : setarray ; (* SET CSTE *) 1 845 llplace : integer ; (* ENTRY ON UNDLAB *) 1 846 llnext : llcstpt ; (* LINKAGE OF SET CSTES *) 1 847 END ; 1 848 1 849 attr = RECORD 1 850 1 851 typtr : ctp ; (* TYPE OF DESCRIBED ITEM *) 1 852 CASE kind : attrkind OF 1 853 *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 19 1 854 varbl : ( (* ITEM IS ANYWHERE IN STORAGE *) 1 855 vlev : levrange ; (* DEFINITION LEVEL *) 1 856 basereg : preg ; (* BASIS TO ACCES ITEM, *) 1 857 (* OR ITS TO ITEM IF POINTABLE *) 1 858 basebloc : regpt ; 1 859 (* POINTS THE BOX DESCRIBING BASEREG; *) 1 860 (* NIL FOR PR4,PR6 *) 1 861 dplmt : integer ; (* BYTES DISPLACEMENT TO ADD AT FINAL ADDRESS *) 1 862 inxreg : register ; (* MODIFICATION REGISTER CONTAINING WORDS DISP *) 1 863 (* RA ==> A 18..35 USED *) 1 864 (* RQ ==> Q 18..35 USED *) 1 865 (* XI ==> INDEX REGISTER *) 1 866 (* NXREG NO MODIFIER *) 1 867 inxbloc : regpt ; (* POINTS BOX DESCRIBING INXREG *) 1 868 inxmem : integer ; (* BYTES DISPLACEMENT/PR6 OF A STORAGE WORD *) 1 869 (* CONT. IN BITS 18..35 A WORD OFFSET SIGNED *) 1 870 inxmemrw : boolean ; (* TRUE IF INXMEM CAN BE WRITTEN *) 1 871 access : attraccess ; 1 872 1 873 (* DIRECT ITEM=[[BASIS]+[INDEX]+DPLMT+[INXMEM]] BASIS=PR4/PR6 1 874* POINTEE SAME BUT BASIS= ANY POINTER REGISTER 1 875* POINTABLE ITEM=[[[BASIS]+ITSDPLMT]+[INDEX]+DPLMT+[INXMEM]] 1 876* ENCODE ITEM GENERATEA IN CODE *) 1 877 itsdplmt : integer ; (* BYTES DISP OF AN ITS EVEN BOUNDARY *) 1 878 pckd : boolean ; (* TRUE IF CONTAINING STRUCTURE WAS PACKED *) 1 879 nameaddr : ctp ; (* PTR TO NAME OF CONCERNED VAR OR FIELD *) 1 880 descreg : preg ; (* PTR TO DESCRIPTOR *) 1 881 descbloc : regpt ; (* BOX FOR THIS POINTER *) 1 882 vmo : boolean ; (* TRUE IF INTERNAL VAR OF MONITOR OR MODULE ACCESS BY PR5 *) { Inserted for SimOne } 1 883 temporary : boolean ; (* TRUE IF THIS VARIABLE IS THE RESULT OF AN EXPRESSION, 1 884* ALLOCATED IN STACK (USED FOR RESULT OF STRING EXPRESSIONS *) 1 885 ) ; (* END VARBL *) 1 886 1 887 lval : ( (* ITEM IS LOADED IN A *) 1 888 (* REGISTER RA,RQ,RAQ,REAQ,PSR *) 1 889 ldreg : register ; (* LOADED REGISTER *) 1 890 ldregbloc : regpt ; (* POINTS THE BOX DESCRIBING LDREG *) 1 891 psrsize : integer ; (* SIZE MEANINGSFULL IN BYTES OF PSR IF LOADED *) 1 892 ) ; (* END LVAL *) 1 893 1 894 chain : ( (* ITEM DESCRIBED IS A CHARACTER STRING CONSTANT *) 1 895 (* GENERATED AT THE END OF CODE *) 1 896 (* (WORD BOUNDARY ALIGNED) *) 1 897 alfactp : ctp ; (* POINTS THE (KONST,ALFACONST) BOX ASSOCIATED *) 1 898 ) ; (* END CHAIN *) 1 899 1 900 sval : ( (* ITEM DESCRIBED IS A COMPUTABLE VALUE *) 1 901 (* BY THE COMPILER *) 1 902 val : integer ; (* WORD CONSTANT *) 1 903 rsval : real ; (* FLOAT CONSTANT *) 1 904 valpw : setarray ; (* SET CONSTANT *) 1 905 longv : integer ; (* BYTES LENGTH MEANINGSFULL IN VALPW *) 1 906 ) ; (* END SVAL *) 1 907 1 908 lcond : ( (* ITED DESCRIBED IS A BOOLEAN EITHER LOADED OR *) 1 909 (* KNOWN ONLY BY THE SETTING OF INDICATORD *) 1 910 accbloc : regpt ; (* POINTS BOX DESCRIBING RA IF USED *) *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 20 1 911 accbool : boolean ; (* TRUE <==> RA IS USED TO KEEP LCOND *) 1 912 transf : integer ; (* GIVES THE SUITABLE INDICATORS TESTING *) 1 913 ) ; (* END LCOND *) 1 914 1 915 END ; (* RECORD ATTR *) 1 916 1 917 typepr = (epp, spri, lprp) ; (* FOR PR. INST *) 1 918 typix = (adlx, adx, sxl, lxl) ; (* FOR XI INST *) 1 919 typeofop = (load, sub, shiftl, add, neg, cmp, stor) ; (* FOR A,Q,AQ,EAQ INST *) 1 920 statearray = ARRAY [register] OF boolean ; (* STATE OF REGISTERS *) 1 921 1 922 (* STATEMENT MAP *) 1 923 1 924 sttmapptr = @sttmap ; 1 925 sttmap = ARRAY [1..30000] OF 1 926 RECORD 1 927 word1 : integer ; 1 928 word2 : integer 1 929 END ; 1 930 1 931 (* PROFILE COUNTERS AREA *) 1 932 1 933 profareaptr = @profarea ; 1 934 profarea = ARRAY [0..60000] OF integer ; 1 935 1 936 (* BLOCK NODE *) 1 937 1 938 blocktype = (procblock, withblock) ; 1 939 vararea = (statics, locals) ; 1 940 blocknode = RECORD 1 941 father, brother, son : blocknodeptr ; (* BLOCKS TREE *) 1 942 codebegin, codeend : integer ; (* OFFSETS IN STATEMENT MAP *) 1 943 first : ctp ; (* PTR TO FIRST DECLARED SYMBOL *) 1 944 CASE blocktp : blocktype OF 1 945 procblock : ( 1 946 blockbox : ctp ; (* SYMBOL BLOCK FOR PROCEDURE *) 1 947 structureplace : integer ; (* OFFSET OF ENTRY STRUCTURE *) 1 948 firstlabel : labelblockptr ; (* PTR TO FIRST LABEL *) 1 949 nextproc : blocknodeptr ; (* NEXT BLOCK *) 1 950 hdrfil, hdrind, hdrlen, hdrlin : integer ; (* SOURCE OF HEADER *) 1 951 ) ; 1 952 withblock : ( 1 953 wbase : vararea ; 1 954 wdispl : integer ; (* OFFSET *) 1 955 windirect : boolean ; 1 956 wstrfile, wstrindex, wstrlength : integer ; 1 957 recordptr : ctp ; 1 958 ) ; 1 959 END ; 1 960 1 961 (* CONDITIONNAL COMPILATION MECHANISM *) 1 962 1 963 condaddr = ^condbox ; 1 964 condbox = RECORD 1 965 condname : alfaid ; 1 966 nextcond : condaddr ; 1 967 active, activated, setinargs : boolean *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 21 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 118 119 120 121 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 22 122 123 VAR 124 (* IMPORTED CONSTANTS *) 125 minreal, maxreal : real ; 126 (* IMPORTED FROM RACINE *) 127 alfaptr : ctp ; 128 aval : alfaid ; 129 boolptr : ctp ; 130 ch8flag : boolean ; 131 charptr : ctp ; 132 display : ARRAY [0..displimit] OF recidscope ; 133 errorflag : ptexternalitem ; 134 errorsfound : ARRAY [0..maxerpg] OF SET OF 0..maxset ; 135 errtotal : integer ; 136 inputflag : ptexternalitem ; 137 intptr : ctp ; 138 lamptr : ctp ; 139 listyes : boolean ; 140 mapswitch : boolean ; 141 maxstring_ptr : ctp ; 142 mpcogout : text ; 143 next : ctp ; 144 nilptr : ctp ; 145 no : integer ; 146 outputflag : ptexternalitem ; 147 pageserrors : ARRAY [0..maxerpg] OF SET OF 0..maxset ; 148 pascalfrench : boolean ; 149 pnumptr : ctp ; 150 progname : alfaid ; 151 programnode : blocknodeptr ; 152 realptr : ctp ; 153 string_ptr : ctp ; 154 symbolfile : integer ; 155 symbolindex : integer ; 156 symbolline : integer ; 157 textfilectp : ctp ; 158 top : integer ; 159 undecptr : ctp ; 160 usednames : typusednames ; 161 version : integer ; 162 (* IMPORTED FROM DECLARE *) 163 analyzing_schema : schema_status ; 164 decltrace : levtrace ; 165 firstlabbox : labelblockptr ; 166 hdrfile : integer ; 167 hdrindex : integer ; 168 hdrlength : integer ; 169 hdrline : integer ; 170 171 172 (* EXPORTABLE VARIABLES *) 173 (* NONE *) 174 175 176 (* LOCAL VARIABLES *) 177 currentnode : blocknodeptr ; 178 firstalfa : ctp ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 23 179 stdcompilernames : ARRAY [1..2] OF alfaid ; 180 stdextendnames : ARRAY [1..23] OF alfaid ; 181 stdnames, 182 stdnamesa, 183 stdnamesf : ARRAY [1..38] OF alfaid ; 184 stdsolnames, 185 stdsolnamesa, 186 stdsolnamesf : ARRAY [1..30] OF alfaid ; 187 uversion : integer ; (* VERSION OF UNIQUE *) 188 189 190 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 24 191 192 $VALUE 193 stdcompilernames = ('insert_', 'append_') ; 194 stdextendnames = ( 195 'maxchar', 3 * ' ', 196 'date', 'time', 'mvc', 'alloc', ' ', 197 'clock', 'cvptrint', 'ccsubarr', 2 * ' ', 198 'log10', 'string', 'maxstring', 'length', 'maxlength', 'position', 'substr', 'insert', 'delete' 199 ) ; 200 stdnamesa = ( 201 'real', 'integer', 'maxint', 'boolean', 'false', 'true', 'char', 'text', 202 'get', 'put', 'reset', 'rewrite', 'new', 'dispose', 'read', 'readln', 'write', 203 'writeln', 'page', 'pack', 'unpack', 204 'odd', 'ord', 'chr', 'eof', 'eoln', 'abs', 'trunc', 'round', 'pred', 'succ', 205 'sqr', 206 'sin', 'cos', 'ln', 'exp', 'sqrt', 'arctan' 207 ) ; 208 stdnamesf = ( 209 'reel', 'entier', 'entmax', 'booleen', 'faux', 'vrai', 'car', 'texte', 210 'prendre', 'mettre', 'relire', 'recrire', 'creer', 'liberer', 'lire', 211 'lireln', 'ecrire', 'ecrireln', 'page', 'tasser', 'detasser', 212 'impair', 'ord', 'carac', 'fdf', 'fdln', 'abs', 'tronc', 'arrondi', 'pred', 213 'succ', 'carre', 'sin', 'cos', 'ln', 'exp', 'rac2', 'arctan' 214 ) ; 215 stdsolnamesa = ( 216 'maxreal', 'minreal', 'setmax', 2 * ' ', 217 'fconnect', 'fupdate', 'fget', 'fput', 'fclose', 'fappend', 'freopen', 218 'flush', 'argv', 'stop', 219 4 * ' ', 220 'fsize', 'fpos', 'fllength', 'fstatus', 'sread', 'swrite', 'argc', 4 * ' ' 221 ) ; 222 stdsolnamesf = ( 223 'reelmax', 'precision', 'ensmax', ' ', ' ', 224 'connecter', 'fupdate', 'fprendre', 'fmettre', 'fermer', 'allonger', 225 'reouvrir', 'vider', 'arg', 'stop', 226 ' ', ' ', ' ', ' ', 227 'taille', 'poscour', 'maxligne', 'etat', 'lirech', 'ecrirech', 'nbarg', 228 4 * ' ' 229 ) $ 230 231 232 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 25 233 234 (* HEADERS OF THE IMPORTED PROCEDURES *) 235 (* FROM RACINE *) 236 PROCEDURE error (errno : integer) ; EXTERNAL ; 237 PROCEDURE nextline ; EXTERNAL ; 238 FUNCTION recadre (fnumber, fmod : integer) : integer ; EXTERNAL ; 239 PROCEDURE nextpage ; EXTERNAL ; 240 PROCEDURE skip (nosymb : integer) ; EXTERNAL ; 241 PROCEDURE insymbol ; EXTERNAL ; 242 PROCEDURE returnstop ; EXTERNAL ; 243 PROCEDURE initracine ; EXTERNAL ; 244 PROCEDURE statement_begins (genp : boolean) ; EXTERNAL ; 245 (* FROM DECLARE *) 246 PROCEDURE initdeclare ; EXTERNAL ; 247 PROCEDURE checkexternalitem (ai : alfaid ; VAR fpt : ptexternalitem) ; EXTERNAL ; 248 PROCEDURE createexternalbox (ai : alfaid ; ei : externalitemtype ; id : idkinds ; 249 VAR fpt : ptexternalitem) ; EXTERNAL ; 250 (* FROM GENERE *) 251 PROCEDURE initgen ; EXTERNAL ; 252 FUNCTION longint (i : integer) : integer ; EXTERNAL ; 253 (* FROM STATE *) 254 PROCEDURE initstate ; EXTERNAL ; 255 256 (* FROM CONTEXTTABLE *) 257 FUNCTION bytesneeded (objform : typform ; highest : integer ; ispack : boolean) : integer ; EXTERNAL ; 258 PROCEDURE add_schema_token (kind : schema_token_kind) ; EXTERNAL ; 259 FUNCTION boundary (objform : typform ; ispack : boolean ; pcksize : integer) : integer ; EXTERNAL ; 260 PROCEDURE create_vars_box (VAR fvbox : ctp ; fname : alfaid) ; EXTERNAL ; 261 262 PROCEDURE create_proc_box (VAR fvbox : ctp ; fname : alfaid) ; EXTERNAL ; 263 PROCEDURE create_types_box (VAR fvbox : ctp ; fname : alfaid ; fform : typform ; fbool : boolean) ; EXTERNAL ; 264 PROCEDURE create_schema_box (VAR fvbox : ctp ; fname : alfaid) ; EXTERNAL ; 265 PROCEDURE create_konst_box (VAR fvbox : ctp ; fname : alfaid ; ftypofconst : consttype) ; EXTERNAL ; 266 267 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 26 268 269 (* *********************************************************HEAPERROR********** *) 270 271 PROCEDURE heaperror ; 272 273 (* C FUNCTIONS OF THIS PROCEDURE 274* . EMITS AN ERROR HEAP IS FULL 275* . EMITS EXPLICIT MSG ON LISTING 276* . STOPS COMPILATION 277* C *) 278 (* E ERRORS DETECTED 279* 252 : COMPILER'S HEAP FULL.COMPILATION STOPS 280* E *) 281 BEGIN 282 error (252) ; 283 nextline ; 284 write (mpcogout, ' ******** COMPILER''S HEAP IS FULL. COMPILATION STOPS') ; 285 nextline ; 286 returnstop ; (* GOTO 100 IN MODULE RACINE *) 287 (* TO STOP COMPILATION *) 288 END (* HEAPERROR *) ; 289 290 291 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 27 292 293 (* ***********************************************INITIALISE******************* *) 294 295 PROCEDURE initialise ; 296 297 (* C INITIALIZES ALL GLOBALS USED IN COMPILER WHICH MUST BE INITIALIZED C *) 298 BEGIN 299 uversion := 3 ; 300 initracine ; 301 initdeclare ; 302 initgen ; 303 initstate ; 304 IF uversion > version THEN version := uversion ; 305 END (* INITIALISE *) ; 306 307 308 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 28 309 310 (* ************************************************* INITSTDPURE ****** *) 311 312 PROCEDURE initstdpure ; 313 VAR 314 locpt, lp : ctp ; 315 it : integer ; 316 BEGIN (* INITSTDPURE *) 317 318 (* TYPE OF NIL *) 319 create_types_box (nilptr, blank, pointer, false) ; 320 WITH nilptr ^ DO 321 BEGIN 322 size := bytesneeded (pointer, 0, false) ; 323 cadrage := boundary (pointer, false, 0) ; 324 pack := false ; 325 END ; 326 327 (* TYPE REAL *) 328 create_types_box (realptr, stdnames [1], reel, false) ; 329 WITH realptr ^ DO 330 BEGIN 331 deffile := 0 ; defline := 0 ; next := realptr ; 332 size := bytesneeded (reel, 0, false) ; 333 cadrage := boundary (reel, false, 0) ; 334 pack := false ; 335 END ; 336 337 (* TYPE INTEGER *) 338 create_types_box (intptr, stdnames [2], numeric, false) ; 339 WITH intptr ^ DO 340 BEGIN 341 deffile := 0 ; defline := 0 ; next := intptr ; 342 size := bytesneeded (numeric, maxint, false) ; 343 cadrage := boundary (numeric, false, 0) ; 344 pack := false ; 345 npksize := size ; 346 nmax := maxint ; nmin := -maxint ; 347 END ; 348 349 (* NUMERIC SUBRANGE SIMULATION OF NUMERIC SETS *) 350 create_types_box (locpt, blank, numeric, false) ; 351 WITH locpt ^ DO 352 BEGIN 353 size := bytesneeded (numeric, maxset, false) ; 354 cadrage := boundary (numeric, false, 0) ; 355 pack := false ; 356 npksize := bytesneeded (numeric, maxset, true) ; 357 nmax := maxset ; 358 END ; 359 360 (* TYPE OF NUMERIC SETS *) 361 create_types_box (pnumptr, blank, power, false) ; 362 WITH pnumptr ^ DO 363 BEGIN 364 size := bytesneeded (power, maxset, false) ; 365 cadrage := boundary (power, false, 0) ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 29 366 pack := false ; 367 ppksize := bytesneeded (power, setmax, true) ; 368 setlength := setmax + 1 ; 369 elset := locpt ; 370 END ; 371 372 (* CONSTANT MAXINT *) 373 create_konst_box (locpt, stdnames [3], wordconst) ; 374 WITH locpt^ DO 375 BEGIN 376 next := locpt ; 377 deffile := 0 ; defline := 0 ; 378 contype := intptr ; values := maxint ; 379 END ; 380 381 (* TYPE BOOLEAN *) 382 create_types_box (boolptr, stdnames [4], scalar, false) ; 383 WITH boolptr^ DO 384 BEGIN 385 next := boolptr ; 386 deffile := 0 ; defline := 0 ; 387 size := bytesneeded (scalar, 1, false) ; 388 cadrage := boundary (scalar, false, 0) ; 389 pack := false ; 390 spksize := bytesneeded (scalar, 1, true) ; 391 END ; 392 393 (* CONSTANTS FALSE TRUE *) 394 lp := NIL ; 395 FOR it := 0 TO 1 DO 396 BEGIN 397 create_konst_box (locpt, stdnames [5 + it], wordconst) ; 398 WITH locpt^ DO 399 BEGIN 400 next := locpt ; 401 deffile := 0 ; defline := 0 ; 402 contype := boolptr ; values := it ; succ := lp ; 403 END ; 404 lp := locpt ; 405 END ; 406 boolptr^.fconst := locpt ; 407 408 (* TYPE OF PREDEFINED SET OF BOOLEAN *) 409 create_types_box (locpt, blank, power, false) ; 410 WITH locpt ^ DO 411 BEGIN 412 deffile := 0 ; defline := 0 ; 413 size := bytesneeded (power, 1, false) ; 414 cadrage := boundary (power, false, 0) ; 415 pack := false ; 416 ppksize := bytesneeded (power, 1, true) ; 417 setlength := 2 ; 418 elset := boolptr ; 419 END ; 420 boolptr^.sptcstepw := locpt ; 421 422 (* TYPE CHAR *) *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 30 423 create_types_box (charptr, stdnames [7], scalar, false) ; 424 WITH charptr^ DO 425 BEGIN 426 next := charptr ; 427 deffile := 0 ; defline := 0 ; 428 size := bytesneeded (scalar, maxchar, false) ; 429 cadrage := boundary (scalar, false, 0) ; 430 pack := false ; 431 spksize := bytesneeded (scalar, maxchar, true) ; 432 END ; 433 434 (* LAST CONSTANT OF TYPE CHAR *) 435 create_konst_box (locpt, blank, wordconst) ; 436 WITH locpt ^ DO 437 BEGIN 438 contype := charptr ; 439 IF ch8flag THEN values := maxchar8 440 ELSE values := maxchar ; 441 END ; 442 charptr ^.fconst := locpt ; 443 444 (* TYPE OF PREDEFINED SET OF CHAR *) 445 create_types_box (locpt, blank, power, false) ; 446 WITH locpt ^ DO 447 BEGIN 448 deffile := 0 ; defline := 0 ; 449 size := bytesneeded (power, maxchar, false) ; 450 cadrage := boundary (power, false, 0) ; 451 pack := false ; 452 ppksize := bytesneeded (power, maxchar, true) ; 453 setlength := maxchar + 1 ; 454 elset := charptr ; 455 END ; 456 charptr^.sptcstepw := locpt ; 457 458 (* TYPE OF EMPTY SET *) 459 create_types_box (lamptr, blank, power, false) ; 460 WITH lamptr ^ DO 461 BEGIN 462 deffile := 0 ; defline := 0 ; 463 size := bytesneeded (power, maxset, false) ; 464 cadrage := boundary (power, false, 0) ; 465 pack := false ; 466 ppksize := bytesneeded (power, maxset, true) ; 467 setlength := maxset + 1 ; 468 END ; 469 470 (* TYPE OF ALFA CONSTANTS *) 471 create_types_box (alfaptr, blank, arrays, false) ; 472 WITH alfaptr ^ DO 473 BEGIN 474 deffile := 0 ; defline := 0 ; 475 size := 0 ; 476 cadrage := 0 ; 477 pack := true ; 478 aeltype := charptr ; inxtype := intptr ; 479 subsize := bytesneeded (scalar, maxchar, true) ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 31 480 END ; 481 482 (* TYPE TEXT *) 483 create_types_box (textfilectp, stdnames [8], files, false) ; 484 WITH textfilectp^ DO 485 BEGIN 486 next := textfilectp ; 487 deffile := 0 ; defline := 0 ; 488 size := fsbpointersize ; 489 cadrage := bytesindword ; 490 pack := false ; 491 feltype := charptr ; 492 END ; 493 494 (* PREDEFINED PROCEDURES: 495* get put reset rewrite new dispose read readln write writeln 496* page pack unpack *) 497 FOR it := 0 TO 12 DO 498 BEGIN 499 create_proc_box (locpt, stdnames [9 + it]) ; 500 WITH locpt^ DO 501 BEGIN 502 next := locpt ; 503 deffile := 0 ; defline := 0 ; 504 proctype := locpt ; proclevel := 0 ; formals := NIL ; 505 segsize := it ; 506 procinscope := false ; 507 predefproc := true ; ploc := instdpure ; 508 END ; 509 END ; 510 511 (* PREDEFINED FUNCTIONS *) 512 (* odd ord chr eof eoln abs trunc round pred succ sqr *) 513 FOR it := 0 TO 10 DO 514 BEGIN 515 create_proc_box (locpt, stdnames [22 + it]) ; 516 WITH locpt^ DO 517 BEGIN 518 next := locpt ; 519 deffile := 0 ; defline := 0 ; 520 proctype := nilptr ; proclevel := 0 ; formals := NIL ; 521 segsize := it ; 522 procinscope := false ; 523 predefproc := true ; ploc := instdpure ; 524 END ; 525 END ; 526 527 (* PREDEFINED SCIENTIFIC FUNCTIONS: 528* sin cos ln exp sqrt arctan *) 529 FOR it := 0 TO 5 DO 530 BEGIN 531 create_proc_box (locpt, stdnames [33 + it]) ; 532 WITH locpt^ DO 533 BEGIN 534 next := locpt ; 535 deffile := 0 ; defline := 0 ; 536 proctype := realptr ; proclevel := 0 ; formals := NIL ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 32 537 segsize := it ; 538 procinscope := false ; 539 predefproc := true ; ploc := instdpure ; 540 END ; 541 END ; 542 543 (* UNDECLARED VARIABLE associated to undeclared identifiers *) 544 create_vars_box (undecptr, blank) ; 545 WITH undecptr^ DO 546 BEGIN 547 visused := true ; visset := true ; 548 END ; 549 550 $OPTIONS compile = trace $ 551 IF decltrace > low THEN 552 BEGIN 553 write (mpcogout, ' @@@ Fin de INITSTDPURE @@@ with NEXT, UNDECPTR at^', 554 ord (next), ord (undecptr)) ; 555 nextline ; 556 END ; 557 $OPTIONS compile = true $ 558 END (* INITSTDPURE *) ; 559 560 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 33 561 562 (* *********************************************** INITSTDSOL ************** *) 563 564 PROCEDURE initstdsol ; 565 566 VAR 567 it : integer ; 568 locpt : ctp ; 569 570 BEGIN (* INITSTDSOL *) 571 572 (* Constantes MAXREAL and MINREAL *) 573 FOR it := 1 TO 2 DO 574 BEGIN 575 create_konst_box (locpt, stdsolnames [it], dwordconst) ; 576 WITH locpt^ DO 577 BEGIN 578 next := locpt ; 579 deffile := 0 ; defline := 0 ; 580 contype := realptr ; 581 IF it = 1 THEN valreel := maxreal ELSE valreel := minreal ; 582 END ; 583 END ; 584 585 (* Constante SOL SETMAX *) 586 create_konst_box (locpt, stdsolnames [3], wordconst) ; 587 WITH locpt^ DO 588 BEGIN 589 next := locpt ; 590 deffile := 0 ; defline := 0 ; 591 contype := intptr ; values := setmax ; 592 END ; 593 594 (* SOL procedures 595* fconnect,fupdate,fget,fput,fclose,fappend,freopen,flush,argv, 596* stop *) 597 FOR it := 0 TO 9 DO 598 BEGIN 599 create_proc_box (locpt, stdsolnames [6 + it]) ; 600 WITH locpt^ DO 601 BEGIN 602 next := locpt ; 603 deffile := 0 ; defline := 0 ; 604 proctype := locpt ; proclevel := 0 ; formals := NIL ; 605 segsize := it ; 606 procinscope := false ; 607 predefproc := true ; ploc := instdsol ; 608 END ; 609 END ; 610 611 (* SOL functions 612* fsize, fpos, fllength, fstatus, sread, swrite, argc *) 613 FOR it := 0 TO 6 DO 614 BEGIN 615 create_proc_box (locpt, stdsolnames [20 + it]) ; 616 WITH locpt^ DO 617 BEGIN *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 34 618 next := locpt ; 619 deffile := 0 ; defline := 0 ; 620 proctype := nilptr ; proclevel := 0 ; formals := NIL ; 621 segsize := it ; 622 procinscope := false ; 623 predefproc := true ; ploc := instdsol ; 624 END ; 625 END ; 626 END (* INITSTDSOL *) ; 627 628 629 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 35 630 631 (* ***************************************** INITSTDCOMPILER ************** *) 632 633 PROCEDURE initstdcompiler ; 634 635 VAR 636 it : integer ; 637 locpt : ctp ; 638 639 BEGIN (* INITSTDCOMPILER *) 640 FOR it := 0 TO 1 DO 641 BEGIN 642 create_proc_box (locpt, stdcompilernames [1 + it]) ; 643 WITH locpt^ DO 644 BEGIN 645 next := locpt ; 646 deffile := 0 ; defline := 0 ; 647 proctype := locpt ; proclevel := 0 ; formals := NIL ; 648 segsize := it ; 649 procinscope := false ; 650 predefproc := true ; ploc := instdcompiler ; 651 END ; 652 END ; 653 END (* INITSTDCOMPILER *) ; 654 655 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 36 656 657 (* ***************************************** INITSTDEXTEND *************** *) 658 659 PROCEDURE initstdextend ; 660 VAR 661 it : integer ; 662 locpt : ctp ; 663 BEGIN (* INITSTDEXTEND *) 664 665 666 (* CONSTANT MAXCHAR *) 667 new (locpt, konst, wordconst) ; IF locpt = NIL THEN heaperror ; 668 WITH locpt^ DO 669 BEGIN 670 klass := konst ; typofconst := wordconst ; 671 name := stdextendnames [1] ; nxtel := next ; next := locpt ; 672 alfathread := NIL ; deffile := 0 ; defline := 0 ; 673 new (references) ; IF references = NIL THEN heaperror ; (* Exit compil *) 674 WITH references^ DO 675 BEGIN 676 refnbr := 0 ; nextref := NIL ; 677 END ; 678 contype := intptr ; values := maxchar ; succ := NIL ; 679 END ; 680 681 682 (* EXTEND PROCEDURES 683* date time mvc alloc 684* *) 685 FOR it := 0 TO 3 DO 686 BEGIN 687 create_proc_box (locpt, stdextendnames [5 + it]) ; 688 WITH locpt^ DO 689 BEGIN 690 next := locpt ; 691 deffile := 0 ; defline := 0 ; 692 proctype := locpt ; proclevel := 0 ; formals := NIL ; 693 segsize := it ; 694 procinscope := false ; 695 predefproc := true ; ploc := instdextend ; 696 END ; 697 END ; 698 699 (* EXTEND FUNCTIONS 700* clock 701* cvptrint ccsubarr *) 702 FOR it := 0 TO 2 DO 703 BEGIN 704 create_proc_box (locpt, stdextendnames [10 + it]) ; 705 WITH locpt^ DO 706 BEGIN 707 next := locpt ; 708 deffile := 0 ; defline := 0 ; 709 proctype := nilptr ; proclevel := 0 ; formals := nilptr ; 710 segsize := it ; 711 procinscope := false ; 712 predefproc := true ; ploc := instdextend ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 37 713 END ; 714 END ; 715 716 (* Predefined scientific function LOG10 *) 717 718 create_proc_box (locpt, stdextendnames [15]) ; 719 WITH locpt^ DO 720 BEGIN 721 next := locpt ; 722 deffile := 0 ; defline := 0 ; 723 proctype := realptr ; proclevel := 0 ; 724 segsize := log10switch ; 725 procinscope := false ; 726 predefproc := true ; ploc := instdextend ; 727 END ; 728 729 730 (* PREDEFINED MAXSTRING CONSTANT *) 731 732 create_konst_box (maxstring_ptr, stdextendnames [17], wordconst) ; 733 WITH maxstring_ptr^ DO 734 BEGIN 735 deffile := 0 ; defline := 0 ; 736 contype := intptr ; values := (wordsinsegment - 1) * bytesinword ; 737 END ; 738 next := maxstring_ptr ; 739 740 (* BOX FOR STRING LENGTH RANGE *) 741 742 create_types_box (locpt, blank, numeric, false) ; 743 WITH locpt^ DO 744 BEGIN 745 size := bytesneeded (numeric, maxstring_ptr^.values, false) ; 746 cadrage := boundary (numeric, false, 0) ; 747 npksize := size ; 748 nmin := 0 ; nmax := maxstring_ptr^.values ; 749 END ; 750 751 (* BOX FOR STRING FORMAT *) 752 753 create_schema_box (string_ptr, stdextendnames [16]) ; 754 next := string_ptr ; 755 WITH string_ptr^ DO 756 BEGIN 757 deffile := 0 ; defline := 0 ; 758 parameter_count := 1 ; 759 create_vars_box (formal_parameter_list, 'maxlength') ; 760 WITH formal_parameter_list^ DO 761 BEGIN 762 vtype := locpt ; 763 vkind := formal ; 764 nxtel := NIL ; 765 END ; 766 END ; 767 WITH analyzing_schema DO 768 BEGIN 769 on := true ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 38 770 schema_ptr := string_ptr ; 771 current_token := NIL ; 772 add_schema_token (symbol_token) ; 773 WITH current_token^ DO 774 BEGIN 775 tno := 38 ; tcl := 2 (* "RECORD" *) 776 END ; 777 add_schema_token (name_token) ; 778 current_token^.taval := '(length)' ; 779 add_schema_token (symbol_token) ; 780 WITH current_token^ DO 781 current_token^.tno := 19 ; (* ":" *) 782 add_schema_token (int_const_token) ; (* "0" *) 783 add_schema_token (symbol_token) ; 784 current_token^.tno := 39 ; (* ".." *) 785 add_schema_token (name_token) ; 786 current_token^.taval := 'maxlength' ; 787 add_schema_token (symbol_token) ; 788 current_token^.tno := 16 ; (* ";" *) 789 add_schema_token (name_token) ; 790 current_token^.taval := '(character string)' ; 791 add_schema_token (symbol_token) ; 792 current_token^.tno := 19 ; (* : *) 793 add_schema_token (symbol_token) ; 794 current_token^.tno := 42 ; (* "PACKED" *) 795 add_schema_token (symbol_token) ; 796 WITH current_token^ DO 797 BEGIN 798 tno := 38 ; tcl := 1 (* "ARRAY" *) 799 END ; 800 add_schema_token (symbol_token) ; 801 current_token^.tno := 11 ; (* "[" *) 802 add_schema_token (int_const_token) ; (* "1" *) 803 current_token^.t_int_value := 1 ; 804 add_schema_token (symbol_token) ; 805 current_token^.tno := 39 ; (* ".." *) 806 add_schema_token (name_token) ; 807 current_token^.taval := 'maxlength' ; 808 add_schema_token (symbol_token) ; 809 current_token^.tno := 12 ; (* "]" *) 810 add_schema_token (symbol_token) ; 811 current_token^.tno := 27 ; (* "OF" *) 812 add_schema_token (name_token) ; 813 current_token^.taval := charptr^.name ; 814 add_schema_token (symbol_token) ; 815 current_token^.tno := 22 ; (* " END" *) 816 END ; 817 818 (* PREDEFINED STRING FUNCTIONS *) 819 820 FOR it := 0 TO 3 DO 821 BEGIN 822 create_proc_box (locpt, stdextendnames [18 + it]) ; 823 WITH locpt^ DO 824 BEGIN 825 next := locpt ; 826 deffile := 0 ; defline := 0 ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 39 827 proctype := nilptr ; proclevel := 0 ; formals := nilptr ; 828 segsize := it + 3 ; (* FROM 3 TO 6 *) 829 procinscope := false ; 830 predefproc := true ; ploc := instdextend ; 831 END ; 832 END ; 833 834 (* PREDEFINED STRING PROCEDURES *) 835 836 FOR it := 0 TO 1 DO 837 BEGIN 838 create_proc_box (locpt, stdextendnames [22 + it]) ; 839 WITH locpt^ DO 840 BEGIN 841 next := locpt ; 842 deffile := 0 ; defline := 0 ; 843 proctype := locpt ; proclevel := 0 ; formals := NIL ; 844 segsize := it + 3 ; (* FROM 3 TO 4 *) 845 procinscope := false ; 846 predefproc := true ; ploc := instdextend ; 847 END ; 848 END ; 849 850 END (* INITSTDEXTEND *) ; 851 852 853 854 855 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 40 856 857 (* *************************************** INITCLASSE ************************* *) 858 859 PROCEDURE initclasse ; 860 861 (* C By successive calls of 862* INITSTDPURE, INITSTDCOMPILER 863* INITSTDSOL 864* INITSTDEXTEND 865* all suitable predefined items are created 866* As output of this procedure, we have 867* INTPTR, REALPTR, and so on ....... 868* NEXT last created name 869* DISPLAY [ 0 ] is initialized 870* C *) 871 872 BEGIN (* Initclasse *) 873 $OPTIONS compile = trace $ 874 IF decltrace > none THEN 875 BEGIN 876 write (mpcogout, '@@@ Debut de INITCLASSE @@@ ') ; 877 nextline ; 878 END ; 879 $OPTIONS compile = true $ 880 881 next := NIL ; 882 IF pascalfrench THEN 883 BEGIN 884 stdnames := stdnamesf ; stdsolnames := stdsolnamesf ; 885 END ELSE 886 BEGIN 887 stdnames := stdnamesa ; stdsolnames := stdsolnamesa ; 888 END ; 889 890 initstdpure ; 891 initstdcompiler ; 892 initstdsol ; 893 initstdextend ; 894 895 WITH display [0] DO 896 BEGIN 897 fname := next ; occur := block ; 898 END ; 899 900 $OPTIONS compile = trace $ 901 IF decltrace > low THEN 902 BEGIN 903 write (mpcogout, '@@@ Fin de INITCLASSE @@@ with NEXT at^', 904 ord (next)) ; 905 nextline ; 906 END ; 907 $OPTIONS compile = true $ 908 END (* Initclasse *) ; 909 910 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 41 911 912 (* *************************************PROGDECL******************************* *) 913 914 PROCEDURE progdecl ; 915 916 (* C CALLED IN ORDER TO ANALYZE PROGRAM HEADER. 917* * MAIN PROGRAM 918* * PROGRAM NAME 919* * EXTERNAL LIST 920* C *) 921 (* E ERRORS DETECTED 922* 2: ID. EXPECTED 923* 3: 'PROGRAM' EXPECTED 924* 4: ')' EXPECTED 925* 14: ';' EXPECTED 926* 20: ',' EXPECTED 927* 100 : External id declared twice 928* E *) 929 VAR 930 wkextpt : ptexternalitem ; 931 BEGIN (* PROGDECL *) 932 $OPTIONS compile = trace $ 933 IF decltrace > none THEN 934 BEGIN 935 write (mpcogout, ' @@@ DEBUT PROGDECL @@@ ') ; nextline ; 936 END ; 937 $OPTIONS compile = true $ 938 insymbol ; 939 IF mapswitch THEN 940 BEGIN 941 hdrline := symbolline ; 942 hdrfile := symbolfile ; 943 hdrindex := symbolindex ; 944 END ; 945 IF no # 50 (* PROGRAM *) THEN 946 BEGIN 947 error (3) ; skip (46) ; 948 END ELSE 949 BEGIN 950 insymbol ; 951 IF (no # 1) (* ID *) THEN 952 BEGIN 953 error (2) ; skip (9) ; (* SEARCH ( *) 954 END ELSE 955 BEGIN 956 progname := aval ; 957 insymbol ; 958 END ; 959 IF no = 9 (* ( *) THEN 960 BEGIN (* EXTERNAL LIST *) 961 insymbol ; 962 IF no # 1 THEN 963 BEGIN 964 error (2) ; skip (1) ; (* SEARCHS NEXT ID *) 965 END ; 966 WHILE no = 1 (* ID *) DO 967 BEGIN *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 42 968 checkexternalitem (aval, wkextpt) ; 969 IF wkextpt <> NIL THEN error (100) ELSE 970 BEGIN 971 IF aval = usednames [1] THEN 972 createexternalbox (aval, requiredfile, imported, inputflag) ELSE 973 IF aval = usednames [3] THEN 974 createexternalbox (aval, requiredfile, imported, errorflag) ELSE 975 IF aval = usednames [2] THEN 976 createexternalbox (aval, requiredfile, imported, outputflag) ELSE 977 createexternalbox (aval, remanentfile, actual, wkextpt) ; 978 END ; 979 insymbol ; 980 IF no = 15 (* , *) THEN 981 BEGIN 982 insymbol ; 983 IF no <> 1 THEN 984 BEGIN 985 error (2) ; skip (1) 986 END 987 END ELSE 988 IF no # 10 (* ) *) THEN 989 error (20) ; 990 END (* WHILE NO=1 *) ; 991 IF no = 10 THEN (* ) *) 992 insymbol ELSE 993 BEGIN 994 error (4) ; skip (46) ; (* SEARCHS ; *) 995 END ; 996 END (* NO=9 *) ; 997 hdrlength := symbolindex - hdrindex ; 998 IF no # 16 (* ; *) THEN 999 BEGIN 1000 error (14) ; skip (16) ; 1001 END ; 1002 END (* NO=50 PROGRAM *) ; 1003 IF no = 16 THEN insymbol ; 1004 $OPTIONS compile = trace $ 1005 IF decltrace > low THEN 1006 BEGIN 1007 write (mpcogout, ' @@@ FIN PROGDECL @@@ ') ; nextline ; 1008 END ; 1009 $OPTIONS compile = true $ 1010 END (* PROGDECL *) ; 1011 1012 1013 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 43 1014 1015 (* *********************************************************PRTERRMEANS******** *) 1016 1017 1018 PROCEDURE prterrmeans (VAR filetowr : text ; errornum : integer) ; 1019 1020 VAR j, i : integer ; 1021 1022 (* ***********************************************PR00 < PRTERRMEANS*********** *) 1023 1024 PROCEDURE pr00 (errnumod : integer) ; 1025 1026 (* C ERRORS 0 TO 49 NUMBER IS ERRNUMOD C *) 1027 BEGIN 1028 CASE errnumod OF 1029 1 : (* 1 *) 1030 write (filetowr, 'SCALAR OR NUMERIC EXPECTED') ; 1031 2 : (* 2 *) 1032 write (filetowr, 'IDENTIFIER EXPECTED') ; 1033 3 : (* 3 *) 1034 IF pascalfrench THEN 1035 write (filetowr, '''PROGRAMME'' EXPECTED') 1036 ELSE 1037 write (filetowr, '''PROGRAM'' EXPECTED') ; 1038 4 : (* 4 *) 1039 write (filetowr, ''')'' EXPECTED') ; 1040 5 : (* 5 *) 1041 write (filetowr, '''..'' EXPECTED') ; 1042 6 : (* 6 *) 1043 write (filetowr, 'BOOLEAN EXPRESSION EXPECTED') ; 1044 7 : (* 7 *) 1045 write (filetowr, ''':'' EXPECTED') ; 1046 8 : (* 8 *) 1047 IF pascalfrench THEN 1048 write (filetowr, '''DE'' EXPECTED') 1049 ELSE 1050 write (filetowr, '''OF'' EXPECTED') ; 1051 9 : (* 9 *) 1052 write (filetowr, '''('' EXPECTED') ; 1053 10 : (* 10 *) 1054 write (filetowr, 'ERROR IN TYPE DECLARATION') ; 1055 11 : (* 11 *) 1056 write (filetowr, '''['' EXPECTED') ; 1057 12 : (* 12 *) 1058 write (filetowr, ''']'' EXPECTED') ; 1059 13 : (* 13 *) 1060 IF pascalfrench THEN 1061 write (filetowr, '''FIN'' EXPECTED') 1062 ELSE 1063 write (filetowr, '''END'' EXPECTED') ; 1064 14 : (* 14 *) 1065 write (filetowr, ''';'' EXPECTED') ; 1066 15 : (* 15 *) 1067 write (filetowr, 'INTEGER EXPECTED') ; 1068 16 : (* 16 *) 1069 write (filetowr, '''='' EXPECTED') ; 1070 17 : (* 17 *) *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 44 1071 IF pascalfrench THEN 1072 write (filetowr, '''DEBUT'' EXPECTED') 1073 ELSE 1074 write (filetowr, '''BEGIN'' EXPECTED') ; 1075 18 : (* 18 *) 1076 write (filetowr, ''' EXPECTED') ; 1077 19 : (* 19 *) 1078 write (filetowr, '"PACKED ARRAY OF CHAR" CHARACTER STRING EXPECTED') ; 1079 20 : (* 20 *) 1080 write (filetowr, ''','' EXPECTED') ; 1081 21 : (* 21 *) 1082 write (filetowr, 'ILLEGAL SHIFT COUNT') ; 1083 22 : (* 22 *) 1084 write (filetowr, 'END_OF_FILE ON INPUT FILE') ; 1085 23 : (* 23 *) 1086 write (filetowr, '"CASE LABEL" EXPECTED') ; 1087 24 : (* 24 *) 1088 write (filetowr, '''.'' EXPECTED') ; 1089 25 : (* 25 *) 1090 write (filetowr, 'INVALID TRACE OPTION IN PARAMETERS'' LIST') ; 1091 26 : (* 26 *) 1092 write (filetowr, 'PACKED ITEM NOT ALLOWED HERE') ; 1093 27 : (* 27 *) 1094 write (filetowr, 'TYPE IDENTIFIER ENCOUNTERED IN TYPE DECLARATION') ; 1095 28 : (* 28 *) 1096 write (filetowr, 'PREDEFINED PROC OR FUNCT NOT ALLOWED HERE ') ; 1097 29 : (* 29 *) 1098 write (filetowr, 'SAME LENGTH STRINGS EXPECTED HERE') ; 1099 30 : (* 30 *) 1100 write (filetowr, 'AT LEAST A DUMMY BLOC EXPECTED ') ; 1101 31 : (* 31 *) 1102 write (filetowr, 'MAIN NOT ALLOWED IN SEPARATE PROGRAM ') ; 1103 32 : (* 32 *) 1104 write (filetowr, 'OCTAL NUMBER NOT ALLOWED IN STANDARD') ; 1105 33 : (* 33 *) 1106 write (filetowr, 'HEXADECIMAL,BINARY NUMBER NOT ALLOWED IN STANDARD ') ; 1107 34 : (* 34 *) 1108 write (filetowr, 'CONDITION IDENTIFIER EXPECTED') ; 1109 35 : (* 35 *) 1110 write (filetowr, ''','' OR '';'' OR ''$'' EXPECTED') ; 1111 36 : (* 36 *) 1112 write (filetowr, ''','', '':='', '';'' OR ''$'' EXPECTED') ; 1113 37 : 1114 write (filetowr, 'SUPPLIED MULTICS IDENTIFICATION STRING ERRONEOUS') ; (* 37 *) 1115 38 : (* 38 *) 1116 write (filetowr, ''','' or ''$'' EXPECTED') ; 1117 39 : (* 39 *) 1118 write (filetowr, 'STRING OR ''*'' EXPECTED') ; 1119 40 : (* 40 *) 1120 write (filetowr, '''$'' EXPECTED') ; 1121 41 : (* 41 *) 1122 write (filetowr, 'THIS STRING CANNOT BE > 32 CHARS') ; 1123 42 : 1124 write (filetowr, 'SOL PROCEDURE IS NOT STANDARD ') ; 1125 44 : 1126 write (filetowr, 'SOL PROCEDURE IS NOT YET IMPLEMENTED ') ; 1127 45 : *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 45 1128 write (filetowr, 'EXTENDED PASCAL IS NOT STANDARD ') ; 1129 46 : 1130 write (filetowr, 'ARRAY OF FILE NOT YET READY ') ; 1131 47 : (* 47 *) 1132 write (filetowr, 'OPTION IDENTIFIER EXPECTED') ; 1133 48 : (* 48 *) 1134 write (filetowr, 'UNKNOWN OPTION') ; 1135 49 : (* 49 *) 1136 write (filetowr, '''+'' OR ''-'' EXTECTED') ; 1137 END ; (* CASE *) 1138 END (* PR00 *) ; 1139 1140 (* ***********************************************PR01 < PRTERRMEANS*********** *) 1141 1142 PROCEDURE pr01 (errnumod : integer) ; 1143 1144 (* C ERRORS 50 TO 99 NUMBER IS 50+ERRNUMOD C *) 1145 BEGIN 1146 CASE errnumod OF 1147 0 : (* 50 *) 1148 write (filetowr, 'ERROR IN CONSTANT') ; 1149 1 : (* 51 *) 1150 write (filetowr, ''':='' EXPECTED') ; 1151 2 : (* 52 *) 1152 IF pascalfrench THEN 1153 write (filetowr, '''ALORS'' EXPECTED') 1154 ELSE 1155 write (filetowr, '''THEN'' EXPECTED') ; 1156 3 : (* 53 *) 1157 IF pascalfrench THEN 1158 write (filetowr, '''JUSQUE'' EXPECTED') 1159 ELSE 1160 write (filetowr, '''UNTIL'' EXPECTED') ; 1161 4 : (* 54 *) 1162 IF pascalfrench THEN 1163 write (filetowr, '''FAIRE'' EXPECTED') 1164 ELSE 1165 write (filetowr, '''DO'' EXPECTED') ; 1166 5 : (* 55 *) 1167 IF pascalfrench THEN 1168 write (filetowr, '''HAUT/BAS'' EXPECTED') 1169 ELSE 1170 write (filetowr, '''TO/DOWNTO'' EXPECTED') ; 1171 6 : (* 56 *) 1172 write (filetowr, ' TYPE IDENTIFIER OR CONFORMANT ARRAY SCHEMA EXPECTED') ; 1173 7 : (* 57 *) 1174 write (filetowr, ' CONFORMANT ARRAY SCHEMA EXPECTED ') ; 1175 8 : (* 58 *) 1176 write (filetowr, 'ILLEGAL BEGINNING SYMBOL FOR A FACTOR') ; 1177 9 : (* 59 *) 1178 write (filetowr, 'AN IDENTIFIER CANNOT BE MORE THAN 32 CHARS LONG.') ; 1179 10 : (* 60 *) 1180 IF pascalfrench THEN 1181 write (filetowr, '''OU'' NOT ALLOWED AS MONADIC OPERATOR') 1182 ELSE 1183 write (filetowr, '''OR'' NOT ALLOWED AS MONADIC OPERATOR') ; 1184 11 : (* 61 *) *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 46 1185 write (filetowr, 'ILLEGAL FIRST SYMBOL IN A STATEMENT') ; 1186 12 : (* 62 *) 1187 write (filetowr, 'POINTED TYPE NOT DEFINED ') ; 1188 14 : (* 64 *) 1189 write (filetowr, ''','' OR '')'' EXPECTED IN VALUE LIST') ; 1190 15 : (* 65 *) 1191 write (filetowr, 'VALUE PART ALLOWED AT GLOBAL LEVEL ONLY') ; 1192 16 : (* 66 *) 1193 write (filetowr, 'ILLEGAL OPERATION FOR THIS TYPE OF FILE') ; 1194 17 : (* 67 *) 1195 write (filetowr, '''$'' OR '';'' EXPECTED.') ; 1196 18 : (* 68 *) 1197 write (filetowr, 'RESET POINTER NOT ALLOWED IN STANDARD MODE') ; 1198 19 : (* 69 *) 1199 write (filetowr, 'VALUE PART NOT ALLOWED (STANDARD)') ; 1200 20 : (* 70 *) 1201 write (filetowr, 'THIS CONDITIONAL COMPILATION MECHANISM IS OBSOLETE') ; 1202 21 : (* 71 *) 1203 write (filetowr, 'PACK ATTRIBUTE ALLOWED ONLY FOR LAST DIMENSION(S)') ; 1204 23 : (* 73 *) 1205 write (filetowr, 'EXTENSION USED IS NOT SOL AND NOT STANDARD') ; 1206 24 : (* 74 *) 1207 write (filetowr, 'STRING OR PACKED ARRAY OF 8 CHARS EXPECTED ') ; 1208 25 : (* 75 *) 1209 write (filetowr, 'EXTENSION USED IS SOL BUT NOT STANDARD') ; 1210 26 : (* 76 *) 1211 write (filetowr, '$ EXPECTED ') ; 1212 27 : (* 77 *) 1213 IF pascalfrench THEN 1214 write (filetowr, '$IMPORTE MUST BE AT GLOBAL LEVEL AFTER PROGRAM HEADER') 1215 ELSE 1216 write (filetowr, '$IMPORT MUST BE AT GLOBAL LEVEL AFTER PROGRAM HEADER') ; 1217 28 : (* 78 *) 1218 IF pascalfrench THEN 1219 write (filetowr, '$IMPORTE AND $EXPORTE ONLY SOL FEATURES') 1220 ELSE 1221 write (filetowr, '$IMPORT AND $EXPORT ONLY SOL FEATURES') ; 1222 29 : (* 79 *) 1223 IF pascalfrench THEN 1224 write (filetowr, '$EXPORTE ONLY ALLOWED AT MAIN LEVEL.') ELSE 1225 write (filetowr, '$EXPORT ONLY ALLOWED AT MAIN LEVEL.') ; 1226 30 : (* 80 *) 1227 write (filetowr, 'EXPORTED ITEM CANNOT HAVE SAME NAME THAN PROGRAM.') ; 1228 36 : (* 86 *) 1229 write (filetowr, 'FUNCTION CANNOT BE ASSIGNED HERE ') ; 1230 37 : (* 87 *) 1231 write (filetowr, 'THIS PROCEDURE MUST OCCUR IN EXTERNAL LIST') ; 1232 38 : (* 88 *) 1233 write (filetowr, 'INVALID DIRECTIVE') ; 1234 43 : (* 93 *) 1235 write (filetowr, 'UNRESOLVED FORWARD TYPE DEFINITION') ; 1236 46 : (* 96 *) 1237 write (filetowr, 'ILLEGAL POINTED ITEM') ; 1238 47 : (* 97 *) 1239 write (filetowr, 'POINTER ON A VARIABLE MUST POINT A CLASS') ; 1240 48 : (* 98 *) 1241 IF NOT pascalfrench THEN *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 47 1242 write (filetowr, '''PACKED'' NOT ALLOWED HERE') 1243 ELSE 1244 write (filetowr, '''PAQUET'' NOT ALLOWED HERE') ; 1245 49 : (* 99 *) 1246 write (filetowr, 'ILLEGAL FIRST ITEM FOR A SIMPLE TYPE') ; 1247 END ; (* CASE *) 1248 END (* PR01 *) ; 1249 1250 (* ***********************************************PR02 < PRTERRMEANS*********** *) 1251 1252 PROCEDURE pr02 (errnumod : integer) ; 1253 1254 (* C ERRORS 100 TO 149 NUMBER IS 100+ERRNUMOD C *) 1255 BEGIN 1256 CASE errnumod OF 1257 0 : (* 100 *) 1258 write (filetowr, 'EXTERNAL ITEM HAS YET BEEN USED') ; 1259 1 : (* 101 *) 1260 write (filetowr, 'IDENTIFIER DECLARED TWICE') ; 1261 2 : (* 102 *) 1262 write (filetowr, 'HIGH BOUND MUST NOT BE LOWER THAN LOW BOUND') ; 1263 3 : (* 103 *) 1264 write (filetowr, 'IDENTIFIER IS NOT OF APPROPRIATE CLASS') ; 1265 4 : (* 104 *) 1266 write (filetowr, 'IDENTIFIER NOT DECLARED') ; 1267 5 : (* 105 *) 1268 write (filetowr, 'SIGN NOT ALLOWED HERE') ; 1269 6 : (* 106 *) 1270 write (filetowr, 'INTEGER TYPE NOT ALLOWED HERE') ; 1271 7 : (* 107 *) 1272 write (filetowr, 'ERROR IN THE SELECTOR OF A RECORD') ; 1273 8 : (* 108 *) 1274 write (filetowr, 'FILE NOT ALLOWED HERE') ; 1275 9 : (* 109 *) 1276 write (filetowr, 'TYPE MUST NOT BE REAL') ; 1277 10 : (* 110 *) 1278 write (filetowr, 'ERROR IN THE TYPE IDENTIFIER OF A TAG FIELD') ; 1279 11 : (* 111 *) 1280 write (filetowr, 'TYPE INCOMPATIBLE WITH THE TYPE OF THE TAG FIELD') ; 1281 12 : (* 112 *) 1282 write (filetowr, 'TOO LARGE ARRAY .MAX SIZE IS ONE SEGMENT') ; 1283 13 : (* 113 *) 1284 write (filetowr, 'INDEX TYPE MUST BE SCALAR OR NUMERIC') ; 1285 14 : (* 114 *) 1286 write (filetowr, 'SUBRANGE TYPE MUST BE SCALAR OR NUMERIC') ; 1287 15 : (* 115 *) 1288 write (filetowr, 'BASE TYPE OF A SET MUST BE SCALAR OR NUMERIC') ; 1289 16 : (* 116 *) 1290 write (filetowr, 'CONFLICT BETWEEN FIRST DECLARATION AND REDECLARATION FORWARD') ; 1291 17 : (* 117 *) 1292 write (filetowr, 'UNDEFINED FORWARD DECLARED PROCEDURE') ; 1293 19 : (* *) 1294 write (filetowr, 'REPETITION OF PARAMETERS'' LIST NOT ALLOWED (FORWARD DECLARATION)') ; 1295 20 : (* *) 1296 write (filetowr, 'FUNCTION RESULT TYPE MUST BE SCALAR,REAL,SUBRANGE OR POINTER') ; 1297 21 : (* 119,120,121 *) 1298 write (filetowr, 'FILE OR CLASS PARAMETERS MUST BE VAR PARAMETERS') ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 48 1299 23 : (* 123 *) 1300 write (filetowr, 'MISSING RESULT''S TYPE IN FUNCTION DECLARATION') ; 1301 24 : (* 124 *) 1302 write (filetowr, 'CONFORMANT ARRAY PARAMETERS MUST BE VAR PARAMETERS') ; 1303 25 : (* 125 *) 1304 write (filetowr, 'ERROR IN TYPE OF STANDARD FUNCTION OR PROCEDURE PARAM.') ; 1305 26 : (* 126 *) 1306 write (filetowr, 'NUMBER OF PARAMETERS DOES NOT AGREE WITH DECLARATION') ; 1307 27 : (* 127 *) 1308 write (filetowr, 'ILLEGAL PARAMETER SUBSTITUTION ') ; 1309 28 : (* 128 *) 1310 write (filetowr, 'PARAMETER CONFLICT FOR FORMAL PROCEDURE ') ; 1311 29 : (* 129 *) 1312 write (filetowr, 'OPERAND TYPE CONFLICT') ; 1313 30 : (* 130 *) 1314 write (filetowr, 'NIL NO MORE ALLOWED IN CONSTANT PART (STANDARD)') ; 1315 31 : (* 131 *) 1316 write (filetowr, 'STRINGS LENGTH CONFLICT ') ; 1317 33 : (* 133 *) 1318 write (filetowr, 'ILLEGAL CONFORMANT ARRAY SUBSTITUTION') ; 1319 34 : (* 134 *) 1320 write (filetowr, 'ILLEGAL TYPE OF OPERAND') ; 1321 35 : (* 135 *) 1322 write (filetowr, 'TYPE OF OPERAND MUST BE BOOLEAN') ; 1323 38 : (* 138 *) 1324 write (filetowr, 'TYPE OF THIS VARIABLE IS NOT ARRAY OR RECORD') ; 1325 39 : (* 139 *) 1326 write (filetowr, 'INDEX TYPE IS NOT COMPATIBLE WITH ITS DECLARATION') ; 1327 40 : (* 140 *) 1328 write (filetowr, 'TYPE OF THIS VARIABLE MUST BE RECORD') ; 1329 41 : (* 141 *) 1330 write (filetowr, 'TYPE OF THIS VARIABLE MUST BE FILE OR POINTER') ; 1331 42 : (* 142 *) 1332 write (filetowr, 'TYPE OF THIS VARIABLE MUST BE ARRAY') ; 1333 43 : (* 143 *) 1334 write (filetowr, 'ELEMENT TYPE ALLOWED IS SCALAR, NUMERIC OR POINTER') ; 1335 44 : (* 144 *) 1336 write (filetowr, 'ILLEGAL TYPE OF EXPRESSION') ; 1337 45 : (* 145 *) 1338 write (filetowr, 'TYPE CONFLICT') ; 1339 46 : (* 146 *) 1340 write (filetowr, 'ASSIGNEMENT TO FILE OR CLASS NOT ALLOWED') ; 1341 47 : (* 147 *) 1342 write (filetowr, 'TYPE CONFLICT WITH THE CASE SELECTOR') ; 1343 48 : (* 148 *) 1344 write (filetowr, 'CASE VECTOR TRANSFER TOO LARGE FOR THIS PROCEDURE') ; 1345 49 : (* 149 *) 1346 write (filetowr, 'EXTERNAL IDENT NOT REDEFINED ') ; 1347 END ; (* CASE *) 1348 END (* PR02 *) ; 1349 1350 (* ***********************************************PR03 < PRTERRMEANS*********** *) 1351 1352 PROCEDURE pr03 (errnumod : integer) ; 1353 1354 (* C ERRORS 150 TO 199 NUMBER IS 150+ERRNUMOD C *) 1355 BEGIN *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 49 1356 CASE errnumod OF 1357 0 : (* 150 *) 1358 write (filetowr, 'ASSIGNEMENT TO STANDARD FUNCTION NOT ALLOWED') ; 1359 2 : (* 152 *) 1360 write (filetowr, 'NO SUCH FIELD IN THIS RECORD') ; 1361 3 : (* 153 *) 1362 write (filetowr, 'ILLEGAL TYPE FOR ITEM READ') ; 1363 5 : (* 155 *) 1364 write (filetowr, 'FUNCTION IDENTIFIER HAS NOT BEEN ASSIGNED') ; 1365 6 : (* 156 *) 1366 write (filetowr, 'DUPLICATE CASE LABEL') ; 1367 8 : (* 158 *) 1368 write (filetowr, 'VARIANT SELECTOR DOES NOT MATCH WITH DECLARATION') ; 1369 9 : (* 159 *) 1370 write (filetowr, 'UNPACKED ARRAY EXPECTED') ; 1371 10 : (* 160 *) 1372 write (filetowr, 'PACKED ARRAY EXPECTED') ; 1373 11 : (* 161 *) 1374 write (filetowr, 'CONFORMANT ARRAY NOT READY ( Restriction temporary ) FOR PACK AND UNPACK') ; 1375 12 : (* 162 *) 1376 write (filetowr, 'ORIGIN AND TARGET NOT COMPATIBLE') ; 1377 13 : (* 163 *) 1378 write (filetowr, 'ELEMENT TOO LARGE') ; 1379 15 : (* 165 *) 1380 write (filetowr, 'MULTIDEFINED LABEL') ; 1381 16 : (* 166 *) 1382 write (filetowr, 'MULTIDECLARED LABEL') ; 1383 17 : (* 167 *) 1384 write (filetowr, 'UNDECLARED LABEL') ; 1385 18 : (* 168 *) 1386 write (filetowr, 'UNDEFINED LABEL(S).SEE MESSAGES LATER') ; 1387 19 : (* 169 *) 1388 write (filetowr, 'ERROR IN BASE TYPE OF A SET') ; 1389 25 : (* 175 *) 1390 IF pascalfrench THEN 1391 write (filetowr, 'ENTREE USED AND NOT DECLARED') 1392 ELSE 1393 write (filetowr, 'INPUT USED AND NOT DECLARED') ; 1394 26 : (* 176 *) 1395 IF pascalfrench THEN 1396 write (filetowr, 'SORTIE USED AND NOT DECLARED') 1397 ELSE 1398 write (filetowr, 'OUTPUT USED AND NOT DECLARED') ; 1399 28 : (* 178 *) 1400 write (filetowr, 'ALPHANUMERIC STRING IS TOO LONG') ; 1401 29 : (* 179 *) 1402 write (filetowr, 'INITIALIZATION LIST IS TOO LONG') ; 1403 30 : (* 180 *) 1404 write (filetowr, 'INITIALIZATION OF IMPORTED VARIABLE NOT ALLOWED') ; 1405 31 : (* 181 *) 1406 write (filetowr, 'THIS VARIABLE MUST BE AN ARRAY OR A RECORD') ; 1407 32 : (* 182 *) 1408 write (filetowr, 'PACKED VARIABLE NOT ALLOWED HERE') ; 1409 33 : (* 183 *) 1410 write (filetowr, 'ILLEGAL VARIABLE TYPE IN VALUE PART') ; 1411 34 : (* 184 *) 1412 write (filetowr, 'IDENTIFIER MUST BE A VARIABLE (VALUE PART)') ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 50 1413 35 : (* 185 *) 1414 write (filetowr, 'VARIABLES MUST BE INITIALIZED IN THEIR DECLARATION ORDER') ; 1415 37 : (* 187 *) 1416 write (filetowr, 'PROCEDURE USED AS A FUNCTION') ; 1417 40 : (* 190 *) 1418 write (filetowr, 'TEXT FILE EXPECTED HERE') ; 1419 41 : (* 191 *) 1420 write (filetowr, 'SCALING FACTOR ALLOWED ONLY FOR REAL') ; 1421 44 : (* 194 *) 1422 write (filetowr, 'CONTROL VARIABLE MUST BE DECLARED AND USED AT SAME LEV.') ; 1423 45 : (* 195 *) 1424 write (filetowr, 'CONTROL VARIABLE MUST BE SCALAR OR NUMERIC') ; 1425 46 : (* 196 *) 1426 write (filetowr, 'THIS VARIABLE MUST NOT BE ASSIGNED') ; 1427 47 : (* 197 *) 1428 write (filetowr, 'TRUNCATION OF STRING NOT ALLOWED') ; 1429 48 : (* 198 *) 1430 write (filetowr, 'OPERATION ALLOWED ONLY ON TEXT FILE') ; 1431 49 : (* 199 *) 1432 write (filetowr, 'CONTROL VARIABLE MUST NOT BE FORMAL OR EXTERNAL') ; 1433 END ; (* CASE *) 1434 END (* PR03 *) ; 1435 1436 (* ***********************************************PR04 < PRTERRMEANS*********** *) 1437 1438 PROCEDURE pr04 (errnumod : integer) ; 1439 1440 (* C ERRORS 200 TO 249 NUMBER IS ERRNUMOD+200 C *) 1441 BEGIN 1442 CASE errnumod OF 1443 0 : (* 200 *) 1444 write (filetowr, 'CHARACTER NOT ALLOWED IN PASCAL TEXT') ; 1445 1 : (* 201 *) 1446 write (filetowr, 'ERROR IN A REAL CONSTANT. DIGIT EXPECTED') ; 1447 2 : (* 202 *) 1448 write (filetowr, 'ERROR IN THE EXPONENT OF A REAL CONSTANT') ; 1449 3 : (* 203 *) 1450 write (filetowr, 'INTEGER CONSTANT OUT OF RANGE') ; 1451 4 : (* 204 *) 1452 write (filetowr, 'ILLEGAL DIGIT IN AN OCTAL CONSTANT') ; 1453 5 : (* 205 *) 1454 write (filetowr, 'EXPONENT OF A REAL CONSTANT OUT OF RANGE') ; 1455 6 : (* 206 *) 1456 write (filetowr, 'DECIMAL CONSTANT IS TOO LONG') ; 1457 7 : (* 207 *) 1458 write (filetowr, 'OCTAL CONSTANT IS TOO LONG') ; 1459 8 : (* 208 *) 1460 write (filetowr, 'ILLEGAL NESTING OF (/ AND /)') ; 1461 9 : (* 209 *) 1462 write (filetowr, 'CHARACTERS'' STRING IS TOO LONG') ; 1463 10 : (* 210 *) 1464 write (filetowr, 'HEXADECIMAL STRING IS TOO LONG') ; 1465 11 : (* 211 *) 1466 write (filetowr, 'ILLEGAL CHARACTER IN A HEXADECIMAL STRING') ; 1467 12 : (* 212 *) 1468 write (filetowr, 'ERROR IN COMPILATION OPTIONS') ; 1469 13 : (* 213 *) *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 51 1470 write (filetowr, 'STACK FRAME MUST NOT EXCEED 60000 WORDS') ; 1471 14 : (* 214 *) 1472 write (filetowr, 'SIZE ALLOWED FOR GLOBALS EXCEEDED') ; 1473 15 : (* 215 *) 1474 write (filetowr, 'TOO MANY BINARY DIGITS.MAX IS 36 ') ; 1475 16 : (* 216 *) 1476 write (filetowr, 'INVALID BINARY DIGIT. 0 OR 1 EXPECTED ') ; 1477 17 : (* 217 *) 1478 write (filetowr, 'REAL CONSTANT CANNOT BE > 1.701411834604692317E+38') ; 1479 18 : (* 218 *) 1480 write (filetowr, 'NON NULL REAL CONSTANT CANNOT BE < 1.469367938527859385E-39') ; 1481 19 : (* 218 *) 1482 write (filetowr, 'WARNING : MAXIMUM PRECISION FOR A REAL IS 19 DIGITS') ; 1483 20 : (* 220 *) 1484 write (filetowr, 'EMPTY STRING NOT ALLOWED ') ; 1485 21 : (* 221 *) 1486 IF pascalfrench THEN 1487 write (filetowr, '''SINON'' ALREADY USED IN THIS CASE STATEMENT') ELSE 1488 write (filetowr, '''ELSE'' ALREADY USED IN THIS CASE STATEMENT') ; 1489 22 : (* 222 *) 1490 write (filetowr, 'WARNING : OPTION ACCEPTED BUT INEFFECTIVE.') ; 1491 23 : (* 223 *) 1492 write (filetowr, 'ILLEGAL SEPARATOR AFTER NUMBER READ ') ; 1493 24 : (* 224 *) 1494 write (filetowr, 'REFERENCE TO THIS IDENTIFIER IS NOT ALLOWED HERE') ; 1495 25 : (* 225 *) 1496 write (filetowr, 'THIS EXPRESSION CANNOT BE EVALUATED HERE : IT NEEDS CODE GENERATION') ; 1497 26 : (* 226 *) 1498 write (filetowr, 'THIS IDENTIFIER HAS BEEN PREVIOUSLY REFERENCED AT SAME LEVEL') ; 1499 27 : (* 227 *) 1500 write (filetowr, 'SOME LABELS DECLARED IN THIS PROCEDURE ARE ILLEGALLY REFERENCED') ; 1501 28 : (* 228 *) 1502 write (filetowr, 'INTEGER OVERFLOW IN EXPRESSION') ; 1503 29 : (* 229 *) 1504 write (filetowr, 'INTEGER UNDERFLOW IN EXPRESSION') ; 1505 30 : (* 230 *) 1506 write (filetowr, 'EFFECTIVE PARAMETER PASSED BY VALUE CANNOT BE A CONFORMANT ARRAY') ; 1507 31 : (* 231 *) 1508 write (filetowr, 'CONSTANT CHAIN CANNOT CONTAIN A NEW-LINE') ; 1509 END ; (* CASE *) 1510 END (* PR04 *) ; 1511 1512 (* ***********************************************PR05 < PRTERRMEANS*********** *) 1513 1514 PROCEDURE pr05 (errnumod : integer) ; 1515 1516 (* C ERRORS 250 TO 299 NUMBER IS 250+ERRNUMOD C *) 1517 BEGIN 1518 CASE errnumod OF 1519 0 : (* 250 *) 1520 write (filetowr, 'TOO MANY NESTED SCOPES OF IDENTIFIERS') ; 1521 1 : (* 251 *) 1522 write (filetowr, 'TOO MANY NESTED PROCEDURES AND(OR) FUNCTIONS') ; 1523 2 : (* 252 *) 1524 write (filetowr, 'COMPILER''S HEAP IS FULL. INCREASE REGION') ; 1525 3 : (* 253 *) 1526 write (filetowr, 'CODE FOR THIS PROCEDURE ( OR VALUE ) IS TOO LONG') ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 52 1527 4 : (* 254 *) 1528 write (filetowr, 'EXPRESSION TOO COMPLICATED') ; 1529 5 : (* 255 *) 1530 write (filetowr, 'TOO MANY ERRORS ON THIS LINE') ; 1531 6 : (* 256 *) 1532 write (filetowr, 'FCONNECT IS ONLY ALLOWED ON PERMANENT FILES') ; 1533 7 : (* 257 *) 1534 write (filetowr, 'SOURCE LINE IS TOO LONG') ; 1535 8 : (* 258 *) 1536 write (filetowr, 'TOO MANY FILES') ; 1537 10 : (* 260 *) 1538 write (filetowr, 'STARTING POINT FOR THIS VARIABLE EXCEED IMPLEMENTATION LIMIT') ; 1539 11 : (* 261 *) 1540 write (filetowr, 'TOO MANY UNRESOLVED REFERENCES (UNDLAB)') ; 1541 17 : (* 267 *) 1542 write (filetowr, 'TOO MANY LABELS') ; 1543 18 : (* 268 *) 1544 write (filetowr, 'TOO MANY FORWARD DEFINED POINTERS') ; 1545 19 : (* 269 *) 1546 write (filetowr, 'TOO MANY CLASSES') ; 1547 20 : (* 270 *) 1548 write (filetowr, 'NOT YET IMPLEMENTED') ; 1549 21 : (* 271 *) 1550 write (filetowr, 'ACTUAL SCHEMA PARAMETER IS OF ILLEGAL TYPE') ; 1551 22 : (* 272 *) 1552 write (filetowr, 'ACTUAL SCHEMA PARAMETER IS OUT OF BOUNDS') ; 1553 23 : (* 273 *) 1554 write (filetowr, 'TARGET STRING IS TOO SHORT') ; 1555 24 : (* 274 *) 1556 write (filetowr, 'STRING EXPRESSION EXPECTED') ; 1557 25 : (* 275 *) 1558 write (filetowr, 'STRING VARIABLE REFERENCE EXPECTED') ; 1559 26 : (* 276 *) 1560 write (filetowr, 'ERROR IN DELETE : SUBSTRING TO DELETE IS OUT OF STRING BOUNDS.') ; 1561 27 : (* 277 *) 1562 write (filetowr, 'ERROR IN DELETE : SUBSTRING TO DELETE HAS NEGATIVE LENGTH') ; 1563 28 : (* 278 *) 1564 write (filetowr, 'ERROR IN SUBSTRING : SUBSTRING IS OUT OF STRING BOUNDS') ; 1565 29 : (* 279 *) 1566 write (filetowr, 'ERROR IN SUBSTRING : SUBSTRING HAS NEGATIVE LENGTH') ; 1567 30 : (* 280 *) 1568 write (filetowr, 'INTEGER EXPRESSION EXPECTED') ; 1569 31 : (* 281 *) 1570 write (filetowr, 'THIS PARAMETER MUST BE PASSED BY ADDRESS') ; 1571 END ; (* CASE *) 1572 END (* PR05 *) ; 1573 1574 (* ***********************************************PR06 < PRTERRMEANS*********** *) 1575 1576 PROCEDURE pr06 (errnumod : integer) ; 1577 1578 (* C ERRORS 300 TO 349 NUMBER IS 300+ERRNUMOD C *) 1579 BEGIN 1580 CASE errnumod OF 1581 0 : (* 300 *) 1582 write (filetowr, 'ZERO DIVIDE CAN BE NOT SUITABLE ') ; 1583 1 : (* 301 *) *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 53 1584 write (filetowr, 'CASE VARIANT OUT OF BOUNDS') ; 1585 2 : (* 302 *) 1586 write (filetowr, 'INDEX OUT OF BOUNDS') ; 1587 3 : (* 303 *) 1588 write (filetowr, 'VALUE ASSIGNED OUT OF BOUNDS') ; 1589 4 : (* 304 *) 1590 write (filetowr, 'CASE LABEL OUT OF BOUNDS') ; 1591 5 : (* 305 *) 1592 write (filetowr, 'VALUE IN A SET OUT OF BOUNDS') ; 1593 6 : (* 306 *) 1594 write (filetowr, 'LABEL MUST HAVE AT MOST 4 DIGITS') ; 1595 7 : (* 307 *) 1596 write (filetowr, 'ITEMS COMPARED TOO LONG ') ; 1597 8 : (* 308 *) 1598 write (filetowr, 'RIGHT ARGUMENT OF DIV IS NULL') ; 1599 9 : (* 309 *) 1600 write (filetowr, 'RIGHT ARGUMENT OF MOD IS NEGATIVE OR NULL') ; 1601 10 : (* 310 *) 1602 write (filetowr, 'VALUE ALREADY USED IN CASE SELECTOR ') ; 1603 11 : (* 311 *) 1604 write (filetowr, 'ALL POSSIBLE CASE VALUES ARE NOT MENTIONED') ; 1605 12 : (* 312 *) 1606 writeln (filetowr, 'IMPLEMENTATION RESTRICTION: MAX NUMBER OF POSSIBLE CASE VALUES IS 288.') ; 1607 13 : (* 313 *) 1608 writeln (filetowr, 'WARNING : ALL POSSIBLE CASE VALUES ARE NOT MENTIONNED') ; 1609 14 : (* 314 *) 1610 write (filetowr, '''TRUE'', ''FALSE'', ''NOT'' OR CONDITIONNAL COMPILATION SWITCH NAME EXPECTED') ; 1611 15 : (* 315 *) 1612 write (filetowr, 'CONDITIONNAL COMPILATION SWITCH NOT DEFINED') ; 1613 16 : (* 316 *) 1614 write (filetowr, '''TRUE'', ''FALSE'' OR CONDITIONNAL COMPILATION SWITCH NAME EXPECTED') ; 1615 17 : (* 317 *) 1616 write (filetowr, ''','' OR '':'' EXPECTED') ; 1617 18 : (* 318 *) 1618 write (filetowr, 'PARAMETER PROCEDURE PASSED TO AN EXTERNAL PROCEDURE MUST BE EXPORTABLE') ; 1619 44 : (* 344 *) 1620 write (filetowr, 'EXTENDED DISPOSE NOT ALLOWED') ; 1621 45 : (* 345 *) 1622 write (filetowr, 'NEW IS LIMITED TO 261094 WORDS') ; 1623 END ; (* CASE *) 1624 END (* PR06 *) ; 1625 1626 (* ***********************************************PR07 < PRTERRMEANS********** *) 1627 1628 PROCEDURE pr07 (errnumod : integer) ; 1629 1630 (* C ERRORS 350 TO 399 NUMBER IS 350+ERRNUMOD C *) 1631 BEGIN 1632 CASE errnumod OF 1633 0 : (* 350 *) 1634 write (filetowr, '(RECADRE) BAD ARGUMENTS') ; 1635 1 : (* 351 *) 1636 write (filetowr, '(BYTESNEEDED) OBJFORM=ALIASTYPE') ; 1637 2 : (* 352 *) 1638 write (filetowr, '(BYTESNEEDED) BAD ARGUMENT') ; 1639 3 : (* 353 *) 1640 write (filetowr, '(BOUNDARY) OBJFORM=ALIASTYPE') ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 54 1641 4 : (* 354 *) 1642 write (filetowr, '(BOUNDARY) BAD ARGUMENT') ; 1643 5 : (* 355 *) 1644 write (filetowr, '(GENSTAND) ILLEGAL SHIFT COUNT') ; 1645 6 : (* 356 *) 1646 write (filetowr, '(GENSTAND) ILLEGAL OP. CODE WITHOUT POINTER REGISTER') ; 1647 7 : (* 357 *) 1648 write (filetowr, '(GENSTAND) TAG FIELD INCOMPATIBLE WITH OP. CODE') ; 1649 8 : (* 358 *) 1650 write (filetowr, '(GENWITHPR) ILLEGAL ADDRESS WITHOUT POINTER REGISTER') ; 1651 9 : (* 359 *) 1652 write (filetowr, 'TEMPORARY RESTRICTION: GLOBALS MUST BE < 16384 WORDS ') ; 1653 10 : (* 360 *) 1654 write (filetowr, '(GENSTOBC) ILLEGAL BYTES'' POSITION FIELD') ; 1655 11 : (* 361 *) 1656 write (filetowr, '(GENREPT) ILLEGAL TALLY') ; 1657 12 : (* 362 *) 1658 write (filetowr, '(GENREPT) ILLEGAL TERMINATION CONDITION') ; 1659 13 : (* 363 *) 1660 write (filetowr, '(GENREPT) ILLEGAL DELTA') ; 1661 14 : (* 364 *) 1662 write (filetowr, '(GENREPT) BITS 8,9,10 INCOMPATIBLE WITH OP. CODE') ; 1663 15 : (* 365 *) 1664 write (filetowr, '(GENIPAIR) ILLEGAL SEGMENT NUMBER') ; 1665 16 : (* 366 *) 1666 write (filetowr, '(GENIPAIR) ILLEGAL SECOND WORD IN AN ITP OR ITS PAIR') ; 1667 17 : (* 367 *) 1668 write (filetowr, '(GENEISM) ILLEGAL TAG IN AN EIS MODIFICATION FIELD') ; 1669 18 : (* 368 *) 1670 write (filetowr, '(GENEISM) BITS 0,9,10 INCOMPATIBLE WITH OP. CODE') ; 1671 19 : (* 369 *) 1672 write (filetowr, '(GENEISM) ILLEGAL FIELD 0-8') ; 1673 20 : (* 370 *) 1674 write (filetowr, '(GENINDW) ILLEGAL TAG IN AN INDIRECT WORD') ; 1675 21 : (* 371 *) 1676 write (filetowr, '(GENINDW) USE OF PREG NOT ALLOWED IN AN INDIRECT WORD') ; 1677 22 : (* 372 *) 1678 write (filetowr, '(LENGTHCTRL) ILLEGAL EIS OPERAND LENGTH') ; 1679 23 : (* 373 *) 1680 write (filetowr, '(GENDESCA_B_N) ILLEGAL CHARACTERS'' COUNT') ; 1681 24 : (* 374 *) 1682 write (filetowr, '(LENGTHCTRL) ILLEGAL MODIFIER') ; 1683 25 : (* 375 *) 1684 write (filetowr, '(GENDESCB) ILLEGAL BITS'' COUNT') ; 1685 26 : (* 376 *) 1686 write (filetowr, '(GENDESCN) ILLEGAL SCALING FACTOR') ; 1687 27 : (* 377 *) 1688 write (filetowr, '(GENINDIT) ILLEGAL TALLY OR TAG') ; 1689 29 : (* 379 *) 1690 write (filetowr, '(PACKEDSIZE) ILLEGAL ITEM') ; 1691 31 : (* 381 *) 1692 write (filetowr, '(ERROR) ERROR NUMBER IS TOO HIGH') ; 1693 32 : (* 382 *) 1694 write (filetowr, '(ERROR) PAGE NUMBER IS TOO HIGH') ; 1695 33 : (* 383 *) 1696 write (filetowr, '(NEXTPAGE) PAGE NUMBER BECOMES TOO HIGH') ; 1697 34 : (* 384 *) *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 55 1698 write (filetowr, '(CHECKMINMAX) FCTP=NIL') ; 1699 35 : (* 385 *) 1700 write (filetowr, '(CHECKMINMAX) FCTP@.FORM IS BAD') ; 1701 36 : (* 386 *) 1702 write (filetowr, '(CHECKMINMAX) FCONST=NIL') ; 1703 40 : (* 390 *) 1704 write (filetowr, 'LOCAL (STACK) STORAGE OVERFLOW : CANNOT BE > 16384 WORDS') ; 1705 41 : (* 391 *) 1706 write (filetowr, 'ILLEGAL OFFSET IN INSTRUCTION GENERATION. CONTACT MAINTENANCE.') ; 1707 END ; (* CASE *) 1708 END (* PR07 *) ; 1709 1710 (* ***********************************************PR08 < PRTERRMEANS*********** *) 1711 1712 PROCEDURE pr08 (errnumod : integer) ; 1713 1714 (* C ERRORS 400 TO 449 NUMBER IS 400+ERRNUMOD C *) 1715 BEGIN 1716 CASE errnumod OF 1717 0 : (* 400 *) 1718 write (filetowr, 'LDREGBLOC IS NIL(TRANSFER OUT)') ; 1719 1 : (* 401 *) 1720 write (filetowr, 'LCOND IS SAVED(TRANSFER IN)') ; 1721 2 : (* 402 *) 1722 write (filetowr, 'FORM # NUMERIC(CONVREAL)') ; 1723 3 : (* 403 *) 1724 write (filetowr, 'BLOC NOT FOUND(SAUVEREG)') ; 1725 4 : (* 404 *) 1726 write (filetowr, 'REGISTER ALREADY SAVED(SAUVEREG)') ; 1727 5 : (* 405 *) 1728 write (filetowr, 'FATTR IS NOT CHAIN OR VARBL(LOADADR)') ; 1729 6 : (* 406 *) 1730 write (filetowr, 'FMIN > FMAX (INBOUNDS)') ; 1731 7 : (* 407 *) 1732 write (filetowr, 'EMPTY STRING(INSERUNDLAB)') ; 1733 8 : (* 408 *) 1734 write (filetowr, 'FPLACE OUT OF RANGE(INSER)') ; 1735 9 : (* 409 *) 1736 write (filetowr, 'OFFSET TOO LARGE(INSER)') ; 1737 10 : (* 410 *) 1738 write (filetowr, 'INSER ON HALF-WORD # 0 (INSER)') ; 1739 11 : (* 411 *) 1740 write (filetowr, 'TYPTR = NIL(CONVREAL)') ; 1741 12 : (* 412 *) 1742 write (filetowr, 'TYPTR = NIL(CALCVARIANT)') ; 1743 13 : (* 413 *) 1744 write (filetowr, 'KIND = LVALNOT SAVED(CALCVARIANT)') ; 1745 14 : (* 414 *) 1746 write (filetowr, 'KIND = CHAIN/LCOND (CALCVARANT)') ; 1747 16 : (* 416 *) 1748 write (filetowr, 'LVAL SAVED (TRANSFER IN)') ; 1749 17 : (* 417 *) 1750 write (filetowr, 'FREEBLOC CALLED WITH DUMMYBLOC') ; 1751 18 : (* 418 *) 1752 write (filetowr, 'INCORRECT SOURCE (TRANSFER IN)') ; 1753 19 : (* 419 *) 1754 write (filetowr, 'TYPSEQ=0 (GENOPMULT) ') ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 56 1755 20 : (* 420 *) 1756 write (filetowr, 'FATTR.KIND # VARBL (TRANSFER OUT)') ; 1757 21 : (* 421 *) 1758 write (filetowr, 'GATTR.KIND # LVAL (TRANSFER OUT)') ; 1759 22 : (* 422 *) 1760 write (filetowr, 'GATTR.KIND CHAIN IN CHOICERARQ') ; 1761 23 : (* 423 *) 1762 write (filetowr, 'FCTP = NIL (FINDMINMAX)') ; 1763 24 : (* 424 *) 1764 write (filetowr, 'FCTP@.KLASS # TYPES (FINDMINMAX)') ; 1765 25 : (* 425 *) 1766 write (filetowr, 'FATTR.KIND # LVAL (LVALVARBL)') ; 1767 26 : (* 426 *) 1768 write (filetowr, 'NO BLOC ASSOCIATED TO THE REGISTER (LVALVARBL)') ; 1769 27 : (* 427 *) 1770 write (filetowr, 'OLDBLOC = NIL (REGENERE)') ; 1771 28 : (* 428 *) 1772 write (filetowr, 'REGISTER NOT SAVED AND NOT LOAD (REGENERE)') ; 1773 29 : (* 429 *) 1774 write (filetowr, 'SOME REGISTER BOX NOT FREED (FREEALLREGISTER)') ; 1775 30 : (* 430 *) 1776 write (filetowr, 'TYPTR = NIL (EASYVAR)') ; 1777 31 : (* 431 *) 1778 write (filetowr, 'KIND # VARBL (EASYVAR)') ; 1779 32 : (* 432 *) 1780 write (filetowr, 'TYPSEQ = 0 (GENOPADD)') ; 1781 33 : (* 433 *) 1782 write (filetowr, 'TYPSEQ = 0 (GENOPSUB)') ; 1783 34 : (* 434 *) 1784 write (filetowr, 'TYPSEQ=0 (GENCOMPARE)') ; 1785 35 : (* 435 *) 1786 write (filetowr, 'REGISTER NOT SAVED AND NOT LOAD(FREEBLOC)') ; 1787 36 : (* 436 *) 1788 write (filetowr, 'PROCKIND = FORMAL OR IMPORTED(GENPRCEXIT)') ; 1789 37 : (* 437 *) 1790 write (filetowr, 'FORM NOT NUMERIC OR SCALAR (FINDMINMAX)') ; 1791 38 : (* 438 *) 1792 write (filetowr, 'FCTP = NIL (ADDRESSVAR)') ; 1793 39 : (* 439 *) 1794 write (filetowr, 'VERIF COHERENCE ERREUR PREMIER GROUPE ') ; 1795 40 : (* 440 *) 1796 write (filetowr, 'VERIF COHERENCE ERREUR DEUXIEME GROUPE ') ; 1797 41 : (* 441 *) 1798 write (filetowr, 'VERIF COHERENCE ERREUR TROISIEME GROUPE') ; 1799 42 : (* 442 *) 1800 write (filetowr, 'GENBINAREA FAILED. CONTACT MAINTENANCE') ; 1801 46 : (* 446 *) 1802 write (filetowr, ' (CHECKEXTERNALITEM) COMPILER ERROR ') ; 1803 47 : (* 447 *) 1804 write (filetowr, 'EXPORTPARTDECL ERROR ') ; 1805 48 : (* 448 *) 1806 write (filetowr, 'EXTERNAL DESCRIPTOR CANNOT BE GENERATED FOR SUCH A PARAMETER') ; 1807 END ; (* CASE *) 1808 END (* PR08 *) ; 1809 1810 (* ***********************************************PR09 < PRTERRMEANS*********** *) 1811 PROCEDURE pr09 (errnumod : integer) ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 57 1812 1813 (* C ERRORS 450 TO 499 NUMBER IS 450+ERRNUMOD C *) 1814 BEGIN 1815 CASE errnumod OF 1816 0 : (* DUMMY *) ; 1817 END ; (* CASE *) 1818 END (* PR09 *) ; 1819 1820 (* ***********************************************PR10 < PRTERRMEANS*********** *) 1821 1822 PROCEDURE pr10 (errnumod : integer) ; 1823 1824 (* C ERRORS 500 TO 549 NUMBER IS 500+ERRNUMOD C *) 1825 BEGIN 1826 CASE errnumod OF 1827 0 : (* 500 *) 1828 write (filetowr, 'INTERNAL ERROR (Genentrypoint . Exitlabel.) CONTACT MAINTENANCE') ; 1829 1 : (* 501 *) 1830 write (filetowr, 'INTERNAL ERROR (Genentrypoint . Genprolog main.) CONTACT MAINTENANCE') ; 1831 2 : (* 502 *) 1832 write (filetowr, 'INTERNAL ERROR (Genentrypoint . Link to main .) CONTACT MAINTENANCE') ; 1833 3 : (* 503 *) 1834 write (filetowr, 'INTERNAL ERROR (Genentrypoint . Genprocentry .) CONTACT MAINTENANCE') ; 1835 4 : (* 504 *) 1836 write (filetowr, 'INTERNAL ERROR (Genbinarea . Writout .) CONTACT MAINTENANCE') ; 1837 5 : (* 505 *) 1838 write (filetowr, 'INTERNAL ERROR (Genentrypoint . Imported procedure) CONTACT MAINTENANCE') ; 1839 6 : (* 506 *) 1840 write (filetowr, 'INTERNAL ERROR (Link pour export non init Valuedecl ) CONTACT MAINTENANCE') ; 1841 7 : (* 507 *) 1842 write (filetowr, 'INTERNAL ERROR (Genbinarea Valuedecl ) CONTACT MAINTENANCE') ; 1843 8 : (* 508 *) 1844 write (filetowr, 'INTERNAL ERROR (Genextvariable Exportable Init ) CONTACT MAINTENANCE') ; 1845 9 : (* 509 *) 1846 write (filetowr, 'INTERNAL ERROR (Genexportfile Valuedecl ) CONTACT MAINTENANCE') ; 1847 10 : (* 510 *) 1848 write (filetowr, 'INTERNAL ERROR (Genentrypoint LINKTOEND ) CONTACT MAINTENANCE') ; 1849 11 : (* 511 *) 1850 write (filetowr, 'ALREADY BUILDING TYPE FROM SHEMA (INTERNAL ERROR. PLEASE CONTACT MAINTENANCE)') ; 1851 END ; (* CASE *) 1852 END (* PR10 *) ; 1853 1854 (* ***********************************************PR11 < PRTERRMEANS*********** *) 1855 1856 PROCEDURE pr11 (errnumod : integer) ; 1857 1858 (* C ERRORS 550 TO 599 NUMBER IS 550+ERRNUMOD C *) 1859 BEGIN 1860 CASE errnumod OF 1861 0 : (* DUMMY *) ; 1862 END ; (* CASE *) 1863 END (* PR11 *) ; 1864 1865 (* ***********************************************PR12 < PRTERRMEANS*********** *) 1866 1867 PROCEDURE pr12 (errnumod : integer) ; 1868 *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 58 1869 (* C ERRORS 600 TO 639 NUMBER IS 600+ERRNUMOD C *) 1870 BEGIN 1871 CASE errnumod OF 1872 0 : (* DUMMY *) ; 1873 40, 41, 42, 43, 44, 45, 46, 47, 48, 49 : 1874 write (filetowr, '*** (PR12) ERRNUMOD > 39 ***') ; 1875 END ; (* CASE *) 1876 END (* PR12 *) ; 1877 1878 BEGIN (* PRTERRMEANS *) 1879 write (filetowr, ' ', errornum : 4, ' : ') ; 1880 i := errornum DIV 50 ; j := errornum MOD 50 ; 1881 CASE i OF 1882 0 : pr00 (j) ; 1883 1 : pr01 (j) ; 1884 2 : pr02 (j) ; 1885 3 : pr03 (j) ; 1886 4 : pr04 (j) ; 1887 5 : pr05 (j) ; 1888 6 : pr06 (j) ; 1889 7 : pr07 (j) ; 1890 8 : pr08 (j) ; 1891 9 : pr09 (j) ; 1892 10 : pr10 (j) ; 1893 11 : pr11 (j) ; 1894 12 : pr12 (j) ; 1895 END (* CASE I *) ; (* NEXTLINE MADE IN 'STATISTIQUES' *) 1896 END (* PRTERRMEANS *) ; 1897 1898 1899 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 59 1900 1901 (* ************************************************* DISPLAYSYMBOLS **************************************** *) 1902 1903 PROCEDURE displaysymbols ; 1904 1905 (* C CALLED IF LISTYES BY RACINE AT THE END OF COMPILATION 1906* PRINTS SYMBOL MAP ON LISTING OUTPUT C *) 1907 1908 CONST 1909 llmax = 126 ; 1910 TYPE 1911 alfalistrange = 0..26 ; 1912 VAR 1913 i : integer ; 1914 tittle : boolean ; 1915 tittlestring : PACKED ARRAY [1..50] OF char ; 1916 p1, p2, refbox : refptr ; 1917 currlabbox : labelblockptr ; 1918 checkunused : boolean ; 1919 lastbox, cctp : ctp ; (* CURRENT SYMBOL BOX *) 1920 n, ll, it, lastit : integer ; 1921 alfalist : ARRAY [alfalistrange] OF RECORD 1922 firstname, lastname : ctp ; 1923 END ; 1924 output_string : PACKED ARRAY [1..200] OF char ; 1925 1926 (* ********************************************** PRINTOCT < DISPLAYSYMBOLS ************************ *) 1927 1928 PROCEDURE printoct (nb : integer) ; 1929 1930 VAR 1931 tab : ARRAY [1..7] OF integer ; 1932 j, k : integer ; 1933 1934 BEGIN 1935 FOR j := 7 DOWNTO 1 DO 1936 BEGIN 1937 tab [j] := nb MOD 8 ; 1938 nb := nb DIV 8 ; 1939 END ; 1940 k := 1 ; 1941 WHILE (tab [k] = 0) AND (k < 7) DO 1942 k := k + 1 ; 1943 FOR j := k TO 7 DO 1944 ll := swrite (output_string, ll, chr (ord ('0') + tab [j])) ; 1945 END (* PRINTOCT *) ; 1946 1947 1948 (* ************************************************* SPLIT < DISPLAYSYMBOLS ********************************* *) 1949 1950 PROCEDURE split ; 1951 1952 BEGIN 1953 writeln (mpcogout, output_string : ll - 1) ; 1954 IF checkunused THEN ll := maxident + 9 ELSE ll := maxident + 7 ; 1955 ll := ll + 2 ; (* INDENT *) 1956 ll := swrite (output_string, 1, ' ' : ll) ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 60 1957 END (* SPLIT *) ; 1958 1959 1960 (* ************************************************* PRINTREFS < DISPLAYSYMBOLS ************************ *) 1961 1962 PROCEDURE printrefs ; 1963 1964 VAR 1965 p1, p2, refbox : refptr ; 1966 i, n : integer ; 1967 newl : boolean ; 1968 1969 BEGIN 1970 IF ll >= llmax THEN split ; 1971 newl := false ; 1972 WITH cctp^ DO 1973 BEGIN 1974 IF defline <> 0 THEN BEGIN 1975 ll := swrite (output_string, ll, ' ; DEF: ') ; 1976 IF deffile <> 0 THEN 1977 ll := swrite (output_string, ll, deffile : 1, '-') ; 1978 ll := swrite (output_string, ll, defline : 1) ; 1979 END ; 1980 IF references^.refnbr <> 0 THEN BEGIN 1981 IF ll >= llmax THEN split ; 1982 ll := swrite (output_string, ll, ' ; REF: ') ; 1983 refbox := references ; 1984 p1 := NIL ; 1985 WHILE refbox^.nextref <> NIL DO BEGIN 1986 p2 := refbox^.nextref ; 1987 refbox^.nextref := p1 ; 1988 p1 := refbox ; 1989 refbox := p2 ; 1990 END ; 1991 refbox^.nextref := p1 ; 1992 REPEAT 1993 WITH refbox^ DO 1994 FOR i := 1 TO refnbr DO 1995 WITH refs [i] DO 1996 BEGIN 1997 IF ll >= llmax THEN split ; 1998 IF filen <> 0 THEN 1999 ll := swrite (output_string, ll, filen : 1, '-') ; 2000 IF linen < 0 THEN 2001 ll := swrite (output_string, ll, -linen : 1, '* ') 2002 ELSE 2003 ll := swrite (output_string, ll, linen : 1, ' ') ; 2004 END ; 2005 refbox := refbox^.nextref ; 2006 UNTIL refbox = NIL ; 2007 END ; 2008 writeln (mpcogout, output_string : ll - 1) ; 2009 END 2010 END (* PRINTREFS *) ; 2011 2012 (* *********************************************** PRINTTYPE < DISPLAYSYMBOLS **************************** *) 2013 *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 61 2014 PROCEDURE printtype (cctp : ctp) ; 2015 2016 VAR 2017 m, i : integer ; 2018 2019 BEGIN 2020 IF ll >= llmax THEN split ; 2021 WITH cctp^ DO BEGIN 2022 IF (defline = 0) AND (name <> blank) THEN (* PREDEFINED *) 2023 BEGIN 2024 i := 1 ; 2025 WHILE name [i] <> ' ' DO BEGIN 2026 ll := swrite (output_string, ll, name [i]) ; 2027 i := i + 1 ; 2028 END ; 2029 END 2030 ELSE 2031 IF cctp^.father_schema <> NIL THEN 2032 BEGIN 2033 IF cctp^.father_schema <> NIL THEN 2034 WITH cctp^.father_schema^ DO 2035 BEGIN 2036 i := 1 ; 2037 REPEAT 2038 IF name [i] <> ' ' THEN 2039 ll := swrite (output_string, ll, name [i]) 2040 ELSE 2041 i := maxident ; 2042 i := i + 1 2043 UNTIL i > maxident ; 2044 END ; 2045 END 2046 ELSE 2047 CASE form OF 2048 reel : 2049 ll := swrite (output_string, ll, 'real') ; 2050 numeric : 2051 ll := swrite (output_string, ll, 'numeric ', nmin : 1, '..', nmax : 1) ; 2052 scalar : 2053 BEGIN 2054 ll := swrite (output_string, ll, 'scalar') ; 2055 IF subrng THEN 2056 ll := swrite (output_string, ll, ' subrange') ; 2057 END ; 2058 pointer : 2059 ll := swrite (output_string, ll, 'pointer') ; 2060 power : 2061 BEGIN 2062 ll := swrite (output_string, ll, 'set of (') ; 2063 IF cctp^.elset <> NIL THEN printtype (cctp^.elset) ; 2064 ll := swrite (output_string, ll, ')') ; 2065 END ; 2066 arrays : 2067 BEGIN 2068 IF conformant THEN 2069 ll := swrite (output_string, ll, 'conformant ') ; 2070 ll := swrite (output_string, ll, 'array of (') ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 62 2071 IF cctp^.aeltype <> NIL THEN printtype (cctp^.aeltype) ; 2072 ll := swrite (output_string, ll, ')') ; 2073 END ; 2074 records : 2075 ll := swrite (output_string, ll, 'record') ; 2076 files : 2077 ll := swrite (output_string, ll, 'file') ; 2078 aliastype : 2079 IF cctp^.realtype <> NIL THEN printtype (cctp^.realtype) ; 2080 END ; 2081 END 2082 END (* PRINTTYPE *) ; 2083 2084 (* *********************************************************** PRINTSYMBOL < DISPLAYSYMBOLS ******************* *) 2085 2086 PROCEDURE printsymbol ; 2087 2088 VAR 2089 dw, bc : integer ; 2090 i : integer ; 2091 bp : blocknodeptr ; 2092 lctp : ctp ; 2093 2094 BEGIN 2095 IF NOT tittle THEN 2096 BEGIN 2097 writeln (mpcogout, ' ', tittlestring) ; 2098 writeln (mpcogout) ; 2099 tittle := true ; 2100 END ; 2101 WITH cctp^ DO 2102 BEGIN 2103 CASE klass OF 2104 schema : 2105 BEGIN 2106 IF checkunused THEN 2107 ll := swrite (output_string, 1, name, ' * schem ') ELSE 2108 ll := swrite (output_string, 1, name, ' schem ') ; 2109 printrefs ; 2110 END ; 2111 types : 2112 BEGIN 2113 IF checkunused THEN 2114 ll := swrite (output_string, 1, name, ' * type ') ELSE 2115 ll := swrite (output_string, 1, name, ' type ') ; 2116 IF cctp^.pack THEN 2117 IF cctp^.defline <> 0 THEN 2118 ll := swrite (output_string, ll, 'packed ') ; 2119 printtype (cctp) ; 2120 printrefs ; 2121 END ; 2122 vars : 2123 BEGIN 2124 IF checkunused THEN 2125 ll := swrite (output_string, 1, name, ' * var ') ELSE 2126 ll := swrite (output_string, 1, name, ' var ') ; 2127 CASE vkind OF *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 63 2128 actual : 2129 BEGIN 2130 IF vlevel = 0 THEN 2131 ll := swrite (output_string, ll, 'global') 2132 ELSE BEGIN 2133 ll := swrite (output_string, ll, 'local to ') ; 2134 IF nxtel <> NIL THEN 2135 WITH nxtel^ DO 2136 BEGIN 2137 i := 1 ; 2138 REPEAT 2139 IF name [i] <> ' ' THEN 2140 ll := swrite (output_string, ll, name [i]) 2141 ELSE 2142 i := maxident ; 2143 i := i + 1 2144 UNTIL i > maxident ; 2145 END ; 2146 END ; 2147 ll := swrite (output_string, ll, ', loc:') ; 2148 dw := vaddr DIV bytesinword ; 2149 bc := (vaddr MOD bytesinword) * bitsinbyte ; 2150 printoct (dw) ; 2151 IF bc <> 0 THEN 2152 ll := swrite (output_string, ll, '(', bc : 1, ')') ; 2153 END ; 2154 formal, arraybound : 2155 BEGIN 2156 IF varparam THEN 2157 ll := swrite (output_string, ll, 'var ') ; 2158 ll := swrite (output_string, ll, 'parameter of ') ; 2159 IF nxtel <> NIL THEN 2160 WITH nxtel^ DO 2161 BEGIN 2162 i := 1 ; 2163 REPEAT 2164 IF name [i] <> ' ' THEN 2165 ll := swrite (output_string, ll, name [i]) 2166 ELSE 2167 i := maxident ; 2168 i := i + 1 2169 UNTIL i > maxident ; 2170 END ; 2171 END ; 2172 exportable : 2173 ll := swrite (output_string, ll, 'global exportable') ; 2174 imported : 2175 ll := swrite (output_string, ll, 'global imported') ; 2176 END ; 2177 IF vtype <> NIL THEN BEGIN 2178 IF vtype^.form <> files THEN 2179 BEGIN 2180 ll := swrite (output_string, ll, ', size:') ; 2181 printoct (vtype^.size) ; 2182 END ; 2183 ll := swrite (output_string, ll, ' ; ') ; 2184 IF vtype^.pack THEN *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 64 2185 IF vtype^.defline <> 0 THEN 2186 ll := swrite (output_string, ll, 'packed ') ; 2187 printtype (vtype) ; 2188 END ; 2189 printrefs ; 2190 END ; 2191 field : 2192 BEGIN 2193 IF checkunused THEN 2194 ll := swrite (output_string, 1, name, ' field disp:') ELSE 2195 ll := swrite (output_string, 1, name, ' field disp:') ; 2196 printoct (fldaddr) ; 2197 ll := swrite (output_string, ll, ', size:') ; 2198 printoct (bytwidth) ; 2199 IF fldtype <> NIL THEN BEGIN 2200 ll := swrite (output_string, ll, ' ; ') ; 2201 IF fldtype^.pack THEN 2202 IF fldtype^.defline <> 0 THEN 2203 ll := swrite (output_string, ll, 'packed ') ; 2204 printtype (fldtype) ; 2205 END ; 2206 printrefs ; 2207 END ; 2208 konst : 2209 BEGIN 2210 IF checkunused THEN 2211 IF (typofconst = wordconst) AND (contype <> NIL) THEN 2212 IF contype^.form IN [numeric, pointer, reel] THEN 2213 ll := swrite (output_string, 1, name, ' * const ') 2214 ELSE ll := swrite (output_string, 1, name, ' const ') 2215 ELSE ll := swrite (output_string, 1, name, ' const ') 2216 ELSE 2217 ll := swrite (output_string, 1, name, ' const ') ; 2218 CASE typofconst OF 2219 wordconst : 2220 IF contype <> NIL THEN 2221 CASE contype^.form OF 2222 numeric : 2223 ll := swrite (output_string, ll, 'numeric') ; 2224 scalar : 2225 ll := swrite (output_string, ll, 'scalar, ord=', values : 1) ; 2226 pointer : 2227 ll := swrite (output_string, ll, 'nil pointer') ; 2228 END ; 2229 dwordconst : 2230 ll := swrite (output_string, ll, 'real') ; 2231 alfaconst : 2232 ll := swrite (output_string, ll, 'alphanumeric, ', alfalong : 1, ' char(s)') ; 2233 END ; 2234 printrefs ; 2235 END ; 2236 proc : 2237 BEGIN 2238 IF checkunused THEN 2239 IF proctype = cctp THEN 2240 ll := swrite (output_string, 1, name, ' * proc ') 2241 ELSE ll := swrite (output_string, 1, name, ' * funct ') *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 65 2242 ELSE 2243 IF proctype = cctp THEN 2244 ll := swrite (output_string, 1, name, ' proc ') 2245 ELSE ll := swrite (output_string, 1, name, ' funct ') ; 2246 lctp := nxtel ; 2247 CASE prockind OF 2248 actual : 2249 IF lctp = NIL THEN 2250 ll := swrite (output_string, ll, 'level 0') 2251 ELSE 2252 WITH lctp^ DO 2253 BEGIN 2254 ll := swrite (output_string, ll, 'of ') ; 2255 i := 1 ; 2256 REPEAT 2257 IF name [i] <> ' ' THEN 2258 ll := swrite (output_string, ll, name [i]) 2259 ELSE 2260 i := maxident ; 2261 i := i + 1 2262 UNTIL i > maxident ; 2263 END ; 2264 formal : 2265 BEGIN 2266 ll := swrite (output_string, ll, 'parameter of ') ; 2267 IF lctp <> NIL THEN 2268 WITH lctp^ DO 2269 BEGIN 2270 i := 1 ; 2271 REPEAT 2272 IF name [i] <> ' ' THEN 2273 ll := swrite (output_string, ll, name [i]) 2274 ELSE 2275 i := maxident ; 2276 i := i + 1 2277 UNTIL i > maxident ; 2278 END ; 2279 END ; 2280 exportable : 2281 ll := swrite (output_string, ll, 'level 0, exportable') ; 2282 imported : 2283 ll := swrite (output_string, ll, 'level 0, imported') ; 2284 END ; 2285 IF proctype <> cctp THEN 2286 IF proctype <> NIL THEN BEGIN 2287 ll := swrite (output_string, ll, ' ; ') ; 2288 IF proctype = nilptr THEN 2289 ll := swrite (output_string, ll, '(standard)') 2290 ELSE 2291 printtype (proctype) 2292 END ; 2293 printrefs ; 2294 END ; 2295 tagfield, dummyclass : 2296 END ; 2297 IF lastbox = NIL THEN firstalfa := alfathread 2298 ELSE lastbox^.alfathread := alfathread ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 66 2299 END ; 2300 END (* PRINTSYMBOL *) ; 2301 2302 (* ******************************************** SEARCHINTYPE < DISPLAYSYMBOLS ********************************* *) 2303 2304 PROCEDURE sortlevel (cctp : ctp) ; FORWARD ; 2305 2306 PROCEDURE searchintype (cctp : ctp) ; 2307 2308 BEGIN 2309 WITH cctp^ DO 2310 CASE form OF 2311 records : 2312 sortlevel (fstfld) ; 2313 arrays : 2314 IF aeltype <> NIL THEN 2315 IF aeltype^.name = blank THEN searchintype (aeltype) ; 2316 pointer : 2317 IF eltype <> NIL THEN 2318 IF eltype^.name = blank THEN searchintype (eltype) ; 2319 reel, numeric, scalar, power, files, aliastype : ; 2320 END (* CASE *) 2321 END (* SEARCHINTYPE *) ; 2322 2323 (* ****************************************** SORTLEVEL < DISPLAYSYMBOLS ************************************* *) 2324 2325 PROCEDURE sortlevel ; 2326 2327 LABEL 2328 100, 200 ; 2329 2330 VAR 2331 sctp : ctp ; 2332 index : integer ; 2333 previous, next : ctp ; 2334 2335 BEGIN (* SORTLEVEL *) 2336 WHILE cctp <> NIL DO 2337 BEGIN 2338 WITH cctp^ DO 2339 BEGIN 2340 IF (name <> blank) AND (references <> NIL) THEN 2341 BEGIN 2342 IF name [1] = '$' THEN index := 26 ELSE index := ord (name [1]) - ord ('a') ; 2343 IF index IN [0..26] THEN 2344 WITH alfalist [index] DO 2345 IF firstname = NIL THEN 2346 BEGIN 2347 firstname := cctp ; 2348 alfathread := NIL ; 2349 lastname := cctp 2350 END 2351 ELSE 2352 BEGIN 2353 previous := NIL ; 2354 next := firstname ; 2355 100 : *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 67 2356 IF next = cctp THEN GOTO 200 ; (* TO AVOID LOOP IN SYMBOLS THREAD... *) 2357 IF next^.name <= name THEN 2358 IF next^.alfathread = NIL THEN 2359 BEGIN 2360 next^.alfathread := cctp ; 2361 cctp^.alfathread := NIL ; 2362 lastname := cctp 2363 END 2364 ELSE 2365 BEGIN 2366 previous := next ; 2367 next := next^.alfathread ; 2368 GOTO 100 2369 END 2370 ELSE 2371 BEGIN 2372 cctp^.alfathread := next ; 2373 IF previous = NIL THEN 2374 firstname := cctp 2375 ELSE 2376 previous^.alfathread := cctp 2377 END 2378 END 2379 END ; 2380 CASE klass OF 2381 types : 2382 searchintype (cctp) ; 2383 vars : 2384 IF vtype <> NIL THEN 2385 IF vtype^.name = blank THEN searchintype (vtype) ; 2386 field : 2387 IF fldtype <> NIL THEN 2388 IF fldtype^.name = blank THEN searchintype (fldtype) ; 2389 proc : 2390 IF proctype <> cctp THEN 2391 IF proctype <> NIL THEN 2392 IF proctype^.name = blank THEN searchintype (proctype) ; 2393 schema, konst, tagfield, dummyclass : 2394 END ; 2395 END ; 2396 sctp := cctp^.nxtel ; 2397 cctp^.nxtel := currentnode^.blockbox ; 2398 cctp := sctp ; 2399 END ; 2400 200 : 2401 END (* SORTLEVEL *) ; 2402 2403 (* ************************************** SORTALFA NIL THEN 2412 BEGIN *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 68 2413 currentnode := currentnode^.son ; 2414 sortalfa ; 2415 currentnode := currentnode^.father ; 2416 END ; 2417 END ; 2418 IF currentnode^.brother <> NIL THEN 2419 BEGIN 2420 currentnode := currentnode^.brother ; 2421 sortalfa ; 2422 END ; 2423 END (* SORTALFA *) ; 2424 2425 BEGIN (* DISPLAYSYMBOLS *) 2426 (* SORT ALL SYMBOLS *) 2427 checkunused := false ; 2428 currentnode := programnode ; 2429 FOR it := 0 TO 26 DO 2430 alfalist [it].firstname := NIL ; 2431 sortalfa ; 2432 it := 0 ; 2433 WHILE (alfalist [it].firstname = NIL) AND (it <> 26) DO 2434 it := it + 1 ; 2435 firstalfa := alfalist [it].firstname ; 2436 lastit := it ; 2437 it := it + 1 ; 2438 WHILE it <> 27 DO 2439 BEGIN 2440 IF alfalist [it].firstname <> NIL THEN 2441 BEGIN 2442 alfalist [lastit].lastname^.alfathread := alfalist [it].firstname ; 2443 lastit := it ; 2444 END ; 2445 it := it + 1 ; 2446 END ; 2447 (* EDITION *) 2448 tittle := false ; 2449 tittlestring := 'NAMES DECLARED AND REFERENCED' ; 2450 writeln (mpcogout) ; 2451 cctp := firstalfa ; 2452 lastbox := NIL ; 2453 WHILE cctp <> NIL DO 2454 BEGIN 2455 WITH cctp^ DO 2456 IF klass = vars THEN IF visrefincode OR (vkind = arraybound) THEN printsymbol ELSE lastbox := cctp 2457 ELSE IF klass = proc THEN IF pisrefincode THEN printsymbol ELSE lastbox := cctp 2458 ELSE IF references^.refnbr <> 0 THEN printsymbol ELSE lastbox := cctp ; 2459 cctp := cctp^.alfathread ; 2460 END ; 2461 IF NOT tittle THEN 2462 writeln (mpcogout, ' NO ', tittlestring) ; 2463 2464 tittle := false ; 2465 tittlestring := 'NAMES DECLARED AND NEVER REFERENCED' ; 2466 writeln (mpcogout) ; 2467 cctp := firstalfa ; 2468 checkunused := true ; 2469 lastbox := NIL ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 69 2470 WHILE cctp <> NIL DO 2471 BEGIN 2472 printsymbol ; 2473 cctp := cctp^.alfathread ; 2474 END ; 2475 checkunused := false ; 2476 IF NOT tittle THEN 2477 writeln (mpcogout, ' NO ', tittlestring) ; 2478 2479 tittle := false ; 2480 tittlestring := 'NAMES DECLARED BY DEFAULT' ; 2481 writeln (mpcogout) ; 2482 FOR it := 0 TO 26 DO 2483 alfalist [it].firstname := NIL ; 2484 sortlevel (display [0].fname) ; 2485 it := 0 ; 2486 WHILE (alfalist [it].firstname = NIL) AND (it <> 26) DO 2487 it := it + 1 ; 2488 firstalfa := alfalist [it].firstname ; 2489 lastit := it ; 2490 it := it + 1 ; 2491 WHILE it <> 27 DO 2492 BEGIN 2493 IF alfalist [it].firstname <> NIL THEN 2494 BEGIN 2495 alfalist [lastit].lastname^.alfathread := alfalist [it].firstname ; 2496 lastit := it ; 2497 END ; 2498 it := it + 1 ; 2499 END ; 2500 cctp := firstalfa ; 2501 WHILE cctp <> NIL DO 2502 BEGIN 2503 IF (cctp^.references^.refnbr <> 0) THEN printsymbol ; 2504 cctp := cctp^.alfathread ; 2505 END ; 2506 IF NOT tittle THEN 2507 writeln (mpcogout, ' NO ', tittlestring) ; 2508 writeln (mpcogout) ; 2509 IF firstlabbox^.next^.next = NIL THEN 2510 writeln (mpcogout, ' NO LABELS') 2511 ELSE 2512 BEGIN 2513 writeln (mpcogout, ' LABELS') ; 2514 writeln (mpcogout) ; 2515 writeln (mpcogout, ' BLOCK NAME') ; 2516 currlabbox := firstlabbox^.next ; 2517 REPEAT 2518 WITH currlabbox^ DO 2519 BEGIN 2520 write (mpcogout, number : 4) ; 2521 IF references^.refnbr = 0 THEN write (mpcogout, '* ') 2522 ELSE write (mpcogout, ' ') ; 2523 IF procnode = programnode THEN write (mpcogout, '(main) ') 2524 ELSE write (mpcogout, procnode^.blockbox^.name : 32) ; 2525 write (mpcogout, ' DCL : ') ; 2526 ll := 39 + 6 ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 70 2527 IF dclfile <> 0 THEN 2528 BEGIN 2529 n := longint (dclfile) ; 2530 write (mpcogout, dclfile : n, '-') ; 2531 ll := ll + n + 1 ; 2532 END ; 2533 n := longint (dclline) ; 2534 write (mpcogout, dclline : n, ' ; DEF: ') ; 2535 ll := ll + n + 8 ; 2536 IF deffile <> 0 THEN 2537 BEGIN 2538 n := longint (deffile) ; 2539 write (mpcogout, deffile : n, '-') ; 2540 ll := ll + n + 1 ; 2541 END ; 2542 n := longint (defline) ; 2543 write (mpcogout, defline : n) ; 2544 ll := ll + n ; 2545 IF references^.refnbr <> 0 THEN BEGIN 2546 write (mpcogout, ' ; REF: ') ; 2547 ll := ll + 8 ; 2548 refbox := references ; 2549 p1 := NIL ; 2550 WHILE refbox^.nextref <> NIL DO BEGIN 2551 p2 := refbox^.nextref ; 2552 refbox^.nextref := p1 ; 2553 p1 := refbox ; 2554 refbox := p2 ; 2555 END ; 2556 refbox^.nextref := p1 ; 2557 REPEAT 2558 WITH refbox^ DO 2559 FOR i := 1 TO refnbr DO 2560 WITH refs [i] DO 2561 BEGIN 2562 IF ll >= llmax THEN 2563 BEGIN 2564 writeln (mpcogout) ; 2565 write (mpcogout, ' ' : 41) ; 2566 ll := 40 ; 2567 END ; 2568 IF filen <> 0 THEN BEGIN 2569 n := longint (filen) ; 2570 write (mpcogout, filen : n, '-') ; 2571 ll := ll + n + 1 ; 2572 END ; 2573 IF linen < 0 THEN 2574 BEGIN 2575 n := longint (-linen) ; 2576 write (mpcogout, -linen : n, '* ') 2577 END ELSE 2578 BEGIN 2579 n := longint (linen) ; 2580 write (mpcogout, linen : n, ' ') ; 2581 END ; 2582 ll := ll + n + 1 ; 2583 END ; *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 71 2584 refbox := refbox^.nextref ; 2585 UNTIL refbox = NIL ; 2586 END ; 2587 END ; 2588 writeln (mpcogout) ; 2589 currlabbox := currlabbox^.next ; 2590 UNTIL currlabbox^.next = NIL ; 2591 END ; 2592 2593 END (* DISPLAYSYMBOLS *) ; 2594 2595 $OPTIONS page $ *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 72 2596 2597 (* ***********************************************STATISTIQUES***************** *) 2598 2599 PROCEDURE statistiques ; 2600 2601 (* C CALLED AT END OF COMPILATION 2602* . PRINTS ERROR'S MEANING 2603* . PRINTS PAGENUMBER WHERE ERRORS WERE FOUND 2604* . PRINTS ERRTOTAL 2605* . ASSIGNS $COND C *) 2606 VAR 2607 i, j, pageocc : integer ; 2608 BEGIN 2609 IF mapswitch THEN 2610 IF errtotal # 0 THEN 2611 BEGIN 2612 nextpage ; 2613 write (mpcogout, errtotal : 5, ' COMPILATION ERROR(S) DETECTED') ; nextline ; 2614 nextline ; 2615 pageocc := -1 ; (* FLAG FIRST LINE OF PAGE NUMBERS *) 2616 FOR i := 0 TO maxerpg DO (* LOOP ON ENTRIES *) 2617 FOR j := 0 TO maxset DO (* LOOP ON ELEMENT IN AN ENTRY *) 2618 IF j IN pageserrors [i] THEN 2619 BEGIN 2620 IF pageocc = -1 THEN 2621 BEGIN write (mpcogout, 'ERROR(S) DETECTED IN PAGE(S) :') ; pageocc := 1 ; 2622 END ELSE 2623 IF pageocc = 1 THEN 2624 write (mpcogout, ' :') ; 2625 write (mpcogout, i * setrange + j : 5) ; pageocc := pageocc + 1 ; 2626 IF pageocc = 19 THEN 2627 BEGIN 2628 nextline ; pageocc := 1 ; 2629 END ; 2630 END (* FOR I,J,IF *) ; 2631 IF pageocc > 1 THEN (* LINE NOT EMPTY *) 2632 nextline ; 2633 (* NOW PRINTS ERROR'S MEANING *) 2634 nextline ; 2635 FOR i := 0 TO maxerpg DO 2636 FOR j := 0 TO maxset DO 2637 IF j IN errorsfound [i] THEN 2638 BEGIN 2639 prterrmeans (mpcogout, i * setrange + j) ; 2640 nextline ; 2641 END ; 2642 END (* ERRORS *) ELSE 2643 BEGIN 2644 nextpage ; 2645 IF listyes THEN write (mpcogout, ' NO COMPILATION ERROR ') ; nextline ; 2646 END ; 2647 IF listyes THEN 2648 nextline ; 2649 END (* STATISTIQUES *) ; 2650 2651 (* END OF UNIQUE MODULE ******************************************************* *) BEGIN 2652 END. *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 73 2653 *** MULTICS PASCAL COMPILER - V8.03 **** PROGRAM unique *** ON 11/12/86 *** PAGE 74 NO COMPILATION ERROR STORAGE REQUIREMENTS FOR OBJECT SEGMENT Object Text Defs Links Static Symbol Start 0 0 37127 40232 40242 44230 Length 45134 37127 1102 3776 3455 670 SOURCE FILES USED IN THIS COMPILATION NUMBER DATE MODIFIED PATHNAME 0 11/12/86 1607.8 >spec>install>1212>UNIQUE.pascal 1 11/12/86 1528.2 >spec>install>1212>CONSTTYPE.incl.pascal NAMES DECLARED AND REFERENCED actual const scalar, ord=0 ; DEF: 1-406 ; REF: 977 2128 2248 add_schema_token proc level 0, imported ; DEF: 258 ; REF: 48 772 777 779 782 783 785 787 789 791 793 795 800 802 804 806 808 810 812 814 aeltype field disp:200, size:10 ; pointer ; DEF: 1-546 ; REF: 478* 2071 2071 2314 2315 2315 alfaconst const scalar, ord=2 ; DEF: 1-416 ; REF: 1-569 2231 alfaid type packed array of (char) ; DEF: 1-399 ; REF: 1-404 1-436 1-446 1-447 1-496 1-508 1-965 128 150 179 180 183 186 247 248 260 262 263 264 265 alfaleng const numeric ; DEF: 1-35 ; REF: 1-398 alfalist type record ; DEF: 1-402 ; REF: 1-401 alfalist var local to displaysymbols, loc:202, size:660 ; array of (record) ; DEF: 1921 ; REF: 2344 2345 2347* 2349* 2354 2362* 2374* 2430* 2433 2435 2440 2442 2442 2483* 2486 2488 2493 2495 2495 alfalistptr type pointer ; DEF: 1-401 ; REF: 1-403 alfalistrange type numeric 0..26 ; DEF: 1911 ; REF: 1921 alfalong field disp:160, size:4 ; integer ; DEF: 1-570 ; REF: 2232 alfapt type pointer ; DEF: 1-419 ; REF: 1-421 1-569 alfaptr var global imported, size:10 ; pointer ; DEF: 127 ; REF: 58 471* 472 alfathread field disp:50, size:10 ; pointer ; DEF: 1-510 ; REF: 672* 2298 2298* 2298 2348* 2358 2360* 2361* 2367 2372* 2376* 2442* 2459 2473 2495* 2504 alfavalue type record ; DEF: 1-420 ; REF: 1-419 aliastype const scalar, ord=10 ; DEF: 1-413 ; REF: 1-563 2078 2319 analyzing_schema var global imported, size:40 ; record ; DEF: 163 ; REF: 94 767 769* 770* 771* 773 778* 780 781* 784* 786* 788* 790* 792* 794* 796 801* 803* 805* 807* 809* 811* 813* 815* arraybound const scalar, ord=2 ; DEF: 1-406 ; REF: 2154 2456 arrays const scalar, ord=5 ; DEF: 1-412 ; REF: 1-546 471 2066 2313 attraccess type scalar ; DEF: 1-813 ; REF: 1-871 attrkind type scalar ; DEF: 1-812 ; REF: 1-852 aval var global imported, size:40 ; packed array of (char) ; DEF: 128 ; REF: 59 956 968 971 972 973 974 975 976 977 bc var local to printsymbol, loc:141, size:4 ; integer ; DEF: 2089 ; REF: 2149* 2151 2152 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 2149 bitsinword const numeric ; DEF: 1-78 ; REF: 1-80 1-92 1-111 1-115 1-117 blank const alphanumeric, 8 char(s) ; DEF: 1-138 ; REF: 319 350 361 409 435 445 459 471 544 742 2022 2315 2318 2340 2385 2388 2392 block const scalar, ord=0 ; DEF: 1-622 ; REF: 1-635 897 blockbox field disp:60, size:10 ; pointer ; DEF: 1-946 ; REF: 2397 2524 blocknode type record ; DEF: 1-940 ; REF: 1-639 blocknodeptr type pointer ; DEF: 1-639 ; REF: 1-646 1-941 1-949 151 177 2091 blocktp field disp:50, size:4 ; scalar ; DEF: 1-944 ; REF: 2408 blocktype type scalar ; DEF: 1-938 ; REF: 1-944 boolptr var global imported, size:10 ; pointer ; DEF: 129 ; REF: 60 382* 383 385 402 406 418 420 bornesupset const numeric ; DEF: 1-112 ; REF: 1-815 boundary funct level 0, imported ; integer ; DEF: 259 ; REF: 49 323 333 343 354 365 388 414 429 450 464 746 brother field disp:10, size:10 ; pointer ; DEF: 1-941 ; REF: 2418 2420 bytesindword const numeric ; DEF: 1-66 ; REF: 489 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 736 2148 2149 bytesneeded funct level 0, imported ; integer ; DEF: 257 ; REF: 50 322 332 342 353 356 364 367 387 390 413 416 428 431 449 452 463 466 479 745 bytwidth field disp:134, size:4 ; integer ; DEF: 1-609 ; REF: 2198 cadrage field disp:120, size:4 ; integer ; DEF: 1-524 ; REF: 323* 333* 343* 354* 365* 388* 414* 429* 450* 464* 476* 489* 746* cctp var local to displaysymbols, loc:174, size:10 ; pointer ; DEF: 1919 ; REF: 1972 2101 2116 2117 2119 2239 2243 2285 2451* 2453 2455 2457 2458 2458 2459* 2459 2467* 2470 2473* 2473 2500* 2501 2503 2504* 2504 cctp var parameter of sortlevel, size:10 ; pointer ; DEF: 2304 ; REF: 2336 2338 2347 2350 2356 2360 2361 2363 2372 2375 2377 2382 2390 2396 2397 2398* cctp var parameter of searchintype, size:10 ; pointer ; DEF: 2306 ; REF: 2309 cctp var parameter of printtype, size:10 ; pointer ; DEF: 2014 ; REF: 2021 2031 2033 2034 2063 2063 2071 2071 2079 2079 ch8flag var global imported, size:4 ; boolean ; DEF: 130 ; REF: 61 439 chain const scalar, ord=3 ; DEF: 1-812 ; REF: 1-894 char_const_token const scalar, ord=3 ; DEF: 1-491 ; REF: 1-499 charptr var global imported, size:10 ; pointer ; DEF: 131 ; REF: 62 423* 424 426 438 442 454 456 478 491 813 checkexternalitem proc level 0, imported ; DEF: 247 ; REF: 39 968 checkunused var local to displaysymbols, loc:170, size:4 ; boolean ; DEF: 1918 ; REF: 1954 2106 2113 2124 2193 2210 2238 2427* 2468* 2475* 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: 2068 consttype type scalar ; DEF: 1-416 ; REF: 1-566 265 contexttable type record ; DEF: 1-507 ; REF: 1-433 contype field disp:130, size:10 ; pointer ; DEF: 1-565 ; REF: 378* 402* 438* 580* 591* 678* 736* 2211 2212 2220 2221 create_konst_box proc level 0, imported ; DEF: 265 ; REF: 51 373 397 435 575 586 732 create_proc_box proc level 0, imported ; DEF: 262 ; REF: 52 499 515 531 599 615 642 687 704 718 822 838 create_schema_box proc level 0, imported ; DEF: 264 ; REF: 54 753 create_types_box proc level 0, imported ; DEF: 263 ; REF: 55 319 328 338 350 361 382 409 423 445 459 471 483 742 create_vars_box proc level 0, imported ; DEF: 260 ; REF: 53 544 759 createexternalbox proc level 0, imported ; DEF: 248 ; REF: 40 972 974 976 977 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 127 129 131 137 138 141 143 144 149 152 153 157 159 178 260 262 263 264 265 314 568 637 662 1919 1922 2014 2092 2304 2306 2331 2333 current_token field disp:20, size:10 ; pointer ; DEF: 1-488 ; REF: 771* 773 778 780 781 784 786 788 790 792 794 796 801 803 805 807 809 811 813 815 currentnode var global, loc:10, size:10 ; pointer ; DEF: 177 ; REF: 2397 2408 2410 2411 2413* 2413 2415* 2415 2418 2420* 2420 2428* currlabbox var local to displaysymbols, loc:166, size:10 ; pointer ; DEF: 1917 ; REF: 2516* 2518 2589* 2589 2590 cwith const scalar, ord=1 ; DEF: 1-622 ; REF: 1-636 dclfile field disp:40, size:4 ; integer ; DEF: 1-647 ; REF: 2527 2529 2530 dclline field disp:44, size:4 ; integer ; DEF: 1-647 ; REF: 2533 2534 decltrace var global imported, size:4 ; scalar ; DEF: 164 ; REF: 95 551 874 901 933 1005 deffile field disp:60, size:4 ; integer ; DEF: 1-511 ; REF: 331* 341* 377* 386* 401* 412* 427* 448* 462* 474* 487* 503* 519* 535* 579* 590* 603* 619* 646* 672* 691* 708* 722* 735* 757* 826* 842* 1976 1977 deffile field disp:50, size:4 ; integer ; DEF: 1-648 ; REF: 2536 2538 2539 defline field disp:64, size:4 ; integer ; DEF: 1-511 ; REF: 331* 341* 377* 386* 401* 412* 427* 448* 462* 474* 487* 503* 519* 535* 579* 590* 603* 619* 646* 672* 691* 708* 722* 735* 757* 826* 842* 1974 1978 2022 2117 2185 2202 defline field disp:54, size:4 ; integer ; DEF: 1-648 ; REF: 2542 2543 display var global imported, size:16030 ; array of (record) ; DEF: 132 ; REF: 63 895 897* 897* 2484 displimit const numeric ; DEF: 1-15 ; REF: 132 dummyclass const scalar, ord=7 ; DEF: 1-415 ; REF: 1-615 2295 2393 dw var local to printsymbol, loc:140, size:4 ; integer ; DEF: 2089 ; REF: 2148* 2150 dwordconst const scalar, ord=1 ; DEF: 1-416 ; REF: 1-568 575 2229 elset field disp:210, size:10 ; pointer ; DEF: 1-544 ; REF: 369* 418* 454* 2063 2063 eltype field disp:220, size:10 ; pointer ; DEF: 1-542 ; REF: 2317 2318 2318 ensaccessible type set of (scalar) ; DEF: 1-461 ; REF: 1-527 errnumod var parameter of pr12, size:4 ; integer ; DEF: 1867 ; REF: 1871 errnumod var parameter of pr11, size:4 ; integer ; DEF: 1856 ; REF: 1860 errnumod var parameter of pr10, size:4 ; integer ; DEF: 1822 ; REF: 1826 errnumod var parameter of pr09, size:4 ; integer ; DEF: 1811 ; REF: 1815 errnumod var parameter of pr08, size:4 ; integer ; DEF: 1712 ; REF: 1716 errnumod var parameter of pr07, size:4 ; integer ; DEF: 1628 ; REF: 1632 errnumod var parameter of pr06, size:4 ; integer ; DEF: 1576 ; REF: 1580 errnumod var parameter of pr05, size:4 ; integer ; DEF: 1514 ; REF: 1518 errnumod var parameter of pr04, size:4 ; integer ; DEF: 1438 ; REF: 1442 errnumod var parameter of pr03, size:4 ; integer ; DEF: 1352 ; REF: 1356 errnumod var parameter of pr02, size:4 ; integer ; DEF: 1252 ; REF: 1256 errnumod var parameter of pr01, size:4 ; integer ; DEF: 1142 ; REF: 1146 errnumod var parameter of pr00, size:4 ; integer ; DEF: 1024 ; REF: 1028 error proc level 0, imported ; DEF: 236 ; REF: 29 282 947 953 964 969 985 989 994 1000 errorflag var global imported, size:10 ; pointer ; DEF: 133 ; REF: 64 974* errornum var parameter of prterrmeans, size:4 ; integer ; DEF: 1018 ; REF: 1879 1880 1880 errorsfound var global imported, size:140 ; array of (set of (numeric 0..287)) ; DEF: 134 ; REF: 65 2637 errtotal var global imported, size:4 ; integer ; DEF: 135 ; REF: 66 2610 2613 exitelem type record ; DEF: 1-479 ; REF: 1-478 exitptr type pointer ; DEF: 1-478 ; REF: 1-480 1-586 exportable const scalar, ord=3 ; DEF: 1-406 ; REF: 2172 2280 externalitem type record ; DEF: 1-445 ; REF: 1-444 externalitemtype type scalar ; DEF: 1-441 ; REF: 1-451 248 father field disp:0, size:10 ; pointer ; DEF: 1-941 ; REF: 2415 father_schema field disp:150, size:10 ; pointer ; DEF: 1-529 ; REF: 2031 2033 2034 fconst field disp:210, size:10 ; pointer ; DEF: 1-538 ; REF: 406* 442* feltype field disp:200, size:10 ; pointer ; DEF: 1-555 ; REF: 491* field const scalar, ord=5 ; DEF: 1-415 ; REF: 1-608 2191 2386 filelocation type scalar ; DEF: 1-437 ; REF: 1-598 filen field disp:0, size:4 ; integer ; DEF: 1-430 ; REF: 1998 1999 2568 2569 2570 files const scalar, ord=9 ; DEF: 1-413 ; REF: 1-555 483 2076 2178 2319 filetowr var var parameter of prterrmeans ; text ; DEF: 1018 ; REF: 1030 1032 1035 1037 1039 1041 1043 1045 1048 1050 1052 1054 1056 1058 1061 1063 1065 1067 1069 1072 1074 1076 1078 1080 1082 1084 1086 1088 1090 1092 1094 1096 1098 1100 1102 1104 1106 1108 1110 1112 1114 1116 1118 1120 1122 1124 1126 1128 1130 1132 1134 1136 1148 1150 1153 1155 1158 1160 1163 1165 1168 1170 1172 1174 1176 1178 1181 1183 1185 1187 1189 1191 1193 1195 1197 1199 1201 1203 1205 1207 1209 1211 1214 1216 1219 1221 1224 1225 1227 1229 1231 1233 1235 1237 1239 1242 1244 1246 1258 1260 1262 1264 1266 1268 1270 1272 1274 1276 1278 1280 1282 1284 1286 1288 1290 1292 1294 1296 1298 1300 1302 1304 1306 1308 1310 1312 1314 1316 1318 1320 1322 1324 1326 1328 1330 1332 1334 1336 1338 1340 1342 1344 1346 1358 1360 1362 1364 1366 1368 1370 1372 1374 1376 1378 1380 1382 1384 1386 1388 1391 1393 1396 1398 1400 1402 1404 1406 1408 1410 1412 1414 1416 1418 1420 1422 1424 1426 1428 1430 1432 1444 1446 1448 1450 1452 1454 1456 1458 1460 1462 1464 1466 1468 1470 1472 1474 1476 1478 1480 1482 1484 1487 1488 1490 1492 1494 1496 1498 1500 1502 1504 1506 1508 1520 1522 1524 1526 1528 1530 1532 1534 1536 1538 1540 1542 1544 1546 1548 1550 1552 1554 1556 1558 1560 1562 1564 1566 1568 1570 1582 1584 1586 1588 1590 1592 1594 1596 1598 1600 1602 1604 1606 1608 1610 1612 1614 1616 1618 1620 1622 1634 1636 1638 1640 1642 1644 1646 1648 1650 1652 1654 1656 1658 1660 1662 1664 1666 1668 1670 1672 1674 1676 1678 1680 1682 1684 1686 1688 1690 1692 1694 1696 1698 1700 1702 1704 1706 1718 1720 1722 1724 1726 1728 1730 1732 1734 1736 1738 1740 1742 1744 1746 1748 1750 1752 1754 1756 1758 1760 1762 1764 1766 1768 1770 1772 1774 1776 1778 1780 1782 1784 1786 1788 1790 1792 1794 1796 1798 1800 1802 1804 1806 1828 1830 1832 1834 1836 1838 1840 1842 1844 1846 1848 1850 1874 1879 first field disp:40, size:10 ; pointer ; DEF: 1-943 ; REF: 2410 firstalfa var global, loc:12, size:10 ; pointer ; DEF: 178 ; REF: 2297* 2435* 2451 2467 2488* 2500 firstlabbox var global imported, size:10 ; pointer ; DEF: 165 ; REF: 100 2509 2516 firstname field disp:0, size:10 ; pointer ; DEF: 1922 ; REF: 2345 2347* 2354 2374* 2430* 2433 2435 2440 2442 2483* 2486 2488 2493 2495 fldaddr field disp:130, size:4 ; integer ; DEF: 1-609 ; REF: 2196 fldtype field disp:120, size:10 ; pointer ; DEF: 1-608 ; REF: 2199 2201 2202 2204 2387 2388 2388 fname field disp:0, size:10 ; pointer ; DEF: 1-633 ; REF: 897* 2484 form field disp:174, size:4 ; scalar ; DEF: 1-533 ; REF: 2047 2178 2212 2221 2310 formal const scalar, ord=1 ; DEF: 1-406 ; REF: 763 2154 2264 formal_parameter_list field disp:130, size:10 ; pointer ; DEF: 1-519 ; REF: 759* 760 formals field disp:130, size:10 ; pointer ; DEF: 1-571 ; REF: 504* 520* 536* 604* 620* 647* 692* 709* 827* 843* fsbpointersize const numeric ; DEF: 1-305 ; REF: 488 fstfld field disp:210, size:10 ; pointer ; DEF: 1-554 ; REF: 2312 ftp type pointer ; DEF: 1-484 ; REF: 1-488 1-493 1-521 halfword type integer ; DEF: 1-809 ; REF: 1-810 hdrfile var global imported, size:4 ; integer ; DEF: 166 ; REF: 96 942* hdrindex var global imported, size:4 ; integer ; DEF: 167 ; REF: 97 943* 997 hdrlength var global imported, size:4 ; integer ; DEF: 168 ; REF: 98 997* hdrline var global imported, size:4 ; integer ; DEF: 169 ; REF: 99 941* heaperror proc level 0, exportable ; DEF: 271 ; REF: 104 667 673 i var local to statistiques, loc:140, size:4 ; integer ; DEF: 2607 ; REF: 2616* 2618 2625 2635* 2637 2639 i var local to displaysymbols, loc:140, size:4 ; integer ; DEF: 1913 ; REF: 2559* 2560 i var local to printsymbol, loc:142, size:4 ; integer ; DEF: 2090 ; REF: 2137* 2139 2140 2142* 2143* 2143 2144 2162* 2164 2165 2167* 2168* 2168 2169 2255* 2257 2258 2260* 2261* 2261 2262 2270* 2272 2273 2275* 2276* 2276 2277 i var local to printtype, loc:143, size:4 ; integer ; DEF: 2017 ; REF: 2024* 2025 2026 2027* 2027 2036* 2038 2039 2041* 2042* 2042 2043 i var local to printrefs, loc:146, size:4 ; integer ; DEF: 1966 ; REF: 1994* 1995 i var local to prterrmeans, loc:145, size:4 ; integer ; DEF: 1020 ; REF: 1880* 1881 icmpc const scalar, ord=513 ; DEF: 1-754 ; REF: 1-782 idkinds type scalar ; DEF: 1-406 ; REF: 1-452 1-572 1-597 248 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 imported const scalar, ord=4 ; DEF: 1-406 ; REF: 972 974 976 2174 2282 incbloc type scalar ; DEF: 1-462 ; REF: 1-585 index var local to sortlevel, loc:144, size:4 ; integer ; DEF: 2332 ; REF: 2342* 2342* 2343 2344 initdeclare proc level 0, imported ; DEF: 246 ; REF: 41 301 initgen proc level 0, imported ; DEF: 251 ; REF: 43 302 initracine proc level 0, imported ; DEF: 243 ; REF: 30 300 initstate proc level 0, imported ; DEF: 254 ; REF: 46 303 initstdcompiler proc level 0 ; DEF: 633 ; REF: 891 initstdextend proc level 0 ; DEF: 659 ; REF: 893 initstdpure proc level 0 ; DEF: 312 ; REF: 890 initstdsol proc level 0 ; DEF: 564 ; REF: 892 inputflag var global imported, size:10 ; pointer ; DEF: 136 ; REF: 67 972* instdcompiler const scalar, ord=2 ; DEF: 1-439 ; REF: 650 instdextend const scalar, ord=4 ; DEF: 1-440 ; REF: 695 712 726 830 846 instdpure const scalar, ord=1 ; DEF: 1-439 ; REF: 507 523 539 instdsol const scalar, ord=3 ; DEF: 1-439 ; REF: 607 623 instword type scalar ; DEF: 1-679 ; REF: 1-781 1-782 1-783 1-784 insymbol proc level 0, imported ; DEF: 241 ; REF: 31 938 950 957 961 979 982 992 1003 int_const_token const scalar, ord=2 ; DEF: 1-491 ; REF: 1-497 782 802 intptr var global imported, size:10 ; pointer ; DEF: 137 ; REF: 68 338* 339 341 378 478 591 678 736 inxtype field disp:210, size:10 ; pointer ; DEF: 1-546 ; REF: 478* irpd const scalar, ord=540 ; DEF: 1-759 ; REF: 1-783 irpt const scalar, ord=542 ; DEF: 1-759 ; REF: 1-783 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 displaysymbols, loc:200, size:4 ; integer ; DEF: 1920 ; REF: 2429* 2430 2432* 2433 2433 2434* 2434 2435 2436 2437* 2437 2438 2440 2442 2443 2445* 2445 2482* 2483 2485* 2486 2486 2487* 2487 2488 2489 2490* 2490 2491 2493 2495 2496 2498* 2498 it var local to initstdextend, loc:140, size:4 ; integer ; DEF: 661 ; REF: 685* 687 693 702* 704 710 820* 822 828 836* 838 844 it var local to initstdcompiler, loc:140, size:4 ; integer ; DEF: 636 ; REF: 640* 642 648 it var local to initstdsol, loc:140, size:4 ; integer ; DEF: 567 ; REF: 573* 575 581 597* 599 605 613* 615 621 it var local to initstdpure, loc:144, size:4 ; integer ; DEF: 315 ; REF: 395* 397 402 497* 499 505 513* 515 521 529* 531 537 iunresolv type record ; DEF: 1-828 ; REF: 1-824 j var local to statistiques, loc:141, size:4 ; integer ; DEF: 2607 ; REF: 2617* 2618 2625 2636* 2637 2639 j var local to printoct, loc:151, size:4 ; integer ; DEF: 1932 ; REF: 1935* 1937 1943* 1944 j var local to prterrmeans, loc:144, size:4 ; integer ; DEF: 1020 ; REF: 1880* 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 k var local to printoct, loc:152, size:4 ; integer ; DEF: 1932 ; REF: 1940* 1941 1941 1942* 1942 1943 klass field disp:110, size:4 ; scalar ; DEF: 1-515 ; REF: 670* 2103 2380 2456 2457 konst const scalar, ord=2 ; DEF: 1-415 ; REF: 1-564 670 2208 2393 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 165 1917 lamptr var global imported, size:10 ; pointer ; DEF: 138 ; REF: 69 459* 460 lastbox var local to displaysymbols, loc:172, size:10 ; pointer ; DEF: 1919 ; REF: 2297 2298 2452* 2456* 2457* 2458* 2469* lastit var local to displaysymbols, loc:201, size:4 ; integer ; DEF: 1920 ; REF: 2436* 2442 2443* 2489* 2495 2496* lastname field disp:10, size:10 ; pointer ; DEF: 1922 ; REF: 2349* 2362* 2442 2495 lcond const scalar, ord=1 ; DEF: 1-812 ; REF: 1-908 lcstpt type pointer ; DEF: 1-826 ; REF: 1-841 lctp var local to printsymbol, loc:146, size:10 ; pointer ; DEF: 2092 ; REF: 2246* 2249 2252 2267 2268 levrange type numeric 0..20 ; DEF: 1-418 ; REF: 1-526 1-558 1-573 1-581 1-601 1-636 1-855 levtrace type scalar ; DEF: 1-624 ; REF: 164 lgparm const numeric ; DEF: 1-23 ; REF: 1-24 linen field disp:4, size:4 ; integer ; DEF: 1-430 ; REF: 2000 2001 2003 2573 2575 2576 2579 2580 listyes var global imported, size:4 ; boolean ; DEF: 139 ; REF: 70 2645 2647 liunresolv type record ; DEF: 1-838 ; REF: 1-825 ll var local to displaysymbols, loc:177, size:4 ; integer ; DEF: 1920 ; REF: 1944* 1944 1953 1954* 1954* 1955* 1955 1956* 1956 1970 1975* 1975 1977* 1977 1978* 1978 1981 1982* 1982 1997 1999* 1999 2001* 2001 2003* 2003 2008 2020 2026* 2026 2039* 2039 2049* 2049 2051* 2051 2054* 2054 2056* 2056 2059* 2059 2062* 2062 2064* 2064 2069* 2069 2070* 2070 2072* 2072 2075* 2075 2077* 2077 2107* 2108* 2114* 2115* 2118* 2118 2125* 2126* 2131* 2131 2133* 2133 2140* 2140 2147* 2147 2152* 2152 2157* 2157 2158* 2158 2165* 2165 2173* 2173 2175* 2175 2180* 2180 2183* 2183 2186* 2186 2194* 2195* 2197* 2197 2200* 2200 2203* 2203 2213* 2214* 2215* 2217* 2223* 2223 2225* 2225 2227* 2227 2230* 2230 2232* 2232 2240* 2241* 2244* 2245* 2250* 2250 2254* 2254 2258* 2258 2266* 2266 2273* 2273 2281* 2281 2283* 2283 2287* 2287 2289* 2289 2526* 2531* 2531 2535* 2535 2540* 2540 2544* 2544 2547* 2547 2562 2566* 2571* 2571 2582* 2582 llcstpt type pointer ; DEF: 1-827 ; REF: 1-846 lliunresolv type record ; DEF: 1-843 ; REF: 1-824 llmax const numeric ; DEF: 1909 ; REF: 1970 1981 1997 2020 2562 locpt var local to initstdextend, loc:142, size:10 ; pointer ; DEF: 662 ; REF: 667* 667 668 671 687* 688 690 692 704* 705 707 718* 719 721 742* 743 762 822* 823 825 838* 839 841 843 locpt var local to initstdcompiler, loc:142, size:10 ; pointer ; DEF: 637 ; REF: 642* 643 645 647 locpt var local to initstdsol, loc:142, size:10 ; pointer ; DEF: 568 ; REF: 575* 576 578 586* 587 589 599* 600 602 604 615* 616 618 locpt var local to initstdpure, loc:140, size:10 ; pointer ; DEF: 314 ; REF: 350* 351 369 373* 374 376 397* 398 400 404 406 409* 410 420 435* 436 442 445* 446 456 499* 500 502 504 515* 516 518 531* 532 534 log10switch const numeric ; DEF: 1-150 ; REF: 724 longalfbox const numeric ; DEF: 1-22 ; REF: 1-422 longint funct level 0, imported ; integer ; DEF: 252 ; REF: 44 2529 2533 2538 2542 2569 2575 2579 low const scalar, ord=1 ; DEF: 1-624 ; REF: 551 901 1005 lp var local to initstdpure, loc:142, size:10 ; pointer ; DEF: 314 ; REF: 394* 402 404* lval const scalar, ord=2 ; DEF: 1-812 ; REF: 1-887 mapswitch var global imported, size:4 ; boolean ; DEF: 140 ; REF: 71 939 2609 maxchar const numeric ; DEF: 1-96 ; REF: 428 431 440 449 452 453 479 678 maxchar8 const numeric ; DEF: 1-338 ; REF: 439 maxdigitsreal const numeric ; DEF: 1-122 ; REF: 1-397 maxerpg const numeric ; DEF: 1-20 ; REF: 134 147 2616 2635 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 1954 1954 2041 2043 2142 2144 2167 2169 2260 2262 2275 2277 maxint const numeric ; DEF: 1-84 ; REF: 342 346 346 378 maxlevel const numeric ; DEF: 1-18 ; REF: 1-418 maxno const numeric ; DEF: 1-13 ; REF: 1-434 1-621 maxreal var global imported, size:10 ; real ; DEF: 125 ; REF: 25 581 maxref const numeric ; DEF: 1-38 ; REF: 1-429 maxset const numeric ; DEF: 1-93 ; REF: 134 147 353 356 357 364 463 466 467 2617 2636 maxsliceline const numeric ; DEF: 1-101 ; REF: 1-102 maxstring_ptr var global imported, size:10 ; pointer ; DEF: 141 ; REF: 72 732* 733 738 745 748 maxwseg const numeric ; DEF: 1-73 ; REF: 1-973 minno const numeric ; DEF: 1-12 ; REF: 1-434 1-621 minreal var global imported, size:10 ; real ; DEF: 125 ; REF: 26 581 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: 142 ; REF: 73 284 553 876 903 935 1007 1953 2008 2097 2098 2450 2462 2466 2477 2481 2507 2508 2510 2513 2514 2515 2520 2521 2522 2523 2524 2525 2530 2534 2539 2543 2546 2564 2565 2570 2576 2580 2588 2613 2621 2624 2625 2639* 2645 n var local to displaysymbols, loc:176, size:4 ; integer ; DEF: 1920 ; REF: 2529* 2530 2531 2533* 2534 2535 2538* 2539 2540 2542* 2543 2544 2569* 2570 2571 2575* 2576 2579* 2580 2582 name field disp:0, size:40 ; packed array of (char) ; DEF: 1-508 ; REF: 671* 813 2022 2025 2026 2038 2039 2107 2108 2114 2115 2125 2126 2139 2140 2164 2165 2194 2195 2213 2214 2215 2217 2240 2241 2244 2245 2257 2258 2272 2273 2315 2318 2340 2342 2342 2357 2357 2385 2388 2392 2524 name_token const scalar, ord=1 ; DEF: 1-491 ; REF: 1-496 777 785 789 806 812 nb var parameter of printoct, size:4 ; integer ; DEF: 1928 ; REF: 1937 1938* 1938 newl var local to printrefs, loc:150, size:4 ; boolean ; DEF: 1967 ; REF: 1971* next field disp:10, size:10 ; pointer ; DEF: 1-644 ; REF: 2509 2509 2516 2589 2590 next var global imported, size:10 ; pointer ; DEF: 143 ; REF: 74 331* 341* 376* 385* 400* 426* 486* 502* 518* 534* 554 578* 589* 602* 618* 645* 671 671* 690* 707* 721* 738* 754* 825* 841* 881* 897 904 next var local to sortlevel, loc:150, size:10 ; pointer ; DEF: 2333 ; REF: 2354* 2356 2357 2358 2360 2366 2367* 2367 2372 nextline proc level 0, imported ; DEF: 237 ; REF: 32 283 285 555 877 905 935 1007 2613 2614 2628 2632 2634 2640 2645 2648 nextpage proc level 0, imported ; DEF: 239 ; REF: 33 2612 2644 nextref field disp:0, size:10 ; pointer ; DEF: 1-427 ; REF: 676* 1985 1986 1987* 1991* 2005 2550 2551 2552* 2556* 2584 nilptr var global imported, size:10 ; pointer ; DEF: 144 ; REF: 75 319* 320 520 620 709 709 827 827 2288 nmax field disp:210, size:4 ; integer ; DEF: 1-535 ; REF: 346* 357* 748* 2051 nmin field disp:204, size:4 ; integer ; DEF: 1-535 ; REF: 346* 748* 2051 no var global imported, size:4 ; integer ; DEF: 145 ; REF: 76 945 951 959 962 966 980 983 988 991 998 1003 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: 874 933 npksize field disp:200, size:4 ; integer ; DEF: 1-535 ; REF: 345* 356* 747* nreg const scalar, ord=0 ; DEF: 1-774 ; REF: 1-777 number field disp:0, size:4 ; integer ; DEF: 1-642 ; REF: 2520 numeric const scalar, ord=1 ; DEF: 1-412 ; REF: 1-535 338 342 343 350 353 354 356 742 745 746 2050 2212 2222 2319 nxtel field disp:40, size:10 ; pointer ; DEF: 1-509 ; REF: 671* 764* 2134 2135 2159 2160 2246 2396 2397* objaccessibles type scalar ; DEF: 1-460 ; REF: 1-461 occur field disp:10, size:4 ; scalar ; DEF: 1-634 ; REF: 897* on field disp:0, size:4 ; boolean ; DEF: 1-486 ; REF: 769* output_string var local to displaysymbols, loc:356, size:310 ; array of (char) ; DEF: 1924 ; REF: 1944* 1953 1956* 1975* 1977* 1978* 1982* 1999* 2001* 2003* 2008 2026* 2039* 2049* 2051* 2054* 2056* 2059* 2062* 2064* 2069* 2070* 2072* 2075* 2077* 2107* 2108* 2114* 2115* 2118* 2125* 2126* 2131* 2133* 2140* 2147* 2152* 2157* 2158* 2165* 2173* 2175* 2180* 2183* 2186* 2194* 2195* 2197* 2200* 2203* 2213* 2214* 2215* 2217* 2223* 2225* 2227* 2230* 2232* 2240* 2241* 2244* 2245* 2250* 2254* 2258* 2266* 2273* 2281* 2283* 2287* 2289* outputflag var global imported, size:10 ; pointer ; DEF: 146 ; REF: 77 976* p1 var local to displaysymbols, loc:160, size:10 ; pointer ; DEF: 1916 ; REF: 2549* 2552 2553* 2556 p1 var local to printrefs, loc:140, size:10 ; pointer ; DEF: 1965 ; REF: 1984* 1987 1988* 1991 p2 var local to displaysymbols, loc:162, size:10 ; pointer ; DEF: 1916 ; REF: 2551* 2554 p2 var local to printrefs, loc:142, size:10 ; pointer ; DEF: 1965 ; REF: 1986* 1989 pack field disp:124, size:4 ; boolean ; DEF: 1-525 ; REF: 324* 334* 344* 355* 366* 389* 415* 430* 451* 465* 477* 490* 2116 2184 2201 pageocc var local to statistiques, loc:142, size:4 ; integer ; DEF: 2607 ; REF: 2615* 2620 2621* 2623 2625* 2625 2626 2628* 2631 pageserrors var global imported, size:140 ; array of (set of (numeric 0..287)) ; DEF: 147 ; REF: 78 2618 pagesinsegment const numeric ; DEF: 1-69 ; REF: 1-70 parameter_count field disp:140, size:4 ; integer ; DEF: 1-520 ; REF: 758* pascalfrench var global imported, size:4 ; boolean ; DEF: 148 ; REF: 79 882 1034 1047 1060 1071 1152 1157 1162 1167 1180 1213 1218 1223 1241 1390 1395 1486 pisrefincode field disp:204, size:4 ; boolean ; DEF: 1-575 ; REF: 2457 ploc field disp:214, size:4 ; scalar ; DEF: 1-577 ; REF: 507* 523* 539* 607* 623* 650* 695* 712* 726* 830* 846* pnumptr var global imported, size:10 ; pointer ; DEF: 149 ; REF: 80 361* 362 pointer const scalar, ord=3 ; DEF: 1-412 ; REF: 1-541 319 322 323 2058 2212 2226 2316 power const scalar, ord=4 ; DEF: 1-412 ; REF: 1-543 361 364 365 367 409 413 414 416 445 449 450 452 459 463 464 466 2060 2319 ppksize field disp:200, size:4 ; integer ; DEF: 1-543 ; REF: 367* 416* 452* 466* pr00 proc of prterrmeans ; DEF: 1024 ; REF: 1882 pr01 proc of prterrmeans ; DEF: 1142 ; REF: 1883 pr02 proc of prterrmeans ; DEF: 1252 ; REF: 1884 pr03 proc of prterrmeans ; DEF: 1352 ; REF: 1885 pr04 proc of prterrmeans ; DEF: 1438 ; REF: 1886 pr05 proc of prterrmeans ; DEF: 1514 ; REF: 1887 pr06 proc of prterrmeans ; DEF: 1576 ; REF: 1888 pr07 proc of prterrmeans ; DEF: 1628 ; REF: 1889 pr08 proc of prterrmeans ; DEF: 1712 ; REF: 1890 pr09 proc of prterrmeans ; DEF: 1811 ; REF: 1891 pr10 proc of prterrmeans ; DEF: 1822 ; REF: 1892 pr11 proc of prterrmeans ; DEF: 1856 ; REF: 1893 pr12 proc of prterrmeans ; DEF: 1867 ; REF: 1894 pr6 const scalar, ord=9 ; DEF: 1-774 ; REF: 1-777 predefproc field disp:174, size:4 ; boolean ; DEF: 1-575 ; REF: 507* 523* 539* 607* 623* 650* 695* 712* 726* 830* 846* preg type scalar subrange ; DEF: 1-777 ; REF: 1-856 1-880 previous var local to sortlevel, loc:146, size:10 ; pointer ; DEF: 2333 ; REF: 2353* 2366* 2373 2376 printoct proc of displaysymbols ; DEF: 1928 ; REF: 2150 2181 2196 2198 printrefs proc of displaysymbols ; DEF: 1962 ; REF: 2109 2120 2189 2206 2234 2293 printsymbol proc of displaysymbols ; DEF: 2086 ; REF: 2456 2457 2458 2472 2503 printtype proc of displaysymbols ; DEF: 2014 ; REF: 2063 2071 2079 2119 2187 2204 2291 proc const scalar, ord=3 ; DEF: 1-415 ; REF: 1-571 2236 2389 2457 procblock const scalar, ord=0 ; DEF: 1-938 ; REF: 1-945 2408 procinscope field disp:200, size:4 ; boolean ; DEF: 1-575 ; REF: 506* 522* 538* 606* 622* 649* 694* 711* 725* 829* 845* prockind field disp:140, size:4 ; scalar ; DEF: 1-572 ; REF: 2247 proclevel field disp:144, size:4 ; numeric 0..20 ; DEF: 1-573 ; REF: 504* 520* 536* 604* 620* 647* 692* 709* 723* 827* 843* proclocation type scalar ; DEF: 1-439 ; REF: 1-577 procnode field disp:30, size:10 ; pointer ; DEF: 1-646 ; REF: 2523 2524 proctype field disp:120, size:10 ; pointer ; DEF: 1-571 ; REF: 504* 520* 536* 604* 620* 647* 692* 709* 723* 827* 843* 2239 2243 2285 2286 2288 2291 2390 2391 2392 2392 profarea type array of (integer) ; DEF: 1-934 ; REF: 1-933 progname var global imported, size:40 ; packed array of (char) ; DEF: 150 ; REF: 81 956* programnode var global imported, size:10 ; pointer ; DEF: 151 ; REF: 82 2428 2523 prterrmeans proc level 0, exportable ; DEF: 1018 ; REF: 108 2639 ptexternalitem type pointer ; DEF: 1-444 ; REF: 1-448 1-578 1-607 133 136 146 247 249 930 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: 152 ; REF: 83 328* 329 331 536 580 723 realtype field disp:200, size:10 ; pointer ; DEF: 1-563 ; REF: 2079 2079 recidscope type record ; DEF: 1-632 ; REF: 132 records const scalar, ord=6 ; DEF: 1-412 ; REF: 1-554 2074 2311 reel const scalar, ord=0 ; DEF: 1-412 ; REF: 1-534 328 332 333 2048 2212 2319 refbox var local to displaysymbols, loc:164, size:10 ; pointer ; DEF: 1916 ; REF: 2548* 2550 2551 2552 2553 2554* 2556 2558 2584* 2584 2585 refbox var local to printrefs, loc:144, size:10 ; pointer ; DEF: 1965 ; REF: 1983* 1985 1986 1987 1988 1989* 1991 1993 2005* 2005 2006 references field disp:70, size:10 ; pointer ; DEF: 1-512 ; REF: 673* 673 674 1980 1983 2340 2458 2503 references field disp:60, size:10 ; pointer ; DEF: 1-649 ; REF: 2521 2545 2548 reflist type record ; DEF: 1-426 ; REF: 1-425 refnbr field disp:10, size:4 ; integer ; DEF: 1-428 ; REF: 676* 1980 1994 2458 2503 2521 2545 2559 refptr type pointer ; DEF: 1-425 ; REF: 1-427 1-512 1-649 1916 1965 refs field disp:14, size:620 ; array of (record) ; DEF: 1-429 ; REF: 1995 1998 1999 2000 2001 2003 2560 2568 2569 2570 2573 2575 2576 2579 2580 regbox type record ; DEF: 1-817 ; REF: 1-816 register type scalar ; DEF: 1-774 ; REF: 1-777 1-819 1-862 1-889 1-920 regpt type pointer ; DEF: 1-816 ; REF: 1-821 1-822 1-858 1-867 1-881 1-890 1-910 remanentfile const scalar, ord=8 ; DEF: 1-442 ; REF: 977 requiredfile const scalar, ord=9 ; DEF: 1-443 ; REF: 972 974 976 returnstop proc level 0, imported ; DEF: 242 ; REF: 35 286 runresolv type record ; DEF: 1-833 ; REF: 1-825 scalar const scalar, ord=2 ; DEF: 1-412 ; REF: 1-536 382 387 388 390 423 428 429 431 479 2052 2224 2319 schema const scalar, ord=0 ; DEF: 1-415 ; REF: 1-516 2104 2393 schema_ptr field disp:10, size:10 ; pointer ; DEF: 1-487 ; REF: 770* schema_status type record ; DEF: 1-485 ; REF: 163 schema_token type record ; DEF: 1-492 ; REF: 1-484 schema_token_kind type scalar ; DEF: 1-491 ; REF: 1-494 258 sctp var local to sortlevel, loc:142, size:10 ; pointer ; DEF: 2331 ; REF: 2396* 2398 searchintype proc of displaysymbols ; DEF: 2306 ; REF: 2315 2318 2382 2385 2388 2392 segsize field disp:154, size:4 ; integer ; DEF: 1-574 ; REF: 505* 521* 537* 605* 621* 648* 693* 710* 724* 828* 844* setarray type array of (integer) ; DEF: 1-815 ; REF: 1-839 1-844 1-904 setlength field disp:220, size:4 ; integer ; DEF: 1-545 ; REF: 368* 417* 453* 467* setrange const numeric ; DEF: 1-92 ; REF: 1-93 1-94 2625 2639 shrtint type numeric -131072..131071 ; DEF: 1-619 ; REF: 1-671 size field disp:114, size:4 ; integer ; DEF: 1-524 ; REF: 322* 332* 342* 345 353* 364* 387* 413* 428* 449* 463* 475* 488* 745* 747 2181 skip proc level 0, imported ; DEF: 240 ; REF: 36 947 953 964 985 994 1000 son field disp:20, size:10 ; pointer ; DEF: 1-941 ; REF: 2411 2413 sortalfa proc of displaysymbols ; DEF: 2405 ; REF: 2414 2421 2431 sortlevel proc of displaysymbols ; DEF: 2325 ; REF: 2304 2312 2410 2484 spksize field disp:200, size:4 ; integer ; DEF: 1-536 ; REF: 390* 431* split proc of displaysymbols ; DEF: 1950 ; REF: 1970 1981 1997 2020 sptcstepw field disp:220, size:10 ; pointer ; DEF: 1-538 ; REF: 420* 456* stdcompilernames var global, loc:14, size:100 ; array of (array of (char)) ; DEF: 179 ; REF: 193* 642 stdextendnames var global, loc:34, size:1340 ; array of (array of (char)) ; DEF: 180 ; REF: 194* 671 687 704 718 732 753 822 838 stdnames var global, loc:324, size:2300 ; array of (array of (char)) ; DEF: 181 ; REF: 328 338 373 382 397 423 483 499 515 531 884* 887* stdnamesa var global, loc:1004, size:2300 ; array of (array of (char)) ; DEF: 182 ; REF: 200* 887 stdnamesf var global, loc:1464, size:2300 ; array of (array of (char)) ; DEF: 183 ; REF: 208* 884 stdsolnames var global, loc:2144, size:1700 ; array of (array of (char)) ; DEF: 184 ; REF: 575 586 599 615 884* 887* stdsolnamesa var global, loc:2524, size:1700 ; array of (array of (char)) ; DEF: 185 ; REF: 215* 887 stdsolnamesf var global, loc:3104, size:1700 ; array of (array of (char)) ; DEF: 186 ; REF: 222* 884 string_ptr var global imported, size:10 ; pointer ; DEF: 153 ; REF: 84 753* 754 755 770 sttmap type array of (record) ; DEF: 1-925 ; REF: 1-924 subrng field disp:204, size:4 ; boolean ; DEF: 1-537 ; REF: 2055 subsize field disp:240, size:4 ; integer ; DEF: 1-549 ; REF: 479* succ field disp:120, size:10 ; pointer ; DEF: 1-565 ; REF: 402* 678* sval const scalar, ord=4 ; DEF: 1-812 ; REF: 1-900 symbol_token const scalar, ord=0 ; DEF: 1-491 ; REF: 1-495 772 779 783 787 791 793 795 800 804 808 810 814 symbolfile var global imported, size:4 ; integer ; DEF: 154 ; REF: 85 942 symbolindex var global imported, size:4 ; integer ; DEF: 155 ; REF: 86 943 997 symbolline var global imported, size:4 ; integer ; DEF: 156 ; REF: 87 941 t_int_value field disp:14, size:4 ; integer ; DEF: 1-497 ; REF: 803* tab var local to printoct, loc:142, size:34 ; array of (integer) ; DEF: 1931 ; REF: 1937* 1941 1944 tag type scalar ; DEF: 1-766 ; REF: 1-778 tagfield const scalar, ord=6 ; DEF: 1-415 ; REF: 1-610 2295 2393 taval field disp:14, size:40 ; packed array of (char) ; DEF: 1-496 ; REF: 778* 786* 790* 807* 813* tcl field disp:20, size:4 ; integer ; DEF: 1-495 ; REF: 775* 798* textfilectp var global imported, size:10 ; pointer ; DEF: 157 ; REF: 88 483* 484 486 tittle var local to displaysymbols, loc:141, size:4 ; boolean ; DEF: 1914 ; REF: 2095 2099* 2448* 2461 2464* 2476 2479* 2506 tittlestring var local to displaysymbols, loc:142, size:62 ; array of (char) ; DEF: 1915 ; REF: 2097 2449* 2462 2465* 2477 2480* 2507 tn const scalar, ord=0 ; DEF: 1-766 ; REF: 1-778 tno field disp:14, size:4 ; integer ; DEF: 1-495 ; REF: 775* 781* 784* 788* 792* 794* 798* 801* 805* 809* 811* 815* twoto10 const numeric ; DEF: 1-50 ; REF: 1-51 1-68 twoto14 const numeric ; DEF: 1-52 ; REF: 1-53 twoto15 const numeric ; DEF: 1-53 ; REF: 1-54 1-72 twoto16 const numeric ; DEF: 1-54 ; REF: 1-55 twoto17 const numeric ; DEF: 1-55 ; REF: 1-56 1-57 1-90 1-619 twoto17m1 const numeric ; DEF: 1-56 ; REF: 1-619 twoto18 const numeric ; DEF: 1-57 ; REF: 1-58 1-59 1-71 twoto4 const numeric ; DEF: 1-45 ; REF: 1-46 twoto6 const numeric ; DEF: 1-46 ; REF: 1-47 1-52 twoto8 const numeric ; DEF: 1-47 ; REF: 1-48 1-49 1-52 1-69 1-89 1-620 twoto8m1 const numeric ; DEF: 1-48 ; REF: 1-620 twoto9 const numeric ; DEF: 1-49 ; REF: 1-50 1-59 1-91 tx7 const scalar, ord=15 ; DEF: 1-767 ; REF: 1-778 types const scalar, ord=1 ; DEF: 1-415 ; REF: 1-523 2111 2381 typform type scalar ; DEF: 1-412 ; REF: 1-533 257 259 263 typofconst field disp:140, size:4 ; scalar ; DEF: 1-566 ; REF: 670* 2211 2218 typusednames type array of (array of (char)) ; DEF: 1-436 ; REF: 160 undecptr var global imported, size:10 ; pointer ; DEF: 159 ; REF: 90 544* 545 554 usednames var global imported, size:300 ; array of (array of (char)) ; DEF: 160 ; REF: 91 971 973 975 usednamesarray type packed array of (pointer) ; DEF: 1-973 ; REF: 1-974 1-974 uversion var global, loc:3464, size:4 ; integer ; DEF: 187 ; REF: 299* 304 304 vaddr field disp:140, size:4 ; integer ; DEF: 1-599 ; REF: 2148 2149 valreel field disp:150, size:10 ; real ; DEF: 1-568 ; REF: 581* 581* values field disp:144, size:4 ; integer ; DEF: 1-567 ; REF: 378* 402* 439* 440* 591* 678* 736* 745 748 2225 vararea type scalar ; DEF: 1-939 ; REF: 1-953 varbl const scalar, ord=0 ; DEF: 1-812 ; REF: 1-854 varparam field disp:200, size:4 ; boolean ; DEF: 1-603 ; REF: 2156 vars const scalar, ord=4 ; DEF: 1-415 ; REF: 1-596 2122 2383 2456 version var global imported, size:4 ; integer ; DEF: 161 ; REF: 92 304 304* visrefincode field disp:204, size:4 ; boolean ; DEF: 1-603 ; REF: 2456 visset field disp:170, size:4 ; boolean ; DEF: 1-603 ; REF: 547* visused field disp:164, size:4 ; boolean ; DEF: 1-603 ; REF: 547* vkind field disp:130, size:4 ; scalar ; DEF: 1-597 ; REF: 763* 2127 2456 vlevel field disp:154, size:4 ; numeric 0..20 ; DEF: 1-601 ; REF: 2130 vtype field disp:120, size:10 ; pointer ; DEF: 1-596 ; REF: 762* 2177 2178 2181 2184 2185 2187 2384 2385 2385 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 wkextpt var local to progdecl, loc:140, size:10 ; pointer ; DEF: 930 ; REF: 968* 969 977* wordconst const scalar, ord=0 ; DEF: 1-416 ; REF: 1-567 373 397 435 586 670 732 2211 2219 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 736 NAMES DECLARED AND NEVER REFERENCED a0b0c0 const scalar, ord=0 ; DEF: 1-795 a0b0c1 const scalar, ord=1 ; DEF: 1-795 a0b1c0 const scalar, ord=4 ; DEF: 1-795 a0b1c1 const scalar, ord=5 ; DEF: 1-795 a0r0i0 const scalar, ord=0 ; DEF: 1-799 a0r0i1 const scalar, ord=1 ; DEF: 1-799 a0r1i0 const scalar, ord=2 ; DEF: 1-799 a0r1i1 const scalar, ord=3 ; DEF: 1-799 a1b0c0 const scalar, ord=2 ; DEF: 1-795 a1b0c1 const scalar, ord=3 ; DEF: 1-795 a1b1c0 const scalar, ord=6 ; DEF: 1-795 a1b1c1 const scalar, ord=7 ; DEF: 1-795 a1r0i0 const scalar, ord=4 ; DEF: 1-799 a1r0i1 const scalar, ord=5 ; DEF: 1-799 a1r1i0 const scalar, ord=6 ; DEF: 1-799 a1r1i1 const scalar, ord=7 ; DEF: 1-799 absl * const numeric ; DEF: 1-334 accbloc field disp:20, size:10 ; pointer ; DEF: 1-910 accbool field disp:30, size:4 ; boolean ; DEF: 1-911 access field disp:70, size:4 ; scalar ; DEF: 1-871 activated field disp:54, size:4 ; boolean ; DEF: 1-967 active field disp:50, size:4 ; boolean ; DEF: 1-967 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 alfa * type packed array of (char) ; DEF: 1-398 alfactp field disp:20, size:10 ; pointer ; DEF: 1-897 alfadeb field disp:150, size:10 ; pointer ; DEF: 1-569 alfalevel field disp:164, size:4 ; integer ; DEF: 1-570 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 askforexclusionplace * const numeric ; DEF: 1-363 asserrcode * const numeric ; DEF: 1-250 attr * type record ; DEF: 1-849 bad_date_time_parameter * const numeric ; DEF: 1-269 bad_string_index * const numeric ; DEF: 1-268 basebloc field disp:30, size:10 ; pointer ; DEF: 1-858 baseprocessdplmt * const numeric ; DEF: 1-345 basereg field disp:20, size:4 ; scalar subrange ; DEF: 1-856 begsy const scalar, ord=1 ; DEF: 1-669 binartypeptr * type pointer ; DEF: 1-811 bit29 * const numeric ; DEF: 1-142 bitsforset * const numeric ; DEF: 1-111 bitsindword * const numeric ; DEF: 1-80 bitsinhword * const numeric ; DEF: 1-79 blocenglob field disp:270, size:10 ; pointer ; DEF: 1-561 bp * var local to printsymbol, loc:144, size:10 ; pointer ; DEF: 2091 brother field disp:20, size:10 ; pointer ; DEF: 1-645 byteinbyte * const numeric ; DEF: 1-81 bytesforset * const numeric ; DEF: 1-110 byteshift * const numeric ; DEF: 1-82 bytint * type numeric -256..255 ; DEF: 1-620 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 creflist field disp:20, size:320 ; record ; DEF: 1-636 cstnext field disp:10, size:10 ; pointer ; DEF: 1-831 cstplace field disp:4, size:4 ; integer ; DEF: 1-830 current_parameter field disp:30, size:10 ; pointer ; DEF: 1-489 data const scalar, ord=0 ; DEF: 1-623 dateopplace * const numeric ; DEF: 1-196 deccode const scalar, ord=4 ; DEF: 1-623 definition const scalar, ord=3 ; DEF: 1-623 deflbool * const numeric ; DEF: 1-390 deflchar * const numeric ; DEF: 1-391 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 descbloc field disp:130, size:10 ; pointer ; DEF: 1-881 descreg field disp:120, size:4 ; scalar subrange ; DEF: 1-880 destination * type scalar ; DEF: 1-814 direct const scalar, ord=0 ; DEF: 1-813 displaysymbols * proc level 0, exportable ; DEF: 1903 ; REF: 103 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 dplmt field disp:40, size:4 ; integer ; DEF: 1-861 elem field disp:20, size:10 ; pointer ; DEF: 1-475 emptyindex * const numeric ; DEF: 1-385 emptyplace * const numeric ; DEF: 1-367 encode const scalar, ord=3 ; DEF: 1-813 endsy const scalar, ord=2 ; DEF: 1-669 eofb * const numeric ; DEF: 1-315 eofeolnerrcode * const numeric ; DEF: 1-257 eofw * const numeric ; DEF: 1-314 eolnb * const numeric ; DEF: 1-317 eolnw * const numeric ; DEF: 1-316 epp const scalar, ord=0 ; DEF: 1-917 errorcond * const numeric ; DEF: 1-106 evareaw * const numeric ; DEF: 1-288 exceptcodeplace * const numeric ; DEF: 1-189 executionmodplmt * const numeric ; DEF: 1-346 exitdplmt field disp:10, size:4 ; integer ; DEF: 1-481 exitplace * const numeric ; DEF: 1-379 exportproc const scalar, ord=4 ; DEF: 1-442 exportvar const scalar, ord=2 ; DEF: 1-441 extareadisp field disp:254, size:4 ; integer ; DEF: 1-454 extcallplace * const numeric ; DEF: 1-194 extdecl field disp:230, size:10 ; pointer ; DEF: 1-450 extdef const scalar, ord=2 ; DEF: 1-417 extend_stack_op_place * const numeric ; DEF: 1-226 extentryname field disp:140, size:40 ; packed array of (char) ; DEF: 1-447 extentryplace * const numeric ; DEF: 1-155 externalarea const scalar, ord=1 ; DEF: 1-441 externid * type packed array of (char) ; DEF: 1-400 extgenerator field disp:100, size:40 ; packed array of (char) ; DEF: 1-447 extitemtype field disp:240, size:4 ; scalar ; DEF: 1-451 extkind field disp:244, size:4 ; scalar ; DEF: 1-452 extlong field disp:260, size:4 ; integer ; DEF: 1-455 extname field disp:0, size:40 ; packed array of (char) ; DEF: 1-446 extnext field disp:200, size:10 ; pointer ; DEF: 1-448 extnotresolved const scalar, ord=0 ; DEF: 1-441 extpltdisp field disp:250, size:4 ; integer ; DEF: 1-453 extreturnplace * const numeric ; DEF: 1-191 extrfile1 field disp:210, size:4 ; integer ; DEF: 1-449 extrfile2 field disp:220, size:4 ; integer ; DEF: 1-449 extrline1 field disp:214, size:4 ; integer ; DEF: 1-449 extrline2 field disp:224, size:4 ; integer ; DEF: 1-449 extsegname field disp:40, size:40 ; packed array of (char) ; DEF: 1-447 extwantdescs field disp:264, size:4 ; boolean ; DEF: 1-456 fappendplace * const numeric ; DEF: 1-201 fastbit * const numeric ; DEF: 1-235 fcloseplace * const numeric ; DEF: 1-187 fctdepl * const numeric ; DEF: 1-287 fctdeplw * const numeric ; DEF: 1-286 fdescsize * const numeric ; DEF: 1-304 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_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 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 forerricode * const numeric ; DEF: 1-248 forerrscode * const numeric ; DEF: 1-249 forset * type scalar ; DEF: 1-807 forwdef const scalar, ord=1 ; DEF: 1-417 fposb * const numeric ; DEF: 1-311 fposw * const numeric ; DEF: 1-307 freeexclusionplace * const numeric ; DEF: 1-364 french_bit * const numeric ; DEF: 1-240 freopenplace * const numeric ; DEF: 1-202 fsbadrw * const numeric ; DEF: 1-289 fsizeb * const numeric ; DEF: 1-312 fsizew * const numeric ; DEF: 1-308 fstatusb * const numeric ; DEF: 1-310 fstatusw * const numeric ; DEF: 1-306 functionvaluecheckplace * const numeric ; DEF: 1-225 functionvaluesetplace * const numeric ; DEF: 1-224 fupdtplace * const numeric ; DEF: 1-186 fxls const scalar, ord=1 ; DEF: 1-786 fxns const scalar, ord=3 ; DEF: 1-786 fxts const scalar, ord=2 ; DEF: 1-786 getdirplace * const numeric ; DEF: 1-185 getseqplace * const numeric ; DEF: 1-175 gettextplace * const numeric ; DEF: 1-174 gotoexitextplace * const numeric ; DEF: 1-159 gotoexitplace * const numeric ; DEF: 1-176 hdrfil field disp:120, size:4 ; integer ; DEF: 1-950 hdrind field disp:124, size:4 ; integer ; DEF: 1-950 hdrlen field disp:130, size:4 ; integer ; DEF: 1-950 hdrlin field disp:134, size:4 ; integer ; DEF: 1-950 hi field disp:230, size:4 ; integer ; DEF: 1-549 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 importproc const scalar, ord=5 ; DEF: 1-442 importvar const scalar, ord=3 ; DEF: 1-441 impy const scalar, ord=155 ; DEF: 1-698 imrl const scalar, ord=517 ; DEF: 1-754 imve const scalar, ord=534 ; DEF: 1-756 imvn const scalar, ord=526 ; DEF: 1-755 imvne const scalar, ord=535 ; DEF: 1-757 imvt const scalar, ord=518 ; DEF: 1-754 inacc const scalar, ord=0 ; DEF: 1-814 inaq const scalar, ord=2 ; DEF: 1-814 inar0 const scalar, ord=467 ; DEF: 1-747 inar1 const scalar, ord=468 ; DEF: 1-747 inar2 const scalar, ord=469 ; DEF: 1-747 inar3 const scalar, ord=470 ; DEF: 1-747 inar4 const scalar, ord=471 ; DEF: 1-747 inar5 const scalar, ord=472 ; DEF: 1-747 inar6 const scalar, ord=473 ; DEF: 1-748 inar7 const scalar, ord=474 ; DEF: 1-748 ineg const scalar, ord=158 ; DEF: 1-698 inegl const scalar, ord=159 ; DEF: 1-698 inhibit * const numeric ; DEF: 1-143 initclasse * proc level 0, exportable ; DEF: 859 ; REF: 105 initcondplace * const numeric ; DEF: 1-362 initdef const scalar, ord=3 ; DEF: 1-417 initfsballocplace * const numeric ; DEF: 1-195 initialise * proc level 0, exportable ; DEF: 295 ; REF: 106 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 instdcomputer const scalar, ord=5 ; DEF: 1-440 instdsimone const scalar, ord=6 ; DEF: 1-440 int15 * const numeric ; DEF: 1-332 int18 * const numeric ; DEF: 1-330 intcallplace * const numeric ; DEF: 1-193 intentryplace * const numeric ; DEF: 1-160 interactivebit * const numeric ; DEF: 1-237 inthelist field disp:0, size:4 ; boolean ; DEF: 1-467 intreturnplace * const numeric ; DEF: 1-190 inxbloc field disp:50, size:10 ; pointer ; DEF: 1-867 inxerrcode * const numeric ; DEF: 1-244 inxmem field disp:60, size:4 ; integer ; DEF: 1-868 inxmemrw field disp:64, size:4 ; boolean ; DEF: 1-870 inxreg field disp:44, size:4 ; scalar ; DEF: 1-862 iora const scalar, ord=231 ; DEF: 1-710 ioraq const scalar, ord=232 ; DEF: 1-710 iorq const scalar, ord=233 ; DEF: 1-710 iorsa const scalar, ord=234 ; DEF: 1-711 iorsq const scalar, ord=235 ; DEF: 1-711 iorsx0 const scalar, ord=236 ; DEF: 1-711 iorsx1 const scalar, ord=237 ; DEF: 1-711 iorsx2 const scalar, ord=238 ; DEF: 1-711 iorsx3 const scalar, ord=239 ; DEF: 1-711 iorsx4 const scalar, ord=240 ; DEF: 1-711 iorsx5 const scalar, ord=241 ; DEF: 1-711 iorsx6 const scalar, ord=242 ; DEF: 1-712 iorsx7 const scalar, ord=243 ; DEF: 1-712 iorx0 const scalar, ord=244 ; DEF: 1-712 iorx1 const scalar, ord=245 ; DEF: 1-712 iorx2 const scalar, ord=246 ; DEF: 1-712 iorx3 const scalar, ord=247 ; DEF: 1-712 iorx4 const scalar, ord=248 ; DEF: 1-712 iorx5 const scalar, ord=249 ; DEF: 1-712 iorx6 const scalar, ord=250 ; DEF: 1-713 iorx7 const scalar, ord=251 ; DEF: 1-713 iotextbuffersize * const numeric ; DEF: 1-303 iowarningsbit * const numeric ; DEF: 1-238 ipuls1 const scalar, ord=415 ; DEF: 1-738 ipuls2 const scalar, ord=416 ; DEF: 1-738 iqlr const scalar, ord=80 ; DEF: 1-689 iqls const scalar, ord=81 ; DEF: 1-689 iqrl const scalar, ord=82 ; DEF: 1-689 iqrs const scalar, ord=83 ; DEF: 1-689 irccl const scalar, ord=406 ; DEF: 1-737 ircu const scalar, ord=430 ; DEF: 1-741 irept * type scalar subrange ; DEF: 1-783 iret const scalar, ord=371 ; DEF: 1-731 irmcm const scalar, ord=440 ; DEF: 1-742 irpl const scalar, ord=541 ; DEF: 1-759 irrelsy const scalar, ord=0 ; DEF: 1-669 irscr const scalar, ord=441 ; DEF: 1-742 irsw const scalar, ord=442 ; DEF: 1-742 irtcd const scalar, ord=372 ; DEF: 1-731 is4bd const scalar, ord=506 ; DEF: 1-752 is6bd const scalar, ord=507 ; DEF: 1-752 is9bd const scalar, ord=508 ; DEF: 1-752 isar0 const scalar, ord=491 ; DEF: 1-750 isar1 const scalar, ord=492 ; DEF: 1-750 isar2 const scalar, ord=493 ; DEF: 1-750 isar3 const scalar, ord=494 ; DEF: 1-750 isar4 const scalar, ord=495 ; DEF: 1-750 isar5 const scalar, ord=496 ; DEF: 1-750 isar6 const scalar, ord=497 ; DEF: 1-751 isar7 const scalar, ord=498 ; DEF: 1-751 isareg const scalar, ord=499 ; DEF: 1-751 isb2d const scalar, ord=531 ; DEF: 1-756 isb3d const scalar, ord=537 ; DEF: 1-757 isba const scalar, ord=120 ; DEF: 1-694 isbaq const scalar, ord=121 ; DEF: 1-694 isbar const scalar, ord=418 ; DEF: 1-738 isbd const scalar, ord=509 ; DEF: 1-752 isbla const scalar, ord=122 ; DEF: 1-694 isblaq const scalar, ord=123 ; DEF: 1-694 isblq const scalar, ord=124 ; DEF: 1-694 isblx0 const scalar, ord=125 ; DEF: 1-694 isblx1 const scalar, ord=126 ; DEF: 1-694 isblx2 const scalar, ord=127 ; DEF: 1-694 isblx3 const scalar, ord=128 ; DEF: 1-695 isblx4 const scalar, ord=129 ; DEF: 1-695 isblx5 const scalar, ord=130 ; DEF: 1-695 isblx6 const scalar, ord=131 ; DEF: 1-695 isblx7 const scalar, ord=132 ; DEF: 1-695 isbq const scalar, ord=133 ; DEF: 1-695 isbx0 const scalar, ord=134 ; DEF: 1-695 isbx1 const scalar, ord=135 ; DEF: 1-695 isbx2 const scalar, ord=136 ; DEF: 1-696 isbx3 const scalar, ord=137 ; DEF: 1-696 isbx4 const scalar, ord=138 ; DEF: 1-696 isbx5 const scalar, ord=139 ; DEF: 1-696 isbx6 const scalar, ord=140 ; DEF: 1-696 isbx7 const scalar, ord=141 ; DEF: 1-696 iscd const scalar, ord=523 ; DEF: 1-755 iscdr const scalar, ord=524 ; DEF: 1-755 iscm const scalar, ord=514 ; DEF: 1-754 iscmr const scalar, ord=515 ; DEF: 1-754 iscpr const scalar, ord=431 ; DEF: 1-741 iscu const scalar, ord=432 ; DEF: 1-741 isdbr const scalar, ord=433 ; DEF: 1-741 ismcm const scalar, ord=444 ; DEF: 1-742 ismic const scalar, ord=445 ; DEF: 1-743 ispbp0 const scalar, ord=336 ; DEF: 1-725 ispbp1 const scalar, ord=337 ; DEF: 1-725 ispbp2 const scalar, ord=338 ; DEF: 1-725 ispbp3 const scalar, ord=339 ; DEF: 1-725 ispbp4 const scalar, ord=340 ; DEF: 1-725 ispbp5 const scalar, ord=341 ; DEF: 1-725 ispbp6 const scalar, ord=342 ; DEF: 1-725 ispbp7 const scalar, ord=343 ; DEF: 1-726 ispl const scalar, ord=500 ; DEF: 1-751 ispri const scalar, ord=344 ; DEF: 1-726 ispri0 const scalar, ord=345 ; DEF: 1-726 ispri1 const scalar, ord=346 ; DEF: 1-726 ispri2 const scalar, ord=347 ; DEF: 1-726 ispri3 const scalar, ord=348 ; DEF: 1-726 ispri4 const scalar, ord=349 ; DEF: 1-726 ispri5 const scalar, ord=350 ; DEF: 1-726 ispri6 const scalar, ord=351 ; DEF: 1-727 ispri7 const scalar, ord=352 ; DEF: 1-727 isprp0 const scalar, ord=353 ; DEF: 1-727 isprp1 const scalar, ord=354 ; DEF: 1-727 isprp2 const scalar, ord=355 ; DEF: 1-727 isprp3 const scalar, ord=356 ; DEF: 1-727 isprp4 const scalar, ord=357 ; DEF: 1-727 isprp5 const scalar, ord=358 ; DEF: 1-727 isprp6 const scalar, ord=359 ; DEF: 1-728 isprp7 const scalar, ord=360 ; DEF: 1-728 isptp const scalar, ord=434 ; DEF: 1-741 isptr const scalar, ord=435 ; DEF: 1-741 isra const scalar, ord=417 ; DEF: 1-738 isreg const scalar, ord=44 ; DEF: 1-684 issa const scalar, ord=142 ; DEF: 1-696 isscr const scalar, ord=446 ; DEF: 1-743 issdp const scalar, ord=436 ; DEF: 1-741 issdr const scalar, ord=437 ; DEF: 1-742 issq const scalar, ord=143 ; DEF: 1-696 issx0 const scalar, ord=144 ; DEF: 1-697 issx1 const scalar, ord=145 ; DEF: 1-697 issx2 const scalar, ord=146 ; DEF: 1-697 issx3 const scalar, ord=147 ; DEF: 1-697 issx4 const scalar, ord=148 ; DEF: 1-697 issx5 const scalar, ord=149 ; DEF: 1-697 issx6 const scalar, ord=150 ; DEF: 1-697 issx7 const scalar, ord=151 ; DEF: 1-697 ista const scalar, ord=45 ; DEF: 1-684 istac const scalar, ord=46 ; DEF: 1-684 istacq const scalar, ord=47 ; DEF: 1-684 istand * type scalar subrange ; DEF: 1-781 istaq const scalar, ord=48 ; DEF: 1-685 istbq const scalar, ord=544 ; DEF: 1-761 istc1 const scalar, ord=49 ; DEF: 1-685 istc2 const scalar, ord=50 ; DEF: 1-685 istca const scalar, ord=545 ; DEF: 1-761 istcd const scalar, ord=51 ; DEF: 1-685 iste const scalar, ord=209 ; DEF: 1-706 isti const scalar, ord=52 ; DEF: 1-685 istobc * type scalar subrange ; DEF: 1-784 istq const scalar, ord=53 ; DEF: 1-685 istt const scalar, ord=54 ; DEF: 1-685 istx0 const scalar, ord=55 ; DEF: 1-685 istx1 const scalar, ord=56 ; DEF: 1-686 istx2 const scalar, ord=57 ; DEF: 1-686 istx3 const scalar, ord=58 ; DEF: 1-686 istx4 const scalar, ord=59 ; DEF: 1-686 istx5 const scalar, ord=60 ; DEF: 1-686 istx6 const scalar, ord=61 ; DEF: 1-686 istx7 const scalar, ord=62 ; DEF: 1-686 istz const scalar, ord=63 ; DEF: 1-686 iswca const scalar, ord=152 ; DEF: 1-698 iswcq const scalar, ord=153 ; DEF: 1-698 isxl0 const scalar, ord=64 ; DEF: 1-687 isxl1 const scalar, ord=65 ; DEF: 1-687 isxl2 const scalar, ord=66 ; DEF: 1-687 isxl3 const scalar, ord=67 ; DEF: 1-687 isxl4 const scalar, ord=68 ; DEF: 1-687 isxl5 const scalar, ord=69 ; DEF: 1-687 isxl6 const scalar, ord=70 ; DEF: 1-687 isxl7 const scalar, ord=71 ; DEF: 1-687 iszn const scalar, ord=174 ; DEF: 1-700 isznc const scalar, ord=175 ; DEF: 1-700 isztl const scalar, ord=521 ; DEF: 1-755 isztr const scalar, ord=522 ; DEF: 1-755 itct const scalar, ord=511 ; DEF: 1-754 itctr const scalar, ord=512 ; DEF: 1-754 iteo const scalar, ord=373 ; DEF: 1-731 iteu const scalar, ord=374 ; DEF: 1-731 itmi const scalar, ord=375 ; DEF: 1-731 itmoz const scalar, ord=376 ; DEF: 1-731 itnc const scalar, ord=377 ; DEF: 1-731 itnz const scalar, ord=378 ; DEF: 1-732 itov const scalar, ord=379 ; DEF: 1-732 itpl const scalar, ord=380 ; DEF: 1-732 itpnz const scalar, ord=381 ; DEF: 1-732 itra const scalar, ord=382 ; DEF: 1-732 itrc const scalar, ord=383 ; DEF: 1-732 itrtf const scalar, ord=384 ; DEF: 1-732 itrtn const scalar, ord=385 ; DEF: 1-732 itsdplmt field disp:74, size:4 ; integer ; DEF: 1-877 itsp0 const scalar, ord=386 ; DEF: 1-733 itsp1 const scalar, ord=387 ; DEF: 1-733 itsp2 const scalar, ord=388 ; DEF: 1-733 itsp3 const scalar, ord=389 ; DEF: 1-733 itsp4 const scalar, ord=390 ; DEF: 1-733 itsp5 const scalar, ord=391 ; DEF: 1-733 itsp6 const scalar, ord=392 ; DEF: 1-733 itsp7 const scalar, ord=393 ; DEF: 1-733 itss const scalar, ord=394 ; DEF: 1-734 itsx0 const scalar, ord=395 ; DEF: 1-734 itsx1 const scalar, ord=396 ; DEF: 1-734 itsx2 const scalar, ord=397 ; DEF: 1-734 itsx3 const scalar, ord=398 ; DEF: 1-734 itsx4 const scalar, ord=399 ; DEF: 1-734 itsx5 const scalar, ord=400 ; DEF: 1-734 itsx6 const scalar, ord=401 ; DEF: 1-734 itsx7 const scalar, ord=402 ; DEF: 1-735 ittf const scalar, ord=403 ; DEF: 1-735 ittn const scalar, ord=404 ; DEF: 1-735 itze const scalar, ord=405 ; DEF: 1-735 iufa const scalar, ord=185 ; DEF: 1-703 iufm const scalar, ord=193 ; DEF: 1-704 iufs const scalar, ord=189 ; DEF: 1-703 ixec const scalar, ord=408 ; DEF: 1-737 ixed const scalar, ord=409 ; DEF: 1-737 kind field disp:10, size:4 ; scalar ; DEF: 1-494 kind field disp:10, size:4 ; scalar ; DEF: 1-852 l4 const scalar, ord=0 ; DEF: 1-785 l6 const scalar, ord=1 ; DEF: 1-785 l9 const scalar, ord=2 ; DEF: 1-785 labbox field disp:30, size:10 ; pointer ; DEF: 1-661 labch1 field disp:14, size:4 ; integer ; DEF: 1-660 labdef field disp:20, size:4 ; integer ; DEF: 1-660 labdescr * type record ; DEF: 1-659 labexit field disp:10, size:4 ; integer ; DEF: 1-660 lablev field disp:4, size:4 ; integer ; DEF: 1-660 labval field disp:0, size:4 ; integer ; DEF: 1-660 lcprocess * const numeric ; DEF: 1-382 ldreg field disp:14, size:4 ; scalar ; DEF: 1-889 ldregbloc field disp:20, size:10 ; pointer ; DEF: 1-890 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 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 lo field disp:224, size:4 ; integer ; DEF: 1-549 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 longblank const alphanumeric, 32 char(s) ; DEF: 1-139 longboxlist * const numeric ; DEF: 1-37 longfill field disp:30, size:4 ; integer ; DEF: 1-423 longplacew * const numeric ; DEF: 1-291 longprofileplace * const numeric ; DEF: 1-199 longstplacew * const numeric ; DEF: 1-293 longv field disp:70, size:4 ; integer ; DEF: 1-905 lotptrdep * const numeric ; DEF: 1-231 lpclength * const numeric ; DEF: 1-322 lphl * const numeric ; DEF: 1-324 lplace field disp:40, size:4 ; integer ; DEF: 1-840 lprp const scalar, ord=2 ; DEF: 1-917 lvalu field disp:0, size:40 ; array of (integer) ; DEF: 1-839 lxl const scalar, ord=3 ; DEF: 1-918 m * var local to printtype, loc:142, size:4 ; integer ; DEF: 2017 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 maxdig * const numeric ; DEF: 1-115 maxdigitsinteger * const numeric ; DEF: 1-121 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 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 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 n * var local to printrefs, loc:147, size:4 ; integer ; DEF: 1966 name field disp:20, size:40 ; packed array of (char) ; DEF: 1-404 nameaddr field disp:110, size:10 ; pointer ; DEF: 1-879 nbparmo field disp:214, size:4 ; integer ; DEF: 1-559 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-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 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 ntwotobyte * const numeric ; DEF: 1-89 ntwotohword * const numeric ; DEF: 1-90 numberstring * type packed array of (char) ; DEF: 1-397 nxreg const scalar, ord=10 ; DEF: 1-775 o41 * const numeric ; DEF: 1-144 o43 * const numeric ; DEF: 1-145 objaccedes field disp:140, size:10 ; set of (scalar) ; DEF: 1-527 occurence * type record ; DEF: 1-670 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 parerrcode * const numeric ; DEF: 1-252 parmproccheckplace * const numeric ; DEF: 1-223 pascdebstacklocal * const numeric ; DEF: 1-130 pascoperatorsdep * const numeric ; DEF: 1-232 pckd field disp:100, size:4 ; boolean ; DEF: 1-878 pckerrcode * const numeric ; DEF: 1-254 pclength * const numeric ; DEF: 1-321 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 place field disp:14, size:4 ; integer ; DEF: 1-430 place field disp:4, size:4 ; numeric -131072..131071 ; DEF: 1-671 pointable const scalar, ord=2 ; DEF: 1-813 pointee const scalar, ord=1 ; DEF: 1-813 pr0 const scalar, ord=6 ; DEF: 1-774 pr1 const scalar, ord=1 ; DEF: 1-774 pr2 const scalar, ord=2 ; DEF: 1-774 pr3 const scalar, ord=5 ; DEF: 1-774 pr4depw * const numeric ; DEF: 1-282 pr5 const scalar, ord=3 ; DEF: 1-774 pr7 const scalar, ord=4 ; DEF: 1-774 prderrcode * const numeric ; DEF: 1-246 predbloc field disp:20, size:10 ; pointer ; DEF: 1-822 previous field disp:0, size:10 ; pointer ; DEF: 1-403 previous field disp:0, size:10 ; pointer ; DEF: 1-656 previous field disp:0, size:10 ; pointer ; DEF: 1-665 previousnode field disp:0, size:10 ; pointer ; DEF: 1-474 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 procisactive field disp:354, size:4 ; boolean ; DEF: 1-593 procisassigned field disp:170, size:4 ; boolean ; DEF: 1-575 procmodlkw * const numeric ; DEF: 1-341 procnode field disp:270, size:10 ; pointer ; DEF: 1-584 procparmsize * const numeric ; DEF: 1-132 procstackinitsize field disp:330, size:4 ; integer ; DEF: 1-588 procwasforwarddef field disp:334, size:4 ; boolean ; DEF: 1-589 prof * const numeric ; DEF: 1-333 profareaptr * type pointer ; DEF: 1-933 progdecl * proc level 0, exportable ; DEF: 914 ; REF: 107 prstatic const scalar, ord=7 ; DEF: 1-774 psr const scalar, ord=24 ; DEF: 1-776 psrdepb * const numeric ; DEF: 1-284 psrdepw * const numeric ; DEF: 1-283 psrinbytes * const numeric ; DEF: 1-113 psrsize field disp:30, size:4 ; integer ; DEF: 1-891 ptentr field disp:240, size:10 ; pointer ; DEF: 1-560 pthigh field disp:230, size:10 ; pointer ; DEF: 1-551 ptlimit * const numeric ; DEF: 1-14 ptlow field disp:240, size:10 ; pointer ; DEF: 1-551 ptpar field disp:220, size:10 ; pointer ; DEF: 1-560 ptpksize field disp:200, size:4 ; integer ; DEF: 1-541 ptvarloc field disp:230, size:10 ; pointer ; DEF: 1-560 ptypesymbolplace field disp:230, size:4 ; integer ; DEF: 1-579 pure field disp:250, size:4 ; boolean ; DEF: 1-582 pureentryplace * const numeric ; DEF: 1-377 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 ra const scalar, ord=20 ; DEF: 1-776 racmaxint * const numeric ; DEF: 1-87 rafltplace * const numeric ; DEF: 1-182 randinterrcode * const numeric ; DEF: 1-258 randintplace * const numeric ; DEF: 1-376 raq const scalar, ord=22 ; DEF: 1-776 re const scalar, ord=25 ; DEF: 1-776 readlnplace * const numeric ; DEF: 1-167 readseqplace * const numeric ; DEF: 1-166 readtextplace * const numeric ; DEF: 1-165 reaq const scalar, ord=23 ; DEF: 1-776 recadre * funct level 0, imported ; integer ; DEF: 238 ; REF: 34 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 recvar field disp:200, size:10 ; pointer ; DEF: 1-554 ref_allowed field disp:70, size:10 ; record ; DEF: 1-650 reset_stack_end_op_place * const numeric ; DEF: 1-227 resetheapplace * const numeric ; DEF: 1-179 resetplace * const numeric ; DEF: 1-162 restorprevmoplace * const numeric ; DEF: 1-380 returnzeroplace * const numeric ; DEF: 1-192 rewriteplace * const numeric ; DEF: 1-163 ri const scalar, ord=26 ; DEF: 1-776 rnext field disp:20, size:10 ; pointer ; DEF: 1-836 roundplace * const numeric ; DEF: 1-181 rplace field disp:10, size:4 ; integer ; DEF: 1-835 rq const scalar, ord=21 ; DEF: 1-776 rqfltplace * const numeric ; DEF: 1-183 rsval field disp:20, size:10 ; real ; DEF: 1-903 runtimeentry const scalar, ord=10 ; DEF: 1-443 rvalu field disp:0, size:10 ; real ; DEF: 1-834 s0 const scalar, ord=0 ; DEF: 1-807 s1 const scalar, ord=1 ; DEF: 1-807 s2 const scalar, ord=2 ; DEF: 1-807 s3 const scalar, ord=3 ; DEF: 1-807 s4 const scalar, ord=4 ; DEF: 1-807 s5 const scalar, ord=5 ; DEF: 1-807 savearglistplace * const numeric ; DEF: 1-359 saveplace field disp:4, size:4 ; integer ; DEF: 1-820 scaleplacew * const numeric ; DEF: 1-292 scientplace * const numeric ; DEF: 1-161 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 setofno * type set of (numeric 0..63) ; DEF: 1-434 settinginactivequeueplace * const numeric ; DEF: 1-355 shiftl const scalar, ord=2 ; DEF: 1-919 signalplace * const numeric ; DEF: 1-365 simainentryplace * const numeric ; DEF: 1-351 simdebstacklocal * const numeric ; DEF: 1-131 simextentryplace * const numeric ; DEF: 1-378 simintentryplace * const numeric ; DEF: 1-352 simintreturnplace * const numeric ; DEF: 1-353 sizemax field disp:14, size:4 ; integer ; DEF: 1-468 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 spri const scalar, ord=1 ; DEF: 1-917 sreadcharplace * const numeric ; DEF: 1-212 sreadintegerplace * const numeric ; DEF: 1-213 sreadrealplace * const numeric ; DEF: 1-214 sregister field disp:0, size:4 ; scalar ; DEF: 1-819 stackboundary * const numeric ; DEF: 1-128 standardfile const scalar, ord=4 ; DEF: 1-437 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 statement_begins * proc level 0, imported ; DEF: 244 ; REF: 37 statics const scalar, ord=0 ; DEF: 1-939 statistiques * proc level 0, exportable ; DEF: 2599 ; REF: 109 stdcompiler const scalar, ord=1 ; DEF: 1-435 stdcomputer const scalar, ord=4 ; DEF: 1-435 stdextend const scalar, ord=3 ; DEF: 1-435 stdkind * type scalar ; DEF: 1-435 stdpure const scalar, ord=0 ; DEF: 1-435 stdsol const scalar, ord=2 ; DEF: 1-435 stopextplace * const numeric ; DEF: 1-211 stopplace * const numeric ; DEF: 1-210 stopshortplace * const numeric ; DEF: 1-209 stor const scalar, ord=6 ; DEF: 1-919 stringlength_assignment_error * const numeric ; DEF: 1-260 stringlength_range_error * const numeric ; DEF: 1-259 structureplace field disp:70, size:4 ; integer ; DEF: 1-947 sttmapind field disp:10, size:4 ; integer ; DEF: 1-430 sttmapptr * type pointer ; DEF: 1-924 stwotobyte * const numeric ; DEF: 1-91 sub const scalar, ord=1 ; DEF: 1-919 subroutine const scalar, ord=1 ; DEF: 1-462 substring_negative_length_error * const numeric ; DEF: 1-262 substring_offset_error * const numeric ; DEF: 1-261 substring_too_long_error * const numeric ; DEF: 1-263 succ field disp:0, size:4 ; numeric -131072..131071 ; DEF: 1-671 sucerrcode * const numeric ; DEF: 1-247 swritebooleanplace * const numeric ; DEF: 1-218 swritecharplace * const numeric ; DEF: 1-215 swriteenumplace * const numeric ; DEF: 1-222 swriteintegerplace * const numeric ; DEF: 1-219 swriterealdplace * const numeric ; DEF: 1-221 swriterealeplace * const numeric ; DEF: 1-220 swritestringplace * const numeric ; DEF: 1-216 swritesubstringplace * const numeric ; DEF: 1-217 sxl const scalar, ord=2 ; DEF: 1-918 symb * const numeric ; DEF: 1-335 symbolp field disp:10, size:310 ; array of (pointer) ; DEF: 1-628 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_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 tci const scalar, ord=40 ; DEF: 1-771 tdi const scalar, ord=44 ; DEF: 1-771 tdic const scalar, ord=45 ; DEF: 1-771 tdl const scalar, ord=7 ; DEF: 1-766 tdu const scalar, ord=3 ; DEF: 1-766 temporary field disp:144, size:4 ; boolean ; DEF: 1-883 terminateplace * const numeric ; DEF: 1-371 tf1 const scalar, ord=32 ; DEF: 1-770 tf2 const scalar, ord=38 ; DEF: 1-770 tf3 const scalar, ord=39 ; DEF: 1-770 ti const scalar, ord=41 ; DEF: 1-771 tic const scalar, ord=4 ; DEF: 1-766 ticy const scalar, ord=20 ; DEF: 1-768 tid const scalar, ord=46 ; DEF: 1-771 tidc const scalar, ord=47 ; DEF: 1-771 timeopplace * const numeric ; DEF: 1-197 titp const scalar, ord=33 ; DEF: 1-770 tits const scalar, ord=35 ; DEF: 1-770 tlevel field disp:130, size:4 ; numeric 0..20 ; DEF: 1-526 tny const scalar, ord=16 ; DEF: 1-768 token_list field disp:150, size:10 ; pointer ; DEF: 1-521 top * var global imported, size:4 ; integer ; DEF: 158 ; REF: 89 top_for_schema field disp:114, size:4 ; integer ; DEF: 1-517 tql const scalar, ord=6 ; DEF: 1-766 tqly const scalar, ord=22 ; DEF: 1-768 tqu const scalar, ord=2 ; DEF: 1-766 tquy const scalar, ord=18 ; DEF: 1-768 transf field disp:34, size:4 ; integer ; DEF: 1-912 transoptvptr * const numeric ; DEF: 1-230 truncplace * const numeric ; DEF: 1-180 tsc const scalar, ord=42 ; DEF: 1-771 tscr const scalar, ord=37 ; DEF: 1-770 tsd const scalar, ord=36 ; DEF: 1-770 twoto12 * const numeric ; DEF: 1-51 twoto18m1 * const numeric ; DEF: 1-58 twoto27 * const numeric ; DEF: 1-59 tx0 const scalar, ord=8 ; DEF: 1-767 tx0y const scalar, ord=24 ; DEF: 1-769 tx1 const scalar, ord=9 ; DEF: 1-767 tx1y const scalar, ord=25 ; DEF: 1-769 tx2 const scalar, ord=10 ; DEF: 1-767 tx2y const scalar, ord=26 ; DEF: 1-769 tx3 const scalar, ord=11 ; DEF: 1-767 tx3y const scalar, ord=27 ; DEF: 1-769 tx4 const scalar, ord=12 ; DEF: 1-767 tx4y const scalar, ord=28 ; DEF: 1-769 tx5 const scalar, ord=13 ; DEF: 1-767 tx5y const scalar, ord=29 ; DEF: 1-769 tx6 const scalar, ord=14 ; DEF: 1-767 tx6y const scalar, ord=30 ; DEF: 1-769 tx7y const scalar, ord=31 ; DEF: 1-769 tyal const scalar, ord=53 ; DEF: 1-772 tyau const scalar, ord=49 ; DEF: 1-772 tydl const scalar, ord=55 ; DEF: 1-772 tydu const scalar, ord=51 ; DEF: 1-772 tyic const scalar, ord=52 ; DEF: 1-772 type_description field disp:160, size:10 ; pointer ; DEF: 1-522 typeofop * type scalar ; DEF: 1-919 typepr * type scalar ; DEF: 1-917 typix * type scalar ; DEF: 1-918 typofsymb * type scalar ; DEF: 1-669 typset field disp:220, size:10 ; pointer ; DEF: 1-540 typsig * type scalar ; DEF: 1-786 typtr field disp:0, size:10 ; pointer ; DEF: 1-851 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 val field disp:14, size:4 ; integer ; DEF: 1-902 valplacew * const numeric ; DEF: 1-290 valpw field disp:30, size:40 ; array of (integer) ; DEF: 1-904 valu field disp:0, size:4 ; integer ; DEF: 1-829 variants field disp:120, size:10 ; pointer ; DEF: 1-611 varmo field disp:220, size:4 ; boolean ; DEF: 1-605 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 vlev field disp:14, size:4 ; numeric 0..20 ; DEF: 1-855 vlink_is_generated field disp:160, size:4 ; boolean ; DEF: 1-602 vmo field disp:140, size:4 ; boolean ; DEF: 1-882 vnexttofinit field disp:210, size:10 ; pointer ; DEF: 1-604 vpack field disp:344, size:4 ; boolean ; DEF: 1-637 vptextitem field disp:240, size:10 ; pointer ; DEF: 1-607 vreflist field disp:20, size:320 ; record ; DEF: 1-637 vtimeplace * const numeric ; DEF: 1-370 waitplace * const numeric ; DEF: 1-366 waitsonsplace * const numeric ; DEF: 1-356 wbase field disp:54, size:4 ; scalar ; DEF: 1-953 wdispl field disp:60, size:4 ; integer ; DEF: 1-954 windirect field disp:64, size:4 ; boolean ; DEF: 1-955 word1 field disp:0, size:4 ; integer ; DEF: 1-927 word2 field disp:4, size:4 ; integer ; DEF: 1-928 workfile const scalar, ord=2 ; DEF: 1-437 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 130 139 140 148 244 257 259 263 1914 1918 1967 char type char ; REF: 1-397 1-398 1-399 1-400 1-422 1-499 1915 1924 chr funct level 0 ; (standard) ; REF: 1944 false const scalar, ord=0 ; REF: 1-538 1-549 1-613 319 322 323 324 328 332 333 334 338 342 343 344 350 353 354 355 361 364 365 366 382 387 388 389 409 413 414 415 423 428 429 430 445 449 450 451 459 463 464 465 471 483 490 506 522 538 606 622 649 694 711 725 742 745 746 829 845 1971 2427 2448 2464 2475 2479 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 132 134 134 135 145 147 147 154 155 156 158 161 166 167 168 169 179 180 183 186 187 236 238 238 240 252 252 257 257 259 259 315 567 636 661 1018 1020 1024 1142 1252 1352 1438 1514 1576 1628 1712 1811 1822 1856 1867 1911 1913 1915 1920 1924 1928 1931 1931 1932 1966 2017 2089 2090 2332 2607 new proc level 0 ; REF: 667 673 ord funct level 0 ; (standard) ; REF: 554 554 904 1944 2342 2342 real type real ; REF: 1-498 1-568 1-834 1-903 125 setmax const numeric ; REF: 367 368 591 swrite funct level 0 ; (standard) ; REF: 1944 1956 1975 1977 1978 1982 1999 2001 2003 2026 2039 2049 2051 2054 2056 2059 2062 2064 2069 2070 2072 2075 2077 2107 2108 2114 2115 2118 2125 2126 2131 2133 2140 2147 2152 2157 2158 2165 2173 2175 2180 2183 2186 2194 2195 2197 2200 2203 2213 2214 2215 2217 2223 2225 2227 2230 2232 2240 2241 2244 2245 2250 2254 2258 2266 2273 2281 2283 2287 2289 text type text ; REF: 142 1018 true const scalar, ord=1 ; REF: 1-539 1-550 1-614 356 367 390 416 431 452 466 477 479 507 523 539 547 547 607 623 650 695 712 726 769 830 846 2099 2468 write proc level 0 ; REF: 284 553 876 903 935 1007 1030 1032 1035 1037 1039 1041 1043 1045 1048 1050 1052 1054 1056 1058 1061 1063 1065 1067 1069 1072 1074 1076 1078 1080 1082 1084 1086 1088 1090 1092 1094 1096 1098 1100 1102 1104 1106 1108 1110 1112 1114 1116 1118 1120 1122 1124 1126 1128 1130 1132 1134 1136 1148 1150 1153 1155 1158 1160 1163 1165 1168 1170 1172 1174 1176 1178 1181 1183 1185 1187 1189 1191 1193 1195 1197 1199 1201 1203 1205 1207 1209 1211 1214 1216 1219 1221 1224 1225 1227 1229 1231 1233 1235 1237 1239 1242 1244 1246 1258 1260 1262 1264 1266 1268 1270 1272 1274 1276 1278 1280 1282 1284 1286 1288 1290 1292 1294 1296 1298 1300 1302 1304 1306 1308 1310 1312 1314 1316 1318 1320 1322 1324 1326 1328 1330 1332 1334 1336 1338 1340 1342 1344 1346 1358 1360 1362 1364 1366 1368 1370 1372 1374 1376 1378 1380 1382 1384 1386 1388 1391 1393 1396 1398 1400 1402 1404 1406 1408 1410 1412 1414 1416 1418 1420 1422 1424 1426 1428 1430 1432 1444 1446 1448 1450 1452 1454 1456 1458 1460 1462 1464 1466 1468 1470 1472 1474 1476 1478 1480 1482 1484 1487 1488 1490 1492 1494 1496 1498 1500 1502 1504 1506 1508 1520 1522 1524 1526 1528 1530 1532 1534 1536 1538 1540 1542 1544 1546 1548 1550 1552 1554 1556 1558 1560 1562 1564 1566 1568 1570 1582 1584 1586 1588 1590 1592 1594 1596 1598 1600 1602 1604 1610 1612 1614 1616 1618 1620 1622 1634 1636 1638 1640 1642 1644 1646 1648 1650 1652 1654 1656 1658 1660 1662 1664 1666 1668 1670 1672 1674 1676 1678 1680 1682 1684 1686 1688 1690 1692 1694 1696 1698 1700 1702 1704 1706 1718 1720 1722 1724 1726 1728 1730 1732 1734 1736 1738 1740 1742 1744 1746 1748 1750 1752 1754 1756 1758 1760 1762 1764 1766 1768 1770 1772 1774 1776 1778 1780 1782 1784 1786 1788 1790 1792 1794 1796 1798 1800 1802 1804 1806 1828 1830 1832 1834 1836 1838 1840 1842 1844 1846 1848 1850 1874 1879 2520 2521 2522 2523 2524 2525 2530 2534 2539 2543 2546 2565 2570 2576 2580 2613 2621 2624 2625 2645 writeln proc level 0 ; REF: 1606 1608 1953 2008 2097 2098 2450 2462 2466 2477 2481 2507 2508 2510 2513 2514 2515 2564 2588 LABELS BLOCK NAME 100 sortlevel DCL : 2328 ; DEF: 2355 ; REF: 2368 200 sortlevel DCL : 2328 ; DEF: 2400 ; REF: 2356 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 271 1 0 282 1 11 283 1 23 284 1 31 285 1 42 286 1 50 288 1 56 288 1 57 295 1 76 299 1 107 300 1 111 301 1 117 302 1 125 303 1 133 304 1 141 304 2 144 305 1 146 305 1 147 312 1 150 319 1 155 320 1 203 322 1 206 323 1 235 324 1 264 328 1 266 329 1 313 331 1 316 331 2 320 331 3 322 332 1 324 333 1 353 334 1 402 338 1 404 339 1 431 341 1 434 341 2 436 341 3 440 342 1 442 343 1 471 344 1 520 345 1 522 346 1 526 346 2 531 350 1 534 351 1 562 353 1 564 354 1 613 355 1 642 356 1 644 357 1 673 361 1 676 362 1 724 364 1 727 365 1 756 366 1 1005 367 1 1007 368 1 1036 369 1 1041 373 1 1044 374 1 1065 376 1 1067 377 1 1071 377 2 1073 378 1 1075 378 2 1100 382 1 1103 383 1 1130 385 1 1133 386 1 1135 386 2 1137 387 1 1141 388 1 1170 389 1 1217 390 1 1221 394 1 1250 395 1 1252 397 1 1254 398 1 1310 400 1 1312 401 1 1314 401 2 1316 402 1 1320 402 2 1323 402 3 1326 404 1 1331 405 1 1333 406 1 1340 409 1 1344 410 1 1372 412 1 1374 412 2 1376 413 1 1400 414 1 1427 415 1 1456 416 1 1460 417 1 1507 418 1 1512 420 1 1515 423 1 1521 424 1 1546 426 1 1551 427 1 1553 427 2 1555 428 1 1557 429 1 1606 430 1 1635 431 1 1637 435 1 1666 436 1 1710 438 1 1712 439 1 1715 439 2 1717 440 1 1723 442 1 1726 445 1 1732 446 1 1760 448 1 1762 448 2 1764 449 1 1766 450 1 2015 451 1 2044 452 1 2046 453 1 2075 454 1 2100 456 1 2103 459 1 2107 460 1 2135 462 1 2140 462 2 2142 463 1 2144 464 1 2173 465 1 2222 466 1 2224 467 1 2253 471 1 2256 472 1 2304 474 1 2307 474 2 2311 475 1 2313 476 1 2315 477 1 2317 478 1 2322 478 2 2325 479 1 2330 483 1 2357 484 1 2404 486 1 2407 487 1 2411 487 2 2413 488 1 2415 489 1 2420 490 1 2423 491 1 2425 497 1 2430 499 1 2432 500 1 2462 502 1 2464 503 1 2466 503 2 2470 504 1 2472 504 2 2475 504 3 2477 505 1 2502 506 1 2505 507 1 2507 507 2 2512 509 1 2515 513 1 2522 515 1 2524 516 1 2554 518 1 2556 519 1 2560 519 2 2562 520 1 2564 520 2 2567 520 3 2571 521 1 2574 522 1 2577 523 1 2601 523 2 2604 525 1 2607 529 1 2614 531 1 2616 532 1 2646 534 1 2650 535 1 2652 535 2 2654 536 1 2656 536 2 2661 536 3 2663 537 1 2666 538 1 2671 539 1 2673 539 2 2676 541 1 2701 544 1 2706 545 1 2724 547 1 2727 547 2 2732 551 1 2735 553 1 2740 555 1 2767 558 1 2775 558 1 2776 564 1 3021 573 1 3026 575 1 3030 576 1 3063 578 1 3065 579 1 3067 579 2 3071 580 1 3073 581 1 3076 581 2 3101 581 3 3105 583 1 3110 586 1 3115 587 1 3136 589 1 3140 590 1 3142 590 2 3144 591 1 3146 591 2 3151 597 1 3154 599 1 3156 600 1 3206 602 1 3210 603 1 3212 603 2 3214 604 1 3216 604 2 3221 604 3 3223 605 1 3226 606 1 3231 607 1 3233 607 2 3236 609 1 3241 613 1 3246 615 1 3250 616 1 3300 618 1 3302 619 1 3304 619 2 3306 620 1 3310 620 2 3313 620 3 3315 621 1 3320 622 1 3323 623 1 3325 623 2 3330 625 1 3333 626 1 3340 626 1 3341 633 1 3344 640 1 3351 642 1 3353 643 1 3403 645 1 3405 646 1 3407 646 2 3411 647 1 3413 647 2 3416 647 3 3420 648 1 3423 649 1 3426 650 1 3430 650 2 3433 652 1 3436 653 1 3443 653 1 3444 659 1 3446 667 1 3453 667 2 3456 667 3 3462 668 1 3470 670 1 3472 670 2 3475 671 1 3477 671 2 3503 671 3 3506 672 1 3510 672 2 3513 672 3 3515 673 1 3517 673 2 3523 673 3 3530 674 1 3536 676 1 3542 676 2 3544 678 1 3546 678 2 3551 678 3 3554 685 1 3557 687 1 3561 688 1 3611 690 1 3613 691 1 3615 691 2 3617 692 1 3621 692 2 3624 692 3 3626 693 1 3631 694 1 3634 695 1 3636 695 2 3641 697 1 3644 702 1 3651 704 1 3653 705 1 3703 707 1 3705 708 1 3707 708 2 3711 709 1 3713 709 2 3716 709 3 3720 710 1 3723 711 1 3726 712 1 3730 712 2 3733 714 1 3736 718 1 3743 719 1 3760 721 1 3762 722 1 3764 722 2 3766 723 1 3770 723 2 3773 724 1 3775 725 1 4000 726 1 4002 726 2 4005 732 1 4010 733 1 4031 735 1 4034 735 2 4036 736 1 4040 736 2 4043 738 1 4046 742 1 4050 743 1 4076 745 1 4100 746 1 4131 747 1 4160 748 1 4164 748 2 4166 753 1 4173 754 1 4210 755 1 4212 757 1 4215 757 2 4217 758 1 4221 759 1 4224 760 1 4243 762 1 4247 763 1 4252 764 1 4255 767 1 4260 769 1 4262 770 1 4264 771 1 4267 772 1 4272 773 1 4304 775 1 4310 775 2 4313 777 1 4316 778 1 4330 779 1 4340 780 1 4352 781 1 4356 782 1 4363 783 1 4375 784 1 4407 785 1 4414 786 1 4426 787 1 4436 788 1 4450 789 1 4455 790 1 4467 791 1 4477 792 1 4511 793 1 4516 794 1 4530 795 1 4535 796 1 4547 798 1 4553 798 2 4556 800 1 4561 801 1 4573 802 1 4600 803 1 4612 804 1 4617 805 1 4631 806 1 4636 807 1 4650 808 1 4660 809 1 4672 810 1 4677 811 1 4711 812 1 4716 813 1 4730 814 1 4742 815 1 4754 820 1 4761 822 1 4763 823 1 5013 825 1 5015 826 1 5017 826 2 5021 827 1 5023 827 2 5026 827 3 5030 828 1 5033 829 1 5037 830 1 5041 830 2 5044 832 1 5047 836 1 5054 838 1 5056 839 1 5106 841 1 5110 842 1 5112 842 2 5114 843 1 5116 843 2 5121 843 3 5123 844 1 5126 845 1 5132 846 1 5134 846 2 5137 848 1 5142 850 1 5147 850 1 5150 859 1 5200 874 1 5211 876 1 5213 877 1 5224 881 1 5232 882 1 5234 884 1 5236 884 2 5241 887 1 5245 887 2 5250 890 1 5253 891 1 5260 892 1 5265 893 1 5272 895 1 5277 897 1 5301 897 2 5303 901 1 5305 903 1 5310 905 1 5330 908 1 5336 908 1 5337 914 1 5363 933 1 5374 935 1 5376 935 2 5407 938 1 5415 939 1 5423 941 1 5425 942 1 5427 943 1 5431 945 1 5433 947 1 5436 947 2 5450 950 1 5463 951 1 5471 953 1 5474 953 2 5506 956 1 5521 957 1 5526 959 1 5534 961 1 5537 962 1 5545 964 1 5550 964 2 5562 966 1 5574 968 1 5577 969 1 5615 969 2 5621 971 1 5634 972 1 5642 973 1 5671 974 1 5700 975 1 5727 976 1 5736 977 1 5765 979 1 6013 980 1 6021 982 1 6024 983 1 6032 985 1 6035 985 2 6047 988 1 6062 989 1 6065 991 1 6100 992 1 6103 994 1 6112 994 2 6124 997 1 6136 998 1 6141 1000 1 6144 1000 2 6156 1003 1 6170 1003 2 6173 1005 1 6201 1007 1 6204 1007 2 6215 1010 1 6223 1010 1 6224 1024 1 6244 1028 1 6255 1030 1 6257 1032 1 6272 1034 1 6305 1035 1 6307 1037 1 6322 1039 1 6335 1041 1 6350 1043 1 6363 1045 1 6376 1047 1 6411 1048 1 6413 1050 1 6426 1052 1 6441 1054 1 6454 1056 1 6467 1058 1 6502 1060 1 6515 1061 1 6517 1063 1 6532 1065 1 6545 1067 1 6560 1069 1 6573 1071 1 6606 1072 1 6610 1074 1 6623 1076 1 6636 1078 1 6651 1080 1 6664 1082 1 6677 1084 1 6712 1086 1 6725 1088 1 6740 1090 1 6753 1092 1 6766 1094 1 7001 1096 1 7014 1098 1 7027 1100 1 7042 1102 1 7055 1104 1 7070 1106 1 7103 1108 1 7116 1110 1 7131 1112 1 7144 1114 1 7157 1116 1 7172 1118 1 7205 1120 1 7220 1122 1 7233 1124 1 7245 1126 1 7260 1128 1 7273 1130 1 7305 1132 1 7317 1134 1 7332 1136 1 7345 1137 1 7360 1138 1 7454 1138 1 7455 1142 1 10162 1146 1 10173 1148 1 10175 1150 1 10210 1152 1 10223 1153 1 10225 1155 1 10240 1157 1 10253 1158 1 10255 1160 1 10270 1162 1 10303 1163 1 10305 1165 1 10320 1167 1 10333 1168 1 10335 1170 1 10350 1172 1 10363 1174 1 10376 1176 1 10411 1178 1 10424 1180 1 10437 1181 1 10441 1183 1 10454 1185 1 10467 1187 1 10502 1189 1 10515 1191 1 10530 1193 1 10543 1195 1 10556 1197 1 10571 1199 1 10604 1201 1 10617 1203 1 10632 1205 1 10645 1207 1 10660 1209 1 10673 1211 1 10706 1213 1 10721 1214 1 10723 1216 1 10736 1218 1 10751 1219 1 10753 1221 1 10766 1223 1 11001 1224 1 11003 1225 1 11016 1227 1 11031 1229 1 11044 1231 1 11057 1233 1 11072 1235 1 11105 1237 1 11120 1239 1 11133 1241 1 11146 1242 1 11150 1244 1 11163 1246 1 11176 1247 1 11211 1248 1 11304 1248 1 11305 1252 1 12111 1256 1 12122 1258 1 12124 1260 1 12137 1262 1 12152 1264 1 12165 1266 1 12200 1268 1 12213 1270 1 12226 1272 1 12241 1274 1 12254 1276 1 12267 1278 1 12302 1280 1 12315 1282 1 12330 1284 1 12343 1286 1 12356 1288 1 12371 1290 1 12404 1292 1 12417 1294 1 12432 1296 1 12445 1298 1 12460 1300 1 12473 1302 1 12506 1304 1 12521 1306 1 12534 1308 1 12547 1310 1 12562 1312 1 12575 1314 1 12610 1316 1 12623 1318 1 12636 1320 1 12651 1322 1 12664 1324 1 12677 1326 1 12712 1328 1 12725 1330 1 12740 1332 1 12753 1334 1 12766 1336 1 13001 1338 1 13014 1340 1 13027 1342 1 13042 1344 1 13055 1346 1 13070 1347 1 13103 1348 1 13176 1348 1 13177 1352 1 14075 1356 1 14106 1358 1 14110 1360 1 14123 1362 1 14136 1364 1 14151 1366 1 14164 1368 1 14177 1370 1 14212 1372 1 14225 1374 1 14240 1376 1 14253 1378 1 14265 1380 1 14300 1382 1 14313 1384 1 14326 1386 1 14341 1388 1 14354 1390 1 14367 1391 1 14371 1393 1 14404 1395 1 14417 1396 1 14421 1398 1 14434 1400 1 14447 1402 1 14462 1404 1 14475 1406 1 14510 1408 1 14523 1410 1 14535 1412 1 14550 1414 1 14563 1416 1 14576 1418 1 14611 1420 1 14624 1422 1 14637 1424 1 14652 1426 1 14665 1428 1 14700 1430 1 14712 1432 1 14725 1433 1 14740 1434 1 15033 1434 1 15034 1438 1 15535 1442 1 15546 1444 1 15550 1446 1 15563 1448 1 15576 1450 1 15611 1452 1 15624 1454 1 15637 1456 1 15652 1458 1 15665 1460 1 15700 1462 1 15713 1464 1 15726 1466 1 15741 1468 1 15754 1470 1 15767 1472 1 16002 1474 1 16015 1476 1 16030 1478 1 16043 1480 1 16056 1482 1 16071 1484 1 16104 1486 1 16117 1487 1 16121 1488 1 16134 1490 1 16147 1492 1 16162 1494 1 16175 1496 1 16210 1498 1 16223 1500 1 16236 1502 1 16251 1504 1 16264 1506 1 16277 1508 1 16312 1509 1 16325 1510 1 16376 1510 1 16377 1514 1 17125 1518 1 17136 1520 1 17140 1522 1 17153 1524 1 17166 1526 1 17201 1528 1 17214 1530 1 17227 1532 1 17242 1534 1 17255 1536 1 17270 1538 1 17303 1540 1 17316 1542 1 17331 1544 1 17344 1546 1 17357 1548 1 17372 1550 1 17405 1552 1 17420 1554 1 17433 1556 1 17446 1558 1 17461 1560 1 17474 1562 1 17507 1564 1 17522 1566 1 17535 1568 1 17550 1570 1 17563 1571 1 17576 1572 1 17647 1572 1 17650 1576 1 20234 1580 1 20245 1582 1 20247 1584 1 20262 1586 1 20275 1588 1 20310 1590 1 20323 1592 1 20336 1594 1 20351 1596 1 20363 1598 1 20376 1600 1 20411 1602 1 20424 1604 1 20437 1606 1 20452 1608 1 20466 1610 1 20502 1612 1 20515 1614 1 20530 1616 1 20543 1618 1 20556 1620 1 20571 1622 1 20604 1623 1 20617 1624 1 20706 1624 1 20707 1628 1 21231 1632 1 21242 1634 1 21244 1636 1 21257 1638 1 21272 1640 1 21305 1642 1 21320 1644 1 21333 1646 1 21346 1648 1 21361 1650 1 21374 1652 1 21407 1654 1 21422 1656 1 21435 1658 1 21450 1660 1 21463 1662 1 21476 1664 1 21511 1666 1 21524 1668 1 21537 1670 1 21552 1672 1 21565 1674 1 21600 1676 1 21613 1678 1 21626 1680 1 21641 1682 1 21654 1684 1 21667 1686 1 21702 1688 1 21715 1690 1 21730 1692 1 21743 1694 1 21755 1696 1 21770 1698 1 22003 1700 1 22016 1702 1 22031 1704 1 22044 1706 1 22057 1707 1 22072 1708 1 22155 1708 1 22156 1712 1 22717 1716 1 22730 1718 1 22732 1720 1 22745 1722 1 22760 1724 1 22773 1726 1 23006 1728 1 23020 1730 1 23033 1732 1 23046 1734 1 23061 1736 1 23074 1738 1 23107 1740 1 23122 1742 1 23135 1744 1 23150 1746 1 23163 1748 1 23176 1750 1 23211 1752 1 23224 1754 1 23237 1756 1 23252 1758 1 23265 1760 1 23277 1762 1 23312 1764 1 23325 1766 1 23337 1768 1 23352 1770 1 23365 1772 1 23400 1774 1 23413 1776 1 23426 1778 1 23441 1780 1 23454 1782 1 23467 1784 1 23502 1786 1 23515 1788 1 23530 1790 1 23543 1792 1 23556 1794 1 23571 1796 1 23604 1798 1 23617 1800 1 23632 1802 1 23645 1804 1 23660 1806 1 23673 1807 1 23706 1808 1 24000 1808 1 24001 1811 1 24553 1815 1 24564 1817 1 24567 1818 1 24601 1822 1 24602 1826 1 24613 1828 1 24615 1830 1 24630 1832 1 24643 1834 1 24656 1836 1 24671 1838 1 24704 1840 1 24717 1842 1 24732 1844 1 24745 1846 1 24760 1848 1 24773 1850 1 25006 1851 1 25021 1852 1 25046 1852 1 25047 1856 1 25407 1860 1 25420 1862 1 25423 1863 1 25435 1867 1 25436 1871 1 25447 1874 1 25452 1875 1 25465 1876 1 25560 1876 1 25561 1018 1 25571 1879 1 25606 1880 1 25632 1880 2 25637 1881 1 25647 1882 1 25651 1883 1 25663 1884 1 25675 1885 1 25707 1886 1 25721 1887 1 25733 1888 1 25745 1889 1 25757 1890 1 25771 1891 1 26003 1892 1 26015 1893 1 26027 1894 1 26041 1895 1 26053 1896 1 26101 1896 1 26102 1928 1 26103 1935 1 26114 1937 1 26116 1938 1 26140 1939 1 26145 1940 1 26152 1941 1 26154 1942 1 26202 1943 1 26206 1944 1 26212 1944 2 26255 1945 1 26262 1945 1 26263 1950 1 26264 1953 1 26271 1954 1 26307 1954 2 26312 1954 3 26316 1955 1 26321 1956 1 26326 1957 1 26353 1957 1 26354 1962 1 26355 1970 1 26362 1970 2 26366 1971 1 26373 1972 1 26374 1974 1 26377 1975 1 26402 1976 1 26426 1977 1 26431 1978 1 26463 1980 1 26507 1981 1 26514 1981 2 26520 1982 1 26525 1983 1 26551 1984 1 26554 1985 1 26556 1986 1 26562 1987 1 26564 1988 1 26566 1989 1 26570 1991 1 26573 1993 1 26575 1994 1 26577 1995 1 26606 1997 1 26622 1997 2 26626 1998 1 26633 1999 1 26635 2000 1 26666 2001 1 26671 2003 1 26725 2004 1 26757 2005 1 26764 2006 1 26766 2008 1 26772 2010 1 27010 2010 1 27011 2014 1 27023 2020 1 27034 2020 2 27040 2021 1 27045 2022 1 27050 2024 1 27072 2025 1 27074 2026 1 27115 2027 1 27156 2031 1 27163 2033 1 27171 2034 1 27177 2036 1 27203 2038 1 27205 2039 1 27226 2041 1 27270 2042 1 27272 2043 1 27275 2047 1 27301 2049 1 27304 2051 1 27331 2054 1 27403 2055 1 27427 2056 1 27432 2059 1 27457 2062 1 27504 2063 1 27530 2063 2 27536 2064 1 27551 2068 1 27575 2069 1 27600 2070 1 27624 2071 1 27650 2071 2 27656 2072 1 27671 2075 1 27715 2077 1 27742 2079 1 27767 2079 2 27775 2080 1 30011 2082 1 30044 2082 1 30045 2086 1 30102 2095 1 30107 2097 1 30112 2098 1 30134 2099 1 30137 2101 1 30142 2103 1 30145 2106 1 30150 2107 1 30153 2108 1 30206 2109 1 30240 2113 1 30246 2114 1 30251 2115 1 30304 2116 1 30336 2117 1 30342 2118 1 30346 2119 1 30372 2120 1 30404 2124 1 30412 2125 1 30415 2126 1 30450 2127 1 30502 2130 1 30505 2131 1 30510 2133 1 30535 2134 1 30561 2135 1 30566 2137 1 30572 2139 1 30574 2140 1 30615 2142 1 30657 2143 1 30661 2144 1 30664 2147 1 30667 2148 1 30713 2149 1 30721 2150 1 30745 2151 1 30756 2152 1 30760 2156 1 31020 2157 1 31023 2158 1 31047 2159 1 31073 2160 1 31100 2162 1 31104 2164 1 31106 2165 1 31127 2167 1 31171 2168 1 31173 2169 1 31176 2173 1 31202 2175 1 31227 2176 1 31254 2177 1 31301 2178 1 31306 2180 1 31314 2181 1 31340 2183 1 31354 2184 1 31400 2185 1 31405 2186 1 31412 2187 1 31436 2189 1 31450 2193 1 31456 2194 1 31461 2195 1 31514 2196 1 31546 2197 1 31560 2198 1 31604 2199 1 31616 2200 1 31623 2201 1 31647 2202 1 31654 2203 1 31661 2204 1 31705 2206 1 31717 2210 1 31725 2211 1 31730 2212 1 31751 2213 1 31767 2214 1 32022 2215 1 32055 2217 1 32110 2218 1 32142 2220 1 32145 2221 1 32152 2223 1 32157 2225 1 32204 2227 1 32240 2228 1 32265 2230 1 32313 2232 1 32340 2233 1 32403 2234 1 32426 2238 1 32434 2239 1 32437 2240 1 32450 2241 1 32503 2243 1 32536 2244 1 32547 2245 1 32602 2246 1 32634 2247 1 32637 2249 1 32642 2250 1 32646 2252 1 32673 2254 1 32675 2255 1 32721 2257 1 32723 2258 1 32744 2260 1 33006 2261 1 33010 2262 1 33013 2266 1 33017 2267 1 33043 2268 1 33047 2270 1 33051 2272 1 33053 2273 1 33074 2275 1 33136 2276 1 33140 2277 1 33143 2281 1 33147 2283 1 33174 2284 1 33221 2285 1 33246 2286 1 33257 2287 1 33264 2288 1 33310 2289 1 33320 2291 1 33345 2293 1 33357 2296 1 33366 2297 1 33416 2297 2 33423 2298 1 33427 2300 1 33434 2300 1 33435 2306 1 33630 2309 1 33641 2310 1 33644 2312 1 33647 2314 1 33662 2315 1 33667 2315 2 33677 2317 1 33712 2318 1 33717 2318 2 33727 2320 1 33743 2321 1 33776 2321 1 33777 2325 1 34006 2336 1 34017 2338 1 34023 2340 1 34026 2342 1 34052 2342 2 34064 2342 3 34067 2343 1 34101 2344 1 34114 2345 1 34130 2347 1 34134 2348 1 34136 2349 1 34141 2353 1 34145 2354 1 34147 2356 1 34151 2356 2 34160 2357 1 34161 2358 1 34167 2360 1 34174 2361 1 34177 2362 1 34203 2366 1 34207 2367 1 34211 2368 1 34214 2372 1 34216 2373 1 34222 2374 1 34226 2376 1 34231 2380 1 34234 2382 1 34237 2384 1 34251 2385 1 34256 2385 2 34266 2387 1 34301 2388 1 34306 2388 2 34316 2390 1 34331 2391 1 34341 2392 1 34346 2392 2 34356 2394 1 34372 2396 1 34422 2397 1 34426 2398 1 34433 2401 1 34436 2401 1 34437 2405 1 34452 2408 1 34457 2410 1 34462 2411 1 34474 2413 1 34501 2414 1 34504 2415 1 34511 2418 1 34513 2420 1 34520 2421 1 34523 2423 1 34530 2423 1 34531 1903 1 34536 2427 1 34547 2428 1 34550 2429 1 34552 2430 1 34554 2430 2 34571 2431 1 34576 2432 1 34603 2433 1 34604 2434 1 34635 2435 1 34641 2436 1 34654 2437 1 34656 2438 1 34661 2440 1 34664 2442 1 34701 2443 1 34726 2445 1 34730 2448 1 34734 2449 1 34735 2450 1 34741 2451 1 34744 2452 1 34746 2453 1 34750 2455 1 34754 2456 1 34756 2456 2 34762 2456 3 34774 2456 4 35002 2457 1 35005 2457 2 35011 2457 3 35014 2457 4 35022 2458 1 35025 2458 2 35032 2458 3 35040 2459 1 35042 2461 1 35046 2462 1 35050 2464 1 35071 2465 1 35072 2466 1 35076 2467 1 35101 2468 1 35103 2469 1 35105 2470 1 35107 2472 1 35113 2473 1 35120 2475 1 35124 2476 1 35125 2477 1 35127 2479 1 35150 2480 1 35151 2481 1 35155 2482 1 35160 2483 1 35162 2483 2 35177 2484 1 35204 2485 1 35215 2486 1 35216 2487 1 35247 2488 1 35253 2489 1 35266 2490 1 35270 2491 1 35273 2493 1 35276 2495 1 35313 2496 1 35340 2498 1 35342 2500 1 35346 2501 1 35350 2503 1 35354 2503 2 35361 2504 1 35366 2506 1 35372 2507 1 35374 2508 1 35415 2509 1 35420 2510 1 35427 2513 1 35442 2514 1 35454 2515 1 35457 2516 1 35471 2518 1 35475 2520 1 35477 2521 1 35507 2521 2 35514 2522 1 35526 2523 1 35537 2523 2 35547 2524 1 35560 2525 1 35574 2526 1 35605 2527 1 35607 2529 1 35612 2530 1 35631 2531 1 35647 2533 1 35653 2534 1 35672 2535 1 35712 2536 1 35716 2538 1 35721 2539 1 35740 2540 1 35756 2542 1 35762 2543 1 36001 2544 1 36012 2545 1 36015 2546 1 36022 2547 1 36033 2548 1 36036 2549 1 36041 2550 1 36043 2551 1 36047 2552 1 36051 2553 1 36053 2554 1 36055 2556 1 36060 2558 1 36062 2559 1 36064 2560 1 36073 2562 1 36107 2564 1 36112 2565 1 36115 2566 1 36127 2568 1 36131 2569 1 36133 2570 1 36151 2571 1 36166 2573 1 36172 2575 1 36175 2576 1 36214 2579 1 36235 2580 1 36254 2582 1 36272 2583 1 36276 2584 1 36303 2585 1 36305 2588 1 36311 2589 1 36314 2590 1 36317 2593 1 36324 2593 1 36325 2599 1 36434 2609 1 36445 2610 1 36447 2612 1 36451 2613 1 36457 2613 2 36476 2614 1 36504 2615 1 36512 2616 1 36514 2617 1 36516 2618 1 36520 2620 1 36545 2621 1 36550 2621 2 36561 2623 1 36564 2624 1 36567 2625 1 36600 2625 2 36624 2626 1 36627 2628 1 36632 2628 2 36640 2630 1 36642 2630 1 36647 2631 1 36654 2632 1 36657 2634 1 36665 2635 1 36673 2636 1 36675 2637 1 36677 2639 1 36724 2640 1 36754 2641 1 36762 2641 1 36767 2644 1 36775 2645 1 37003 2645 2 37005 2645 3 37016 2647 1 37024 2648 1 37026 2649 1 37034 2649 1 37035 21 1 37076 21 1 37107 2652 1 37116 2652 1 37122 2652 1 37124 ----------------------------------------------------------- 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