COMPILATION LISTING OF SEGMENT mrpg_dump_ Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 02/14/84 0851.1 mst Tue Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1983 * 4* * * 5* * Copyright (c) 1972 by Massachusetts Institute of * 6* * Technology and Honeywell Information Systems, Inc. * 7* * * 8* *********************************************************** */ 9 10 11 /**** format: ind3,ll80,initcol6,indattr,^inddcls,dclind4,idind16 */ 12 /**** format: struclvlind2,^ifthenstmt,^ifthendo,^ifthen,^indnoniterdo */ 13 /**** format: ^inditerdo,^indnoniterend,^indthenelse,case,^indproc,^indend */ 14 /**** format: ^delnl,^insnl,comcol41,^indcom,^indblkcom,linecom,^indcomtxt */ 15 16 /**** a utility for generating debug output for mrpg. */ 17 18 mrpg_dump_: 19 dump: proc (exptr, indent); /* dump an element */ 20 next_sw, all_sw = "0"b; 21 goto start; 22 23 all: entry (exptr, indent); /* dump the whole thing */ 24 next_sw, all_sw = "1"b; 25 goto start; 26 27 list: entry (exptr, indent); /* dump a list of elements */ 28 next_sw = "1"b; 29 all_sw = "0"b; 30 goto start; 31 32 33 dcl (exptr, xptr) ptr unal; 34 dcl jptr ptr; 35 dcl indent fixed bin; 36 37 dcl mssg char (32); 38 dcl check_pointer_$packed entry (ptr, char (32)); 39 /* hcs_$get_uid can probably be used */ 40 /* in place of check_pointer_ */ 41 42 start: 43 xptr = exptr; 44 text = "xptr"; 45 loop: 46 call check_pointer_$packed (addr (xptr), mssg); 47 if (mssg ^= "") 48 then do; 49 call ioa_ ("^a is ^p ""^12.3b""o (^a)", text, xptr, unspec (xptr), mssg); 50 return; 51 end; 52 text = "next"; 53 54 if (xptr -> symtab.type = "ID") 55 | (xptr -> symtab.type = "NU") 56 | (xptr -> symtab.type = "ST") 57 then do; 58 call stmt_hdr ("symtab", xptr, "0"b); 59 call ioa_ (" ^3i ""^a""", xptr -> symtab.leng, xptr -> symtab.data); 60 call ioa_ (" ^vxuse ^p ^p", indent, 61 xptr -> symtab.use.b, xptr -> symtab.use.e); 62 if next_sw & ^all_sw & (xptr -> symtab.type = "ID") then do; 63 indent = indent + 5; 64 do jptr = xptr -> symtab.use.b 65 repeat (jptr -> datum.usage) 66 while (jptr ^= null ()); 67 call stmt_hdr ("----", (jptr), "0"b); 68 call ioa_ (" sym ^p", jptr -> datum.sym); 69 if (jptr -> datum.type ^= "SY") 70 then do; 71 call stmt_hdr (" ----", jptr -> datum.sym, "0"b); 72 call ioa_ (" sym ^p", jptr -> datum.sym -> datum.sym); 73 end; 74 end; 75 indent = indent - 5; 76 end; 77 return; 78 end; 79 if (xptr -> datum.type = "DC") 80 | (xptr -> datum.type = "IN") 81 then do; 82 call stmt_hdr ("datum", xptr, "0"b); 83 call ioa_ (" sym ^p", xptr -> datum.sym); 84 if all_sw & (xptr -> datum.sym ^= null ()) 85 then call mrpg_dump_$all ((xptr -> datum.sym), indent + 5); 86 call ioa_ (" ^vxkind ^a ^i", indent, 87 kind_char (min (xptr -> datum.kind, hbound (kind_char, 1))), 88 xptr -> datum.kind); 89 call ioa_ (" ^vxleng ^i", indent, xptr -> datum.leng); 90 call ioa_ (" ^vxpos ^i", indent, xptr -> datum.pos); 91 call ioa_ (" ^vxcheck ^p ^p", indent, 92 xptr -> datum.check.b, xptr -> datum.check.e); 93 if all_sw & (xptr -> datum.check.b ^= null ()) 94 then call mrpg_dump_$all ((xptr -> datum.check.b), indent + 5); 95 call ioa_ (" ^vxdatal ^p ^p", indent, 96 xptr -> datum.datal.b, xptr -> datum.datal.e); 97 if all_sw & (xptr -> datum.datal.b ^= null ()) 98 then call mrpg_dump_$all ((xptr -> datum.datal.b), indent + 5); 99 if next_sw 100 then do; 101 xptr = xptr -> datum.next; 102 if (xptr ^= null ()) 103 then goto loop; 104 end; 105 return; 106 end; 107 108 if (xptr -> symref.type = "SY") 109 then do; 110 call stmt_hdr ("symref", xptr, "0"b); 111 call ioa_ (" sym ^p", xptr -> symref.sym); 112 call ioa_ (" ^vxkind ^a ^i", indent, 113 kind_char (xptr -> symref.kind), xptr -> symref.kind); 114 if all_sw & (xptr -> symref.sym ^= null ()) 115 then call mrpg_dump_$all ((xptr -> symref.sym), indent + 5); 116 call ioa_ (" ^vxusage ^p", indent, xptr -> symref.usage); 117 if next_sw 118 then do; 119 xptr = xptr -> symref.next; 120 if (xptr ^= null ()) 121 then goto loop; 122 end; 123 return; 124 end; 125 126 if (xptr -> opn.type = "OP") 127 then do; 128 call stmt_hdr ("opn", xptr, "1"b); 129 call ioa_ (" ^vxop ^a ^i", indent, 130 op_char (min (xptr -> opn.op, hbound (op_char, 1))), 131 xptr -> opn.op); 132 call ioa_ (" ^vxkind ^a ^i", indent, 133 kind_char (xptr -> opn.kind), xptr -> opn.kind); 134 call ioa_ (" ^vxop1 ^p", indent, xptr -> opn.op1); 135 if all_sw & (xptr -> opn.op1 ^= null ()) 136 then call mrpg_dump_$all ((xptr -> opn.op1), indent + 5); 137 call ioa_ (" ^vxop2 ^p", indent, xptr -> opn.op2); 138 if all_sw & (xptr -> opn.op2 ^= null ()) 139 then call mrpg_dump_$all ((xptr -> opn.op2), indent + 5); 140 call ioa_ (" ^vxop3 ^p", indent, xptr -> opn.op3); 141 if all_sw & (xptr -> opn.op3 ^= null ()) 142 then call mrpg_dump_$all ((xptr -> opn.op3), indent + 5); 143 if next_sw 144 then do; 145 xptr = xptr -> opn.next; 146 if (xptr ^= null ()) 147 then goto loop; 148 end; 149 return; 150 end; 151 152 if (xptr -> report.type = "RP") 153 then do; 154 call stmt_hdr ("report", xptr, "0"b); 155 call ioa_ (" sym ^p", xptr -> report.sym); 156 if all_sw & (xptr -> report.sym ^= null ()) 157 then call mrpg_dump_$all ((xptr -> report.sym), indent + 5); 158 call ioa_ (" ^vxpw ^i", indent, xptr -> report.pw); 159 call ioa_ (" ^vxpl ^i", indent, xptr -> report.pl); 160 call ioa_ (" ^vxminl ^i", indent, xptr -> report.minl); 161 call ioa_ (" ^vxmaxl ^i", indent, xptr -> report.maxl); 162 call ioa_ (" ^vxonlist ^p ^p", indent, 163 xptr -> report.onlist.b, xptr -> report.onlist.e); 164 if all_sw & (xptr -> report.onlist.b ^= null ()) 165 then call mrpg_dump_$all ((xptr -> report.onlist.b), indent + 5); 166 call ioa_ (" ^vxbrlist ^p ^p", indent, 167 xptr -> report.brlist.b, xptr -> report.brlist.e); 168 if all_sw & (xptr -> report.brlist.b ^= null ()) 169 then call mrpg_dump_$all ((xptr -> report.brlist.b), indent + 5); 170 call ioa_ (" ^vxpart ^p ^p", indent, 171 xptr -> report.part.b, xptr -> report.part.e); 172 if xptr -> tree.mmddyy then call ioa_ (" ^vxmmddyy", indent); 173 if xptr -> tree.yyddd then call ioa_ (" ^vxyyddd", indent); 174 if xptr -> tree.month then call ioa_ (" ^vxmonth", indent); 175 if xptr -> tree.day then call ioa_ (" ^vxday", indent); 176 if xptr -> tree.hhmmss then call ioa_ (" ^vxhhmmss", indent); 177 if all_sw & (xptr -> report.part.b ^= null ()) 178 then call mrpg_dump_$all ((xptr -> report.part.b), indent + 5); 179 if next_sw 180 then do; 181 xptr = xptr -> report.next; 182 if (xptr ^= null ()) 183 then goto loop; 184 end; 185 return; 186 end; 187 188 if (xptr -> part.type = "RH") 189 | (xptr -> part.type = "PH") 190 | (xptr -> part.type = "DH") 191 | (xptr -> part.type = "DT") 192 | (xptr -> part.type = "DF") 193 | (xptr -> part.type = "PF") 194 | (xptr -> part.type = "RF") 195 then do; 196 call stmt_hdr ("part", xptr, "0"b); 197 call ioa_ (" sym ^p", xptr -> part.sym); 198 if all_sw & (xptr -> part.sym ^= null ()) 199 then call mrpg_dump_$all ((xptr -> part.sym), indent + 5); 200 call ioa_ (" ^vxmaxl ^i", indent, xptr -> part.maxl); 201 call ioa_ (" ^vxctl ^p", indent, xptr -> part.ctl); 202 if all_sw & (xptr -> part.ctl ^= null ()) 203 then call mrpg_dump_$all ((xptr -> part.ctl), indent + 5); 204 call ioa_ (" ^vxlines ^p ^p", indent, 205 xptr -> part.lines.b, xptr -> part.lines.e); 206 if all_sw & (xptr -> part.lines.b ^= null ()) 207 then call mrpg_dump_$all ((xptr -> part.lines.b), indent + 5); 208 if next_sw 209 then do; 210 xptr = xptr -> part.next; 211 if (xptr ^= null ()) 212 then goto loop; 213 end; 214 return; 215 end; 216 217 if (xptr -> lines.type = "LN") 218 then do; 219 call stmt_hdr ("lines", xptr, "0"b); 220 call ioa_ (" number ^i", xptr -> lines.number); 221 call ioa_ (" ^vxctl ^p", indent, xptr -> lines.ctl); 222 if all_sw & (xptr -> lines.ctl ^= null ()) 223 then call mrpg_dump_$all ((xptr -> lines.ctl), indent + 5); 224 call ioa_ (" ^vxfield ^p ^p", indent, 225 xptr -> lines.field.b, xptr -> lines.field.e); 226 if all_sw & (xptr -> lines.field.b ^= null ()) 227 then call mrpg_dump_$all ((xptr -> lines.field.b), indent + 5); 228 if next_sw 229 then do; 230 xptr = xptr -> lines.next; 231 if (xptr ^= null ()) 232 then goto loop; 233 end; 234 return; 235 end; 236 237 if (xptr -> field.type = "FD") 238 then do; 239 call stmt_hdr ("field", xptr, "1"b); 240 call ioa_ (" ^vxvalue ^p ^p", indent, 241 xptr -> field.value.b, xptr -> field.value.e); 242 if all_sw & (xptr -> field.value.b ^= null ()) 243 then call mrpg_dump_$all ((xptr -> field.value.b), indent + 5); 244 call ioa_ (" ^vxlet ^p ^p", indent, 245 xptr -> field.let.b, xptr -> field.let.e); 246 if all_sw & (xptr -> field.let.b ^= null ()) 247 then call mrpg_dump_$all ((xptr -> field.let.b), indent + 5); 248 call ioa_ (" ^vxkind ^a ^i", indent, 249 kind_char (min (xptr -> field.kind, hbound (kind_char, 1))), 250 xptr -> field.kind); 251 call ioa_ (" ^vxalign ^a ^i", indent, 252 kind_char (min (xptr -> field.align, hbound (kind_char, 1))), 253 xptr -> field.align); 254 call ioa_ (" ^vxalch ""^1a""", indent, xptr -> field.alch); 255 call ioa_ (" ^vxbsp ""^1.1b""", indent, xptr -> field.bsp); 256 call ioa_ (" ^vxfill ^i-^i", indent, xptr -> field.fill); 257 call ioa_ (" ^vxcol ^i", indent, xptr -> field.col); 258 call ioa_ (" ^vxleng ^i", indent, xptr -> field.leng); 259 call ioa_ (" ^vxdata ^p", indent, xptr -> field.data); 260 if all_sw & (xptr -> field.data ^= null ()) 261 then call mrpg_dump_$all ((xptr -> field.data), indent + 5); 262 if next_sw 263 then do; 264 xptr = xptr -> field.next; 265 if (xptr ^= null ()) 266 then goto loop; 267 end; 268 return; 269 end; 270 271 if (xptr -> value.type = "VL") 272 | (xptr -> value.type = "FL") 273 | (xptr -> value.type = "SW") 274 | (xptr -> value.type = "AT") 275 then do; 276 call stmt_hdr ("value", xptr, "0"b); 277 call ioa_ (" sym ^p", xptr -> value.sym); 278 if all_sw & (xptr -> value.sym ^= null ()) 279 then call mrpg_dump_$all ((xptr -> value.sym), indent + 5); 280 call ioa_ (" ^vxnumb ^i", indent, xptr -> value.numb); 281 call ioa_ (" ^vxctl ^p", indent, xptr -> value.ctl); 282 if all_sw & (xptr -> value.ctl ^= null ()) 283 then call mrpg_dump_$all ((xptr -> value.ctl), indent + 5); 284 if next_sw 285 then do; 286 xptr = xptr -> value.next; 287 if (xptr ^= null ()) 288 then goto loop; 289 end; 290 return; 291 end; 292 293 if (xptr -> attr.type = "DV") 294 | (xptr -> attr.type = "KY") 295 then do; 296 call stmt_hdr ("attr", xptr, "0"b); 297 call ioa_ (" sym ^p", xptr -> attr.sym); 298 if all_sw & (xptr -> attr.sym ^= null ()) 299 then call mrpg_dump_$all ((xptr -> attr.sym), indent + 5); 300 call ioa_ (" ^vxAD ^.1b^.1b", indent, 301 xptr -> attr.asc, xptr -> attr.des); 302 if next_sw 303 then do; 304 xptr = xptr -> attr.next; 305 if (xptr ^= null ()) 306 then goto loop; 307 end; 308 return; 309 end; 310 311 if (xptr -> param.type = "PM") 312 then do; 313 call stmt_hdr ("param", xptr, "0"b); 314 call ioa_ (" sym ^p", xptr -> param.sym); 315 if all_sw & (xptr -> param.sym ^= null ()) 316 then call mrpg_dump_$all ((xptr -> param.sym), indent + 5); 317 call ioa_ (" ^vxkind ^a ^i", indent, 318 kind_char (min (xptr -> param.kind, hbound (kind_char, 1))), 319 xptr -> param.kind); 320 call ioa_ (" ^vxattr ^p ^p", indent, 321 xptr -> param.attr.b, xptr -> param.attr.e); 322 if all_sw & (xptr -> param.attr.b ^= null ()) 323 then call mrpg_dump_$all ((xptr -> param.attr.b), indent + 5); 324 call ioa_ (" ^vxcheck ^p ^p", indent, 325 xptr -> param.check.b, xptr -> param.check.e); 326 if all_sw & (xptr -> param.check.b ^= null ()) 327 then call mrpg_dump_$all ((xptr -> param.check.b), indent + 5); 328 call ioa_ (" ^vxleng ^i", indent, xptr -> param.leng); 329 if next_sw 330 then do; 331 xptr = xptr -> param.next; 332 if (xptr ^= null ()) 333 then goto loop; 334 end; 335 return; 336 end; 337 338 if (xptr -> stmt.type = "IF") 339 | (xptr -> stmt.type = ":=") 340 | (xptr -> stmt.type = "=:") 341 | (xptr -> stmt.type = "BG") 342 | (xptr -> stmt.type = "PR") 343 | (xptr -> stmt.type = "SR") 344 | (xptr -> stmt.type = "HD") 345 | (xptr -> stmt.type = "SU") 346 | (xptr -> stmt.type = "cP") 347 | (xptr -> stmt.type = "cE") 348 then do; 349 call stmt_hdr ("stmt", xptr, "1"b); 350 call ioa_ (" ^vxref1 ^p ^p", indent, 351 xptr -> stmt.ref1.b, xptr -> stmt.ref1.e); 352 if all_sw & (xptr -> stmt.ref1.b ^= null ()) 353 then call mrpg_dump_$all ((xptr -> stmt.ref1.b), indent + 5); 354 call ioa_ (" ^vxref2 ^p ^p", indent, 355 xptr -> stmt.ref2.b, xptr -> stmt.ref2.e); 356 if all_sw & (xptr -> stmt.ref2.b ^= null ()) 357 then call mrpg_dump_$all ((xptr -> stmt.ref2.b), indent + 5); 358 call ioa_ (" ^vxref3 ^p ^p", indent, 359 xptr -> stmt.ref3.b, xptr -> stmt.ref3.e); 360 if all_sw & (xptr -> stmt.ref3.b ^= null ()) 361 then call mrpg_dump_$all ((xptr -> stmt.ref3.b), indent + 5); 362 if next_sw 363 then do; 364 xptr = xptr -> stmt.next; 365 if (xptr ^= null ()) 366 then goto loop; 367 end; 368 return; 369 end; 370 371 call stmt_hdr ("****", xptr, "1"b); 372 373 stmt_hdr: proc (name, xptr, sw); 374 375 dcl name char (*), 376 xptr ptr unal, 377 sw bit (1); 378 379 call ioa_$nnl ("^p ^vx^8a ""^2a"" ^3i ^i:^i ^p^[^/^]", xptr, 380 indent, name, 381 xptr -> stmt.type, 382 xptr -> stmt.line, 383 xptr -> stmt.bchar, 384 xptr -> stmt.echar, 385 xptr -> stmt.next, sw); 386 387 end; 388 389 dcl text char (4); 390 dcl (next_sw, all_sw) bit (1); 391 dcl ioa_ entry options (variable); 392 dcl ioa_$nnl entry options (variable); 1 1 /* BEGIN INCLUDE FILE ..... rgl_tree.incl.pl1 ..... 12/14/76 J Falksen */ 1 2 1 3 dcl space area based(area_ptr); 1 4 dcl area_ptr ptr; 1 5 1 6 dcl tree_ptr ptr; 1 7 dcl 1 tree based(tree_ptr), 1 8 2 table, /* symbol table */ 1 9 3 (b,e) ptr unal, 1 10 2 parm_pos like tree.table, /* positional parameter dcl */ 1 11 2 ppos_ct fixed bin, 1 12 2 parm_key like tree.table, /* keyword parameter dcl */ 1 13 2 pkey_ct fixed bin, 1 14 2 parm_check like tree.table, /* STOP list, after all parms processed */ 1 15 2 input like tree.table, /* input declaration */ 1 16 2 input_check like tree.table,/* STOP/SKIP list, record level */ 1 17 2 rec_str fixed bin(17)unal, /* -2 STREAM, -1 RECORD, >0 RECORD n */ 1 18 2 res_siz fixed bin(17)unal, /* size of record area to set aside */ 1 19 2 from ptr unal, /* FILE | ATTACH */ 1 20 2 local like tree.table, /* local declaration list */ 1 21 2 report like tree.table, /* report description list */ 1 22 2 phase0 like tree.table, 1 23 2 hold like tree.table, /* hold list */ 1 24 2 exec like tree.table, /* executable list */ 1 25 2 sourcep ptr unal, /* pointer to source segment */ 1 26 2 bits, 1 27 3 mmddyy bit(1)unal, 1 28 3 yyddd bit(1)unal, 1 29 3 month bit(1)unal, 1 30 3 day bit(1)unal, 1 31 3 hhmmss bit(1)unal, 1 32 3 filler bit(31)unal; 1 33 1 34 dcl symtabptr ptr; 1 35 dcl 1 symtab based(symtabptr), 1 36 2 hdr, /* "ID" | "NU" | "ST" */ 1 37 3 type char(2)unal, 1 38 3 fill bit(90)unal, 1 39 3 next ptr unal, 1 40 2 use like tree.table, /* list of usage of this symbol */ 1 41 2 leng fixed bin(24), /* length of data */ 1 42 2 data char(symbol_leng refer(symtab.leng)); /* symbol data */ 1 43 dcl symbol_leng fixed bin(24); 1 44 1 45 dcl daptr ptr; 1 46 dcl 1 datum based(daptr), 1 47 2 hdr like stmt.hdr, /* "DC", "IN" */ 1 48 2 kind fixed bin(17)unal, /* kind of field */ 1 49 2 leng fixed bin(17)unal, 1 50 2 pos fixed bin, /* IN position */ 1 51 2 check like tree.table, /* SKIP/STOP list, field level */ 1 52 2 datal like tree.table; 1 53 1 54 dcl srefptr ptr; 1 55 dcl 1 symref based(srefptr), 1 56 2 hdr like stmt.hdr, /* "SY" */ 1 57 2 kind fixed bin(17)unal; 1 58 1 59 dcl opptr ptr; 1 60 dcl 1 opn based(opptr), 1 61 2 hdr like stmt.hdr, /* "OP" */ 1 62 2 op fixed bin(17)unal, /* operation */ 1 63 2 kind fixed bin(17)unal, 1 64 2 op1 ptr unal, /* first operand */ 1 65 2 op2 ptr unal, /* second operand, if any */ 1 66 2 op3 ptr unal; /* third operand, if any */ 1 67 1 68 dcl headptr ptr; 1 69 dcl 1 head based(headptr), 1 70 2 hdr like stmt.hdr, /* "HD" */ 1 71 2 list like tree.table; 1 72 1 73 dcl repptr ptr; 1 74 dcl 1 report based(repptr), 1 75 2 hdr like stmt.hdr, /* "RP" */ 1 76 2 pw fixed bin(24), /* PAGEWIDTH */ 1 77 2 pl fixed bin(24), /* PAGELENGTH */ 1 78 2 minl fixed bin(24), /* MINLINE */ 1 79 2 maxl fixed bin(24), /* MAXLINE */ 1 80 2 onlist like tree.table, /* ON list */ 1 81 2 brlist like tree.table, /* BREAK list */ 1 82 2 part like tree.table; /* part list */ 1 83 1 84 dcl partptr ptr; 1 85 dcl 1 part based(partptr), 1 86 2 hdr like stmt.hdr, /* "RH", "PH", "DH", "DT", "DF", "PF", "RF" */ 1 87 2 maxl fixed bin, 1 88 2 ctl ptr unal, /* IF */ 1 89 2 lines like tree.table; /* line list */ 1 90 1 91 dcl linptr ptr; 1 92 dcl 1 lines based(linptr), 1 93 2 hdr like stmt.hdr, /* "LN" */ 1 94 2 number fixed bin(17)unal, /* <0 absolute line, >0 relative line */ 1 95 2 ctl ptr unal, /* IF */ 1 96 2 field like tree.table; /* field list */ 1 97 1 98 dcl fldptr ptr; 1 99 dcl 1 field based(fldptr), 1 100 2 hdr like stmt.hdr, /* "FD" */ 1 101 2 value like tree.table, /* value list */ 1 102 2 let like tree.table, /* LET list */ 1 103 2 kind fixed bin(17)unal, /* kind of field */ 1 104 2 align fixed bin(17)unal, /* alignment of field */ 1 105 2 alch char(1)unal, /* align character */ 1 106 2 bsp bit(1)unal, 1 107 2 XXX bit(26)unal, 1 108 2 fill(2) fixed bin(17)unal, /* fill indents */ 1 109 2 col fixed bin(24), /* COLUMN */ 1 110 2 leng fixed bin(24), /* length of field or mask */ 1 111 2 data ptr unal; /* mask */ 1 112 1 113 dcl valptr ptr; 1 114 dcl 1 value based(valptr), 1 115 2 hdr like stmt.hdr, /* "VL", "FL", "SW", "AT" */ 1 116 2 numb fixed bin(24), 1 117 2 ctl ptr unal; /* if control */ 1 118 1 119 dcl atptr ptr; 1 120 dcl 1 attr based(atptr), 1 121 2 hdr like stmt.hdr, /* "DV" | "KY" */ 1 122 2 attr, 1 123 3 asc bit(1)unal, /* ASCending key */ 1 124 3 des bit(1)unal, /* DEScending key */ 1 125 3 fill bit(16)unal; 1 126 1 127 dcl paptr ptr; 1 128 dcl 1 param based(paptr), 1 129 2 hdr like stmt.hdr, /* "PM" */ 1 130 2 kind fixed bin(17)unal, 1 131 2 attr like tree.table, /* attribute (default and keyword) list */ 1 132 2 check like tree.table, /* STOP list, parameter level */ 1 133 2 leng fixed bin(24); 1 134 1 135 dcl stmtptr ptr; 1 136 dcl 1 stmt based(stmtptr), 1 137 2 hdr, /* "IF", ":=" "=:", "PR", "HD", "SR", "SU" */ 1 138 3 type char(2)unal, 1 139 3 line fixed bin(17)unal, /* beginning line number */ 1 140 3 bchar fixed bin(24), /* beginning character in file */ 1 141 3 echar fixed bin(24), /* ending character in file */ 1 142 3 next ptr unal, /* link to next element */ 1 143 3 sym ptr unal, /* pointer to symbol table entry (if any) */ 1 144 3 usage ptr unal, /* pointer to next symbol usage */ 1 145 2 ref1 like tree.table, 1 146 2 ref2 like tree.table, 1 147 2 ref3 like tree.table; 1 148 1 149 dcl Bool fixed bin int static init( 1); 1 150 dcl Char fixed bin int static init( 2); 1 151 dcl Chard fixed bin int static init( 3); 1 152 dcl Integer fixed bin int static init( 4); 1 153 dcl Decimal fixed bin int static init( 5); 1 154 dcl Pic fixed bin int static init( 6); 1 155 dcl Charn fixed bin int static init( 7); 1 156 dcl Edit fixed bin int static init( 14); 1 157 dcl Left fixed bin int static init( 8); 1 158 dcl Center fixed bin int static init( 9); 1 159 dcl Right fixed bin int static init( 10); 1 160 dcl Fill fixed bin int static init( 12); 1 161 dcl Align fixed bin int static init( 11); 1 162 dcl Fold fixed bin int static init( 13); 1 163 dcl Table fixed bin int static init( 15); 1 164 dcl Tablev fixed bin int static init( 16); 1 165 dcl Set fixed bin int static init( 17); 1 166 dcl DecSpec fixed bin int static init( 18); 1 167 dcl Tabled fixed bin int static init( 19); 1 168 1 169 dcl kind_char(0:19) char(16)var int static init( 1 170 "-default-", 1 171 "bit", 1 172 "char", 1 173 "var char", 1 174 "fixed bin", 1 175 "float dec(20)", 1 176 "picture", 1 177 "varying char", 1 178 " LEFT", 1 179 " CENTER", 1 180 " RIGHT", 1 181 " ALIGN", 1 182 " FILL", 1 183 " FOLD", 1 184 " EDIT", 1 185 "TABLE", 1 186 "TABLEV", 1 187 "SET", 1 188 "dec(20)float", 1 189 "TABLED" ); 1 190 1 191 /* operation codes */ 1 192 dcl Add fixed bin int static init(1); 1 193 dcl And fixed bin int static init(2); 1 194 dcl Cat fixed bin int static init(3); 1 195 dcl Div fixed bin int static init(4); 1 196 dcl EQ fixed bin int static init(5); 1 197 dcl GE fixed bin int static init(6); 1 198 dcl GT fixed bin int static init(7); 1 199 dcl LE fixed bin int static init(8); 1 200 dcl LT fixed bin int static init(9); 1 201 dcl Mul fixed bin int static init(10); 1 202 dcl NE fixed bin int static init(11); 1 203 dcl Not fixed bin int static init(12); 1 204 dcl Or fixed bin int static init(13); 1 205 dcl Paren fixed bin int static init(14); 1 206 dcl Rpt fixed bin int static init(15); 1 207 dcl Sub fixed bin int static init(16); 1 208 dcl Func fixed bin int static init(17); 1 209 dcl Pnum fixed bin int static init(18); 1 210 dcl Level fixed bin int static init(19); 1 211 dcl Beg fixed bin int static init(20); 1 212 dcl End fixed bin int static init(21); 1 213 dcl Cont fixed bin int static init(22); 1 214 dcl Nbeg fixed bin int static init(23); 1 215 dcl Nend fixed bin int static init(24); 1 216 dcl Ncont fixed bin int static init(25); 1 217 dcl Begw fixed bin int static init(26); 1 218 dcl Endw fixed bin int static init(27); 1 219 dcl Contw fixed bin int static init(28); 1 220 dcl Nbegw fixed bin int static init(29); 1 221 dcl Nendw fixed bin int static init(30); 1 222 dcl Ncontw fixed bin int static init(31); 1 223 dcl In fixed bin int static init(32); 1 224 dcl Nin fixed bin int static init(33); 1 225 dcl Skip fixed bin int static init(34); 1 226 dcl Stop fixed bin int static init(35); 1 227 dcl n_n fixed bin int static init(36); 1 228 dcl n_s fixed bin int static init(37); 1 229 dcl s_n fixed bin int static init(38); 1 230 dcl s_s fixed bin int static init(39); 1 231 dcl b_c fixed bin int static init(40); 1 232 dcl b_d fixed bin int static init(41); 1 233 dcl c_b fixed bin int static init(42); 1 234 dcl c_d fixed bin int static init(43); 1 235 dcl d_b fixed bin int static init(44); 1 236 dcl d_c fixed bin int static init(45); 1 237 dcl Tran fixed bin int static init(46); 1 238 dcl Substr fixed bin int static init(47); 1 239 dcl If fixed bin int static init(48); 1 240 1 241 dcl op_char(0:48) char(8)var int static init( 1 242 "-BAD-", 1 243 "Add", 1 244 "And", 1 245 "Cat", 1 246 "Div", 1 247 "EQ", 1 248 "GE", 1 249 "GT", 1 250 "LE", 1 251 "LT", 1 252 "Mul", 1 253 "NE", 1 254 "Not", 1 255 "Or", 1 256 "Paren", 1 257 "Rpt", 1 258 "Sub", 1 259 "Func", 1 260 "Pnum", 1 261 "Level", 1 262 "Beg", 1 263 "End", 1 264 "Cont", 1 265 "Nbeg", 1 266 "Nend", 1 267 "Ncont", 1 268 "Begw", 1 269 "Endw", 1 270 "Contw", 1 271 "Nbegw", 1 272 "Nendw", 1 273 "Ncontw", 1 274 "In", 1 275 "Nin", 1 276 "Skip", 1 277 "Stop", 1 278 "n_n", 1 279 "n_s", 1 280 "s_n", 1 281 "s_s", 1 282 "b_c", 1 283 "b_d", 1 284 "c_b", 1 285 "c_d", 1 286 "d_b", 1 287 "d_c", 1 288 "Tran", 1 289 "Substr", 1 290 "If" ); 1 291 1 292 /* END INCLUDE FILE ..... rgl_tree.incl.pl1 ..... */ 393 394 dcl mrpg_dump_$all entry (ptr unal, fixed bin); 395 end; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 02/14/84 0844.1 mrpg_dump_.pl1 >special_ldd>on>6591>mrpg_dump_.pl1 393 1 11/08/83 0855.9 mrpg_tree.incl.pl1 >ldd>include>mrpg_tree.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. alch 13 based char(1) level 2 packed unaligned dcl 1-99 set ref 254* align 12(18) based fixed bin(17,0) level 2 packed unaligned dcl 1-99 set ref 251 251* all_sw 000116 automatic bit(1) unaligned dcl 390 set ref 20* 24* 29* 62 84 93 97 114 135 138 141 156 164 168 177 198 202 206 222 226 242 246 260 278 282 298 315 322 326 352 356 360 asc 6 based bit(1) level 3 packed unaligned dcl 1-120 set ref 300* attr 6(18) based structure level 2 in structure "param" packed unaligned dcl 1-128 in procedure "dump" attr based structure level 1 unaligned dcl 1-120 in procedure "dump" attr 6 based structure level 2 in structure "attr" packed unaligned dcl 1-120 in procedure "dump" b 10 based pointer level 3 in structure "datum" packed unaligned dcl 1-46 in procedure "dump" set ref 91* 93 93 b 6 based pointer level 3 in structure "stmt" packed unaligned dcl 1-136 in procedure "dump" set ref 350* 352 352 b 10 based pointer level 3 in structure "field" packed unaligned dcl 1-99 in procedure "dump" set ref 244* 246 246 b 7(18) based pointer level 3 in structure "lines" packed unaligned dcl 1-92 in procedure "dump" set ref 224* 226 226 b 12 based pointer level 3 in structure "datum" packed unaligned dcl 1-46 in procedure "dump" set ref 95* 97 97 b 10 based pointer level 3 in structure "part" packed unaligned dcl 1-85 in procedure "dump" set ref 204* 206 206 b 12 based pointer level 3 in structure "stmt" packed unaligned dcl 1-136 in procedure "dump" set ref 358* 360 360 b 4 based pointer level 3 in structure "symtab" packed unaligned dcl 1-35 in procedure "dump" set ref 60* 64 b 14 based pointer level 3 in structure "report" packed unaligned dcl 1-74 in procedure "dump" set ref 166* 168 168 b 6(18) based pointer level 3 in structure "param" packed unaligned dcl 1-128 in procedure "dump" set ref 320* 322 322 b 10(18) based pointer level 3 in structure "param" packed unaligned dcl 1-128 in procedure "dump" set ref 324* 326 326 b 16 based pointer level 3 in structure "report" packed unaligned dcl 1-74 in procedure "dump" set ref 170* 177 177 b 10 based pointer level 3 in structure "stmt" packed unaligned dcl 1-136 in procedure "dump" set ref 354* 356 356 b 12 based pointer level 3 in structure "report" packed unaligned dcl 1-74 in procedure "dump" set ref 162* 164 164 b 6 based pointer level 3 in structure "field" packed unaligned dcl 1-99 in procedure "dump" set ref 240* 242 242 bchar 1 based fixed bin(24,0) level 3 dcl 1-136 set ref 379* bits 33 based structure level 2 packed unaligned dcl 1-7 brlist 14 based structure level 2 packed unaligned dcl 1-74 bsp 13(09) based bit(1) level 2 packed unaligned dcl 1-99 set ref 255* check 10(18) based structure level 2 in structure "param" packed unaligned dcl 1-128 in procedure "dump" check 10 based structure level 2 in structure "datum" packed unaligned dcl 1-46 in procedure "dump" check_pointer_$packed 000400 constant entry external dcl 38 ref 45 col 15 based fixed bin(24,0) level 2 dcl 1-99 set ref 257* ctl 6(18) based pointer level 2 in structure "lines" packed unaligned dcl 1-92 in procedure "dump" set ref 221* 222 222 ctl 7 based pointer level 2 in structure "part" packed unaligned dcl 1-85 in procedure "dump" set ref 201* 202 202 ctl 7 based pointer level 2 in structure "value" packed unaligned dcl 1-114 in procedure "dump" set ref 281* 282 282 data 17 based pointer level 2 in structure "field" packed unaligned dcl 1-99 in procedure "dump" set ref 259* 260 260 data 7 based char level 2 in structure "symtab" packed unaligned dcl 1-35 in procedure "dump" set ref 59* datal 12 based structure level 2 packed unaligned dcl 1-46 datum based structure level 1 unaligned dcl 1-46 day 33(03) based bit(1) level 3 packed unaligned dcl 1-7 ref 175 des 6(01) based bit(1) level 3 packed unaligned dcl 1-120 set ref 300* e 13 based pointer level 3 in structure "datum" packed unaligned dcl 1-46 in procedure "dump" set ref 95* e 11 based pointer level 3 in structure "field" packed unaligned dcl 1-99 in procedure "dump" set ref 244* e 7 based pointer level 3 in structure "field" packed unaligned dcl 1-99 in procedure "dump" set ref 240* e 5 based pointer level 3 in structure "symtab" packed unaligned dcl 1-35 in procedure "dump" set ref 60* e 7 based pointer level 3 in structure "stmt" packed unaligned dcl 1-136 in procedure "dump" set ref 350* e 11 based pointer level 3 in structure "datum" packed unaligned dcl 1-46 in procedure "dump" set ref 91* e 17 based pointer level 3 in structure "report" packed unaligned dcl 1-74 in procedure "dump" set ref 170* e 11(18) based pointer level 3 in structure "param" packed unaligned dcl 1-128 in procedure "dump" set ref 324* e 7(18) based pointer level 3 in structure "param" packed unaligned dcl 1-128 in procedure "dump" set ref 320* e 11 based pointer level 3 in structure "part" packed unaligned dcl 1-85 in procedure "dump" set ref 204* e 13 based pointer level 3 in structure "stmt" packed unaligned dcl 1-136 in procedure "dump" set ref 358* e 13 based pointer level 3 in structure "report" packed unaligned dcl 1-74 in procedure "dump" set ref 162* e 15 based pointer level 3 in structure "report" packed unaligned dcl 1-74 in procedure "dump" set ref 166* e 11 based pointer level 3 in structure "stmt" packed unaligned dcl 1-136 in procedure "dump" set ref 354* e 10(18) based pointer level 3 in structure "lines" packed unaligned dcl 1-92 in procedure "dump" set ref 224* echar 2 based fixed bin(24,0) level 3 dcl 1-136 set ref 379* exptr parameter pointer unaligned dcl 33 ref 18 18 23 27 42 field based structure level 1 unaligned dcl 1-99 in procedure "dump" field 7(18) based structure level 2 in structure "lines" packed unaligned dcl 1-92 in procedure "dump" fill 14 based fixed bin(17,0) array level 2 packed unaligned dcl 1-99 set ref 256* hdr based structure level 2 in structure "opn" unaligned dcl 1-60 in procedure "dump" hdr based structure level 2 in structure "value" unaligned dcl 1-114 in procedure "dump" hdr based structure level 2 in structure "report" unaligned dcl 1-74 in procedure "dump" hdr based structure level 2 in structure "stmt" unaligned dcl 1-136 in procedure "dump" hdr based structure level 2 in structure "lines" unaligned dcl 1-92 in procedure "dump" hdr based structure level 2 in structure "symtab" packed unaligned dcl 1-35 in procedure "dump" hdr based structure level 2 in structure "part" unaligned dcl 1-85 in procedure "dump" hdr based structure level 2 in structure "field" unaligned dcl 1-99 in procedure "dump" hdr based structure level 2 in structure "symref" unaligned dcl 1-55 in procedure "dump" hdr based structure level 2 in structure "attr" unaligned dcl 1-120 in procedure "dump" hdr based structure level 2 in structure "param" unaligned dcl 1-128 in procedure "dump" hdr based structure level 2 in structure "datum" unaligned dcl 1-46 in procedure "dump" hhmmss 33(04) based bit(1) level 3 packed unaligned dcl 1-7 ref 176 indent parameter fixed bin(17,0) dcl 35 set ref 18 18 23 27 60* 63* 63 75* 75 84 86* 89* 90* 91* 93 95* 97 112* 114 116* 129* 132* 134* 135 137* 138 140* 141 156 158* 159* 160* 161* 162* 164 166* 168 170* 172* 173* 174* 175* 176* 177 198 200* 201* 202 204* 206 221* 222 224* 226 240* 242 244* 246 248* 251* 254* 255* 256* 257* 258* 259* 260 278 280* 281* 282 298 300* 315 317* 320* 322 324* 326 328* 350* 352 354* 356 358* 360 379* ioa_ 000402 constant entry external dcl 391 ref 49 59 60 68 72 83 86 89 90 91 95 111 112 116 129 132 134 137 140 155 158 159 160 161 162 166 170 172 173 174 175 176 197 200 201 204 220 221 224 240 244 248 251 254 255 256 257 258 259 277 280 281 297 300 314 317 320 324 328 350 354 358 ioa_$nnl 000404 constant entry external dcl 392 ref 379 jptr 000102 automatic pointer dcl 34 set ref 64* 64* 67 68 69 71 72* 74 kind 6 based fixed bin(17,0) level 2 in structure "symref" packed unaligned dcl 1-55 in procedure "dump" set ref 112 112* kind 6(18) based fixed bin(17,0) level 2 in structure "opn" packed unaligned dcl 1-60 in procedure "dump" set ref 132 132* kind 6 based fixed bin(17,0) level 2 in structure "datum" packed unaligned dcl 1-46 in procedure "dump" set ref 86 86* kind 12 based fixed bin(17,0) level 2 in structure "field" packed unaligned dcl 1-99 in procedure "dump" set ref 248 248* kind 6 based fixed bin(17,0) level 2 in structure "param" packed unaligned dcl 1-128 in procedure "dump" set ref 317 317* kind_char 000010 internal static varying char(16) initial array dcl 1-169 set ref 86 86* 112* 132* 248 248* 251 251* 317 317* leng 16 based fixed bin(24,0) level 2 in structure "field" dcl 1-99 in procedure "dump" set ref 258* leng 6 based fixed bin(24,0) level 2 in structure "symtab" dcl 1-35 in procedure "dump" set ref 59* 59 59 leng 6(18) based fixed bin(17,0) level 2 in structure "datum" packed unaligned dcl 1-46 in procedure "dump" set ref 89* leng 13 based fixed bin(24,0) level 2 in structure "param" dcl 1-128 in procedure "dump" set ref 328* let 10 based structure level 2 packed unaligned dcl 1-99 line 0(18) based fixed bin(17,0) level 3 packed unaligned dcl 1-136 set ref 379* lines 10 based structure level 2 in structure "part" packed unaligned dcl 1-85 in procedure "dump" lines based structure level 1 unaligned dcl 1-92 in procedure "dump" maxl 6 based fixed bin(17,0) level 2 in structure "part" dcl 1-85 in procedure "dump" set ref 200* maxl 11 based fixed bin(24,0) level 2 in structure "report" dcl 1-74 in procedure "dump" set ref 161* minl 10 based fixed bin(24,0) level 2 dcl 1-74 set ref 160* mmddyy 33 based bit(1) level 3 packed unaligned dcl 1-7 ref 172 month 33(02) based bit(1) level 3 packed unaligned dcl 1-7 ref 174 mrpg_dump_$all 000406 constant entry external dcl 394 ref 84 93 97 114 135 138 141 156 164 168 177 198 202 206 222 226 242 246 260 278 282 298 315 322 326 352 356 360 mssg 000104 automatic char(32) unaligned dcl 37 set ref 45* 47 49* name parameter char unaligned dcl 375 set ref 373 379* next 3 based pointer level 3 in structure "part" packed unaligned dcl 1-85 in procedure "dump" ref 210 next 3 based pointer level 3 in structure "datum" packed unaligned dcl 1-46 in procedure "dump" ref 101 next 3 based pointer level 3 in structure "lines" packed unaligned dcl 1-92 in procedure "dump" ref 230 next 3 based pointer level 3 in structure "param" packed unaligned dcl 1-128 in procedure "dump" ref 331 next 3 based pointer level 3 in structure "value" packed unaligned dcl 1-114 in procedure "dump" ref 286 next 3 based pointer level 3 in structure "symref" packed unaligned dcl 1-55 in procedure "dump" ref 119 next 3 based pointer level 3 in structure "field" packed unaligned dcl 1-99 in procedure "dump" ref 264 next 3 based pointer level 3 in structure "stmt" packed unaligned dcl 1-136 in procedure "dump" set ref 364 379* next 3 based pointer level 3 in structure "attr" packed unaligned dcl 1-120 in procedure "dump" ref 304 next 3 based pointer level 3 in structure "report" packed unaligned dcl 1-74 in procedure "dump" ref 181 next 3 based pointer level 3 in structure "opn" packed unaligned dcl 1-60 in procedure "dump" ref 145 next_sw 000115 automatic bit(1) unaligned dcl 390 set ref 20* 24* 28* 62 99 117 143 179 208 228 262 284 302 329 362 numb 6 based fixed bin(24,0) level 2 dcl 1-114 set ref 280* number 6 based fixed bin(17,0) level 2 packed unaligned dcl 1-92 set ref 220* onlist 12 based structure level 2 packed unaligned dcl 1-74 op 6 based fixed bin(17,0) level 2 packed unaligned dcl 1-60 set ref 129 129* op1 7 based pointer level 2 packed unaligned dcl 1-60 set ref 134* 135 135 op2 10 based pointer level 2 packed unaligned dcl 1-60 set ref 137* 138 138 op3 11 based pointer level 2 packed unaligned dcl 1-60 set ref 140* 141 141 op_char 000154 internal static varying char(8) initial array dcl 1-241 set ref 129 129* opn based structure level 1 unaligned dcl 1-60 param based structure level 1 unaligned dcl 1-128 part based structure level 1 unaligned dcl 1-85 in procedure "dump" part 16 based structure level 2 in structure "report" packed unaligned dcl 1-74 in procedure "dump" pl 7 based fixed bin(24,0) level 2 dcl 1-74 set ref 159* pos 7 based fixed bin(17,0) level 2 dcl 1-46 set ref 90* pw 6 based fixed bin(24,0) level 2 dcl 1-74 set ref 158* ref1 6 based structure level 2 packed unaligned dcl 1-136 ref2 10 based structure level 2 packed unaligned dcl 1-136 ref3 12 based structure level 2 packed unaligned dcl 1-136 report based structure level 1 unaligned dcl 1-74 stmt based structure level 1 unaligned dcl 1-136 sw parameter bit(1) unaligned dcl 375 set ref 373 379* sym 4 based pointer level 3 in structure "attr" packed unaligned dcl 1-120 in procedure "dump" set ref 297* 298 298 sym 4 based pointer level 3 in structure "value" packed unaligned dcl 1-114 in procedure "dump" set ref 277* 278 278 sym 4 based pointer level 3 in structure "param" packed unaligned dcl 1-128 in procedure "dump" set ref 314* 315 315 sym 4 based pointer level 3 in structure "symref" packed unaligned dcl 1-55 in procedure "dump" set ref 111* 114 114 sym 4 based pointer level 3 in structure "datum" packed unaligned dcl 1-46 in procedure "dump" set ref 68* 71* 72 72* 83* 84 84 sym 4 based pointer level 3 in structure "report" packed unaligned dcl 1-74 in procedure "dump" set ref 155* 156 156 sym 4 based pointer level 3 in structure "part" packed unaligned dcl 1-85 in procedure "dump" set ref 197* 198 198 symref based structure level 1 unaligned dcl 1-55 symtab based structure level 1 unaligned dcl 1-35 table based structure level 2 packed unaligned dcl 1-7 text 000114 automatic char(4) unaligned dcl 389 set ref 44* 49* 52* tree based structure level 1 unaligned dcl 1-7 type based char(2) level 3 in structure "param" packed unaligned dcl 1-128 in procedure "dump" ref 311 type based char(2) level 3 in structure "symtab" packed unaligned dcl 1-35 in procedure "dump" ref 54 54 54 62 type based char(2) level 3 in structure "symref" packed unaligned dcl 1-55 in procedure "dump" ref 108 type based char(2) level 3 in structure "attr" packed unaligned dcl 1-120 in procedure "dump" ref 293 293 type based char(2) level 3 in structure "field" packed unaligned dcl 1-99 in procedure "dump" ref 237 type based char(2) level 3 in structure "report" packed unaligned dcl 1-74 in procedure "dump" ref 152 type based char(2) level 3 in structure "stmt" packed unaligned dcl 1-136 in procedure "dump" set ref 338 338 338 338 338 338 338 338 338 338 379* type based char(2) level 3 in structure "part" packed unaligned dcl 1-85 in procedure "dump" ref 188 188 188 188 188 188 188 type based char(2) level 3 in structure "value" packed unaligned dcl 1-114 in procedure "dump" ref 271 271 271 271 type based char(2) level 3 in structure "lines" packed unaligned dcl 1-92 in procedure "dump" ref 217 type based char(2) level 3 in structure "datum" packed unaligned dcl 1-46 in procedure "dump" ref 69 79 79 type based char(2) level 3 in structure "opn" packed unaligned dcl 1-60 in procedure "dump" ref 126 usage 5 based pointer level 3 in structure "symref" packed unaligned dcl 1-55 in procedure "dump" set ref 116* usage 5 based pointer level 3 in structure "datum" packed unaligned dcl 1-46 in procedure "dump" ref 74 use 4 based structure level 2 packed unaligned dcl 1-35 value based structure level 1 unaligned dcl 1-114 in procedure "dump" value 6 based structure level 2 in structure "field" packed unaligned dcl 1-99 in procedure "dump" xptr parameter pointer unaligned dcl 375 in procedure "stmt_hdr" set ref 373 379* 379 379 379 379 379 xptr 000100 automatic pointer unaligned dcl 33 in procedure "dump" set ref 42* 45 45 49* 49 49 54 54 54 58* 59 59 60 60 62 64 79 79 82* 83 84 84 86 86 89 90 91 91 93 93 95 95 97 97 101* 101 102 108 110* 111 112 112 114 114 116 119* 119 120 126 128* 129 129 132 132 134 135 135 137 138 138 140 141 141 145* 145 146 152 154* 155 156 156 158 159 160 161 162 162 164 164 166 166 168 168 170 170 172 173 174 175 176 177 177 181* 181 182 188 188 188 188 188 188 188 196* 197 198 198 200 201 202 202 204 204 206 206 210* 210 211 217 219* 220 221 222 222 224 224 226 226 230* 230 231 237 239* 240 240 242 242 244 244 246 246 248 248 251 251 254 255 256 257 258 259 260 260 264* 264 265 271 271 271 271 276* 277 278 278 280 281 282 282 286* 286 287 293 293 296* 297 298 298 300 300 304* 304 305 311 313* 314 315 315 317 317 320 320 322 322 324 324 326 326 328 331* 331 332 338 338 338 338 338 338 338 338 338 338 349* 350 350 352 352 354 354 356 356 358 358 360 360 364* 364 365 371* yyddd 33(01) based bit(1) level 3 packed unaligned dcl 1-7 ref 173 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. Add internal static fixed bin(17,0) initial dcl 1-192 Align internal static fixed bin(17,0) initial dcl 1-161 And internal static fixed bin(17,0) initial dcl 1-193 Beg internal static fixed bin(17,0) initial dcl 1-211 Begw internal static fixed bin(17,0) initial dcl 1-217 Bool internal static fixed bin(17,0) initial dcl 1-149 Cat internal static fixed bin(17,0) initial dcl 1-194 Center internal static fixed bin(17,0) initial dcl 1-158 Char internal static fixed bin(17,0) initial dcl 1-150 Chard internal static fixed bin(17,0) initial dcl 1-151 Charn internal static fixed bin(17,0) initial dcl 1-155 Cont internal static fixed bin(17,0) initial dcl 1-213 Contw internal static fixed bin(17,0) initial dcl 1-219 DecSpec internal static fixed bin(17,0) initial dcl 1-166 Decimal internal static fixed bin(17,0) initial dcl 1-153 Div internal static fixed bin(17,0) initial dcl 1-195 EQ internal static fixed bin(17,0) initial dcl 1-196 Edit internal static fixed bin(17,0) initial dcl 1-156 End internal static fixed bin(17,0) initial dcl 1-212 Endw internal static fixed bin(17,0) initial dcl 1-218 Fill internal static fixed bin(17,0) initial dcl 1-160 Fold internal static fixed bin(17,0) initial dcl 1-162 Func internal static fixed bin(17,0) initial dcl 1-208 GE internal static fixed bin(17,0) initial dcl 1-197 GT internal static fixed bin(17,0) initial dcl 1-198 If internal static fixed bin(17,0) initial dcl 1-239 In internal static fixed bin(17,0) initial dcl 1-223 Integer internal static fixed bin(17,0) initial dcl 1-152 LE internal static fixed bin(17,0) initial dcl 1-199 LT internal static fixed bin(17,0) initial dcl 1-200 Left internal static fixed bin(17,0) initial dcl 1-157 Level internal static fixed bin(17,0) initial dcl 1-210 Mul internal static fixed bin(17,0) initial dcl 1-201 NE internal static fixed bin(17,0) initial dcl 1-202 Nbeg internal static fixed bin(17,0) initial dcl 1-214 Nbegw internal static fixed bin(17,0) initial dcl 1-220 Ncont internal static fixed bin(17,0) initial dcl 1-216 Ncontw internal static fixed bin(17,0) initial dcl 1-222 Nend internal static fixed bin(17,0) initial dcl 1-215 Nendw internal static fixed bin(17,0) initial dcl 1-221 Nin internal static fixed bin(17,0) initial dcl 1-224 Not internal static fixed bin(17,0) initial dcl 1-203 Or internal static fixed bin(17,0) initial dcl 1-204 Paren internal static fixed bin(17,0) initial dcl 1-205 Pic internal static fixed bin(17,0) initial dcl 1-154 Pnum internal static fixed bin(17,0) initial dcl 1-209 Right internal static fixed bin(17,0) initial dcl 1-159 Rpt internal static fixed bin(17,0) initial dcl 1-206 Set internal static fixed bin(17,0) initial dcl 1-165 Skip internal static fixed bin(17,0) initial dcl 1-225 Stop internal static fixed bin(17,0) initial dcl 1-226 Sub internal static fixed bin(17,0) initial dcl 1-207 Substr internal static fixed bin(17,0) initial dcl 1-238 Table internal static fixed bin(17,0) initial dcl 1-163 Tabled internal static fixed bin(17,0) initial dcl 1-167 Tablev internal static fixed bin(17,0) initial dcl 1-164 Tran internal static fixed bin(17,0) initial dcl 1-237 area_ptr automatic pointer dcl 1-4 atptr automatic pointer dcl 1-119 b_c internal static fixed bin(17,0) initial dcl 1-231 b_d internal static fixed bin(17,0) initial dcl 1-232 c_b internal static fixed bin(17,0) initial dcl 1-233 c_d internal static fixed bin(17,0) initial dcl 1-234 d_b internal static fixed bin(17,0) initial dcl 1-235 d_c internal static fixed bin(17,0) initial dcl 1-236 daptr automatic pointer dcl 1-45 fldptr automatic pointer dcl 1-98 head based structure level 1 unaligned dcl 1-69 headptr automatic pointer dcl 1-68 linptr automatic pointer dcl 1-91 n_n internal static fixed bin(17,0) initial dcl 1-227 n_s internal static fixed bin(17,0) initial dcl 1-228 opptr automatic pointer dcl 1-59 paptr automatic pointer dcl 1-127 partptr automatic pointer dcl 1-84 repptr automatic pointer dcl 1-73 s_n internal static fixed bin(17,0) initial dcl 1-229 s_s internal static fixed bin(17,0) initial dcl 1-230 space based area(1024) dcl 1-3 srefptr automatic pointer dcl 1-54 stmtptr automatic pointer dcl 1-135 symbol_leng automatic fixed bin(24,0) dcl 1-43 symtabptr automatic pointer dcl 1-34 tree_ptr automatic pointer dcl 1-6 valptr automatic pointer dcl 1-113 NAMES DECLARED BY EXPLICIT CONTEXT. all 000407 constant entry external dcl 23 dump 000365 constant entry external dcl 18 list 000422 constant entry external dcl 27 loop 000445 constant label dcl 45 ref 102 120 146 182 211 231 265 287 305 332 365 mrpg_dump_ 000375 constant entry external dcl 18 start 000433 constant label dcl 42 ref 21 25 30 stmt_hdr 005426 constant entry internal dcl 373 ref 58 67 71 82 110 128 154 196 219 239 276 296 313 349 371 NAMES DECLARED BY CONTEXT OR IMPLICATION. addr builtin function ref 45 45 hbound builtin function ref 86 129 248 251 317 min builtin function ref 86 129 248 251 317 null builtin function ref 64 84 93 97 102 114 120 135 138 141 146 156 164 168 177 182 198 202 206 211 222 226 231 242 246 260 265 278 282 287 298 305 315 322 326 332 352 356 360 365 unspec builtin function ref 49 49 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 6020 6430 5730 6030 Length 6714 5730 410 247 67 370 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME dump 174 external procedure is an external procedure. stmt_hdr internal procedure shares stack frame of external procedure dump. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 kind_char dump 000154 op_char dump STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME dump 000100 xptr dump 000102 jptr dump 000104 mssg dump 000114 text dump 000115 next_sw dump 000116 all_sw dump THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. check_pointer_$packed ioa_ ioa_$nnl mrpg_dump_$all NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 18 000361 20 000402 21 000404 23 000405 24 000414 25 000417 27 000420 28 000427 29 000431 30 000432 42 000433 44 000443 45 000445 47 000460 49 000464 50 000525 52 000526 54 000530 58 000543 59 000552 60 000603 62 000637 63 000650 64 000653 67 000662 68 000673 69 000716 71 000722 72 000747 74 000773 75 000777 77 001002 79 001003 82 001012 83 001021 84 001044 86 001071 89 001134 90 001165 91 001214 93 001250 95 001275 97 001331 99 001356 101 001360 102 001363 105 001365 108 001366 110 001372 111 001401 112 001424 114 001464 116 001511 117 001540 119 001542 120 001545 123 001547 126 001550 128 001554 129 001563 132 001625 134 001670 135 001717 137 001744 138 001774 140 002021 141 002050 143 002075 145 002077 146 002102 149 002104 152 002105 154 002111 155 002120 156 002143 158 002170 159 002220 160 002247 161 002277 162 002326 164 002357 166 002404 168 002440 170 002465 172 002521 173 002551 174 002600 175 002626 176 002655 177 002705 179 002732 181 002734 182 002737 185 002741 188 002742 196 002763 197 002772 198 003015 200 003042 201 003070 202 003120 204 003145 206 003176 208 003223 210 003225 211 003230 214 003232 217 003233 219 003237 220 003246 221 003270 222 003322 224 003353 226 003412 228 003443 230 003445 231 003450 234 003452 237 003453 239 003457 240 003466 242 003517 244 003544 246 003600 248 003625 251 003670 254 003736 255 003767 256 004022 257 004053 258 004102 259 004131 260 004161 262 004206 264 004210 265 004213 268 004215 271 004216 276 004231 277 004240 278 004263 280 004310 281 004337 282 004367 284 004414 286 004416 287 004421 290 004423 293 004424 296 004433 297 004442 298 004465 300 004512 302 004550 304 004552 305 004555 308 004557 311 004560 313 004564 314 004573 315 004616 317 004643 320 004706 322 004745 324 004776 326 005035 328 005066 329 005115 331 005117 332 005122 335 005124 338 005125 349 005154 350 005163 352 005217 354 005244 356 005300 358 005325 360 005361 362 005406 364 005410 365 005413 368 005415 371 005416 395 005425 373 005426 379 005437 387 005527 ----------------------------------------------------------- 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