COMPILATION LISTING OF SEGMENT probe_print_cobol_attr_ Compiled by: Multics PL/I Compiler, Release 31a, of October 12, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 11/11/88 1549.0 mst Fri Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1988 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6* * * 7* * Copyright (c) 1972 by Massachusetts Institute of * 8* * Technology and Honeywell Information Systems, Inc. * 9* * * 10* *********************************************************** */ 11 12 13 14 /****^ HISTORY COMMENTS: 15* 1) change(88-09-07,WAAnderson), approve(88-09-30,MCR7952), 16* audit(88-09-30,JRGray), install(88-10-24,MR12.2-1184): 17* Added format control comment to make the source more readable. 18* END HISTORY COMMENTS */ 19 20 21 /* format: style1,insnl,ifthendo,indthenelse,^indnoniterdo,^inditerdo,indcom,^indthenbegin,^indprocbody,ind2,ll78,initcol0,dclind4,idind24,struclvlind1,comcol41 */ 22 23 /**** * * * * * * * * * * * * * * * * * * * * * * * */ 24 25 probe_print_cobol_attr_: 26 proc (P_probe_info_ptr, P_refp, P_long_sw, P_code); 27 28 /* JRDavis wrote this back in the fifteenth century - it was found in the runes (sic) of a Celtic temple 29* and brought here by Alan Chambers. Translated into PL/I by Jim Davis 30* 31* Modified 4 Sept 79 JRD for bug fixes 32**/ 33 34 dcl P_probe_info_ptr ptr parameter; 35 dcl P_refp ptr parameter; 36 dcl P_long_sw bit (1) aligned parameter; 37 dcl P_code fixed bin (35) parameter; 38 39 40 dcl 1 P_reference aligned like reference_node based (refp); 41 dcl refp ptr; 42 dcl sym ptr; 43 dcl sp ptr; 44 dcl ioa_$ioa_switch entry options (variable); 45 dcl (addrel, char, fixed, ltrim, null) 46 builtin; 47 48 probe_info_ptr = P_probe_info_ptr; 49 P_code = 0; 50 refp = P_refp; 51 sym = P_reference.symbol_ptr; 52 53 if sym = null () then do; 54 55 if P_reference.type = ext_procedure_runtime_dtype 56 then call ioa_$ioa_switch (probe_info.output_switch, "external entry") 57 ; 58 else call ioa_$ioa_switch (probe_info.output_switch, 59 "??unknown type?? (^d)", P_reference.type); 60 61 return; 62 end; /* non-symbol case */ 63 call ioa_$ioa_switch (probe_info.output_switch, "^a ^a ^a", 64 get_cobol_level_str (sym), 65 get_cobol_attr_str (sym), 66 get_cobol_dim_str (sym, 0)); 67 68 if P_long_sw 69 then 70 do sp = addrel (sym, sym -> runtime_symbol.son) repeat sp 71 while (sp ^= null ()); 72 call print_son (sp, fixed (sym -> runtime_symbol.ndims, 6)); 73 if sp -> runtime_symbol.brother ^= "0"b 74 then sp = addrel (sp, sp -> runtime_symbol.brother); 75 else sp = null (); 76 end; 77 78 return; 79 80 print_son: 81 proc (s, inherit_dims); 82 dcl s ptr parameter; 83 /* input: to a son symbol */ 84 dcl inherit_dims fixed bin parameter; 85 /* Dims of Our Father, Living Still */ 86 dcl q ptr; 87 dcl nextq ptr; 88 89 call ioa_$ioa_switch (probe_info.output_switch, "^a ^A ^a ^a", 90 get_cobol_level_str (s), 91 addrel (s, s -> runtime_symbol.name), 92 get_cobol_attr_str (s), 93 get_cobol_dim_str (s, inherit_dims)); 94 95 if s -> runtime_symbol.son ^= (18)"0"b 96 then 97 do q = addrel (s, s -> runtime_symbol.son) 98 repeat nextq while (q ^= null ()); 99 /* curse pl1 for lack of do-until */ 100 call print_son (q, fixed (s -> runtime_symbol.ndims, 6)); 101 if q -> runtime_symbol.brother = "0"b 102 then nextq = null (); 103 else nextq = addrel (q, q -> runtime_symbol.brother); 104 end; /* son,sibling loop */ 105 106 end print_son; 107 108 109 110 111 112 get_cobol_level_str: 113 proc (sp) returns (char (20) varying); 114 115 dcl sp ptr parameter; 116 dcl l fixed bin; 117 dcl max_depth fixed bin internal static 118 options (constant) init (5); 119 dcl indepth fixed bin;/* number of spaces before level number */ 120 dcl (char, copy, fixed, ltrim, min, rtrim) 121 builtin; 122 123 l = fixed (sp -> runtime_symbol.level, 6); 124 indepth = min (l, max_depth) * 3; 125 if l = 0 126 then return (" 77"); 127 else return (copy (" ", indepth) || rtrim (ltrim (char (l)))); 128 end get_cobol_level_str; 129 130 get_cobol_attr_str: 131 proc (sp) returns (char (64) varying); 132 133 dcl sp ptr parameter; 134 135 dcl type fixed bin; 136 dcl prec fixed bin (35); 137 dcl scale fixed bin; 138 dcl attr char (64) varying; 139 140 type = fixed (sp -> runtime_symbol.type, 6); 141 prec = fixed (sp -> runtime_symbol.size, 35); 142 scale = bit8_to_bin8 (sp -> runtime_symbol.scale); 143 144 if type = cobol_comp_6_dtype /* may also be comp_7 */ 145 then do; 146 if prec <= 17 147 then do; 148 attr = " COMP-7"; 149 if sp -> runtime_symbol.aligned 150 then attr = attr || " SYNC"; 151 end; 152 else attr = " COMP-6"; 153 end; /* comp-6, 7 */ 154 else if type = cobol_display_ls_dtype 155 then attr = " DISPLAY SIGN SEPARATE LEADING"; 156 else if type = cobol_display_uns_dtype 157 then attr = " DISPLAY"; 158 else if type = cobol_display_ts_dtype 159 then attr = " DISPLAY SIGN SEPARATE TRAILING"; 160 else if type = cobol_display_ls_overp_dtype 161 then attr = " DISPLAY SIGN LEADING"; 162 else if type = cobol_display_ts_overp_dtype 163 then attr = " DISPLAY SIGN TRAILING"; 164 else if type = cobol_char_string_dtype 165 then do; 166 attr = " PICTURE ("; 167 attr = attr || ltrim (char (prec)); 168 attr = attr || ") x."; 169 end; 170 else if type = cobol_comp_5_uns_dtype /* or COMP-8 unsigned, cant tell */ 171 then do; 172 attr = " COMP-5 or COMP-8 PICTURE"; 173 attr = attr || guess_picture (prec, scale); 174 end; 175 else if type = cobol_comp_5_ts_dtype 176 then do; 177 attr = " COMP-5 PIC S"; 178 attr = attr || guess_picture (prec, scale); 179 end; 180 else if type = cobol_comp_8_ls_dtype 181 then do; 182 attr = " COMP-8 PIC S"; 183 attr = attr || guess_picture (prec, scale); 184 end; 185 else if type = label_constant_runtime_dtype 186 then attr = " paragraph label"; 187 else if type = int_entry_runtime_dtype 188 | type = ext_entry_runtime_dtype 189 | type = ext_procedure_runtime_dtype 190 then attr = " entrypoint"; 191 else attr = "?"; 192 193 return (attr); 194 195 guess_picture: 196 proc (p, s) returns (char (32) varying); 197 198 dcl p fixed bin (35) parameter; 199 /* "precision" of data */ 200 dcl s fixed bin parameter; 201 /* "scale" of data */ 202 203 dcl (abs, copy) builtin; 204 205 /* this procedure exists because there is currently no 206* encoding of the picture used with arithmetic data in COBOL - fortunately 207* it is possible to derive the picture from the prec and scale in the 208* symbol table. Unfortunately as of this date (May 30 79) the scale is 209* not correctly in the symbol table 210* */ 211 212 /* ASSERT p > 0, s is an integer */ 213 214 /* three possibilities: 215* 216* s <= 0, padding is on the right 217* s >0 & s <= prec implied decimal pt 218* s> prec padding on left */ 219 220 if s <= 0 221 then return (copy ("9", prec) || copy ("P", abs (scale))); 222 else if s <= prec 223 then return (copy ("9", prec - scale) || "V" || copy ("9", scale)); 224 else return (copy ("P", scale - prec) || copy ("9", prec)); 225 226 end guess_picture; 227 228 bit8_to_bin8: 229 proc (bit8) returns (fixed bin (8)); 230 dcl bit8 bit (8) unal parameter; 231 dcl bin builtin; 232 233 if bin (bit8, 8) <= 127 234 then return (bin (bit8, 8)); 235 else return (bin (bit8, 8) - 256); 236 end bit8_to_bin8; 237 end get_cobol_attr_str; 238 239 get_cobol_dim_str: 240 proc (symp, inheritance) returns (char (168) varying); 241 dcl symp ptr parameter; 242 dcl inheritance fixed bin parameter; 243 dcl dim_str char (168) varying; 244 dcl n fixed bin;/* number of dims */ 245 dcl i fixed bin; 246 247 n = fixed (symp -> runtime_symbol.ndims, 6); 248 if n <= inheritance 249 then dim_str = ""; 250 else do; 251 dim_str = " OCCURS "; 252 do i = inheritance + 1 to n; 253 dim_str = dim_str || " "; 254 dim_str = 255 dim_str || value (symp -> runtime_symbol.bounds (i).upper, symp); 256 if i < n 257 then dim_str = dim_str || " ,"; 258 end; 259 dim_str = dim_str || " TIMES"; 260 end; 261 return (dim_str); 262 263 end get_cobol_dim_str; 264 265 value: 266 procedure (ev, context) returns (character (10) varying); 267 268 dcl ev fixed bin (35) parameter; 269 /* input: an encoded value */ 270 dcl context ptr parameter; 271 /* input: to symbol node of ev */ 272 273 dcl val fixed bin (35); 274 dcl 1 an_ev aligned like encoded_value; 275 dcl refp ptr; /* to data itself, for decoding */ 276 dcl block_ptr ptr; 277 dcl stack_ptr ptr; 278 dcl linkage_ptr ptr; 279 dcl based_class bit (4) internal static options (constant) 280 init ("0011"b); 281 dcl code fixed bin (35); 282 dcl (char, ltrim, null, rtrim, string, unspec) 283 builtin; 284 285 dcl stu_$get_implicit_qualifier 286 entry (ptr, ptr, ptr, ptr, ptr) returns (ptr); 287 dcl stu_$decode_runtime_value 288 entry (fixed bin (35), ptr, ptr, ptr, ptr, ptr, 289 fixed bin (35)) returns (fixed bin (35)); 290 291 /* GLOBAL imports P_reference */ 292 293 string (an_ev) = unspec (ev); 294 if an_ev.flag = "10"b 295 then do; /* it is encoded */ 296 stack_ptr = P_reference.source_info_ptr -> source_info.stack_ptr; 297 linkage_ptr = 298 P_reference.source_info_ptr -> source_info.seg_info_ptr 299 -> seg_info.linkage_ptr; 300 block_ptr = P_reference.source_info_ptr -> source_info.block_ptr; 301 refp = P_reference.address_ptr; 302 if refp = null 303 then if context -> runtime_symbol.class = based_class 304 /* can try for implicit */ 305 then refp = 306 stu_$get_implicit_qualifier (block_ptr, context, 307 stack_ptr, linkage_ptr, block_ptr); 308 val = stu_$decode_runtime_value (ev, block_ptr, stack_ptr, linkage_ptr, 309 block_ptr, refp, code); 310 if code ^= 0 311 then return ("*"); 312 end; 313 else val = ev; 314 315 return (rtrim (ltrim (char (val)))); 316 317 end value; 318 1 1 /* BEGIN INCLUDE FILE probe_info.incl.pl1 */ 1 2 1 3 1 4 1 5 /****^ HISTORY COMMENTS: 1 6* 1) change(88-10-24,WAAnderson), approve(88-10-24,MCR7952), 1 7* audit(88-10-24,RWaters), install(88-10-27,MR12.2-1194): 1 8* Added field 'retry_using_main' to add new C feature. 1 9* END HISTORY COMMENTS */ 1 10 1 11 1 12 /* Created: 04/22/79 W. Olin Sibert, from subsystem_info 1 13* Modified: 22 Sept 79 JRd to remove: default (ptr & (auto|based)) init (null ()); 1 14* Added flags.setting_break 08/22/83 Steve Herbst 1 15* Added flags.executing_quit_request 01/15/85 Steve Herbst 1 16**/ 1 17 1 18 dcl 1 probe_info aligned based (probe_info_ptr), /* standard data for a probe invocation */ 1 19 2 probe_info_version fixed bin, /* version of this structure */ 1 20 1 21 2 static_info_ptr pointer unaligned, /* pointer to static information structure */ 1 22 2 modes_ptr pointer unaligned, /* pointer to probe_modes structure */ 1 23 1 24 2 ptr_to_current_source ptr, /* current_source is based on this */ 1 25 2 ptr_to_initial_source ptr, /* initial_source is based on this */ 1 26 2 machine_cond_ptr pointer, /* pointer to machine conditions, if we faulted to get here */ 1 27 1 28 2 token_info aligned, /* information about token chain currently being processed */ 1 29 3 first_token pointer unaligned, /* first token in chain */ 1 30 3 ct pointer unaligned, /* pointer to current token; updated in MANY places */ 1 31 3 end_token bit (18) aligned, /* token type at which to stop scanning token chain */ 1 32 3 buffer_ptr pointer unaligned, /* pointer to input buffer */ 1 33 3 buffer_lth fixed bin (21), /* and length */ 1 34 1 35 2 random_info aligned, 1 36 3 current_stack_frame pointer unaligned, /* stack frame pointer for frame in which probe was invoked */ 1 37 3 input_type fixed bin, /* current input type */ 1 38 3 language_type fixed bin, /* current language being processed */ 1 39 3 return_method fixed bin, /* how we should return after exiting probe */ 1 40 3 entry_method fixed bin, /* how we got here in the first place */ 1 41 3 pad1 (19) bit (36) aligned, 1 42 1 43 2 break_info, /* break info -- only interesting if we got here via a break */ 1 44 3 break_slot_ptr pointer, /* pointer to break slot -- non-null IFF at a break */ 1 45 3 last_break_slot_ptr pointer unaligned, /* pointer to previous break slot, not presently used */ 1 46 3 break_reset bit (1) aligned, /* this break has been reset by somebody further on */ 1 47 3 real_break_return_loc pointer, /* where to REALLY return to, modulo previous bit */ 1 48 1 49 2 probe_area_info, /* information about various probe areas */ 1 50 3 break_segment_ptr pointer unaligned, /* pointer to Personid.probe */ 1 51 3 break_area_ptr pointer unaligned, /* pointer to area in break segment */ 1 52 3 scratch_area_ptr pointer unaligned, /* pointer to probe scratch seg in process dir */ 1 53 3 probe_area_ptr pointer unaligned, /* This area lasts as long as an invocation of probe. */ 1 54 3 work_area_ptr pointer unaligned, /* This area lasts as long as the current request line */ 1 55 3 expression_area_ptr pointer unaligned, /* This area lasts as long as the current command */ 1 56 1 57 2 flags aligned, /* this, in particular, should be saved and restored correctly */ 1 58 (3 execute, /* "1"b => execute requests, "0"b => just check syntax */ 1 59 3 in_listener, /* ON => in probe listener loop */ 1 60 3 executing_request, /* ON => executing a request */ 1 61 3 in_interpret_line, /* executing in probe_listen_$interpret_line */ 1 62 3 setting_break, /* executing "after" or "before": check syntax of "if" */ 1 63 3 executing_quit_request, /* to prevent error looping during "quit" request */ 1 64 3 pad (30)) bit (1) unaligned, 1 65 1 66 2 io_switches, /* switches probe will do normal I/O on */ 1 67 3 input_switch pointer, 1 68 3 output_switch pointer, 1 69 1 70 2 error_info, /* information about the last error saved for later printing */ 1 71 3 error_code fixed bin (35), 1 72 3 error_message char (300) varying, 1 73 1 74 2 listener_info, /* internal use by probe listener */ 1 75 3 request_name character (32) varying, /* primary name of the request being processed */ 1 76 3 abort_probe_label label variable, 1 77 3 abort_line_label label variable, 1 78 3 depth fixed binary, /* count of active invocations of probe */ 1 79 3 previous pointer unaligned, /* -> previous invocation's info */ 1 80 3 next pointer unaligned, 1 81 1 82 2 end_of_probe_info pointer aligned, 1 83 2 retry_using_main fixed bin aligned; 1 84 1 85 1 86 dcl probe_info_ptr pointer; 1 87 1 88 dcl probe_info_version fixed bin static options (constant) initial (1); 1 89 1 90 dcl probe_info_version_1 fixed bin static options (constant) initial (1); 1 91 1 92 dcl scratch_area area based (probe_info.scratch_area_ptr); 1 93 dcl probe_area area based (probe_info.probe_area_ptr); 1 94 dcl work_area area based (probe_info.work_area_ptr); 1 95 dcl expression_area area based (probe_info.expression_area_ptr); 1 96 1 97 /* END INCLUDE FILE probe_info.incl.pl1 */ 319 320 321 2 1 /* BEGIN INCLUDE FILE probe_references.incl.pl1 */ 2 2 2 3 /****^ HISTORY COMMENTS: 2 4* 1) change(88-09-20,WAAnderson), approve(88-09-20,MCR7952), 2 5* audit(88-09-30,JRGray), install(88-10-24,MR12.2-1184): 2 6* Added new field (c_symbol) for C-Probe support. 2 7* 2) change(88-10-28,WAAnderson), approve(88-10-28,MCR7952), 2 8* audit(88-10-31,RWaters), install(88-11-11,MR12.2-1210): 2 9* Added new field (c_sub_c_ptr) for C-Probe_support. 2 10* END HISTORY COMMENTS */ 2 11 2 12 /* Split out of probe_tokens, 04/22/79 WOS */ 2 13 /* modified for probe variables Feb 19 80 JRD */ 2 14 /* Modified June 83 JMAthane to add "type_ptr" and "builtin" fields */ 2 15 2 16 dcl 1 reference_node aligned based, /* information about a reference */ 2 17 2 symbol_ptr pointer aligned, /* to symbol table entry for reference */ 2 18 2 type_ptr pointer aligned, /* to symbol table entry for type (null if none) */ 2 19 2 address_ptr pointer aligned, /* to location of variable */ 2 20 2 base_addr pointer aligned, /* pointer on which whole symbol is based */ 2 21 2 source_info_ptr pointer aligned, /* to symbol structure for reference */ 2 22 2 23 2 name char (256) unaligned varying, /* symbol name */ 2 24 2 25 2 type fixed bin (35), /* data type */ 2 26 2 descriptor fixed bin (35), /* type || packed */ 2 27 2 precision fixed bin (35), /* scale and precision */ 2 28 2 flags, 2 29 3 packed bit (1) unal, /* data is in packed format */ 2 30 3 constant bit (1) unal, /* data is really a constant */ 2 31 3 cross_section bit (1) unal, /* reference is an array cross-section */ 2 32 3 function bit (1) unal, /* reference is function value */ 2 33 3 octal bit (1) unal, /* indicates that this is the octal bif */ 2 34 3 star_extent bit (1) unal, /* reference is a star subscript for father */ 2 35 3 have_generation bit (1) unal, /* this reference has an explicitly specified generation */ 2 36 3 pseudo_var bit (1) unal, /* it is ok to assign to it */ 2 37 3 probe_variable bit (1) unal, 2 38 3 path bit (1) unal, /* it's a pathname/virtual entry */ 2 39 3 builtin bit (1) unal, /* probe builtinvalue */ 2 40 3 c_ptr_to_char bit (1) unal, 2 41 3 c_sub_c_ptr bit (1) unal, 2 42 3 pad2 bit (23) unal, 2 43 2 44 2 optional_info, /* information which may or may not be present */ 2 45 3 argument_list pointer unaligned, /* pointer to reference_arg_list */ 2 46 3 subscript_ptr pointer unaligned, /* pointer to reference_subscripts */ 2 47 3 n_arguments fixed bin, /* number of arguments in argument list */ 2 48 3 n_subscripts fixed bin, /* number of subscripts present */ 2 49 2 50 2 constant_token_ptr pointer unaligned, /* pointer to constant token if this is a constant */ 2 51 2 subscript_refs_ptr pointer unaligned, /* pointer to array of subscript reference node pointers */ 2 52 2 invocation_level fixed bin, /* invocation level number ("[-17]") for this reference */ 2 53 2 probe_var_info_ptr ptr unal, /* only if flags.probe_variable */ 2 54 2 c_symbol_ptr ptr unal, 2 55 2 pad1 (9) pointer unaligned, 2 56 2 end_of_reference_node pointer aligned; 2 57 2 58 2 59 dcl 1 reference_arg_list aligned based, /* argument list; based on reference.argument_list */ 2 60 2 number fixed bin, /* number of arguments actually present */ 2 61 2 node (16) pointer aligned; /* reference node pointers for each argument */ 2 62 2 63 2 64 dcl 1 reference_subscripts aligned based, /* subscript array; based on reference.subscript_ptr */ 2 65 2 number fixed bin, /* number actually present */ 2 66 2 value (2, 16) fixed bin (24); /* values for lower and upper bound for each */ 2 67 2 68 2 69 dcl 1 subscript_reference_ptrs aligned based, /* array of pointers to subscript reference nodes */ 2 70 2 ptr (2, 16) pointer aligned; 2 71 2 72 /* END INCLUDE FILE probe_references.incl.pl1 */ 322 323 324 3 1 /* BEGIN INCLUDE FILE ... probe_source_info.incl.pl1 3 2* 3 3* James R. Davis 2 July 79 */ 3 4 3 5 dcl 1 source_info based aligned, 3 6 2 stmnt_map_entry_index fixed bin, /* index in stmnt map for this stmnt */ 3 7 2 instruction_ptr ptr, /* to last instruction executed */ 3 8 2 block_ptr ptr, /* to runtime_block node */ 3 9 2 stack_ptr ptr, /* to a stack frame */ 3 10 2 entry_ptr ptr, /* to entry seq. for this proc */ 3 11 2 seg_info_ptr ptr; /* to seg_info */ 3 12 3 13 dcl 1 current_source aligned like source_info based (probe_info.ptr_to_current_source); 3 14 dcl 1 initial_source aligned like source_info based (probe_info.ptr_to_initial_source); 3 15 3 16 /* END INCLUDE FILE ... probe_source_info.incl.pl1 */ 325 326 327 4 1 /* BEGIN INCLUDE FILE ... probe_seg_info.incl.pl1 4 2* 4 3* 25 June 79 JRDavis 4 4* 4 5* Modified 7 April 1983, TO - Add fields for character offset/line 4 6* correction per file. 4 7**/ 4 8 4 9 dcl 1 seg_info based aligned, /* place to remember information about object seg */ 4 10 2 language_type fixed bin, /* language of source program */ 4 11 2 bits aligned, 4 12 3 ignore_case bit (1) unal, 4 13 3 bound_segment bit (1) unaligned, 4 14 3 component bit (1) unaligned, 4 15 3 pad bit (33) unal, 4 16 2 names, /* where to find it */ 4 17 3 directory_name character (168) unal, /* what directory */ 4 18 3 entry_name character (32) unal, /* what segment */ 4 19 3 segname character (32) unal, /* procedure segname definition */ 4 20 2 identifier fixed bin (71), /* time of object creation */ 4 21 2 pointers, /* location of various parts of segment */ 4 22 3 symbol_header_ptr ptr unal, /* to symbol section */ 4 23 3 original_source_ptr ptr unal, /* to segment source map */ 4 24 3 statement_map_ptr ptr unal, /* to segment statement map */ 4 25 3 break_info ptr unal, /* for unbound segments, and start of chain for 4 26* bound ones, -> break_map !obsolete, I think! */ 4 27 3 chain ptr unal, /* to entry for next component if bound */ 4 28 3 linkage_ptr ptr unal, /* to linkage section */ 4 29 2 bounds aligned, /* structure of bounds information */ 4 30 3 text_bounds, 4 31 4 start fixed bin (35), 4 32 4 end fixed bin (35), 4 33 3 symbol_bounds, 4 34 4 start fixed bin (35), 4 35 4 end fixed bin (35), 4 36 2 map_size fixed bin, /* size of statement map */ 4 37 2 error_code fixed bin (35), /* errors encoutered while getting info, are recorded here */ 4 38 2 bound_create_time fixed bin (71), /* time seg containing was bound or compiled. */ 4 39 2 bound_sym_header ptr unal, /* to sym. section header for bound seg */ 4 40 2 pad (1) fixed bin (35), 4 41 4 42 2 nfiles fixed bin, 4 43 2 per_file (seg_info_nfiles refer (seg_info.nfiles)), 4 44 3 file_pointers ptr unal, 4 45 3 break_line (0:3) fixed bin (18) unsigned unaligned; 4 46 4 47 dcl seg_info_nfiles fixed bin; /* for allocation purposes */ 4 48 4 49 4 50 /* END INCLUDE FILE ... probe_seg_info.incl.pl1 */ 328 329 330 5 1 /* BEGIN INCLUDE FILE ... std_descriptor_types.incl.pl1 */ 5 2 5 3 5 4 /****^ HISTORY COMMENTS: 5 5* 1) change(86-09-05,JMAthane), approve(86-09-05,MCR7525), 5 6* audit(86-09-11,Martinson), install(86-11-12,MR12.0-1208): 5 7* Added pascal_string_type_dtype descriptor type. Its number is 87. 5 8* Objects of this type are PASCAL string types. 5 9* 2) change(88-09-20,WAAnderson), approve(88-09-20,MCR7952), 5 10* audit(88-09-30,JRGray), install(88-10-24,MR12.2-1184): 5 11* Added the new C types. 5 12* END HISTORY COMMENTS */ 5 13 5 14 /* This include file defines mnemonic names for the Multics 5 15* standard descriptor types, using both pl1 and cobol terminology. 5 16* PG 780613 5 17* JRD 790530 5 18* JRD 791016 5 19* MBW 810731 5 20* TGO 830614 Add hex types. 5 21* Modified June 83 JMAthane to add PASCAL data types 5 22* TGO 840120 Add float dec extended and generic, float binary generic 5 23**/ 5 24 5 25 dcl (real_fix_bin_1_dtype init (1), 5 26 real_fix_bin_2_dtype init (2), 5 27 real_flt_bin_1_dtype init (3), 5 28 real_flt_bin_2_dtype init (4), 5 29 cplx_fix_bin_1_dtype init (5), 5 30 cplx_fix_bin_2_dtype init (6), 5 31 cplx_flt_bin_1_dtype init (7), 5 32 cplx_flt_bin_2_dtype init (8), 5 33 real_fix_dec_9bit_ls_dtype init (9), 5 34 real_flt_dec_9bit_dtype init (10), 5 35 cplx_fix_dec_9bit_ls_dtype init (11), 5 36 cplx_flt_dec_9bit_dtype init (12), 5 37 pointer_dtype init (13), 5 38 offset_dtype init (14), 5 39 label_dtype init (15), 5 40 entry_dtype init (16), 5 41 structure_dtype init (17), 5 42 area_dtype init (18), 5 43 bit_dtype init (19), 5 44 varying_bit_dtype init (20), 5 45 char_dtype init (21), 5 46 varying_char_dtype init (22), 5 47 file_dtype init (23), 5 48 real_fix_dec_9bit_ls_overp_dtype init (29), 5 49 real_fix_dec_9bit_ts_overp_dtype init (30), 5 50 real_fix_bin_1_uns_dtype init (33), 5 51 real_fix_bin_2_uns_dtype init (34), 5 52 real_fix_dec_9bit_uns_dtype init (35), 5 53 real_fix_dec_9bit_ts_dtype init (36), 5 54 real_fix_dec_4bit_uns_dtype init (38), /* digit-aligned */ 5 55 real_fix_dec_4bit_ts_dtype init (39), /* byte-aligned */ 5 56 real_fix_dec_4bit_bytealigned_uns_dtype init (40), /* COBOL */ 5 57 real_fix_dec_4bit_ls_dtype init (41), /* digit-aligned */ 5 58 real_flt_dec_4bit_dtype init (42), /* digit-aligned */ 5 59 real_fix_dec_4bit_bytealigned_ls_dtype init (43), 5 60 real_flt_dec_4bit_bytealigned_dtype init (44), 5 61 cplx_fix_dec_4bit_bytealigned_ls_dtype init (45), 5 62 cplx_flt_dec_4bit_bytealigned_dtype init (46), 5 63 real_flt_hex_1_dtype init (47), 5 64 real_flt_hex_2_dtype init (48), 5 65 cplx_flt_hex_1_dtype init (49), 5 66 cplx_flt_hex_2_dtype init (50), 5 67 c_typeref_dtype init (54), 5 68 c_enum_dtype init (55), 5 69 c_enum_const_dtype init (56), 5 70 c_union_dtype init (57), 5 71 algol68_straight_dtype init (59), 5 72 algol68_format_dtype init (60), 5 73 algol68_array_descriptor_dtype init (61), 5 74 algol68_union_dtype init (62), 5 75 5 76 cobol_comp_6_dtype init (1), 5 77 cobol_comp_7_dtype init (1), 5 78 cobol_display_ls_dtype init (9), 5 79 cobol_structure_dtype init (17), 5 80 cobol_char_string_dtype init (21), 5 81 cobol_display_ls_overp_dtype init (29), 5 82 cobol_display_ts_overp_dtype init (30), 5 83 cobol_display_uns_dtype init (35), 5 84 cobol_display_ts_dtype init (36), 5 85 cobol_comp_8_uns_dtype init (38), /* digit aligned */ 5 86 cobol_comp_5_ts_dtype init (39), /* byte aligned */ 5 87 cobol_comp_5_uns_dtype init (40), 5 88 cobol_comp_8_ls_dtype init (41), /* digit aligned */ 5 89 real_flt_dec_extended_dtype init (81), /* 9-bit exponent */ 5 90 cplx_flt_dec_extended_dtype init (82), /* 9-bit exponent */ 5 91 real_flt_dec_generic_dtype init (83), /* generic float decimal */ 5 92 cplx_flt_dec_generic_dtype init (84), 5 93 real_flt_bin_generic_dtype init (85), /* generic float binary */ 5 94 cplx_flt_bin_generic_dtype init (86)) fixed bin internal static options (constant); 5 95 5 96 dcl (ft_integer_dtype init (1), 5 97 ft_real_dtype init (3), 5 98 ft_double_dtype init (4), 5 99 ft_complex_dtype init (7), 5 100 ft_complex_double_dtype init (8), 5 101 ft_external_dtype init (16), 5 102 ft_logical_dtype init (19), 5 103 ft_char_dtype init (21), 5 104 ft_hex_real_dtype init (47), 5 105 ft_hex_double_dtype init (48), 5 106 ft_hex_complex_dtype init (49), 5 107 ft_hex_complex_double_dtype init (50) 5 108 ) fixed bin internal static options (constant); 5 109 5 110 dcl (algol68_short_int_dtype init (1), 5 111 algol68_int_dtype init (1), 5 112 algol68_long_int_dtype init (2), 5 113 algol68_real_dtype init (3), 5 114 algol68_long_real_dtype init (4), 5 115 algol68_compl_dtype init (7), 5 116 algol68_long_compl_dtype init (8), 5 117 algol68_bits_dtype init (19), 5 118 algol68_bool_dtype init (19), 5 119 algol68_char_dtype init (21), 5 120 algol68_byte_dtype init (21), 5 121 algol68_struct_struct_char_dtype init (22), 5 122 algol68_struct_struct_bool_dtype init (20) 5 123 ) fixed bin internal static options (constant); 5 124 5 125 dcl (label_constant_runtime_dtype init (24), 5 126 int_entry_runtime_dtype init (25), 5 127 ext_entry_runtime_dtype init (26), 5 128 ext_procedure_runtime_dtype init (27), 5 129 picture_runtime_dtype init (63) 5 130 ) fixed bin internal static options (constant); 5 131 5 132 dcl (pascal_integer_dtype init (1), 5 133 pascal_real_dtype init (4), 5 134 pascal_label_dtype init (24), 5 135 pascal_internal_procedure_dtype init (25), 5 136 pascal_exportable_procedure_dtype init (26), 5 137 pascal_imported_procedure_dtype init (27), 5 138 pascal_typed_pointer_type_dtype init (64), 5 139 pascal_char_dtype init (65), 5 140 pascal_boolean_dtype init (66), 5 141 pascal_record_file_type_dtype init (67), 5 142 pascal_record_type_dtype init (68), 5 143 pascal_set_dtype init (69), 5 144 pascal_enumerated_type_dtype init (70), 5 145 pascal_enumerated_type_element_dtype init (71), 5 146 pascal_enumerated_type_instance_dtype init (72), 5 147 pascal_user_defined_type_dtype init (73), 5 148 pascal_user_defined_type_instance_dtype init (74), 5 149 pascal_text_file_dtype init (75), 5 150 pascal_procedure_type_dtype init (76), 5 151 pascal_variable_formal_parameter_dtype init (77), 5 152 pascal_value_formal_parameter_dtype init (78), 5 153 pascal_entry_formal_parameter_dtype init (79), 5 154 pascal_parameter_procedure_dtype init (80), 5 155 pascal_string_type_dtype init (87)) fixed bin int static options (constant); 5 156 5 157 5 158 /* END INCLUDE FILE ... std_descriptor_types.incl.pl1 */ 331 6 1 /* BEGIN INCLUDE FILE ... runtime_symbol.incl.pl1 ... Modified 07/79 */ 6 2 6 3 dcl 1 runtime_symbol aligned based, 6 4 2 flag unal bit(1), /* always "1"b for Version II */ 6 5 2 use_digit unal bit(1), /* if "1"b and units are half words units are really digits */ 6 6 2 array_units unal bit(2), 6 7 2 units unal bit(2), /* addressing units */ 6 8 2 type unal bit(6), /* data type */ 6 9 2 level unal bit(6), /* structure level */ 6 10 2 ndims unal bit(6), /* number of dimensions */ 6 11 2 bits unal, 6 12 3 aligned bit(1), 6 13 3 packed bit(1), 6 14 3 simple bit(1), 6 15 2 skip unal bit(1), 6 16 2 scale unal bit(8), /* arithmetic scale factor */ 6 17 2 name unal bit(18), /* rel ptr to acc name */ 6 18 2 brother unal bit(18), /* rel ptr to brother entry */ 6 19 2 father unal bit(18), /* rel ptr to father entry */ 6 20 2 son unal bit(18), /* rel ptr to son entry */ 6 21 2 address unal, 6 22 3 location bit(18), /* location in storage class */ 6 23 3 class bit(4), /* storage class */ 6 24 3 next bit(14), /* rel ptr to next of same class */ 6 25 2 size fixed bin(35), /* encoded string|arith size */ 6 26 2 offset fixed bin(35), /* encoded offset from address */ 6 27 2 virtual_org fixed bin(35), 6 28 2 bounds(1), 6 29 3 lower fixed bin(35), /* encoded lower bound */ 6 30 3 upper fixed bin(35), /* encoded upper bound */ 6 31 3 multiplier fixed bin(35); /* encoded multiplier */ 6 32 6 33 dcl 1 runtime_bound based, 6 34 2 lower fixed bin(35), 6 35 2 upper fixed bin(35), 6 36 2 multiplier fixed bin(35); 6 37 6 38 dcl 1 runtime_block aligned based, 6 39 2 flag unal bit(1), /* always "1"b for Version II */ 6 40 2 quick unal bit(1), /* "1"b if quick block */ 6 41 2 fortran unal bit(1), /* "1"b if fortran program */ 6 42 2 standard unal bit(1), /* "1"b if program has std obj segment */ 6 43 2 owner_flag unal bit(1), /* "1"b if block has valid owner field */ 6 44 2 skip unal bit(1), 6 45 2 type unal bit(6), /* = 0 for a block node */ 6 46 2 number unal bit(6), /* begin block number */ 6 47 2 start unal bit(18), /* rel ptr to start of symbols */ 6 48 2 name unal bit(18), /* rel ptr to name of proc */ 6 49 2 brother unal bit(18), /* rel ptr to brother block */ 6 50 2 father unal bit(18), /* rel ptr to father block */ 6 51 2 son unal bit(18), /* rel ptr to son block */ 6 52 2 map unal, 6 53 3 first bit(18), /* rel ptr to first word of map */ 6 54 3 last bit(18), /* rel ptr to last word of map */ 6 55 2 entry_info unal bit(18), /* info about entry of quick block */ 6 56 2 header unal bit(18), /* rel ptr to symbol header */ 6 57 2 chain(4) unal bit(18), /* chain(i) is rel ptr to first symbol 6 58* on start list with length >= 2**i */ 6 59 2 token(0:5) unal bit(18), /* token(i) is rel ptr to first token 6 60* on list with length >= 2 ** i */ 6 61 2 owner unal bit(18); /* rel ptr to owner block */ 6 62 6 63 dcl 1 runtime_token aligned based, 6 64 2 next unal bit(18), /* rel ptr to next token */ 6 65 2 dcl unal bit(18), /* rel ptr to first dcl of this token */ 6 66 2 name, /* ACC */ 6 67 3 size unal unsigned fixed bin (9), /* number of chars in token */ 6 68 3 string unal char(n refer(runtime_token.size)); 6 69 6 70 dcl 1 encoded_value aligned based, 6 71 2 flag bit (2) unal, 6 72 2 code bit (4) unal, 6 73 2 n1 bit (6) unal, 6 74 2 n2 bit (6) unal, 6 75 2 n3 bit (18) unal; 6 76 6 77 /* END INCLUDE FILE ... runtime_symbol.incl.pl1 */ 332 333 334 end probe_print_cobol_attr_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/11/88 1545.0 probe_print_cobol_attr_.pl1 >spec>install>MR12.2-1210>probe_print_cobol_attr_.pl1 319 1 10/27/88 1339.2 probe_info.incl.pl1 >ldd>include>probe_info.incl.pl1 322 2 11/11/88 1543.8 probe_references.incl.pl1 >spec>install>MR12.2-1210>probe_references.incl.pl1 325 3 11/26/79 1320.6 probe_source_info.incl.pl1 >ldd>include>probe_source_info.incl.pl1 328 4 11/02/83 1845.0 probe_seg_info.incl.pl1 >ldd>include>probe_seg_info.incl.pl1 331 5 10/26/88 1255.5 std_descriptor_types.incl.pl1 >ldd>include>std_descriptor_types.incl.pl1 332 6 11/26/79 1320.6 runtime_symbol.incl.pl1 >ldd>include>runtime_symbol.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. P_code parameter fixed bin(35,0) dcl 37 set ref 25 49* P_long_sw parameter bit(1) dcl 36 ref 25 68 P_probe_info_ptr parameter pointer dcl 34 ref 25 48 P_reference based structure level 1 dcl 40 P_refp parameter pointer dcl 35 ref 25 50 abs builtin function dcl 203 ref 220 addrel builtin function dcl 45 ref 68 73 89 89 95 103 address 3 based structure level 2 packed packed unaligned dcl 6-3 address_ptr 4 based pointer level 2 dcl 40 ref 301 aligned 0(24) based bit(1) level 3 packed packed unaligned dcl 6-3 ref 149 an_ev 000165 automatic structure level 1 dcl 274 set ref 293* attr 000103 automatic varying char(64) dcl 138 set ref 148* 149* 149 152* 154* 156* 158* 160* 162* 166* 167* 167 168* 168 172* 173* 173 177* 178* 178 182* 183* 183 185* 187* 191* 193 based_class constant bit(4) initial packed unaligned dcl 279 ref 302 bin builtin function dcl 231 ref 233 233 235 bit8 parameter bit(8) packed unaligned dcl 230 ref 228 233 233 235 bits 0(24) based structure level 2 packed packed unaligned dcl 6-3 block_ptr 4 based pointer level 2 in structure "source_info" dcl 3-5 in procedure "probe_print_cobol_attr_" ref 300 block_ptr 000170 automatic pointer dcl 276 in procedure "value" set ref 300* 302* 302* 308* 308* bounds 7 based structure array level 2 dcl 6-3 brother 1(18) based bit(18) level 2 packed packed unaligned dcl 6-3 ref 73 73 101 103 char builtin function dcl 282 in procedure "value" ref 315 char builtin function dcl 45 in procedure "probe_print_cobol_attr_" ref 167 char builtin function dcl 120 in procedure "get_cobol_level_str" ref 127 class 3(18) based bit(4) level 3 packed packed unaligned dcl 6-3 ref 302 cobol_char_string_dtype constant fixed bin(17,0) initial dcl 5-25 ref 164 cobol_comp_5_ts_dtype constant fixed bin(17,0) initial dcl 5-25 ref 175 cobol_comp_5_uns_dtype constant fixed bin(17,0) initial dcl 5-25 ref 170 cobol_comp_6_dtype constant fixed bin(17,0) initial dcl 5-25 ref 144 cobol_comp_8_ls_dtype constant fixed bin(17,0) initial dcl 5-25 ref 180 cobol_display_ls_dtype constant fixed bin(17,0) initial dcl 5-25 ref 154 cobol_display_ls_overp_dtype constant fixed bin(17,0) initial dcl 5-25 ref 160 cobol_display_ts_dtype constant fixed bin(17,0) initial dcl 5-25 ref 158 cobol_display_ts_overp_dtype constant fixed bin(17,0) initial dcl 5-25 ref 162 cobol_display_uns_dtype constant fixed bin(17,0) initial dcl 5-25 ref 156 code 000176 automatic fixed bin(35,0) dcl 281 set ref 308* 310 context parameter pointer dcl 270 set ref 265 302 302* copy builtin function dcl 120 in procedure "get_cobol_level_str" ref 127 copy builtin function dcl 203 in procedure "guess_picture" ref 220 220 222 222 224 224 dim_str 000100 automatic varying char(168) dcl 243 set ref 248* 251* 253* 253 254* 254 256* 256 259* 259 261 encoded_value based structure level 1 dcl 6-70 ev parameter fixed bin(35,0) dcl 268 set ref 265 293 308* 313 ext_entry_runtime_dtype constant fixed bin(17,0) initial dcl 5-125 ref 187 ext_procedure_runtime_dtype constant fixed bin(17,0) initial dcl 5-125 ref 55 187 fixed builtin function dcl 120 in procedure "get_cobol_level_str" ref 123 fixed builtin function dcl 45 in procedure "probe_print_cobol_attr_" ref 72 72 100 100 140 141 247 flag 000165 automatic bit(2) level 2 packed packed unaligned dcl 274 set ref 294 i 000154 automatic fixed bin(17,0) dcl 245 set ref 252* 254 256* indepth 000101 automatic fixed bin(17,0) dcl 119 set ref 124* 127 inherit_dims parameter fixed bin(17,0) dcl 84 set ref 80 89* inheritance parameter fixed bin(17,0) dcl 242 ref 239 248 252 int_entry_runtime_dtype constant fixed bin(17,0) initial dcl 5-125 ref 187 io_switches 66 based structure level 2 dcl 1-18 ioa_$ioa_switch 000010 constant entry external dcl 44 ref 55 58 63 89 l 000100 automatic fixed bin(17,0) dcl 116 set ref 123* 124 125 127 label_constant_runtime_dtype constant fixed bin(17,0) initial dcl 5-125 ref 185 level 0(12) based bit(6) level 2 packed packed unaligned dcl 6-3 ref 123 linkage_ptr 103 based pointer level 3 in structure "seg_info" packed packed unaligned dcl 4-9 in procedure "probe_print_cobol_attr_" ref 297 linkage_ptr 000174 automatic pointer dcl 278 in procedure "value" set ref 297* 302* 308* ltrim builtin function dcl 282 in procedure "value" ref 315 ltrim builtin function dcl 120 in procedure "get_cobol_level_str" ref 127 ltrim builtin function dcl 45 in procedure "probe_print_cobol_attr_" ref 167 max_depth constant fixed bin(17,0) initial dcl 117 ref 124 min builtin function dcl 120 ref 124 n 000153 automatic fixed bin(17,0) dcl 244 set ref 247* 248 252 256 name 1 based bit(18) level 2 packed packed unaligned dcl 6-3 ref 89 89 ndims 0(18) based bit(6) level 2 packed packed unaligned dcl 6-3 ref 72 72 100 100 247 nextq 000102 automatic pointer dcl 87 set ref 101* 103* 104 null builtin function dcl 45 in procedure "probe_print_cobol_attr_" ref 53 68 75 95 101 null builtin function dcl 282 in procedure "value" ref 302 output_switch 70 based pointer level 3 dcl 1-18 set ref 55* 58* 63* 89* p parameter fixed bin(35,0) dcl 198 ref 195 pointers 76 based structure level 2 dcl 4-9 prec 000101 automatic fixed bin(35,0) dcl 136 set ref 141* 146 167 173* 178* 183* 220 222 222 224 224 probe_info based structure level 1 dcl 1-18 probe_info_ptr 000106 automatic pointer dcl 1-86 set ref 48* 55 58 63 89 q 000100 automatic pointer dcl 86 set ref 95* 95* 100* 101 103 103* reference_node based structure level 1 dcl 2-16 refp 000166 automatic pointer dcl 275 in procedure "value" set ref 301* 302 302* 308* refp 000100 automatic pointer dcl 41 in procedure "probe_print_cobol_attr_" set ref 50* 51 55 58 296 297 300 301 rtrim builtin function dcl 282 in procedure "value" ref 315 rtrim builtin function dcl 120 in procedure "get_cobol_level_str" ref 127 runtime_symbol based structure level 1 dcl 6-3 s parameter fixed bin(17,0) dcl 200 in procedure "guess_picture" ref 195 220 222 s parameter pointer dcl 82 in procedure "print_son" set ref 80 89* 89 89 89 89 89* 89* 95 95 95 100 100 scale 0(28) based bit(8) level 2 in structure "runtime_symbol" packed packed unaligned dcl 6-3 in procedure "probe_print_cobol_attr_" set ref 142* scale 000102 automatic fixed bin(17,0) dcl 137 in procedure "get_cobol_attr_str" set ref 142* 173* 178* 183* 220 222 222 224 seg_info based structure level 1 dcl 4-9 seg_info_ptr 12 based pointer level 2 dcl 3-5 ref 297 size 4 based fixed bin(35,0) level 2 dcl 6-3 ref 141 son 2(18) based bit(18) level 2 packed packed unaligned dcl 6-3 ref 68 95 95 source_info based structure level 1 dcl 3-5 source_info_ptr 10 based pointer level 2 dcl 40 ref 296 297 300 sp parameter pointer dcl 133 in procedure "get_cobol_attr_str" ref 130 140 141 142 149 sp parameter pointer dcl 115 in procedure "get_cobol_level_str" ref 112 123 sp 000104 automatic pointer dcl 43 in procedure "probe_print_cobol_attr_" set ref 68* 68* 72* 73 73* 73 73 75* 76 stack_ptr 000172 automatic pointer dcl 277 in procedure "value" set ref 296* 302* 308* stack_ptr 6 based pointer level 2 in structure "source_info" dcl 3-5 in procedure "probe_print_cobol_attr_" ref 296 string builtin function dcl 282 set ref 293* stu_$decode_runtime_value 000014 constant entry external dcl 287 ref 308 stu_$get_implicit_qualifier 000012 constant entry external dcl 285 ref 302 sym 000102 automatic pointer dcl 42 set ref 51* 53 63* 63* 63* 68 68 72 72 symbol_ptr based pointer level 2 dcl 40 ref 51 symp parameter pointer dcl 241 set ref 239 247 254 254* type 0(06) based bit(6) level 2 in structure "runtime_symbol" packed packed unaligned dcl 6-3 in procedure "probe_print_cobol_attr_" ref 140 type 113 based fixed bin(35,0) level 2 in structure "P_reference" dcl 40 in procedure "probe_print_cobol_attr_" set ref 55 58* type 000100 automatic fixed bin(17,0) dcl 135 in procedure "get_cobol_attr_str" set ref 140* 144 154 156 158 160 162 164 170 175 180 185 187 187 187 unspec builtin function dcl 282 ref 293 upper 10 based fixed bin(35,0) array level 3 dcl 6-3 set ref 254* val 000164 automatic fixed bin(35,0) dcl 273 set ref 308* 313* 315 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. algol68_array_descriptor_dtype internal static fixed bin(17,0) initial dcl 5-25 algol68_bits_dtype internal static fixed bin(17,0) initial dcl 5-110 algol68_bool_dtype internal static fixed bin(17,0) initial dcl 5-110 algol68_byte_dtype internal static fixed bin(17,0) initial dcl 5-110 algol68_char_dtype internal static fixed bin(17,0) initial dcl 5-110 algol68_compl_dtype internal static fixed bin(17,0) initial dcl 5-110 algol68_format_dtype internal static fixed bin(17,0) initial dcl 5-25 algol68_int_dtype internal static fixed bin(17,0) initial dcl 5-110 algol68_long_compl_dtype internal static fixed bin(17,0) initial dcl 5-110 algol68_long_int_dtype internal static fixed bin(17,0) initial dcl 5-110 algol68_long_real_dtype internal static fixed bin(17,0) initial dcl 5-110 algol68_real_dtype internal static fixed bin(17,0) initial dcl 5-110 algol68_short_int_dtype internal static fixed bin(17,0) initial dcl 5-110 algol68_straight_dtype internal static fixed bin(17,0) initial dcl 5-25 algol68_struct_struct_bool_dtype internal static fixed bin(17,0) initial dcl 5-110 algol68_struct_struct_char_dtype internal static fixed bin(17,0) initial dcl 5-110 algol68_union_dtype internal static fixed bin(17,0) initial dcl 5-25 area_dtype internal static fixed bin(17,0) initial dcl 5-25 bit_dtype internal static fixed bin(17,0) initial dcl 5-25 c_enum_const_dtype internal static fixed bin(17,0) initial dcl 5-25 c_enum_dtype internal static fixed bin(17,0) initial dcl 5-25 c_typeref_dtype internal static fixed bin(17,0) initial dcl 5-25 c_union_dtype internal static fixed bin(17,0) initial dcl 5-25 char_dtype internal static fixed bin(17,0) initial dcl 5-25 cobol_comp_7_dtype internal static fixed bin(17,0) initial dcl 5-25 cobol_comp_8_uns_dtype internal static fixed bin(17,0) initial dcl 5-25 cobol_structure_dtype internal static fixed bin(17,0) initial dcl 5-25 cplx_fix_bin_1_dtype internal static fixed bin(17,0) initial dcl 5-25 cplx_fix_bin_2_dtype internal static fixed bin(17,0) initial dcl 5-25 cplx_fix_dec_4bit_bytealigned_ls_dtype internal static fixed bin(17,0) initial dcl 5-25 cplx_fix_dec_9bit_ls_dtype internal static fixed bin(17,0) initial dcl 5-25 cplx_flt_bin_1_dtype internal static fixed bin(17,0) initial dcl 5-25 cplx_flt_bin_2_dtype internal static fixed bin(17,0) initial dcl 5-25 cplx_flt_bin_generic_dtype internal static fixed bin(17,0) initial dcl 5-25 cplx_flt_dec_4bit_bytealigned_dtype internal static fixed bin(17,0) initial dcl 5-25 cplx_flt_dec_9bit_dtype internal static fixed bin(17,0) initial dcl 5-25 cplx_flt_dec_extended_dtype internal static fixed bin(17,0) initial dcl 5-25 cplx_flt_dec_generic_dtype internal static fixed bin(17,0) initial dcl 5-25 cplx_flt_hex_1_dtype internal static fixed bin(17,0) initial dcl 5-25 cplx_flt_hex_2_dtype internal static fixed bin(17,0) initial dcl 5-25 current_source based structure level 1 dcl 3-13 entry_dtype internal static fixed bin(17,0) initial dcl 5-25 expression_area based area(1024) dcl 1-95 file_dtype internal static fixed bin(17,0) initial dcl 5-25 ft_char_dtype internal static fixed bin(17,0) initial dcl 5-96 ft_complex_double_dtype internal static fixed bin(17,0) initial dcl 5-96 ft_complex_dtype internal static fixed bin(17,0) initial dcl 5-96 ft_double_dtype internal static fixed bin(17,0) initial dcl 5-96 ft_external_dtype internal static fixed bin(17,0) initial dcl 5-96 ft_hex_complex_double_dtype internal static fixed bin(17,0) initial dcl 5-96 ft_hex_complex_dtype internal static fixed bin(17,0) initial dcl 5-96 ft_hex_double_dtype internal static fixed bin(17,0) initial dcl 5-96 ft_hex_real_dtype internal static fixed bin(17,0) initial dcl 5-96 ft_integer_dtype internal static fixed bin(17,0) initial dcl 5-96 ft_logical_dtype internal static fixed bin(17,0) initial dcl 5-96 ft_real_dtype internal static fixed bin(17,0) initial dcl 5-96 initial_source based structure level 1 dcl 3-14 label_dtype internal static fixed bin(17,0) initial dcl 5-25 offset_dtype internal static fixed bin(17,0) initial dcl 5-25 pascal_boolean_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_char_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_entry_formal_parameter_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_enumerated_type_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_enumerated_type_element_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_enumerated_type_instance_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_exportable_procedure_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_imported_procedure_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_integer_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_internal_procedure_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_label_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_parameter_procedure_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_procedure_type_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_real_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_record_file_type_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_record_type_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_set_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_string_type_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_text_file_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_typed_pointer_type_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_user_defined_type_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_user_defined_type_instance_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_value_formal_parameter_dtype internal static fixed bin(17,0) initial dcl 5-132 pascal_variable_formal_parameter_dtype internal static fixed bin(17,0) initial dcl 5-132 picture_runtime_dtype internal static fixed bin(17,0) initial dcl 5-125 pointer_dtype internal static fixed bin(17,0) initial dcl 5-25 probe_area based area(1024) dcl 1-93 probe_info_version internal static fixed bin(17,0) initial dcl 1-88 probe_info_version_1 internal static fixed bin(17,0) initial dcl 1-90 real_fix_bin_1_dtype internal static fixed bin(17,0) initial dcl 5-25 real_fix_bin_1_uns_dtype internal static fixed bin(17,0) initial dcl 5-25 real_fix_bin_2_dtype internal static fixed bin(17,0) initial dcl 5-25 real_fix_bin_2_uns_dtype internal static fixed bin(17,0) initial dcl 5-25 real_fix_dec_4bit_bytealigned_ls_dtype internal static fixed bin(17,0) initial dcl 5-25 real_fix_dec_4bit_bytealigned_uns_dtype internal static fixed bin(17,0) initial dcl 5-25 real_fix_dec_4bit_ls_dtype internal static fixed bin(17,0) initial dcl 5-25 real_fix_dec_4bit_ts_dtype internal static fixed bin(17,0) initial dcl 5-25 real_fix_dec_4bit_uns_dtype internal static fixed bin(17,0) initial dcl 5-25 real_fix_dec_9bit_ls_dtype internal static fixed bin(17,0) initial dcl 5-25 real_fix_dec_9bit_ls_overp_dtype internal static fixed bin(17,0) initial dcl 5-25 real_fix_dec_9bit_ts_dtype internal static fixed bin(17,0) initial dcl 5-25 real_fix_dec_9bit_ts_overp_dtype internal static fixed bin(17,0) initial dcl 5-25 real_fix_dec_9bit_uns_dtype internal static fixed bin(17,0) initial dcl 5-25 real_flt_bin_1_dtype internal static fixed bin(17,0) initial dcl 5-25 real_flt_bin_2_dtype internal static fixed bin(17,0) initial dcl 5-25 real_flt_bin_generic_dtype internal static fixed bin(17,0) initial dcl 5-25 real_flt_dec_4bit_bytealigned_dtype internal static fixed bin(17,0) initial dcl 5-25 real_flt_dec_4bit_dtype internal static fixed bin(17,0) initial dcl 5-25 real_flt_dec_9bit_dtype internal static fixed bin(17,0) initial dcl 5-25 real_flt_dec_extended_dtype internal static fixed bin(17,0) initial dcl 5-25 real_flt_dec_generic_dtype internal static fixed bin(17,0) initial dcl 5-25 real_flt_hex_1_dtype internal static fixed bin(17,0) initial dcl 5-25 real_flt_hex_2_dtype internal static fixed bin(17,0) initial dcl 5-25 reference_arg_list based structure level 1 dcl 2-59 reference_subscripts based structure level 1 dcl 2-64 runtime_block based structure level 1 dcl 6-38 runtime_bound based structure level 1 unaligned dcl 6-33 runtime_token based structure level 1 dcl 6-63 scratch_area based area(1024) dcl 1-92 seg_info_nfiles automatic fixed bin(17,0) dcl 4-47 structure_dtype internal static fixed bin(17,0) initial dcl 5-25 subscript_reference_ptrs based structure level 1 dcl 2-69 varying_bit_dtype internal static fixed bin(17,0) initial dcl 5-25 varying_char_dtype internal static fixed bin(17,0) initial dcl 5-25 work_area based area(1024) dcl 1-94 NAMES DECLARED BY EXPLICIT CONTEXT. bit8_to_bin8 001464 constant entry internal dcl 228 ref 142 get_cobol_attr_str 000712 constant entry internal dcl 130 ref 63 89 get_cobol_dim_str 001505 constant entry internal dcl 239 ref 63 89 get_cobol_level_str 000575 constant entry internal dcl 112 ref 63 89 guess_picture 001264 constant entry internal dcl 195 ref 173 178 183 print_son 000405 constant entry internal dcl 80 ref 72 100 probe_print_cobol_attr_ 000147 constant entry external dcl 25 value 001642 constant entry internal dcl 265 ref 254 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 2174 2212 2053 2204 Length 2524 2053 16 275 121 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME probe_print_cobol_attr_ 186 external procedure is an external procedure. print_son 186 internal procedure calls itself recursively. get_cobol_level_str 74 internal procedure is called by several nonquick procedures. get_cobol_attr_str 131 internal procedure is called by several nonquick procedures. guess_picture internal procedure shares stack frame of internal procedure get_cobol_attr_str. bit8_to_bin8 internal procedure shares stack frame of internal procedure get_cobol_attr_str. get_cobol_dim_str 177 internal procedure is called by several nonquick procedures. value internal procedure shares stack frame of internal procedure get_cobol_dim_str. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME get_cobol_attr_str 000100 type get_cobol_attr_str 000101 prec get_cobol_attr_str 000102 scale get_cobol_attr_str 000103 attr get_cobol_attr_str get_cobol_dim_str 000100 dim_str get_cobol_dim_str 000153 n get_cobol_dim_str 000154 i get_cobol_dim_str 000164 val value 000165 an_ev value 000166 refp value 000170 block_ptr value 000172 stack_ptr value 000174 linkage_ptr value 000176 code value get_cobol_level_str 000100 l get_cobol_level_str 000101 indepth get_cobol_level_str print_son 000100 q print_son 000102 nextq print_son probe_print_cobol_attr_ 000100 refp probe_print_cobol_attr_ 000102 sym probe_print_cobol_attr_ 000104 sp probe_print_cobol_attr_ 000106 probe_info_ptr probe_print_cobol_attr_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp cat_realloc_chars call_ext_out_desc call_ext_out call_int_this call_int_other return_mac shorten_stack ext_entry int_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. ioa_$ioa_switch stu_$decode_runtime_value stu_$get_implicit_qualifier NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 25 000142 48 000154 49 000160 50 000161 51 000164 53 000166 55 000172 58 000220 61 000243 63 000244 68 000333 72 000352 73 000366 75 000376 76 000400 78 000403 80 000404 89 000412 95 000522 100 000536 101 000555 103 000565 104 000570 106 000573 112 000574 123 000602 124 000610 125 000615 127 000625 130 000711 140 000717 141 000725 142 000730 144 000744 146 000747 148 000752 149 000756 151 000775 152 000776 153 001002 154 001003 156 001013 158 001022 160 001032 162 001042 164 001052 166 001054 167 001061 168 001115 169 001127 170 001130 172 001132 173 001137 174 001153 175 001154 177 001156 178 001163 179 001177 180 001200 182 001202 183 001207 184 001223 185 001224 187 001234 191 001250 193 001254 195 001264 220 001266 222 001334 224 001415 228 001464 233 001466 235 001501 239 001504 247 001512 248 001520 251 001524 252 001531 253 001541 254 001550 256 001601 258 001616 259 001620 261 001632 265 001642 293 001644 294 001646 296 001652 297 001657 300 001662 301 001664 302 001667 308 001724 310 001752 312 001763 313 001764 315 001766 ----------------------------------------------------------- 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