COMPILATION LISTING OF SEGMENT list_frame_args_ Compiled by: Multics PL/I Compiler, Release 33e, of October 6, 1992 Compiled at: CGI Compiled on: 2000-04-17_1939.34_Mon_mdt Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* * Copyright (c) 1972 by Massachusetts Institute of * 6* * Technology and Honeywell Information Systems, Inc. * 7* * * 8* *********************************************************** */ 9 10 11 12 13 14 /****^ HISTORY COMMENTS: 15* 1) change(86-09-08,DGHowe), approve(86-09-08,MCR7524), 16* audit(86-09-16,Ginter), install(86-09-24,MR12.0-1158): 17* check for command_name_arglist mbz and pad1 = "0"b and print out the 18* command name if it is available. 19* END HISTORY COMMENTS */ 20 21 22 /* format: style3,^indnoniterdo */ 23 list_frame_args_: 24 proc (framep, ss); 25 26 /* This program is an adaptation of Steve Webber's list_arg_ routine from db, 27* for use by trace_stack_. */ 28 /* rewritten 8/10/81 by Melanie Weaver to use arithmetic_to_ascii_ */ 29 /* Changed to print "(no type information)" if Pascal & if no descriptors 10/18/83 S. Herbst */ 30 /* Modified Aug 7, 1986 by Doug Zwick to fix bug introduced by the command 31* processor argument changes installed for C (MCR 7375). Add functionality 32* to display the command name field if supplied in the arg list, and to 33* display the value of the argument list pointer. Also changed to use 34* arg_list.incl.pl1 so that peruse_crossref will show this module as using 35* the argument list. */ 36 37 dcl framep ptr, 38 ss char (32) aligned; 39 40 dcl (addr, addrel, hbound, lbound, min, null, substr, fixed, bin, max, verify, unspec) 41 builtin; 42 43 dcl argp ptr; 44 dcl ss_ptr ptr; 45 dcl ap ptr; /* ptr to arglist. */ 46 dcl strp ptr; 47 dcl tp ptr; 48 dcl xdesc (64) ptr; 49 50 dcl (i, j, k) fixed bin; 51 dcl (min_arg, max_arg, type, xtype) 52 fixed bin; 53 dcl (no_args, no_desc, strl, ndims, scale) 54 fixed bin; 55 dcl (xstrl, xndims, xscale, xnargs) 56 fixed bin; 57 dcl ec fixed bin (35); 58 59 dcl c75 char (75) aligned; 60 dcl (ttype, xttype) char (24); 61 dcl ascii_representation 62 char (132) varying; 63 64 dcl (packed, xpacked) bit (1) aligned; 65 dcl begin_block_entries (2) bit (36) aligned internal static options (constant) 66 init ("000614272100"b3 /* tsp2 pr0|614 */, "001376272100"b3 /* tsp2 pr0|1376 */); 67 68 dcl 1 its_ptr aligned like its; 69 70 dcl condition_ entry (char (*), entry); 71 dcl get_entry_arg_descs_ 72 entry (ptr, fixed bin, (*) ptr, fixed bin (35)); 73 dcl decode_descriptor_ entry (ptr, fixed bin, fixed bin, bit (1) aligned, fixed bin, fixed bin, fixed bin); 74 dcl interpret_ptr_ entry (ptr, ptr, ptr); 75 dcl ioa_$ioa_stream entry options (variable); 76 dcl ioa_$ioa_stream_nnl entry options (variable); 77 dcl ioa_$rsnnl entry options (variable); 78 dcl arithmetic_to_ascii_ 79 entry (ptr, fixed bin, bit (1) aligned, fixed bin, fixed bin, char (132) varying); 80 dcl iox_$look_iocb entry (char (*), ptr, fixed bin (35)); 81 dcl display_file_value_ entry (ptr, file, fixed bin (35)); 82 83 dcl itsptr ptr based aligned; 84 dcl packptr ptr based unaligned; 85 dcl fword (4) fixed bin (35) based (argp); 86 dcl bcs char (100) based (argp); 87 dcl char_string char (strl) based (argp); 88 dcl based_bit bit (36) aligned based; 89 dcl bit_string bit (strl) based (argp); 90 dcl based_file file based; 91 92 93 dcl 1 label_variable based (argp) aligned, 94 2 ptr ptr, 95 2 stack ptr; 96 97 dcl 1 arglist aligned like command_name_arglist based (ap); 98 99 100 dcl LEGAL char (96) int static 101 init 102 /* Printables except PAD, but with BS */ ( 103 " !""#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~" 104 ); 105 106 /* ====================================================================== */ 107 108 sp = framep; /* Copy argument. */ 109 unspec (ap), unspec (its_ptr) = unspec (stack_frame.arg_ptr); 110 /* Extract argument ptr. */ 111 if its_ptr.its_mod ^= ITS_MODIFIER /* use valid pl1 code */ 112 then go to badap; 113 if ap = null 114 then do; 115 badap: 116 if addr (sp -> stack_frame.entry_ptr) -> its.its_mod = ITS_MODIFIER 117 then if sp -> stack_frame.entry_ptr ^= null 118 then do j = 1 to hbound (begin_block_entries, 1); 119 if addrel (sp -> stack_frame.entry_ptr, 1) -> based_bit = begin_block_entries (j) 120 then do; 121 call ioa_$ioa_stream (ss, "^-Begin block; no arguments."); 122 return; 123 end; 124 end; 125 call ioa_$ioa_stream (ss, "^-Bad argument pointer."); 126 return; 127 end; 128 strp = addr (strbuf); 129 no_args = fixed (arglist.arg_count); /* get the number of arguments */ 130 no_desc = fixed (arglist.desc_count); /* and the number of descriptors */ 131 if arglist.mbz ^= "0"b 132 then go to badah; 133 if arglist.call_type ^= 4 134 then if arglist.call_type ^= 8 135 then go to badah; 136 if no_desc ^= 0 137 then if no_desc ^= no_args 138 then do; 139 badah: 140 call ioa_$ioa_stream (ss, "^-Argument list header invalid."); 141 return; 142 end; 143 144 call ioa_$ioa_stream (ss, " Argument list pointer: ^p", ap); 145 146 147 /* The command processor will fill in the command name field with 148* the name by which the command was invoked. Its there so we 149* might as well display it. */ 150 151 if arglist.has_command_name then 152 call ioa_$ioa_stream (ss, "^-Command name: ^a", 153 substr (arglist.command_name_ptr -> char_string, 1, 154 arglist.command_name_length)); 155 156 157 call get_entry_arg_descs_ (stack_frame.entry_ptr, xnargs, xdesc, ec); 158 159 if xnargs > 0 160 then /* Many programs like commands fetch args thru cu_ */ 161 if xnargs ^= no_args 162 then /* .. and so we special-case that. */ 163 call ioa_$ioa_stream (ss, "^-Warning: ^d arguments expected, ^d supplied.", xnargs, no_args); 164 if no_args = 0 165 then do; /* check for no arguments */ 166 call ioa_$ioa_stream (ss, "^-No arguments."); 167 return; 168 end; 169 if no_args > 64 170 then do; 171 call ioa_$ioa_stream (ss, "^-Only first 64 args of ^d will be listed.", no_args); 172 no_args = 64; 173 if xnargs > 64 174 then xnargs = 64; 175 if no_desc ^= 0 176 then no_desc = 64; 177 end; 178 min_arg = 1; /* print out all arguments */ 179 max_arg = no_args; 180 181 call condition_ ("any_other", intproc); 182 183 do j = min_arg to max_arg; /* loop through the desired number of args */ 184 argp = arglist.arg_ptrs (j); /* get pointer to the argument */ 185 if no_desc ^= 0 186 then do; /* if we have descriptors, look at them */ 187 call decode_descriptor_ (ap, j, type, packed, ndims, strl, scale); 188 if xnargs >= j 189 then /* Does procedure expect arguments? */ 190 if xdesc (j) ^= null 191 then do; /* Yes. Do we know what this arg shd be? */ 192 call decode_descriptor_ (xdesc (j), 0, xtype, xpacked, xndims, xstrl, xscale); 193 if xtype ^= type 194 then do; 195 if type >= lbound (data_type_info_$info, 1) & type <= hbound (data_type_info_$info, 1) 196 then ttype = substr(type_name (type),1,24); 197 else call ioa_$rsnnl ("type ^d", ttype, k, type); 198 if xtype >= lbound (data_type_info_$info, 1) 199 & xtype <= hbound (data_type_info_$info, 1) 200 then xttype = substr(type_name (xtype),1,24); 201 else call ioa_$rsnnl ("type ^d", xttype, k, xtype); 202 call ioa_$ioa_stream (ss, "^-Warning: arg ^d type mismatch: ^a supplied, ^a expected.", 203 j, ttype, xttype); 204 end; 205 if xpacked ^= packed /* Check that packed attributes match */ 206 then call ioa_$ioa_stream (ss, 207 "^-Warning: arg ^d packed mismatch: ^d supplied, ^d expected.", j, 208 bin (packed, 35), bin (xpacked, 35)); 209 if xndims ^= ndims 210 then call ioa_$ioa_stream (ss, 211 "^-Warning: arg ^d ndims mismatch: ^d supplied, ^d expected.", j, ndims, xndims); 212 if xstrl ^= strl 213 then if xtype < pointer_dtype 214 then call ioa_$ioa_stream (ss, 215 "^-Warning: arg ^d precision mismatch: ^d supplied, ^d expected.", j, strl, 216 xstrl); 217 else if xstrl ^= 16777215 218 then /* No fuss abt char (*) */ 219 call ioa_$ioa_stream (ss, 220 "^-Warning: arg ^d length mismatch: ^d supplied, ^d expected.", j, strl, 221 xstrl); 222 if xscale ^= scale 223 then call ioa_$ioa_stream (ss, 224 "^-Warning: arg ^d scale mismatch: ^d supplied, ^d expected.", j, scale, xscale); 225 end; 226 end; 227 else if xnargs >= j 228 then do; /* Callee might have descriptors for args. */ 229 if xdesc (j) = null 230 then go to guess; /* .. and then again he might not. */ 231 call decode_descriptor_ (xdesc (j), 0, type, packed, ndims, strl, scale); 232 end; 233 else if stack_frame.translator_id = "000010"b3 then type = -1; /* Pascal frame */ 234 else do; /* try to find out what type by heuristics */ 235 guess: 236 packed = "0"b; 237 scale = 0; 238 ndims = 0; 239 if argp -> its.its_mod = ITS_MODIFIER 240 then type = pointer_dtype; /* assume pointer */ 241 else do; 242 strl = verify (bcs, LEGAL) - 1; /* Scan for last legal char in string. */ 243 if strl < 0 244 then strl = 100; /* If all legal, print first 100. */ 245 if strl >= 2 246 then type = char_dtype; 247 else type = -1; /* full word octal */ 248 end; 249 end; 250 251 if type = -1 252 then do; 253 call ioa_$ioa_stream (ss, "^-ARG ^2d: ^w (no type information)", j, fword (1)); 254 /* no descriptor; print full word octal */ 255 go to skiparg; 256 end; 257 258 else if type < lbound (data_type_info_$info, 1) | type > hbound (data_type_info_$info, 1) 259 then call ioa_$ioa_stream (ss, "^-ARG ^2d: (bad type ^d at ^p) ^w", j, type, argp, fword (1)); 260 261 else if data_type_info_$info (type).arithmetic 262 then do; 263 call arithmetic_to_ascii_ (argp, type, packed, strl, scale, ascii_representation); 264 call ioa_$ioa_stream (ss, "^-ARG ^2d: ^a", j, ascii_representation); 265 end; 266 267 else if type = pointer_dtype 268 then do; /* Pointer */ 269 if packed 270 then do; /* packed ptr */ 271 tp = argp -> packptr; 272 go to pptr; 273 end; 274 if argp -> its.its_mod = ITS_MODIFIER 275 then do; 276 tp = argp -> itsptr; 277 pptr: 278 call interpret_ptr_ (tp, null, strp); 279 call ioa_$ioa_stream (ss, "^-ARG ^2d: ^p ^a^a|^a ^a", j, tp, struc.segment, struc.entryn, 280 struc.offset, struc.comment); 281 end; 282 else call ioa_$ioa_stream (ss, "^-ARG ^2d: ^w ^w", j, fword (1), fword (2)); 283 end; 284 285 else if type = offset_dtype /* Offset */ 286 then call ioa_$ioa_stream (ss, "^-ARG ^2d: ^w", j, fword (1)); 287 288 else if type = label_dtype | type = entry_dtype 289 /* Label, Entry */ 290 then do; 291 call interpret_ptr_ (argp -> label_variable.ptr, argp -> label_variable.stack, strp); 292 call ioa_$ioa_stream (ss, "^-ARG ^2d: ^p, ^p ^a^a|^a ^a", j, label_variable.ptr, label_variable.stack, 293 struc.segment, struc.entryn, struc.offset, struc.comment); 294 end; 295 296 else if type = bit_dtype | type = varying_bit_dtype 297 /* Bit string */ 298 then do; 299 if type = varying_bit_dtype 300 then strl = addrel (argp, -1) -> fword (1); 301 c75 = """"; /* initial quote */ 302 k = 0; /* count 1-bits */ 303 do i = 1 to min (strl, 72); 304 if substr (bit_string, i, 1) 305 then do; 306 k = k + 1; 307 substr (c75, i + 1, 1) = "1"; 308 end; 309 else substr (c75, i + 1, 1) = "0"; 310 end; 311 substr (c75, i + 1, 2) = """b"; 312 if (strl <= 72 & strl > 1) 313 then /* Maybe compress representation */ 314 if k = 0 315 then call ioa_$rsnnl ("(^d)""0""b", c75, k, strl); 316 else if k = strl 317 then call ioa_$rsnnl ("(^d)""1""b", c75, k, strl); 318 call ioa_$ioa_stream (ss, "^-ARG ^2d: ^a", j, c75); 319 end; 320 321 else if type = char_dtype | type = varying_char_dtype 322 /* Character string */ 323 then do; 324 if type = varying_char_dtype 325 then strl = min (80, max (addrel (argp, -1) -> fword (1), 0)); 326 call ioa_$ioa_stream (ss, "^-ARG ^2d: ""^va""", j, strl, char_string); 327 end; 328 329 else if type = file_dtype /* File */ 330 then do; 331 call ioa_$ioa_stream_nnl (ss, "^-ARG ^2d: ", j); 332 call iox_$look_iocb ((ss), ss_ptr, ec); 333 if ec = 0 334 then call display_file_value_ (ss_ptr, argp -> based_file, ec); 335 if ec ^= 0 336 then call ioa_$ioa_stream (ss, "(file at ^p)", argp); 337 end; 338 339 else call ioa_$ioa_stream (ss, "^-ARG ^2d: (^a at ^p) ^w", j, type_name (type), argp, fword (1)); 340 341 if ndims > 0 342 then call ioa_$ioa_stream (ss, "^-^-(^d-dim array)", ndims); 343 344 skiparg: 345 end; 346 347 /* ------------------------------------------------------- */ 348 349 intproc: 350 proc (mcp, cname, cop, infop, cont); 351 dcl (mcp, cop, infop) ptr, 352 cname char (*), 353 cont bit (1); 354 355 /* format: ^delnl */ 356 if cname = "program_interrupt" 357 | cname = "finish" 358 | cname = "quit" 359 then do; 360 cont = "1"b; 361 return; 362 end; 363 /* format: revert */ 364 if cname = "cleanup" 365 then return; 366 367 if infop ^= null 368 then if infop -> condition_info_header.action_flags.quiet_restart 369 then return; 370 371 call ioa_$ioa_stream (ss, "^-ARG ^2d not accessible. - ^a", j, cname); 372 go to skiparg; 373 end; 374 1 1 /* BEGIN INCLUDE FILE ... stack_frame.incl.pl1 ... */ 1 2 1 3 /* format: off */ 1 4 1 5 /* Modified: 16 Dec 1977, D. Levin - to add fio_ps_ptr and pl1_ps_ptr */ 1 6 /* Modified: 3 Feb 1978, P. Krupp - to add run_unit_manager bit & main_proc bit */ 1 7 /* Modified: 21 March 1978, D. Levin - change fio_ps_ptr to support_ptr */ 1 8 /* Modified: 03/01/84, S. Herbst - Added RETURN_PTR_MASK */ 1 9 1 10 1 11 /****^ HISTORY COMMENTS: 1 12* 1) change(86-09-15,Kissel), approve(86-09-15,MCR7473), 1 13* audit(86-10-01,Fawcett), install(86-11-03,MR12.0-1206): 1 14* Modified to add constants for the translator_id field in the stack_frame 1 15* structure. 1 16* END HISTORY COMMENTS */ 1 17 1 18 1 19 dcl RETURN_PTR_MASK bit (72) int static options (constant) /* mask to be AND'd with stack_frame.return_ptr */ 1 20 init ("777777777777777777000000"b3); /* when copying, to ignore bits that a call fills */ 1 21 /* with indicators (nonzero for Fortran hexfp caller) */ 1 22 /* say: unspec(ptr) = unspec(stack_frame.return_ptr) & RETURN_PTR_MASK; */ 1 23 1 24 dcl TRANSLATOR_ID_PL1V2 bit (18) internal static options (constant) init ("000000"b3); 1 25 dcl TRANSLATOR_ID_ALM bit (18) internal static options (constant) init ("000001"b3); 1 26 dcl TRANSLATOR_ID_PL1V1 bit (18) internal static options (constant) init ("000002"b3); 1 27 dcl TRANSLATOR_ID_SIGNAL_CALLER bit (18) internal static options (constant) init ("000003"b3); 1 28 dcl TRANSLATOR_ID_SIGNALLER bit (18) internal static options (constant) init ("000004"b3); 1 29 1 30 1 31 dcl sp pointer; /* pointer to beginning of stack frame */ 1 32 1 33 dcl stack_frame_min_length fixed bin static init(48); 1 34 1 35 1 36 dcl 1 stack_frame based(sp) aligned, 1 37 2 pointer_registers(0 : 7) ptr, 1 38 2 prev_sp pointer, 1 39 2 next_sp pointer, 1 40 2 return_ptr pointer, 1 41 2 entry_ptr pointer, 1 42 2 operator_and_lp_ptr ptr, /* serves as both */ 1 43 2 arg_ptr pointer, 1 44 2 static_ptr ptr unaligned, 1 45 2 support_ptr ptr unal, /* only used by fortran I/O */ 1 46 2 on_unit_relp1 bit(18) unaligned, 1 47 2 on_unit_relp2 bit(18) unaligned, 1 48 2 translator_id bit(18) unaligned, /* Translator ID (see constants above) 1 49* 0 => PL/I version II 1 50* 1 => ALM 1 51* 2 => PL/I version I 1 52* 3 => signal caller frame 1 53* 4 => signaller frame */ 1 54 2 operator_return_offset bit(18) unaligned, 1 55 2 x(0: 7) bit(18) unaligned, /* index registers */ 1 56 2 a bit(36), /* accumulator */ 1 57 2 q bit(36), /* q-register */ 1 58 2 e bit(36), /* exponent */ 1 59 2 timer bit(27) unaligned, /* timer */ 1 60 2 pad bit(6) unaligned, 1 61 2 ring_alarm_reg bit(3) unaligned; 1 62 1 63 1 64 dcl 1 stack_frame_flags based(sp) aligned, 1 65 2 pad(0 : 7) bit(72), /* skip over prs */ 1 66 2 xx0 bit(22) unal, 1 67 2 main_proc bit(1) unal, /* on if frame belongs to a main procedure */ 1 68 2 run_unit_manager bit(1) unal, /* on if frame belongs to run unit manager */ 1 69 2 signal bit(1) unal, /* on if frame belongs to logical signal_ */ 1 70 2 crawl_out bit(1) unal, /* on if this is a signal caller frame */ 1 71 2 signaller bit(1) unal, /* on if next frame is signaller's */ 1 72 2 link_trap bit(1) unal, /* on if this frame was made by the linker */ 1 73 2 support bit(1) unal, /* on if frame belongs to a support proc */ 1 74 2 condition bit(1) unal, /* on if condition established in this frame */ 1 75 2 xx0a bit(6) unal, 1 76 2 xx1 fixed bin, 1 77 2 xx2 fixed bin, 1 78 2 xx3 bit(25) unal, 1 79 2 old_crawl_out bit (1) unal, /* on if this is a signal caller frame */ 1 80 2 old_signaller bit(1) unal, /* on if next frame is signaller's */ 1 81 2 xx3a bit(9) unaligned, 1 82 2 xx4(9) bit(72) aligned, 1 83 2 v2_pl1_op_ret_base ptr, /* When a V2 PL/I program calls an operator the 1 84* * operator puts a pointer to the base of 1 85* * the calling procedure here. (text base ptr) */ 1 86 2 xx5 bit(72) aligned, 1 87 2 pl1_ps_ptr ptr; /* ptr to ps for this frame; also used by fio. */ 1 88 1 89 /* format: on */ 1 90 1 91 /* END INCLUDE FILE ... stack_frame.incl.pl1 */ 375 376 2 1 /* BEGIN INCLUDE FILE ... arg_list.incl.pl1 2 2* 2 3* James R. Davis 10 May 79 */ 2 4 2 5 2 6 2 7 /****^ HISTORY COMMENTS: 2 8* 1) change(86-05-15,DGHowe), approve(86-05-15,MCR7375), 2 9* audit(86-07-15,Schroth): 2 10* added command_name_arglist declaration to allow the storage of the 2 11* command name given to the command processor 2 12* END HISTORY COMMENTS */ 2 13 2 14 dcl 1 arg_list aligned based, 2 15 2 header, 2 16 3 arg_count fixed bin (17) unsigned unal, 2 17 3 pad1 bit (1) unal, 2 18 3 call_type fixed bin (18) unsigned unal, 2 19 3 desc_count fixed bin (17) unsigned unal, 2 20 3 pad2 bit (19) unal, 2 21 2 arg_ptrs (arg_list_arg_count refer (arg_list.arg_count)) ptr, 2 22 2 desc_ptrs (arg_list_arg_count refer (arg_list.arg_count)) ptr; 2 23 2 24 2 25 dcl 1 command_name_arglist aligned based, 2 26 2 header, 2 27 3 arg_count fixed bin (17) unsigned unal, 2 28 3 pad1 bit (1) unal, 2 29 3 call_type fixed bin (18) unsigned unal, 2 30 3 desc_count fixed bin (17) unsigned unal, 2 31 3 mbz bit(1) unal, 2 32 3 has_command_name bit(1) unal, 2 33 3 pad2 bit (17) unal, 2 34 2 arg_ptrs (arg_list_arg_count refer (command_name_arglist.arg_count)) ptr, 2 35 2 desc_ptrs (arg_list_arg_count refer (command_name_arglist.arg_count)) ptr, 2 36 2 name, 2 37 3 command_name_ptr pointer, 2 38 3 command_name_length fixed bin (21); 2 39 2 40 2 41 2 42 dcl 1 arg_list_with_envptr aligned based, /* used with non-quick int and entry-var calls */ 2 43 2 header, 2 44 3 arg_count fixed bin (17) unsigned unal, 2 45 3 pad1 bit (1) unal, 2 46 3 call_type fixed bin (18) unsigned unal, 2 47 3 desc_count fixed bin (17) unsigned unal, 2 48 3 pad2 bit (19) unal, 2 49 2 arg_ptrs (arg_list_arg_count refer (arg_list_with_envptr.arg_count)) ptr, 2 50 2 envptr ptr, 2 51 2 desc_ptrs (arg_list_arg_count refer (arg_list_with_envptr.arg_count)) ptr; 2 52 2 53 2 54 dcl ( 2 55 Quick_call_type init (0), 2 56 Interseg_call_type init (4), 2 57 Envptr_supplied_call_type 2 58 init (8) 2 59 ) fixed bin (18) unsigned unal int static options (constant); 2 60 2 61 /* The user must declare arg_list_arg_count - if an adjustable automatic structure 2 62* is being "liked" then arg_list_arg_count may be a parameter, in order to allocate 2 63* an argument list of the proper size in the user's stack 2 64* 2 65**/ 2 66 /* END INCLUDE FILE ... arg_list.incl.pl1 */ 377 378 3 1 /* BEGIN INCLUDE FILE ... interpret_ptr_struc.incl.pl1 */ 3 2 3 3 dcl 1 struc based (strp) aligned, /* This useful structure is in trace_stack pgms */ 3 4 2 comment char (64), /* name of boundseg, or thing pointed to, or .. */ 3 5 2 segment char (32), /* name of segment, or segment number with # */ 3 6 2 entryn char (33), /* entry name, preceded by $, or blank */ 3 7 2 offset char (6), /* offset in segment, or blank */ 3 8 2 opname char (32), /* may be pl1 operator name */ 3 9 2 ring char (1) unal, /* ring number of ptr */ 3 10 2 std_flag bit (1) unal, /* TRUE if std object. */ 3 11 2 xpad bit (26) unal, 3 12 2 bitoff char (4), /* bit offset */ 3 13 2 modifier char (8), /* ptr modifier, or special code like "noaccess" */ 3 14 2 symbolp ptr, /* ptr to symbol section */ 3 15 2 instruction_counter fixed bin, /* binary instruction counter */ 3 16 2 sourcemap fixed bin, /* source map offset in symbol section */ 3 17 2 compiler char (8), /* name of compiler */ 3 18 2 text_ptr ptr, /* ptr to segment text */ 3 19 2 stack_ptr ptr; /* ptr to stack frame */ 3 20 3 21 dcl 1 strbuf aligned like struc; /* If referenced, will make storage for struc */ 3 22 3 23 /* END INCLUDE FILE ... interpret_ptr_struc.incl.pl1 */ 379 380 4 1 /* BEGIN INCLUDE FILE its.incl.pl1 4 2* modified 27 July 79 by JRDavis to add its_unsigned 4 3* Internal format of ITS pointer, including ring-number field for follow-on processor */ 4 4 4 5 dcl 1 its based aligned, /* declaration for ITS type pointer */ 4 6 2 pad1 bit (3) unaligned, 4 7 2 segno bit (15) unaligned, /* segment number within the pointer */ 4 8 2 ringno bit (3) unaligned, /* ring number within the pointer */ 4 9 2 pad2 bit (9) unaligned, 4 10 2 its_mod bit (6) unaligned, /* should be 43(8) */ 4 11 4 12 2 offset bit (18) unaligned, /* word offset within the addressed segment */ 4 13 2 pad3 bit (3) unaligned, 4 14 2 bit_offset bit (6) unaligned, /* bit offset within the word */ 4 15 2 pad4 bit (3) unaligned, 4 16 2 mod bit (6) unaligned; /* further modification */ 4 17 4 18 dcl 1 itp based aligned, /* declaration for ITP type pointer */ 4 19 2 pr_no bit (3) unaligned, /* number of pointer register to use */ 4 20 2 pad1 bit (27) unaligned, 4 21 2 itp_mod bit (6) unaligned, /* should be 41(8) */ 4 22 4 23 2 offset bit (18) unaligned, /* word offset from pointer register word offset */ 4 24 2 pad2 bit (3) unaligned, 4 25 2 bit_offset bit (6) unaligned, /* bit offset relative to new word offset */ 4 26 2 pad3 bit (3) unaligned, 4 27 2 mod bit (6) unaligned; /* further modification */ 4 28 4 29 4 30 dcl 1 its_unsigned based aligned, /* just like its, but with unsigned binary */ 4 31 2 pad1 bit (3) unaligned, 4 32 2 segno fixed bin (15) unsigned unaligned, 4 33 2 ringno fixed bin (3) unsigned unaligned, 4 34 2 pad2 bit (9) unaligned, 4 35 2 its_mod bit (6) unaligned, 4 36 4 37 2 offset fixed bin (18) unsigned unaligned, 4 38 2 pad3 bit (3) unaligned, 4 39 2 bit_offset fixed bin (6) unsigned unaligned, 4 40 2 pad4 bit (3) unaligned, 4 41 2 mod bit (6) unaligned; 4 42 4 43 dcl 1 itp_unsigned based aligned, /* just like itp, but with unsigned binary where appropriate */ 4 44 2 pr_no fixed bin (3) unsigned unaligned, 4 45 2 pad1 bit (27) unaligned, 4 46 2 itp_mod bit (6) unaligned, 4 47 4 48 2 offset fixed bin (18) unsigned unaligned, 4 49 2 pad2 bit (3) unaligned, 4 50 2 bit_offset fixed bin (6) unsigned unaligned, 4 51 2 pad3 bit (3) unaligned, 4 52 2 mod bit (6) unaligned; 4 53 4 54 4 55 dcl ITS_MODIFIER bit (6) unaligned internal static options (constant) init ("43"b3); 4 56 dcl ITP_MODIFIER bit (6) unaligned internal static options (constant) init ("41"b3); 4 57 4 58 /* END INCLUDE FILE its.incl.pl1 */ 381 382 5 1 /* BEGIN INCLUDE FILE ... data_type_info_.incl.pl1 5 2* 5 3* attributes of each Multics data type. You may not rely on the dimension never exceeding 64 5 4* James R. Davis 6 Apr 79 5 5* Modified JMAthane June 83 to add "type" bit field 5 6* Upped bound from 64 to 80 10/18/83 S. Herbst 5 7* Added "hex" and "generic" bits 01/23/84 S. Herbst 5 8* Upped bound from 80 to 86 01/81/84 R. Gray 5 9* Upper bound from 86 to 87 JMAthane (for Pascal strings type dtype) 5 10**/ 5 11 5 12 5 13 /****^ HISTORY COMMENTS: 5 14* 1) change(86-09-05,JMAthane), approve(86-09-05,MCR7525), 5 15* audit(86-09-11,Martinson), install(86-11-12,MR12.0-1208): 5 16* The data_type_info array now has 87 entries instead of 86 due to 5 17* introduction of pascal_string_type_dtype. 5 18* END HISTORY COMMENTS */ 5 19 5 20 dcl data_type_info_$version_number fixed bin external static; 5 21 dcl data_type_info_this_version fixed bin internal static options (constant) init (1); 5 22 5 23 dcl 1 data_type_info_$info (87) aligned external static, 5 24 2 computational bit (1) unal, 5 25 2 arithmetic bit (1) unal, 5 26 2 arithmetic_attributes unal, /* only valid if arithmetic */ 5 27 3 fixed bit (1) unal, /* PL/I type */ 5 28 3 complex bit (1) unal, /* PL/I mode */ 5 29 3 decimal bit (1) unal, /* PL/I base */ 5 30 3 signed bit (1) unal, 5 31 3 trailing_sign bit (1) unal, /* only valid if signed */ 5 32 3 decimal_attributes unal, /* only valid if decimal */ 5 33 4 packed_dec bit (1) unal, /* 4 bits per digit or 9 */ 5 34 4 digit_aligned bit (1) unal, /* valid for packed_dec only */ 5 35 4 overpunched bit (1) unal, 5 36 2 char_string bit (1) unal, /* valid for non-arithmetic */ 5 37 2 bit_string bit (1) unal, /* valid for non-arithmetic */ 5 38 2 varying bit (1) unal, /* for bit or char only */ 5 39 2 type bit (1) unal, /* this symbol is a type */ 5 40 2 hex bit (1) unal, /* a hexadecimal type (eg., hex floating point) */ 5 41 2 generic bit (1) unal, /* eg., real_flt_dec_generic_dtype */ 5 42 2 pad bit (20) unal; 5 43 5 44 dcl data_type_info_$ninebit_sign_chars char (2) external static; 5 45 dcl data_type_info_$ninebit_digit_chars char (10) external static; 5 46 dcl data_type_info_$ninebit_overpunched_sign_chars char (22) external static; 5 47 5 48 dcl data_type_info_$max_decimal_precision fixed bin external static; 5 49 dcl data_type_info_$max_float_binary_precision fixed bin external static; 5 50 dcl data_type_info_$max_fixed_binary_precision fixed bin external static; 5 51 5 52 5 53 /* END INCLUDE FILE ... data_type_info_.incl.pl1 */ 383 384 6 1 /* BEGIN INCLUDE FILE condition_info_header.incl.pl1 BIM 1981 */ 6 2 /* format: style2 */ 6 3 6 4 declare condition_info_header_ptr 6 5 pointer; 6 6 declare 1 condition_info_header 6 7 aligned based (condition_info_header_ptr), 6 8 2 length fixed bin, /* length in words of this structure */ 6 9 2 version fixed bin, /* version number of this structure */ 6 10 2 action_flags aligned, /* tell handler how to proceed */ 6 11 3 cant_restart bit (1) unaligned, /* caller doesn't ever want to be returned to */ 6 12 3 default_restart bit (1) unaligned, /* caller can be returned to with no further action */ 6 13 3 quiet_restart bit (1) unaligned, /* return, and print no message */ 6 14 3 support_signal bit (1) unaligned, /* treat this signal as if the signalling procedure had the support bit set */ 6 15 /* if the signalling procedure had the support bit set, do the same for its caller */ 6 16 3 pad bit (32) unaligned, 6 17 2 info_string char (256) varying, /* may contain printable message */ 6 18 2 status_code fixed bin (35); /* if^=0, code interpretable by com_err_ */ 6 19 6 20 /* END INCLUDE FILE condition_info_header.incl.pl1 */ 385 386 7 1 /* BEGIN INCLUDE FILE ... std_descriptor_types.incl.pl1 */ 7 2 7 3 7 4 /****^ HISTORY COMMENTS: 7 5* 1) change(86-09-05,JMAthane), approve(86-09-05,MCR7525), 7 6* audit(86-09-11,Martinson), install(86-11-12,MR12.0-1208): 7 7* Added pascal_string_type_dtype descriptor type. Its number is 87. 7 8* Objects of this type are PASCAL string types. 7 9* 2) change(88-09-20,WAAnderson), approve(88-09-20,MCR7952), 7 10* audit(88-09-30,JRGray), install(88-10-24,MR12.2-1184): 7 11* Added the new C types. 7 12* END HISTORY COMMENTS */ 7 13 7 14 /* This include file defines mnemonic names for the Multics 7 15* standard descriptor types, using both pl1 and cobol terminology. 7 16* PG 780613 7 17* JRD 790530 7 18* JRD 791016 7 19* MBW 810731 7 20* TGO 830614 Add hex types. 7 21* Modified June 83 JMAthane to add PASCAL data types 7 22* TGO 840120 Add float dec extended and generic, float binary generic 7 23**/ 7 24 7 25 dcl (real_fix_bin_1_dtype init (1), 7 26 real_fix_bin_2_dtype init (2), 7 27 real_flt_bin_1_dtype init (3), 7 28 real_flt_bin_2_dtype init (4), 7 29 cplx_fix_bin_1_dtype init (5), 7 30 cplx_fix_bin_2_dtype init (6), 7 31 cplx_flt_bin_1_dtype init (7), 7 32 cplx_flt_bin_2_dtype init (8), 7 33 real_fix_dec_9bit_ls_dtype init (9), 7 34 real_flt_dec_9bit_dtype init (10), 7 35 cplx_fix_dec_9bit_ls_dtype init (11), 7 36 cplx_flt_dec_9bit_dtype init (12), 7 37 pointer_dtype init (13), 7 38 offset_dtype init (14), 7 39 label_dtype init (15), 7 40 entry_dtype init (16), 7 41 structure_dtype init (17), 7 42 area_dtype init (18), 7 43 bit_dtype init (19), 7 44 varying_bit_dtype init (20), 7 45 char_dtype init (21), 7 46 varying_char_dtype init (22), 7 47 file_dtype init (23), 7 48 real_fix_dec_9bit_ls_overp_dtype init (29), 7 49 real_fix_dec_9bit_ts_overp_dtype init (30), 7 50 real_fix_bin_1_uns_dtype init (33), 7 51 real_fix_bin_2_uns_dtype init (34), 7 52 real_fix_dec_9bit_uns_dtype init (35), 7 53 real_fix_dec_9bit_ts_dtype init (36), 7 54 real_fix_dec_4bit_uns_dtype init (38), /* digit-aligned */ 7 55 real_fix_dec_4bit_ts_dtype init (39), /* byte-aligned */ 7 56 real_fix_dec_4bit_bytealigned_uns_dtype init (40), /* COBOL */ 7 57 real_fix_dec_4bit_ls_dtype init (41), /* digit-aligned */ 7 58 real_flt_dec_4bit_dtype init (42), /* digit-aligned */ 7 59 real_fix_dec_4bit_bytealigned_ls_dtype init (43), 7 60 real_flt_dec_4bit_bytealigned_dtype init (44), 7 61 cplx_fix_dec_4bit_bytealigned_ls_dtype init (45), 7 62 cplx_flt_dec_4bit_bytealigned_dtype init (46), 7 63 real_flt_hex_1_dtype init (47), 7 64 real_flt_hex_2_dtype init (48), 7 65 cplx_flt_hex_1_dtype init (49), 7 66 cplx_flt_hex_2_dtype init (50), 7 67 c_typeref_dtype init (54), 7 68 c_enum_dtype init (55), 7 69 c_enum_const_dtype init (56), 7 70 c_union_dtype init (57), 7 71 algol68_straight_dtype init (59), 7 72 algol68_format_dtype init (60), 7 73 algol68_array_descriptor_dtype init (61), 7 74 algol68_union_dtype init (62), 7 75 7 76 cobol_comp_6_dtype init (1), 7 77 cobol_comp_7_dtype init (1), 7 78 cobol_display_ls_dtype init (9), 7 79 cobol_structure_dtype init (17), 7 80 cobol_char_string_dtype init (21), 7 81 cobol_display_ls_overp_dtype init (29), 7 82 cobol_display_ts_overp_dtype init (30), 7 83 cobol_display_uns_dtype init (35), 7 84 cobol_display_ts_dtype init (36), 7 85 cobol_comp_8_uns_dtype init (38), /* digit aligned */ 7 86 cobol_comp_5_ts_dtype init (39), /* byte aligned */ 7 87 cobol_comp_5_uns_dtype init (40), 7 88 cobol_comp_8_ls_dtype init (41), /* digit aligned */ 7 89 real_flt_dec_extended_dtype init (81), /* 9-bit exponent */ 7 90 cplx_flt_dec_extended_dtype init (82), /* 9-bit exponent */ 7 91 real_flt_dec_generic_dtype init (83), /* generic float decimal */ 7 92 cplx_flt_dec_generic_dtype init (84), 7 93 real_flt_bin_generic_dtype init (85), /* generic float binary */ 7 94 cplx_flt_bin_generic_dtype init (86)) fixed bin internal static options (constant); 7 95 7 96 dcl (ft_integer_dtype init (1), 7 97 ft_real_dtype init (3), 7 98 ft_double_dtype init (4), 7 99 ft_complex_dtype init (7), 7 100 ft_complex_double_dtype init (8), 7 101 ft_external_dtype init (16), 7 102 ft_logical_dtype init (19), 7 103 ft_char_dtype init (21), 7 104 ft_hex_real_dtype init (47), 7 105 ft_hex_double_dtype init (48), 7 106 ft_hex_complex_dtype init (49), 7 107 ft_hex_complex_double_dtype init (50) 7 108 ) fixed bin internal static options (constant); 7 109 7 110 dcl (algol68_short_int_dtype init (1), 7 111 algol68_int_dtype init (1), 7 112 algol68_long_int_dtype init (2), 7 113 algol68_real_dtype init (3), 7 114 algol68_long_real_dtype init (4), 7 115 algol68_compl_dtype init (7), 7 116 algol68_long_compl_dtype init (8), 7 117 algol68_bits_dtype init (19), 7 118 algol68_bool_dtype init (19), 7 119 algol68_char_dtype init (21), 7 120 algol68_byte_dtype init (21), 7 121 algol68_struct_struct_char_dtype init (22), 7 122 algol68_struct_struct_bool_dtype init (20) 7 123 ) fixed bin internal static options (constant); 7 124 7 125 dcl (label_constant_runtime_dtype init (24), 7 126 int_entry_runtime_dtype init (25), 7 127 ext_entry_runtime_dtype init (26), 7 128 ext_procedure_runtime_dtype init (27), 7 129 picture_runtime_dtype init (63) 7 130 ) fixed bin internal static options (constant); 7 131 7 132 dcl (pascal_integer_dtype init (1), 7 133 pascal_real_dtype init (4), 7 134 pascal_label_dtype init (24), 7 135 pascal_internal_procedure_dtype init (25), 7 136 pascal_exportable_procedure_dtype init (26), 7 137 pascal_imported_procedure_dtype init (27), 7 138 pascal_typed_pointer_type_dtype init (64), 7 139 pascal_char_dtype init (65), 7 140 pascal_boolean_dtype init (66), 7 141 pascal_record_file_type_dtype init (67), 7 142 pascal_record_type_dtype init (68), 7 143 pascal_set_dtype init (69), 7 144 pascal_enumerated_type_dtype init (70), 7 145 pascal_enumerated_type_element_dtype init (71), 7 146 pascal_enumerated_type_instance_dtype init (72), 7 147 pascal_user_defined_type_dtype init (73), 7 148 pascal_user_defined_type_instance_dtype init (74), 7 149 pascal_text_file_dtype init (75), 7 150 pascal_procedure_type_dtype init (76), 7 151 pascal_variable_formal_parameter_dtype init (77), 7 152 pascal_value_formal_parameter_dtype init (78), 7 153 pascal_entry_formal_parameter_dtype init (79), 7 154 pascal_parameter_procedure_dtype init (80), 7 155 pascal_string_type_dtype init (87)) fixed bin int static options (constant); 7 156 7 157 7 158 /* END INCLUDE FILE ... std_descriptor_types.incl.pl1 */ 387 388 8 1 /* BEGIN INCLUDE FILE ... probe_data_type_names.incl.pl1 8 2* 8 3* Extracted from psi.pl1 by JRDavis 15 Sept 79 8 4* This crude gem is used by probe_print_arglist_ 8 5* algol68 type names added 7/31/81 by MBW 8 6* Added pascal data type names 10/18/83 S. Herbst 8 7* Added hex floating point, extended, and generic types 02/08/84 S. Herbst 8 8* 8 9**/ 8 10 8 11 dcl type_name (0:80) char (40) static options (constant) init ( 8 12 "bad type 0", /* 0 */ 8 13 "fixed bin", /* 1 */ 8 14 "fixed bin", /* 2 */ 8 15 "float bin", /* 3 */ 8 16 "float bin", /* 4 */ 8 17 "complex fixed bin", /* 5 */ 8 18 "complex fixed bin", /* 6 */ 8 19 "complex float bin", /* 7 */ 8 20 "complex float bin", /* 8 */ 8 21 "fixed dec", /* 9 */ 8 22 "float dec", /* 10 */ 8 23 "complex fixed dec", /* 11 */ 8 24 "complex float dec", /* 12 */ 8 25 "pointer", /* 13 */ 8 26 "offset", /* 14 */ 8 27 "label variable", /* 15 */ 8 28 "entry variable", /* 16 */ 8 29 "structure", /* 17 */ 8 30 "area", /* 18 */ 8 31 "bit", /* 19 */ 8 32 "varying bit", /* 20 */ 8 33 "char", /* 21 */ 8 34 "varying char", /* 22 */ 8 35 "file", /* 23 */ 8 36 "label constant", /* 24 */ 8 37 "internal entry ", /* 25 */ 8 38 "external entry", /* 26 */ 8 39 "external procedure", /* 27 */ 8 40 "bad type 28", /* 28 */ 8 41 "overpunched ls", /* 29 */ 8 42 "overpunched ts", /* 30 */ 8 43 "bad type 31", /* 31 */ 8 44 "bad type 32", /* 32 */ 8 45 "unsigned binary", /* 33 */ 8 46 "unsigned binary", /* 34 */ 8 47 "unsigned dec", /* 35 */ 8 48 "fixed dec ts", /* 36 */ 8 49 "bad type 37", /* 37 */ 8 50 "fixed dec digit uns", /* 38 */ 8 51 "fixed dec digit ts", /* 39 */ 8 52 "bad type 40", /* 40 */ 8 53 "fixed dec digit ls", /* 41 */ 8 54 "float dec digit", /* 42 */ 8 55 "fixed dec byte", /* 43 */ 8 56 "float dec byte ", /* 44 */ 8 57 "cmplx fixed dec byte", /* 45 */ 8 58 "cmplx float dec byte", /* 46 */ 8 59 "float hex", /* 47 */ 8 60 "float hex", /* 48 */ 8 61 "complex float hex", /* 49 */ 8 62 "complex float hex", /* 50 */ 8 63 "bad type 51", /* 51 */ 8 64 "bad type 52", /* 52 */ 8 65 "bad type 53", /* 53 */ 8 66 "bad type 54", /* 54 */ 8 67 "bad type 55", /* 55 */ 8 68 "bad type 56", /* 56 */ 8 69 "bad type 57", /* 57 */ 8 70 "bad type 58", /* 58 */ 8 71 "algol68 straight", /* 59 */ 8 72 "algol68 format", /* 60 */ 8 73 "algol68 array descriptor", /* 61 */ 8 74 "algol68 union", /* 62 */ 8 75 "picture", /* 63 */ 8 76 "pascal typed pointer type", /* 64 */ 8 77 "pascal char", /* 65 */ 8 78 "pascal boolean", /* 66 */ 8 79 "pascal record file type", /* 67 */ 8 80 "pascal record type", /* 68 */ 8 81 "pascal set type", /* 69 */ 8 82 "pascal enumerated type", /* 70 */ 8 83 "pascal enumerated type element", /* 71 */ 8 84 "pascal enumerated type instance", /* 72 */ 8 85 "pascal user defined type", /* 73 */ 8 86 "pascal user defined type instance", /* 74 */ 8 87 "pascal text file", /* 75 */ 8 88 "pascal procedure type", /* 76 */ 8 89 "pascal variable formal parameter", /* 77 */ 8 90 "pascal value formal parameter", /* 78 */ 8 91 "pascal entry formal parameter", /* 79 */ 8 92 "pascal parameter procedure" /* 80 */ 8 93 ); 8 94 8 95 8 96 /* END INCLUDE FILE probe_data_type_names.incl.pl1 */ 389 390 391 392 end list_frame_args_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/17/00 1939.3 list_frame_args_.pl1 >udd>sm>ds>w>ml>list_frame_args_.pl1 375 1 11/07/86 1650.3 stack_frame.incl.pl1 >ldd>incl>stack_frame.incl.pl1 377 2 08/05/86 0956.8 arg_list.incl.pl1 >ldd>incl>arg_list.incl.pl1 379 3 06/11/74 0702.3 interpret_ptr_struc.incl.pl1 >ldd>incl>interpret_ptr_struc.incl.pl1 381 4 11/26/79 1420.6 its.incl.pl1 >ldd>incl>its.incl.pl1 383 5 11/12/86 1848.0 data_type_info_.incl.pl1 >ldd>incl>data_type_info_.incl.pl1 385 6 03/24/82 1447.2 condition_info_header.incl.pl1 >ldd>incl>condition_info_header.incl.pl1 387 7 10/26/88 1355.5 std_descriptor_types.incl.pl1 >ldd>incl>std_descriptor_types.incl.pl1 389 8 12/04/84 2112.1 probe_data_type_names.incl.pl1 >ldd>incl>probe_data_type_names.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. ITS_MODIFIER constant bit(6) initial packed unaligned dcl 4-55 ref 111 115 239 274 LEGAL 001452 constant char(96) initial packed unaligned dcl 100 ref 242 action_flags 2 based structure level 2 dcl 6-6 addr builtin function dcl 40 ref 115 128 addrel builtin function dcl 40 ref 119 299 324 ap 000104 automatic pointer dcl 45 set ref 109* 113 129 130 131 133 133 144* 151 151 151 151 151 184 187* arg_count based fixed bin(17,0) level 3 in structure "command_name_arglist" packed packed unsigned unaligned dcl 2-25 in procedure "list_frame_args_" ref 151 151 151 151 151 151 151 151 arg_count based fixed bin(17,0) level 3 in structure "arglist" packed packed unsigned unaligned dcl 97 in procedure "list_frame_args_" ref 129 arg_ptr 32 based pointer level 2 dcl 1-36 ref 109 arg_ptrs 2 based pointer array level 2 dcl 97 ref 184 arglist based structure level 1 dcl 97 argp 000100 automatic pointer dcl 43 set ref 184* 239 242 253 258* 258 263* 271 274 276 282 282 285 291 291 292 292 299 304 324 326 333 335* 339* 339 arithmetic 0(01) 000034 external static bit(1) array level 2 packed packed unaligned dcl 5-23 ref 261 arithmetic_to_ascii_ 000026 constant entry external dcl 78 ref 263 ascii_representation 000372 automatic varying char(132) dcl 61 set ref 263* 264* based_bit based bit(36) dcl 88 ref 119 based_file based file variable dcl 90 set ref 333* bcs based char(100) packed unaligned dcl 86 ref 242 begin_block_entries 001502 constant bit(36) initial array dcl 65 ref 115 119 bin builtin function dcl 40 ref 205 205 205 205 bit_dtype constant fixed bin(17,0) initial dcl 7-25 ref 296 bit_string based bit packed unaligned dcl 89 ref 304 c75 000333 automatic char(75) dcl 59 set ref 301* 307* 309* 311* 312* 316* 318* call_type 0(18) based fixed bin(18,0) level 3 packed packed unsigned unaligned dcl 97 ref 133 133 char_dtype constant fixed bin(17,0) initial dcl 7-25 ref 245 321 char_string based char packed unaligned dcl 87 set ref 151 151 326* cname parameter char packed unaligned dcl 351 set ref 349 356 356 356 364 371* command_name_arglist based structure level 1 dcl 2-25 command_name_length based fixed bin(21,0) level 3 dcl 97 ref 151 151 command_name_ptr based pointer level 3 dcl 97 ref 151 151 comment based char(64) level 2 dcl 3-3 set ref 279* 292* condition_ 000010 constant entry external dcl 70 ref 181 condition_info_header based structure level 1 dcl 6-6 cont parameter bit(1) packed unaligned dcl 351 set ref 349 360* cop parameter pointer dcl 351 ref 349 data_type_info_$info 000034 external static structure array level 1 dcl 5-23 ref 195 195 198 198 258 258 decode_descriptor_ 000014 constant entry external dcl 73 ref 187 192 231 desc_count 1 based fixed bin(17,0) level 3 packed packed unsigned unaligned dcl 97 ref 130 display_file_value_ 000032 constant entry external dcl 81 ref 333 ec 000332 automatic fixed bin(35,0) dcl 57 set ref 157* 332* 333 333* 335 entry_dtype constant fixed bin(17,0) initial dcl 7-25 ref 288 entry_ptr 26 based pointer level 2 dcl 1-36 set ref 115 115 119 157* entryn 30 based char(33) level 2 dcl 3-3 set ref 279* 292* file_dtype constant fixed bin(17,0) initial dcl 7-25 ref 329 fixed builtin function dcl 40 ref 129 130 framep parameter pointer dcl 37 ref 23 108 fword based fixed bin(35,0) array dcl 85 set ref 253* 258* 282* 282* 285* 299 324 339* get_entry_arg_descs_ 000012 constant entry external dcl 71 ref 157 has_command_name 1(18) based bit(1) level 3 packed packed unaligned dcl 97 ref 151 hbound builtin function dcl 40 ref 115 195 198 258 header based structure level 2 in structure "command_name_arglist" dcl 2-25 in procedure "list_frame_args_" header based structure level 2 in structure "arglist" dcl 97 in procedure "list_frame_args_" i 000312 automatic fixed bin(17,0) dcl 50 set ref 303* 304 307 309* 311 infop parameter pointer dcl 351 ref 349 367 367 interpret_ptr_ 000016 constant entry external dcl 74 ref 277 291 ioa_$ioa_stream 000020 constant entry external dcl 75 ref 121 125 139 144 151 159 166 171 202 205 209 212 217 222 253 258 264 279 282 285 292 318 326 335 339 341 371 ioa_$ioa_stream_nnl 000022 constant entry external dcl 76 ref 331 ioa_$rsnnl 000024 constant entry external dcl 77 ref 197 201 312 316 iox_$look_iocb 000030 constant entry external dcl 80 ref 332 its based structure level 1 dcl 4-5 its_mod 0(30) 000436 automatic bit(6) level 2 in structure "its_ptr" packed packed unaligned dcl 68 in procedure "list_frame_args_" set ref 111 its_mod 0(30) based bit(6) level 2 in structure "its" packed packed unaligned dcl 4-5 in procedure "list_frame_args_" ref 115 239 274 its_ptr 000436 automatic structure level 1 dcl 68 set ref 109* itsptr based pointer dcl 83 ref 276 j 000313 automatic fixed bin(17,0) dcl 50 set ref 115* 119* 183* 184 187* 188 188 192 202* 205* 209* 212* 217* 222* 227 229 231 253* 258* 264* 279* 282* 285* 292* 318* 326* 331* 339* 371* k 000314 automatic fixed bin(17,0) dcl 50 set ref 197* 201* 302* 306* 306 312 312* 316 316* label_dtype constant fixed bin(17,0) initial dcl 7-25 ref 288 label_variable based structure level 1 dcl 93 lbound builtin function dcl 40 ref 195 198 258 max builtin function dcl 40 ref 324 max_arg 000316 automatic fixed bin(17,0) dcl 51 set ref 179* 183 mbz 1(17) based bit(1) level 3 packed packed unaligned dcl 97 ref 131 mcp parameter pointer dcl 351 ref 349 min builtin function dcl 40 ref 303 324 min_arg 000315 automatic fixed bin(17,0) dcl 51 set ref 178* 183 name based structure level 2 dcl 97 ndims 000324 automatic fixed bin(17,0) dcl 53 set ref 187* 209 209* 231* 238* 341 341* no_args 000321 automatic fixed bin(17,0) dcl 53 set ref 129* 136 159 159* 164 169 171* 172* 179 no_desc 000322 automatic fixed bin(17,0) dcl 53 set ref 130* 136 136 175 175* 185 null builtin function dcl 40 ref 113 115 188 229 277 277 367 offset 41 based char(6) level 2 dcl 3-3 set ref 279* 292* offset_dtype constant fixed bin(17,0) initial dcl 7-25 ref 285 packed 000434 automatic bit(1) dcl 64 set ref 187* 205 205 205 231* 235* 263* 269 packptr based pointer packed unaligned dcl 84 ref 271 pointer_dtype constant fixed bin(17,0) initial dcl 7-25 ref 212 239 267 ptr based pointer level 2 dcl 93 set ref 291* 292* quiet_restart 2(02) based bit(1) level 3 packed packed unaligned dcl 6-6 ref 367 scale 000325 automatic fixed bin(17,0) dcl 53 set ref 187* 222 222* 231* 237* 263* segment 20 based char(32) level 2 dcl 3-3 set ref 279* 292* sp 000440 automatic pointer dcl 1-31 set ref 108* 109 115 115 119 157 233 ss parameter char(32) dcl 37 set ref 23 121* 125* 139* 144* 151* 159* 166* 171* 202* 205* 209* 212* 217* 222* 253* 258* 264* 279* 282* 285* 292* 318* 326* 331* 332 335* 339* 341* 371* ss_ptr 000102 automatic pointer dcl 44 set ref 332* 333* stack 2 based pointer level 2 dcl 93 set ref 291* 292* stack_frame based structure level 1 dcl 1-36 strbuf 000442 automatic structure level 1 dcl 3-21 set ref 128 strl 000323 automatic fixed bin(17,0) dcl 53 set ref 151 151 187* 212 212* 217* 231* 242* 243 243* 245 263* 299* 303 304 312 312 312* 316 316* 324* 326* 326 326 strp 000106 automatic pointer dcl 46 set ref 128* 277* 279 279 279 279 291* 292 292 292 292 struc based structure level 1 dcl 3-3 substr builtin function dcl 40 set ref 151 151 195 198 304 307* 309* 311* tp 000110 automatic pointer dcl 47 set ref 271* 276* 277* 279* translator_id 37 based bit(18) level 2 packed packed unaligned dcl 1-36 ref 233 ttype 000356 automatic char(24) packed unaligned dcl 60 set ref 195* 197* 202* type 000317 automatic fixed bin(17,0) dcl 51 set ref 187* 193 195 195 195 197* 231* 233* 239* 245* 247* 251 258 258 258* 261 263* 267 285 288 288 296 296 299 321 321 324 329 339 type_name 000000 constant char(40) initial array packed unaligned dcl 8-11 set ref 195 198 339* unspec builtin function dcl 40 set ref 109 109* 109* varying_bit_dtype constant fixed bin(17,0) initial dcl 7-25 ref 296 299 varying_char_dtype constant fixed bin(17,0) initial dcl 7-25 ref 321 324 verify builtin function dcl 40 ref 242 xdesc 000112 automatic pointer array dcl 48 set ref 157* 188 192* 229 231* xnargs 000331 automatic fixed bin(17,0) dcl 55 set ref 157* 159 159 159* 173 173* 188 227 xndims 000327 automatic fixed bin(17,0) dcl 55 set ref 192* 209 209* xpacked 000435 automatic bit(1) dcl 64 set ref 192* 205 205 205 xscale 000330 automatic fixed bin(17,0) dcl 55 set ref 192* 222 222* xstrl 000326 automatic fixed bin(17,0) dcl 55 set ref 192* 212 212* 217 217* xttype 000364 automatic char(24) packed unaligned dcl 60 set ref 198* 201* 202* xtype 000320 automatic fixed bin(17,0) dcl 51 set ref 192* 193 198 198 198 201* 212 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. Envptr_supplied_call_type internal static fixed bin(18,0) initial packed unsigned unaligned dcl 2-54 ITP_MODIFIER internal static bit(6) initial packed unaligned dcl 4-56 Interseg_call_type internal static fixed bin(18,0) initial packed unsigned unaligned dcl 2-54 Quick_call_type internal static fixed bin(18,0) initial packed unsigned unaligned dcl 2-54 RETURN_PTR_MASK internal static bit(72) initial packed unaligned dcl 1-19 TRANSLATOR_ID_ALM internal static bit(18) initial packed unaligned dcl 1-25 TRANSLATOR_ID_PL1V1 internal static bit(18) initial packed unaligned dcl 1-26 TRANSLATOR_ID_PL1V2 internal static bit(18) initial packed unaligned dcl 1-24 TRANSLATOR_ID_SIGNALLER internal static bit(18) initial packed unaligned dcl 1-28 TRANSLATOR_ID_SIGNAL_CALLER internal static bit(18) initial packed unaligned dcl 1-27 algol68_array_descriptor_dtype internal static fixed bin(17,0) initial dcl 7-25 algol68_bits_dtype internal static fixed bin(17,0) initial dcl 7-110 algol68_bool_dtype internal static fixed bin(17,0) initial dcl 7-110 algol68_byte_dtype internal static fixed bin(17,0) initial dcl 7-110 algol68_char_dtype internal static fixed bin(17,0) initial dcl 7-110 algol68_compl_dtype internal static fixed bin(17,0) initial dcl 7-110 algol68_format_dtype internal static fixed bin(17,0) initial dcl 7-25 algol68_int_dtype internal static fixed bin(17,0) initial dcl 7-110 algol68_long_compl_dtype internal static fixed bin(17,0) initial dcl 7-110 algol68_long_int_dtype internal static fixed bin(17,0) initial dcl 7-110 algol68_long_real_dtype internal static fixed bin(17,0) initial dcl 7-110 algol68_real_dtype internal static fixed bin(17,0) initial dcl 7-110 algol68_short_int_dtype internal static fixed bin(17,0) initial dcl 7-110 algol68_straight_dtype internal static fixed bin(17,0) initial dcl 7-25 algol68_struct_struct_bool_dtype internal static fixed bin(17,0) initial dcl 7-110 algol68_struct_struct_char_dtype internal static fixed bin(17,0) initial dcl 7-110 algol68_union_dtype internal static fixed bin(17,0) initial dcl 7-25 area_dtype internal static fixed bin(17,0) initial dcl 7-25 arg_list based structure level 1 dcl 2-14 arg_list_with_envptr based structure level 1 dcl 2-42 c_enum_const_dtype internal static fixed bin(17,0) initial dcl 7-25 c_enum_dtype internal static fixed bin(17,0) initial dcl 7-25 c_typeref_dtype internal static fixed bin(17,0) initial dcl 7-25 c_union_dtype internal static fixed bin(17,0) initial dcl 7-25 cobol_char_string_dtype internal static fixed bin(17,0) initial dcl 7-25 cobol_comp_5_ts_dtype internal static fixed bin(17,0) initial dcl 7-25 cobol_comp_5_uns_dtype internal static fixed bin(17,0) initial dcl 7-25 cobol_comp_6_dtype internal static fixed bin(17,0) initial dcl 7-25 cobol_comp_7_dtype internal static fixed bin(17,0) initial dcl 7-25 cobol_comp_8_ls_dtype internal static fixed bin(17,0) initial dcl 7-25 cobol_comp_8_uns_dtype internal static fixed bin(17,0) initial dcl 7-25 cobol_display_ls_dtype internal static fixed bin(17,0) initial dcl 7-25 cobol_display_ls_overp_dtype internal static fixed bin(17,0) initial dcl 7-25 cobol_display_ts_dtype internal static fixed bin(17,0) initial dcl 7-25 cobol_display_ts_overp_dtype internal static fixed bin(17,0) initial dcl 7-25 cobol_display_uns_dtype internal static fixed bin(17,0) initial dcl 7-25 cobol_structure_dtype internal static fixed bin(17,0) initial dcl 7-25 condition_info_header_ptr automatic pointer dcl 6-4 cplx_fix_bin_1_dtype internal static fixed bin(17,0) initial dcl 7-25 cplx_fix_bin_2_dtype internal static fixed bin(17,0) initial dcl 7-25 cplx_fix_dec_4bit_bytealigned_ls_dtype internal static fixed bin(17,0) initial dcl 7-25 cplx_fix_dec_9bit_ls_dtype internal static fixed bin(17,0) initial dcl 7-25 cplx_flt_bin_1_dtype internal static fixed bin(17,0) initial dcl 7-25 cplx_flt_bin_2_dtype internal static fixed bin(17,0) initial dcl 7-25 cplx_flt_bin_generic_dtype internal static fixed bin(17,0) initial dcl 7-25 cplx_flt_dec_4bit_bytealigned_dtype internal static fixed bin(17,0) initial dcl 7-25 cplx_flt_dec_9bit_dtype internal static fixed bin(17,0) initial dcl 7-25 cplx_flt_dec_extended_dtype internal static fixed bin(17,0) initial dcl 7-25 cplx_flt_dec_generic_dtype internal static fixed bin(17,0) initial dcl 7-25 cplx_flt_hex_1_dtype internal static fixed bin(17,0) initial dcl 7-25 cplx_flt_hex_2_dtype internal static fixed bin(17,0) initial dcl 7-25 data_type_info_$max_decimal_precision external static fixed bin(17,0) dcl 5-48 data_type_info_$max_fixed_binary_precision external static fixed bin(17,0) dcl 5-50 data_type_info_$max_float_binary_precision external static fixed bin(17,0) dcl 5-49 data_type_info_$ninebit_digit_chars external static char(10) packed unaligned dcl 5-45 data_type_info_$ninebit_overpunched_sign_chars external static char(22) packed unaligned dcl 5-46 data_type_info_$ninebit_sign_chars external static char(2) packed unaligned dcl 5-44 data_type_info_$version_number external static fixed bin(17,0) dcl 5-20 data_type_info_this_version internal static fixed bin(17,0) initial dcl 5-21 ext_entry_runtime_dtype internal static fixed bin(17,0) initial dcl 7-125 ext_procedure_runtime_dtype internal static fixed bin(17,0) initial dcl 7-125 ft_char_dtype internal static fixed bin(17,0) initial dcl 7-96 ft_complex_double_dtype internal static fixed bin(17,0) initial dcl 7-96 ft_complex_dtype internal static fixed bin(17,0) initial dcl 7-96 ft_double_dtype internal static fixed bin(17,0) initial dcl 7-96 ft_external_dtype internal static fixed bin(17,0) initial dcl 7-96 ft_hex_complex_double_dtype internal static fixed bin(17,0) initial dcl 7-96 ft_hex_complex_dtype internal static fixed bin(17,0) initial dcl 7-96 ft_hex_double_dtype internal static fixed bin(17,0) initial dcl 7-96 ft_hex_real_dtype internal static fixed bin(17,0) initial dcl 7-96 ft_integer_dtype internal static fixed bin(17,0) initial dcl 7-96 ft_logical_dtype internal static fixed bin(17,0) initial dcl 7-96 ft_real_dtype internal static fixed bin(17,0) initial dcl 7-96 int_entry_runtime_dtype internal static fixed bin(17,0) initial dcl 7-125 itp based structure level 1 dcl 4-18 itp_unsigned based structure level 1 dcl 4-43 its_unsigned based structure level 1 dcl 4-30 label_constant_runtime_dtype internal static fixed bin(17,0) initial dcl 7-125 pascal_boolean_dtype internal static fixed bin(17,0) initial dcl 7-132 pascal_char_dtype internal static fixed bin(17,0) initial dcl 7-132 pascal_entry_formal_parameter_dtype internal static fixed bin(17,0) initial dcl 7-132 pascal_enumerated_type_dtype internal static fixed bin(17,0) initial dcl 7-132 pascal_enumerated_type_element_dtype internal static fixed bin(17,0) initial dcl 7-132 pascal_enumerated_type_instance_dtype internal static fixed bin(17,0) initial dcl 7-132 pascal_exportable_procedure_dtype internal static fixed bin(17,0) initial dcl 7-132 pascal_imported_procedure_dtype internal static fixed bin(17,0) initial dcl 7-132 pascal_integer_dtype internal static fixed bin(17,0) initial dcl 7-132 pascal_internal_procedure_dtype internal static fixed bin(17,0) initial dcl 7-132 pascal_label_dtype internal static fixed bin(17,0) initial dcl 7-132 pascal_parameter_procedure_dtype internal static fixed bin(17,0) initial dcl 7-132 pascal_procedure_type_dtype internal static fixed bin(17,0) initial dcl 7-132 pascal_real_dtype internal static fixed bin(17,0) initial dcl 7-132 pascal_record_file_type_dtype internal static fixed bin(17,0) initial dcl 7-132 pascal_record_type_dtype internal static fixed bin(17,0) initial dcl 7-132 pascal_set_dtype internal static fixed bin(17,0) initial dcl 7-132 pascal_string_type_dtype internal static fixed bin(17,0) initial dcl 7-132 pascal_text_file_dtype internal static fixed bin(17,0) initial dcl 7-132 pascal_typed_pointer_type_dtype internal static fixed bin(17,0) initial dcl 7-132 pascal_user_defined_type_dtype internal static fixed bin(17,0) initial dcl 7-132 pascal_user_defined_type_instance_dtype internal static fixed bin(17,0) initial dcl 7-132 pascal_value_formal_parameter_dtype internal static fixed bin(17,0) initial dcl 7-132 pascal_variable_formal_parameter_dtype internal static fixed bin(17,0) initial dcl 7-132 picture_runtime_dtype internal static fixed bin(17,0) initial dcl 7-125 real_fix_bin_1_dtype internal static fixed bin(17,0) initial dcl 7-25 real_fix_bin_1_uns_dtype internal static fixed bin(17,0) initial dcl 7-25 real_fix_bin_2_dtype internal static fixed bin(17,0) initial dcl 7-25 real_fix_bin_2_uns_dtype internal static fixed bin(17,0) initial dcl 7-25 real_fix_dec_4bit_bytealigned_ls_dtype internal static fixed bin(17,0) initial dcl 7-25 real_fix_dec_4bit_bytealigned_uns_dtype internal static fixed bin(17,0) initial dcl 7-25 real_fix_dec_4bit_ls_dtype internal static fixed bin(17,0) initial dcl 7-25 real_fix_dec_4bit_ts_dtype internal static fixed bin(17,0) initial dcl 7-25 real_fix_dec_4bit_uns_dtype internal static fixed bin(17,0) initial dcl 7-25 real_fix_dec_9bit_ls_dtype internal static fixed bin(17,0) initial dcl 7-25 real_fix_dec_9bit_ls_overp_dtype internal static fixed bin(17,0) initial dcl 7-25 real_fix_dec_9bit_ts_dtype internal static fixed bin(17,0) initial dcl 7-25 real_fix_dec_9bit_ts_overp_dtype internal static fixed bin(17,0) initial dcl 7-25 real_fix_dec_9bit_uns_dtype internal static fixed bin(17,0) initial dcl 7-25 real_flt_bin_1_dtype internal static fixed bin(17,0) initial dcl 7-25 real_flt_bin_2_dtype internal static fixed bin(17,0) initial dcl 7-25 real_flt_bin_generic_dtype internal static fixed bin(17,0) initial dcl 7-25 real_flt_dec_4bit_bytealigned_dtype internal static fixed bin(17,0) initial dcl 7-25 real_flt_dec_4bit_dtype internal static fixed bin(17,0) initial dcl 7-25 real_flt_dec_9bit_dtype internal static fixed bin(17,0) initial dcl 7-25 real_flt_dec_extended_dtype internal static fixed bin(17,0) initial dcl 7-25 real_flt_dec_generic_dtype internal static fixed bin(17,0) initial dcl 7-25 real_flt_hex_1_dtype internal static fixed bin(17,0) initial dcl 7-25 real_flt_hex_2_dtype internal static fixed bin(17,0) initial dcl 7-25 stack_frame_flags based structure level 1 dcl 1-64 stack_frame_min_length internal static fixed bin(17,0) initial dcl 1-33 structure_dtype internal static fixed bin(17,0) initial dcl 7-25 NAMES DECLARED BY EXPLICIT CONTEXT. badah 002321 constant label dcl 139 ref 131 133 badap 002177 constant label dcl 115 ref 111 guess 003420 constant label dcl 235 ref 229 intproc 004646 constant entry internal dcl 349 ref 181 181 list_frame_args_ 002152 constant entry external dcl 23 pptr 003664 constant label dcl 277 ref 272 skiparg 004642 constant label dcl 344 ref 255 372 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 5340 5376 5161 5350 Length 5756 5161 36 343 157 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME list_frame_args_ 534 external procedure is an external procedure. intproc 92 internal procedure is assigned to an entry variable. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME list_frame_args_ 000100 argp list_frame_args_ 000102 ss_ptr list_frame_args_ 000104 ap list_frame_args_ 000106 strp list_frame_args_ 000110 tp list_frame_args_ 000112 xdesc list_frame_args_ 000312 i list_frame_args_ 000313 j list_frame_args_ 000314 k list_frame_args_ 000315 min_arg list_frame_args_ 000316 max_arg list_frame_args_ 000317 type list_frame_args_ 000320 xtype list_frame_args_ 000321 no_args list_frame_args_ 000322 no_desc list_frame_args_ 000323 strl list_frame_args_ 000324 ndims list_frame_args_ 000325 scale list_frame_args_ 000326 xstrl list_frame_args_ 000327 xndims list_frame_args_ 000330 xscale list_frame_args_ 000331 xnargs list_frame_args_ 000332 ec list_frame_args_ 000333 c75 list_frame_args_ 000356 ttype list_frame_args_ 000364 xttype list_frame_args_ 000372 ascii_representation list_frame_args_ 000434 packed list_frame_args_ 000435 xpacked list_frame_args_ 000436 its_ptr list_frame_args_ 000440 sp list_frame_args_ 000442 strbuf list_frame_args_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp call_ext_out_desc call_ext_out return_mac tra_ext_1 shorten_stack ext_entry int_entry_desc THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. arithmetic_to_ascii_ condition_ decode_descriptor_ display_file_value_ get_entry_arg_descs_ interpret_ptr_ ioa_$ioa_stream ioa_$ioa_stream_nnl ioa_$rsnnl iox_$look_iocb THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. data_type_info_$info LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 23 002146 108 002157 109 002163 111 002167 113 002173 115 002177 119 002215 121 002224 122 002245 124 002246 125 002250 126 002271 128 002272 129 002274 130 002277 131 002303 133 002306 136 002315 139 002321 141 002340 144 002341 151 002364 157 002437 159 002466 164 002522 166 002524 167 002550 169 002551 171 002553 172 002600 173 002602 175 002607 178 002613 179 002615 181 002617 183 002643 184 002653 185 002657 187 002662 188 002705 192 002717 193 002744 195 002747 197 002762 198 003010 201 003023 202 003051 205 003105 209 003156 212 003214 217 003256 222 003314 226 003352 227 003353 229 003356 231 003363 232 003407 233 003410 235 003420 237 003421 238 003422 239 003423 242 003432 243 003443 245 003446 247 003453 251 003455 253 003460 255 003511 258 003512 261 003557 263 003564 264 003604 265 003640 267 003641 269 003643 271 003646 272 003654 274 003655 276 003661 277 003664 279 003700 281 003751 282 003752 283 004006 285 004007 288 004045 291 004051 292 004064 294 004141 296 004142 299 004146 301 004154 302 004157 303 004160 304 004173 306 004200 307 004201 308 004204 309 004205 310 004210 311 004212 312 004215 316 004253 318 004303 319 004337 321 004340 324 004344 326 004360 327 004421 329 004422 331 004424 332 004452 333 004500 335 004515 337 004545 339 004546 341 004610 344 004642 392 004644 349 004645 356 004661 360 004677 361 004703 364 004704 367 004710 371 004721 372 004753 ----------------------------------------------------------- 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