COMPILATION LISTING OF SEGMENT get_implicit_qualifier Compiled by: Multics PL/I Compiler, Release 31a, of October 12, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 10/24/88 1527.9 mst Mon Options: optimize map 1 /* ****************************************************** 2* * * 3* * * 4* * Copyright (c) 1972 by Massachusetts Institute of * 5* * Technology and Honeywell Information Systems, Inc. * 6* * * 7* * * 8* ****************************************************** */ 9 10 /* Procedure to obtain the value of the pointer used in the declaration of a 11* based variable, i.e. given 12* dcl foo based(p); 13* this procedure is given a pointer to the runtime symbol node for "foo" 14* and it attempts to locate and return the value of "p" 15* 16* Modified: 26 Feb 79 by James R. Davis to know about display steps 17* Modified: June 83 JMAthane to replace references to "runtime_symbol" structure 18* by calls to runtime_symbol_info_ subroutine */ 19 /* Added version strings to runtime_symbol_info_ structures 10/06/83 S. Herbst */ 20 21 get_implicit_qualifier: proc (block_pt, sym_pt, stack_pt, link_pt, text_pt) returns (ptr); 22 23 dcl block_pt ptr, /* ptr to block in which symbol is declared */ 24 sym_pt ptr, /* ptr to symbol node of based variable */ 25 stack_pt ptr, /* ptr to stack frame associated with based var */ 26 link_pt ptr, /* ptr to linkage section */ 27 text_pt ptr; /* ptr to object segment */ 28 29 dcl sp ptr; /* stack frame ptr */ 30 dcl isym_ptr ptr; /* to symbol node of the implicit ptr */ 31 dcl ival_ptr ptr; /* to the value of the ptr we're based on */ 32 dcl iblk_ptr ptr; /* to the block the implicit qual was dcl'd in */ 33 dcl bp ptr; /* to the block the based item was dcl'd in */ 34 dcl based_ptr based ptr; 35 dcl packed_ptr unaligned based ptr; 36 dcl i fixed bin; 37 38 dcl stu_$offset_to_pointer entry (ptr, ptr, ptr, ptr, ptr, ptr) returns (ptr), 39 stu_$get_runtime_address entry (ptr, ptr, ptr, ptr, ptr, ptr, ptr) returns (ptr), 40 stu_$block_dcld_in entry (ptr) returns (ptr), 41 stu_$get_display_steps entry (ptr, ptr) returns (fixed bin); 42 dcl (addrel, fixed, null) builtin; 43 44 dcl 1 type_info like runtime_type_info; 45 dcl 1 address_info like runtime_address_info; 46 dcl code fixed bin (35); 47 48 49 type_info.version = RUNTIME_TYPE_INFO_VERSION_1; 50 51 call runtime_symbol_info_$type (sym_pt, addr (type_info), code); 52 if code ^= 0 then return (null); 53 54 address_info.version = RUNTIME_ADDRESS_INFO_VERSION_1; 55 56 call runtime_symbol_info_$address (sym_pt, addr (address_info), code); 57 if code ^= 0 then return (null); 58 59 if address_info.location = 0 then return (null); /* no implicit qualifier in table */ 60 isym_ptr = addrel (sym_pt, address_info.location);/* get ptr to symbol_node for implicit ptr */ 61 62 bp = block_pt; /* get block node for symbol, if not supplied, find it */ 63 if bp = null then bp = stu_$block_dcld_in (sym_pt); 64 sp = stack_pt; /* find right frame for implicit ptr */ 65 iblk_ptr = stu_$block_dcld_in (isym_ptr); 66 do i = 1 to stu_$get_display_steps (bp, iblk_ptr); 67 if sp ^= null then sp = sp -> frame.display; 68 end; 69 70 /* now pickup value of the pointer */ 71 72 ival_ptr = stu_$get_runtime_address (iblk_ptr, isym_ptr, sp, link_pt, text_pt, null, null); 73 if ival_ptr = null then return (null); 74 75 type_info.version = RUNTIME_TYPE_INFO_VERSION_1; 76 77 call runtime_symbol_info_$type (isym_ptr, addr (type_info), code); 78 if code ^= 0 then return (null); 79 80 if type_info.type = offset_dtype 81 then return (stu_$offset_to_pointer (iblk_ptr, isym_ptr, ival_ptr, sp, link_pt, text_pt)); 82 83 else if type_info.type = pointer_dtype 84 then if type_info.packed 85 then return (ival_ptr -> packed_ptr); 86 else return (ival_ptr -> based_ptr); 87 else return (null); /* what kind of data type!! */ 88 1 1 dcl 1 frame aligned based, 1 2 2 pointers(0:7) ptr, 1 3 2 back ptr, 1 4 2 next ptr, 1 5 2 return ptr, 1 6 2 entry ptr, 1 7 2 operator ptr, 1 8 2 argptr ptr, 1 9 2 skip1(2) fixed bin, 1 10 2 on_unit_info(2) bit(18) unaligned, 1 11 2 translator_id bit(18) unaligned, 1 12 2 operator_return bit(18) unaligned, 1 13 2 display ptr, 1 14 2 skip2(2) fixed bin, 1 15 2 linkage ptr; 89 90 2 1 /* BEGIN INCLUDE FILE ... runtime_symbol.incl.pl1 ... Modified 07/79 */ 2 2 2 3 dcl 1 runtime_symbol aligned based, 2 4 2 flag unal bit(1), /* always "1"b for Version II */ 2 5 2 use_digit unal bit(1), /* if "1"b and units are half words units are really digits */ 2 6 2 array_units unal bit(2), 2 7 2 units unal bit(2), /* addressing units */ 2 8 2 type unal bit(6), /* data type */ 2 9 2 level unal bit(6), /* structure level */ 2 10 2 ndims unal bit(6), /* number of dimensions */ 2 11 2 bits unal, 2 12 3 aligned bit(1), 2 13 3 packed bit(1), 2 14 3 simple bit(1), 2 15 2 skip unal bit(1), 2 16 2 scale unal bit(8), /* arithmetic scale factor */ 2 17 2 name unal bit(18), /* rel ptr to acc name */ 2 18 2 brother unal bit(18), /* rel ptr to brother entry */ 2 19 2 father unal bit(18), /* rel ptr to father entry */ 2 20 2 son unal bit(18), /* rel ptr to son entry */ 2 21 2 address unal, 2 22 3 location bit(18), /* location in storage class */ 2 23 3 class bit(4), /* storage class */ 2 24 3 next bit(14), /* rel ptr to next of same class */ 2 25 2 size fixed bin(35), /* encoded string|arith size */ 2 26 2 offset fixed bin(35), /* encoded offset from address */ 2 27 2 virtual_org fixed bin(35), 2 28 2 bounds(1), 2 29 3 lower fixed bin(35), /* encoded lower bound */ 2 30 3 upper fixed bin(35), /* encoded upper bound */ 2 31 3 multiplier fixed bin(35); /* encoded multiplier */ 2 32 2 33 dcl 1 runtime_bound based, 2 34 2 lower fixed bin(35), 2 35 2 upper fixed bin(35), 2 36 2 multiplier fixed bin(35); 2 37 2 38 dcl 1 runtime_block aligned based, 2 39 2 flag unal bit(1), /* always "1"b for Version II */ 2 40 2 quick unal bit(1), /* "1"b if quick block */ 2 41 2 fortran unal bit(1), /* "1"b if fortran program */ 2 42 2 standard unal bit(1), /* "1"b if program has std obj segment */ 2 43 2 owner_flag unal bit(1), /* "1"b if block has valid owner field */ 2 44 2 skip unal bit(1), 2 45 2 type unal bit(6), /* = 0 for a block node */ 2 46 2 number unal bit(6), /* begin block number */ 2 47 2 start unal bit(18), /* rel ptr to start of symbols */ 2 48 2 name unal bit(18), /* rel ptr to name of proc */ 2 49 2 brother unal bit(18), /* rel ptr to brother block */ 2 50 2 father unal bit(18), /* rel ptr to father block */ 2 51 2 son unal bit(18), /* rel ptr to son block */ 2 52 2 map unal, 2 53 3 first bit(18), /* rel ptr to first word of map */ 2 54 3 last bit(18), /* rel ptr to last word of map */ 2 55 2 entry_info unal bit(18), /* info about entry of quick block */ 2 56 2 header unal bit(18), /* rel ptr to symbol header */ 2 57 2 chain(4) unal bit(18), /* chain(i) is rel ptr to first symbol 2 58* on start list with length >= 2**i */ 2 59 2 token(0:5) unal bit(18), /* token(i) is rel ptr to first token 2 60* on list with length >= 2 ** i */ 2 61 2 owner unal bit(18); /* rel ptr to owner block */ 2 62 2 63 dcl 1 runtime_token aligned based, 2 64 2 next unal bit(18), /* rel ptr to next token */ 2 65 2 dcl unal bit(18), /* rel ptr to first dcl of this token */ 2 66 2 name, /* ACC */ 2 67 3 size unal unsigned fixed bin (9), /* number of chars in token */ 2 68 3 string unal char(n refer(runtime_token.size)); 2 69 2 70 dcl 1 encoded_value aligned based, 2 71 2 flag bit (2) unal, 2 72 2 code bit (4) unal, 2 73 2 n1 bit (6) unal, 2 74 2 n2 bit (6) unal, 2 75 2 n3 bit (18) unal; 2 76 2 77 /* END INCLUDE FILE ... runtime_symbol.incl.pl1 */ 91 92 3 1 /* BEGIN INCLUDE FILE ... std_descriptor_types.incl.pl1 */ 3 2 3 3 3 4 /****^ HISTORY COMMENTS: 3 5* 1) change(86-09-05,JMAthane), approve(86-09-05,MCR7525), 3 6* audit(86-09-11,Martinson), install(86-11-12,MR12.0-1208): 3 7* Added pascal_string_type_dtype descriptor type. Its number is 87. 3 8* Objects of this type are PASCAL string types. 3 9* 2) change(88-09-20,WAAnderson), approve(88-09-20,MCR7952), 3 10* audit(88-09-30,JRGray), install(88-10-24,MR12.2-1184): 3 11* Added the new C types. 3 12* END HISTORY COMMENTS */ 3 13 3 14 /* This include file defines mnemonic names for the Multics 3 15* standard descriptor types, using both pl1 and cobol terminology. 3 16* PG 780613 3 17* JRD 790530 3 18* JRD 791016 3 19* MBW 810731 3 20* TGO 830614 Add hex types. 3 21* Modified June 83 JMAthane to add PASCAL data types 3 22* TGO 840120 Add float dec extended and generic, float binary generic 3 23**/ 3 24 3 25 dcl (real_fix_bin_1_dtype init (1), 3 26 real_fix_bin_2_dtype init (2), 3 27 real_flt_bin_1_dtype init (3), 3 28 real_flt_bin_2_dtype init (4), 3 29 cplx_fix_bin_1_dtype init (5), 3 30 cplx_fix_bin_2_dtype init (6), 3 31 cplx_flt_bin_1_dtype init (7), 3 32 cplx_flt_bin_2_dtype init (8), 3 33 real_fix_dec_9bit_ls_dtype init (9), 3 34 real_flt_dec_9bit_dtype init (10), 3 35 cplx_fix_dec_9bit_ls_dtype init (11), 3 36 cplx_flt_dec_9bit_dtype init (12), 3 37 pointer_dtype init (13), 3 38 offset_dtype init (14), 3 39 label_dtype init (15), 3 40 entry_dtype init (16), 3 41 structure_dtype init (17), 3 42 area_dtype init (18), 3 43 bit_dtype init (19), 3 44 varying_bit_dtype init (20), 3 45 char_dtype init (21), 3 46 varying_char_dtype init (22), 3 47 file_dtype init (23), 3 48 real_fix_dec_9bit_ls_overp_dtype init (29), 3 49 real_fix_dec_9bit_ts_overp_dtype init (30), 3 50 real_fix_bin_1_uns_dtype init (33), 3 51 real_fix_bin_2_uns_dtype init (34), 3 52 real_fix_dec_9bit_uns_dtype init (35), 3 53 real_fix_dec_9bit_ts_dtype init (36), 3 54 real_fix_dec_4bit_uns_dtype init (38), /* digit-aligned */ 3 55 real_fix_dec_4bit_ts_dtype init (39), /* byte-aligned */ 3 56 real_fix_dec_4bit_bytealigned_uns_dtype init (40), /* COBOL */ 3 57 real_fix_dec_4bit_ls_dtype init (41), /* digit-aligned */ 3 58 real_flt_dec_4bit_dtype init (42), /* digit-aligned */ 3 59 real_fix_dec_4bit_bytealigned_ls_dtype init (43), 3 60 real_flt_dec_4bit_bytealigned_dtype init (44), 3 61 cplx_fix_dec_4bit_bytealigned_ls_dtype init (45), 3 62 cplx_flt_dec_4bit_bytealigned_dtype init (46), 3 63 real_flt_hex_1_dtype init (47), 3 64 real_flt_hex_2_dtype init (48), 3 65 cplx_flt_hex_1_dtype init (49), 3 66 cplx_flt_hex_2_dtype init (50), 3 67 c_typeref_dtype init (54), 3 68 c_enum_dtype init (55), 3 69 c_enum_const_dtype init (56), 3 70 c_union_dtype init (57), 3 71 algol68_straight_dtype init (59), 3 72 algol68_format_dtype init (60), 3 73 algol68_array_descriptor_dtype init (61), 3 74 algol68_union_dtype init (62), 3 75 3 76 cobol_comp_6_dtype init (1), 3 77 cobol_comp_7_dtype init (1), 3 78 cobol_display_ls_dtype init (9), 3 79 cobol_structure_dtype init (17), 3 80 cobol_char_string_dtype init (21), 3 81 cobol_display_ls_overp_dtype init (29), 3 82 cobol_display_ts_overp_dtype init (30), 3 83 cobol_display_uns_dtype init (35), 3 84 cobol_display_ts_dtype init (36), 3 85 cobol_comp_8_uns_dtype init (38), /* digit aligned */ 3 86 cobol_comp_5_ts_dtype init (39), /* byte aligned */ 3 87 cobol_comp_5_uns_dtype init (40), 3 88 cobol_comp_8_ls_dtype init (41), /* digit aligned */ 3 89 real_flt_dec_extended_dtype init (81), /* 9-bit exponent */ 3 90 cplx_flt_dec_extended_dtype init (82), /* 9-bit exponent */ 3 91 real_flt_dec_generic_dtype init (83), /* generic float decimal */ 3 92 cplx_flt_dec_generic_dtype init (84), 3 93 real_flt_bin_generic_dtype init (85), /* generic float binary */ 3 94 cplx_flt_bin_generic_dtype init (86)) fixed bin internal static options (constant); 3 95 3 96 dcl (ft_integer_dtype init (1), 3 97 ft_real_dtype init (3), 3 98 ft_double_dtype init (4), 3 99 ft_complex_dtype init (7), 3 100 ft_complex_double_dtype init (8), 3 101 ft_external_dtype init (16), 3 102 ft_logical_dtype init (19), 3 103 ft_char_dtype init (21), 3 104 ft_hex_real_dtype init (47), 3 105 ft_hex_double_dtype init (48), 3 106 ft_hex_complex_dtype init (49), 3 107 ft_hex_complex_double_dtype init (50) 3 108 ) fixed bin internal static options (constant); 3 109 3 110 dcl (algol68_short_int_dtype init (1), 3 111 algol68_int_dtype init (1), 3 112 algol68_long_int_dtype init (2), 3 113 algol68_real_dtype init (3), 3 114 algol68_long_real_dtype init (4), 3 115 algol68_compl_dtype init (7), 3 116 algol68_long_compl_dtype init (8), 3 117 algol68_bits_dtype init (19), 3 118 algol68_bool_dtype init (19), 3 119 algol68_char_dtype init (21), 3 120 algol68_byte_dtype init (21), 3 121 algol68_struct_struct_char_dtype init (22), 3 122 algol68_struct_struct_bool_dtype init (20) 3 123 ) fixed bin internal static options (constant); 3 124 3 125 dcl (label_constant_runtime_dtype init (24), 3 126 int_entry_runtime_dtype init (25), 3 127 ext_entry_runtime_dtype init (26), 3 128 ext_procedure_runtime_dtype init (27), 3 129 picture_runtime_dtype init (63) 3 130 ) fixed bin internal static options (constant); 3 131 3 132 dcl (pascal_integer_dtype init (1), 3 133 pascal_real_dtype init (4), 3 134 pascal_label_dtype init (24), 3 135 pascal_internal_procedure_dtype init (25), 3 136 pascal_exportable_procedure_dtype init (26), 3 137 pascal_imported_procedure_dtype init (27), 3 138 pascal_typed_pointer_type_dtype init (64), 3 139 pascal_char_dtype init (65), 3 140 pascal_boolean_dtype init (66), 3 141 pascal_record_file_type_dtype init (67), 3 142 pascal_record_type_dtype init (68), 3 143 pascal_set_dtype init (69), 3 144 pascal_enumerated_type_dtype init (70), 3 145 pascal_enumerated_type_element_dtype init (71), 3 146 pascal_enumerated_type_instance_dtype init (72), 3 147 pascal_user_defined_type_dtype init (73), 3 148 pascal_user_defined_type_instance_dtype init (74), 3 149 pascal_text_file_dtype init (75), 3 150 pascal_procedure_type_dtype init (76), 3 151 pascal_variable_formal_parameter_dtype init (77), 3 152 pascal_value_formal_parameter_dtype init (78), 3 153 pascal_entry_formal_parameter_dtype init (79), 3 154 pascal_parameter_procedure_dtype init (80), 3 155 pascal_string_type_dtype init (87)) fixed bin int static options (constant); 3 156 3 157 3 158 /* END INCLUDE FILE ... std_descriptor_types.incl.pl1 */ 93 4 1 /* BEGIN INCLUDE FILE runtime_symbol_info_.incl.pl1 */ 4 2 4 3 4 4 /****^ HISTORY COMMENTS: 4 5* 1) change(86-09-05,JMAthane), approve(86-09-05,MCR7525), 4 6* audit(86-09-11,Martinson), install(86-11-12,MR12.0-1208): 4 7* Added runtime_symbol_info_$subrange entry which was missing. Added 4 8* has_dimensions and has subrange_limits fields in type_info record. 4 9* Structure version numbers have not been changed since this change does not 4 10* affect existing programs. 4 11* END HISTORY COMMENTS */ 4 12 4 13 /* Declarations for using the various entry points in runtime_symbol_info_ */ 4 14 /* NOTE: These entries do not support PL/1 version 1. */ 4 15 4 16 /* Made structures aligned, removed variable extent from runtime_array_info.bounds 08/25/83 S. Herbst */ 4 17 /* Added version strings to structures 10/05/83 S. Herbst */ 4 18 /* Added has_dimensions and has_subrange_limits bits in type_info 4 19*Added subrange entry. JMAthane 08/31/84 */ 4 20 4 21 4 22 dcl runtime_symbol_info_$type entry (ptr, ptr, fixed bin (35)); 4 23 4 24 dcl 1 runtime_type_info aligned based, 4 25 2 version char (8), /* = "RUNTYP_1" */ 4 26 2 flags, 4 27 3 aligned bit (1) unal, 4 28 3 packed bit (1) unal, 4 29 3 size_is_encoded bit (1) unal, 4 30 3 has_dimensions bit (1) unal, 4 31 3 has_subrange_limits bit (1) unal, 4 32 3 pad bit (23) unal, 4 33 2 scale fixed bin (7) unal, 4 34 2 (type, base_type) fixed bin (18) unsigned unal, 4 35 2 (type_addr, base_type_addr) ptr, 4 36 2 size fixed bin (35); 4 37 4 38 dcl runtime_symbol_info_$father entry (ptr) returns (ptr); 4 39 4 40 dcl runtime_symbol_info_$brother entry (ptr) returns (ptr); 4 41 4 42 dcl runtime_symbol_info_$father_type entry (ptr) returns (ptr); 4 43 4 44 dcl runtime_symbol_info_$son entry (ptr) returns (ptr); 4 45 4 46 dcl runtime_symbol_info_$successor entry (ptr) returns (ptr); 4 47 4 48 dcl runtime_symbol_info_$name entry (ptr) returns (ptr); 4 49 4 50 dcl runtime_symbol_info_$level entry (ptr) returns (fixed bin); 4 51 4 52 dcl runtime_symbol_info_$next entry (ptr) returns (ptr); 4 53 4 54 dcl runtime_symbol_info_$address entry (ptr, ptr, fixed bin (35)); 4 55 4 56 dcl 1 runtime_address_info aligned based, 4 57 2 version char (8), /* = "RUNADR_1" */ 4 58 2 location fixed bin (18) unsigned unal, 4 59 2 class fixed bin (6) unsigned unal, 4 60 2 use_digit fixed bin (1) unsigned unal, 4 61 2 units fixed bin (2) unsigned unal, 4 62 2 offset_is_encoded bit (1) unal, 4 63 2 pad bit (8) unal, 4 64 2 offset fixed bin (35); 4 65 4 66 dcl runtime_symbol_info_$array_dims entry (ptr) returns (fixed bin); 4 67 4 68 dcl runtime_symbol_info_$array entry (ptr, ptr, fixed bin (35)); 4 69 4 70 dcl 1 runtime_array_info aligned based, 4 71 2 version char (8), /* = "RUNARY_1" */ 4 72 2 access_info aligned, 4 73 3 ndims fixed bin (6) unsigned unaligned, /* number of dimensions */ 4 74 3 use_digit fixed bin (1) unsigned unaligned, /* if "1"b and units are half words, 4 75* units are really digits */ 4 76 3 array_units fixed bin (2) unsigned unaligned, 4 77 3 virtual_origin_is_encoded 4 78 bit (1) unaligned, 4 79 3 pad bit (26) unaligned, 4 80 2 virtual_origin fixed bin (35), 4 81 2 bounds (16) 4 82 aligned, 4 83 3 flags aligned, 4 84 4 lower_is_encoded 4 85 bit (1) unaligned, 4 86 4 upper_is_encoded 4 87 bit (1) unaligned, 4 88 4 multiplier_is_encoded 4 89 bit (1) unaligned, 4 90 4 pad bit (33) unaligned, 4 91 3 lower fixed bin (35), 4 92 3 upper fixed bin (35), 4 93 3 multiplier fixed bin (35), 4 94 3 subscript_type fixed bin (35), 4 95 3 subscript_type_addr ptr; 4 96 4 97 dcl n_dims fixed bin; 4 98 4 99 dcl runtime_symbol_info_$n_variants entry (ptr) returns (fixed bin (35)); 4 100 4 101 dcl runtime_symbol_info_$variant entry (ptr, ptr, fixed bin (35)); 4 102 4 103 dcl 1 runtime_variant_info aligned based, 4 104 2 version char (8), /* = "RUNVAR_1" */ 4 105 2 number_of_variants fixed bin, 4 106 2 first_value_in_set fixed bin (35), /* value corresponding to the first bit in set stings */ 4 107 2 case (n_variants), 4 108 3 set_addr ptr, /* bit string specifies cases; 4 109* set's base type is this node's type */ 4 110 3 brother_addr ptr; /* ptr to brother for this variant */ 4 111 4 112 dcl n_variants fixed bin (35); 4 113 4 114 dcl runtime_symbol_info_$subrange entry (ptr, ptr, fixed bin (35)); 4 115 4 116 dcl 1 runtime_subrange_info based, 4 117 2 version char (8), /* = "RUNSUB_1" */ 4 118 2 flags aligned, 4 119 3 has_subrange_limits bit (1) unal, 4 120 3 lower_bound_is_encoded bit (1) unal, 4 121 3 upper_bound_is_encoded bit (1) unal, 4 122 3 pad bit (33) unal, 4 123 2 subrange_lower_bound fixed bin (35), 4 124 2 subrange_upper_bound fixed bin (35); 4 125 4 126 4 127 dcl RUNTIME_TYPE_INFO_VERSION_1 char (8) int static options (constant) init ("RUNTYP_1"); 4 128 dcl RUNTIME_ADDRESS_INFO_VERSION_1 char (8) int static options (constant) init ("RUNADR_1"); 4 129 dcl RUNTIME_ARRAY_INFO_VERSION_1 char (8) int static options (constant) init ("RUNARY_1"); 4 130 dcl RUNTIME_VARIANT_INFO_VERSION_1 char (8) int static options (constant) init ("RUNVAR_1"); 4 131 dcl RUNTIME_SUBRANGE_INFO_VERSION_1 char (8) int static options (constant) init ("RUNSUB_1"); 4 132 4 133 4 134 /* END INCLUDE FILE runtime_symbol_info_.incl.pl1 */ 94 95 96 end get_implicit_qualifier; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/24/88 1400.3 get_implicit_qualifier.pl1 >special_ldd>install>MR12.2-1184>get_implicit_qualifier.pl1 89 1 05/06/74 1752.6 stu_frame.incl.pl1 >ldd>include>stu_frame.incl.pl1 91 2 11/26/79 1320.6 runtime_symbol.incl.pl1 >ldd>include>runtime_symbol.incl.pl1 93 3 10/24/88 1336.9 std_descriptor_types.incl.pl1 >special_ldd>install>MR12.2-1184>std_descriptor_types.incl.pl1 94 4 11/12/86 1748.0 runtime_symbol_info_.incl.pl1 >ldd>include>runtime_symbol_info_.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. RUNTIME_ADDRESS_INFO_VERSION_1 000000 constant char(8) initial packed unaligned dcl 4-128 ref 54 RUNTIME_TYPE_INFO_VERSION_1 000002 constant char(8) initial packed unaligned dcl 4-127 ref 49 75 addrel builtin function dcl 42 ref 60 address_info 000125 automatic structure level 1 unaligned dcl 45 set ref 56 56 based_ptr based pointer dcl 34 ref 86 block_pt parameter pointer dcl 23 ref 21 62 bp 000110 automatic pointer dcl 33 set ref 62* 63 63* 66* code 000131 automatic fixed bin(35,0) dcl 46 set ref 51* 52 56* 57 77* 78 display 40 based pointer level 2 dcl 1-1 ref 67 flags 2 000114 automatic structure level 2 packed packed unaligned dcl 44 frame based structure level 1 dcl 1-1 i 000112 automatic fixed bin(17,0) dcl 36 set ref 66* iblk_ptr 000106 automatic pointer dcl 32 set ref 65* 66* 72* 80* isym_ptr 000102 automatic pointer dcl 30 set ref 60* 65* 72* 77* 80* ival_ptr 000104 automatic pointer dcl 31 set ref 72* 73 80* 83 86 link_pt parameter pointer dcl 23 set ref 21 72* 80* location 2 000125 automatic fixed bin(18,0) level 2 packed packed unsigned unaligned dcl 45 set ref 59 60 null builtin function dcl 42 ref 52 57 59 63 67 72 72 72 72 73 73 78 87 offset_dtype constant fixed bin(17,0) initial dcl 3-25 ref 80 packed 2(01) 000114 automatic bit(1) level 3 packed packed unaligned dcl 44 set ref 83 packed_ptr based pointer packed unaligned dcl 35 ref 83 pointer_dtype constant fixed bin(17,0) initial dcl 3-25 ref 83 runtime_address_info based structure level 1 dcl 4-56 runtime_symbol_info_$address 000022 constant entry external dcl 4-54 ref 56 runtime_symbol_info_$type 000020 constant entry external dcl 4-22 ref 51 77 runtime_type_info based structure level 1 dcl 4-24 sp 000100 automatic pointer dcl 29 set ref 64* 67 67* 67 72* 80* stack_pt parameter pointer dcl 23 ref 21 64 stu_$block_dcld_in 000014 constant entry external dcl 38 ref 63 65 stu_$get_display_steps 000016 constant entry external dcl 38 ref 66 stu_$get_runtime_address 000012 constant entry external dcl 38 ref 72 stu_$offset_to_pointer 000010 constant entry external dcl 38 ref 80 sym_pt parameter pointer dcl 23 set ref 21 51* 56* 60 63* text_pt parameter pointer dcl 23 set ref 21 72* 80* type 3 000114 automatic fixed bin(18,0) level 2 packed packed unsigned unaligned dcl 44 set ref 80 83 type_info 000114 automatic structure level 1 unaligned dcl 44 set ref 51 51 77 77 version 000114 automatic char(8) level 2 in structure "type_info" packed packed unaligned dcl 44 in procedure "get_implicit_qualifier" set ref 49* 75* version 000125 automatic char(8) level 2 in structure "address_info" packed packed unaligned dcl 45 in procedure "get_implicit_qualifier" set ref 54* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. RUNTIME_ARRAY_INFO_VERSION_1 internal static char(8) initial packed unaligned dcl 4-129 RUNTIME_SUBRANGE_INFO_VERSION_1 internal static char(8) initial packed unaligned dcl 4-131 RUNTIME_VARIANT_INFO_VERSION_1 internal static char(8) initial packed unaligned dcl 4-130 algol68_array_descriptor_dtype internal static fixed bin(17,0) initial dcl 3-25 algol68_bits_dtype internal static fixed bin(17,0) initial dcl 3-110 algol68_bool_dtype internal static fixed bin(17,0) initial dcl 3-110 algol68_byte_dtype internal static fixed bin(17,0) initial dcl 3-110 algol68_char_dtype internal static fixed bin(17,0) initial dcl 3-110 algol68_compl_dtype internal static fixed bin(17,0) initial dcl 3-110 algol68_format_dtype internal static fixed bin(17,0) initial dcl 3-25 algol68_int_dtype internal static fixed bin(17,0) initial dcl 3-110 algol68_long_compl_dtype internal static fixed bin(17,0) initial dcl 3-110 algol68_long_int_dtype internal static fixed bin(17,0) initial dcl 3-110 algol68_long_real_dtype internal static fixed bin(17,0) initial dcl 3-110 algol68_real_dtype internal static fixed bin(17,0) initial dcl 3-110 algol68_short_int_dtype internal static fixed bin(17,0) initial dcl 3-110 algol68_straight_dtype internal static fixed bin(17,0) initial dcl 3-25 algol68_struct_struct_bool_dtype internal static fixed bin(17,0) initial dcl 3-110 algol68_struct_struct_char_dtype internal static fixed bin(17,0) initial dcl 3-110 algol68_union_dtype internal static fixed bin(17,0) initial dcl 3-25 area_dtype internal static fixed bin(17,0) initial dcl 3-25 bit_dtype internal static fixed bin(17,0) initial dcl 3-25 c_enum_const_dtype internal static fixed bin(17,0) initial dcl 3-25 c_enum_dtype internal static fixed bin(17,0) initial dcl 3-25 c_typeref_dtype internal static fixed bin(17,0) initial dcl 3-25 c_union_dtype internal static fixed bin(17,0) initial dcl 3-25 char_dtype internal static fixed bin(17,0) initial dcl 3-25 cobol_char_string_dtype internal static fixed bin(17,0) initial dcl 3-25 cobol_comp_5_ts_dtype internal static fixed bin(17,0) initial dcl 3-25 cobol_comp_5_uns_dtype internal static fixed bin(17,0) initial dcl 3-25 cobol_comp_6_dtype internal static fixed bin(17,0) initial dcl 3-25 cobol_comp_7_dtype internal static fixed bin(17,0) initial dcl 3-25 cobol_comp_8_ls_dtype internal static fixed bin(17,0) initial dcl 3-25 cobol_comp_8_uns_dtype internal static fixed bin(17,0) initial dcl 3-25 cobol_display_ls_dtype internal static fixed bin(17,0) initial dcl 3-25 cobol_display_ls_overp_dtype internal static fixed bin(17,0) initial dcl 3-25 cobol_display_ts_dtype internal static fixed bin(17,0) initial dcl 3-25 cobol_display_ts_overp_dtype internal static fixed bin(17,0) initial dcl 3-25 cobol_display_uns_dtype internal static fixed bin(17,0) initial dcl 3-25 cobol_structure_dtype internal static fixed bin(17,0) initial dcl 3-25 cplx_fix_bin_1_dtype internal static fixed bin(17,0) initial dcl 3-25 cplx_fix_bin_2_dtype internal static fixed bin(17,0) initial dcl 3-25 cplx_fix_dec_4bit_bytealigned_ls_dtype internal static fixed bin(17,0) initial dcl 3-25 cplx_fix_dec_9bit_ls_dtype internal static fixed bin(17,0) initial dcl 3-25 cplx_flt_bin_1_dtype internal static fixed bin(17,0) initial dcl 3-25 cplx_flt_bin_2_dtype internal static fixed bin(17,0) initial dcl 3-25 cplx_flt_bin_generic_dtype internal static fixed bin(17,0) initial dcl 3-25 cplx_flt_dec_4bit_bytealigned_dtype internal static fixed bin(17,0) initial dcl 3-25 cplx_flt_dec_9bit_dtype internal static fixed bin(17,0) initial dcl 3-25 cplx_flt_dec_extended_dtype internal static fixed bin(17,0) initial dcl 3-25 cplx_flt_dec_generic_dtype internal static fixed bin(17,0) initial dcl 3-25 cplx_flt_hex_1_dtype internal static fixed bin(17,0) initial dcl 3-25 cplx_flt_hex_2_dtype internal static fixed bin(17,0) initial dcl 3-25 encoded_value based structure level 1 dcl 2-70 entry_dtype internal static fixed bin(17,0) initial dcl 3-25 ext_entry_runtime_dtype internal static fixed bin(17,0) initial dcl 3-125 ext_procedure_runtime_dtype internal static fixed bin(17,0) initial dcl 3-125 file_dtype internal static fixed bin(17,0) initial dcl 3-25 fixed builtin function dcl 42 ft_char_dtype internal static fixed bin(17,0) initial dcl 3-96 ft_complex_double_dtype internal static fixed bin(17,0) initial dcl 3-96 ft_complex_dtype internal static fixed bin(17,0) initial dcl 3-96 ft_double_dtype internal static fixed bin(17,0) initial dcl 3-96 ft_external_dtype internal static fixed bin(17,0) initial dcl 3-96 ft_hex_complex_double_dtype internal static fixed bin(17,0) initial dcl 3-96 ft_hex_complex_dtype internal static fixed bin(17,0) initial dcl 3-96 ft_hex_double_dtype internal static fixed bin(17,0) initial dcl 3-96 ft_hex_real_dtype internal static fixed bin(17,0) initial dcl 3-96 ft_integer_dtype internal static fixed bin(17,0) initial dcl 3-96 ft_logical_dtype internal static fixed bin(17,0) initial dcl 3-96 ft_real_dtype internal static fixed bin(17,0) initial dcl 3-96 int_entry_runtime_dtype internal static fixed bin(17,0) initial dcl 3-125 label_constant_runtime_dtype internal static fixed bin(17,0) initial dcl 3-125 label_dtype internal static fixed bin(17,0) initial dcl 3-25 n_dims automatic fixed bin(17,0) dcl 4-97 n_variants automatic fixed bin(35,0) dcl 4-112 pascal_boolean_dtype internal static fixed bin(17,0) initial dcl 3-132 pascal_char_dtype internal static fixed bin(17,0) initial dcl 3-132 pascal_entry_formal_parameter_dtype internal static fixed bin(17,0) initial dcl 3-132 pascal_enumerated_type_dtype internal static fixed bin(17,0) initial dcl 3-132 pascal_enumerated_type_element_dtype internal static fixed bin(17,0) initial dcl 3-132 pascal_enumerated_type_instance_dtype internal static fixed bin(17,0) initial dcl 3-132 pascal_exportable_procedure_dtype internal static fixed bin(17,0) initial dcl 3-132 pascal_imported_procedure_dtype internal static fixed bin(17,0) initial dcl 3-132 pascal_integer_dtype internal static fixed bin(17,0) initial dcl 3-132 pascal_internal_procedure_dtype internal static fixed bin(17,0) initial dcl 3-132 pascal_label_dtype internal static fixed bin(17,0) initial dcl 3-132 pascal_parameter_procedure_dtype internal static fixed bin(17,0) initial dcl 3-132 pascal_procedure_type_dtype internal static fixed bin(17,0) initial dcl 3-132 pascal_real_dtype internal static fixed bin(17,0) initial dcl 3-132 pascal_record_file_type_dtype internal static fixed bin(17,0) initial dcl 3-132 pascal_record_type_dtype internal static fixed bin(17,0) initial dcl 3-132 pascal_set_dtype internal static fixed bin(17,0) initial dcl 3-132 pascal_string_type_dtype internal static fixed bin(17,0) initial dcl 3-132 pascal_text_file_dtype internal static fixed bin(17,0) initial dcl 3-132 pascal_typed_pointer_type_dtype internal static fixed bin(17,0) initial dcl 3-132 pascal_user_defined_type_dtype internal static fixed bin(17,0) initial dcl 3-132 pascal_user_defined_type_instance_dtype internal static fixed bin(17,0) initial dcl 3-132 pascal_value_formal_parameter_dtype internal static fixed bin(17,0) initial dcl 3-132 pascal_variable_formal_parameter_dtype internal static fixed bin(17,0) initial dcl 3-132 picture_runtime_dtype internal static fixed bin(17,0) initial dcl 3-125 real_fix_bin_1_dtype internal static fixed bin(17,0) initial dcl 3-25 real_fix_bin_1_uns_dtype internal static fixed bin(17,0) initial dcl 3-25 real_fix_bin_2_dtype internal static fixed bin(17,0) initial dcl 3-25 real_fix_bin_2_uns_dtype internal static fixed bin(17,0) initial dcl 3-25 real_fix_dec_4bit_bytealigned_ls_dtype internal static fixed bin(17,0) initial dcl 3-25 real_fix_dec_4bit_bytealigned_uns_dtype internal static fixed bin(17,0) initial dcl 3-25 real_fix_dec_4bit_ls_dtype internal static fixed bin(17,0) initial dcl 3-25 real_fix_dec_4bit_ts_dtype internal static fixed bin(17,0) initial dcl 3-25 real_fix_dec_4bit_uns_dtype internal static fixed bin(17,0) initial dcl 3-25 real_fix_dec_9bit_ls_dtype internal static fixed bin(17,0) initial dcl 3-25 real_fix_dec_9bit_ls_overp_dtype internal static fixed bin(17,0) initial dcl 3-25 real_fix_dec_9bit_ts_dtype internal static fixed bin(17,0) initial dcl 3-25 real_fix_dec_9bit_ts_overp_dtype internal static fixed bin(17,0) initial dcl 3-25 real_fix_dec_9bit_uns_dtype internal static fixed bin(17,0) initial dcl 3-25 real_flt_bin_1_dtype internal static fixed bin(17,0) initial dcl 3-25 real_flt_bin_2_dtype internal static fixed bin(17,0) initial dcl 3-25 real_flt_bin_generic_dtype internal static fixed bin(17,0) initial dcl 3-25 real_flt_dec_4bit_bytealigned_dtype internal static fixed bin(17,0) initial dcl 3-25 real_flt_dec_4bit_dtype internal static fixed bin(17,0) initial dcl 3-25 real_flt_dec_9bit_dtype internal static fixed bin(17,0) initial dcl 3-25 real_flt_dec_extended_dtype internal static fixed bin(17,0) initial dcl 3-25 real_flt_dec_generic_dtype internal static fixed bin(17,0) initial dcl 3-25 real_flt_hex_1_dtype internal static fixed bin(17,0) initial dcl 3-25 real_flt_hex_2_dtype internal static fixed bin(17,0) initial dcl 3-25 runtime_array_info based structure level 1 dcl 4-70 runtime_block based structure level 1 dcl 2-38 runtime_bound based structure level 1 unaligned dcl 2-33 runtime_subrange_info based structure level 1 unaligned dcl 4-116 runtime_symbol based structure level 1 dcl 2-3 runtime_symbol_info_$array 000000 constant entry external dcl 4-68 runtime_symbol_info_$array_dims 000000 constant entry external dcl 4-66 runtime_symbol_info_$brother 000000 constant entry external dcl 4-40 runtime_symbol_info_$father 000000 constant entry external dcl 4-38 runtime_symbol_info_$father_type 000000 constant entry external dcl 4-42 runtime_symbol_info_$level 000000 constant entry external dcl 4-50 runtime_symbol_info_$n_variants 000000 constant entry external dcl 4-99 runtime_symbol_info_$name 000000 constant entry external dcl 4-48 runtime_symbol_info_$next 000000 constant entry external dcl 4-52 runtime_symbol_info_$son 000000 constant entry external dcl 4-44 runtime_symbol_info_$subrange 000000 constant entry external dcl 4-114 runtime_symbol_info_$successor 000000 constant entry external dcl 4-46 runtime_symbol_info_$variant 000000 constant entry external dcl 4-101 runtime_token based structure level 1 dcl 2-63 runtime_variant_info based structure level 1 dcl 4-103 structure_dtype internal static fixed bin(17,0) initial dcl 3-25 varying_bit_dtype internal static fixed bin(17,0) initial dcl 3-25 varying_char_dtype internal static fixed bin(17,0) initial dcl 3-25 NAME DECLARED BY EXPLICIT CONTEXT. get_implicit_qualifier 000020 constant entry external dcl 21 NAME DECLARED BY CONTEXT OR IMPLICATION. addr builtin function ref 51 51 56 56 77 77 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 466 512 355 476 Length 772 355 24 244 110 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME get_implicit_qualifier 122 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME get_implicit_qualifier 000100 sp get_implicit_qualifier 000102 isym_ptr get_implicit_qualifier 000104 ival_ptr get_implicit_qualifier 000106 iblk_ptr get_implicit_qualifier 000110 bp get_implicit_qualifier 000112 i get_implicit_qualifier 000114 type_info get_implicit_qualifier 000125 address_info get_implicit_qualifier 000131 code get_implicit_qualifier THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out return_mac ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. runtime_symbol_info_$address runtime_symbol_info_$type stu_$block_dcld_in stu_$get_display_steps stu_$get_runtime_address stu_$offset_to_pointer NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 21 000012 49 000025 51 000027 52 000044 54 000052 56 000055 57 000073 59 000101 60 000111 62 000116 63 000121 64 000136 65 000142 66 000153 67 000173 68 000202 72 000204 73 000235 75 000245 77 000247 78 000264 80 000272 83 000327 86 000344 87 000351 ----------------------------------------------------------- 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