COMPILATION LISTING OF SEGMENT initialize_int_static Compiled by: Multics PL/I Compiler, Release 32c, of June 16, 1989 Compiled at: Bull HN, Phoenix AZ, System-M Compiled on: 09/19/89 1013.6 mst Tue Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) BULL HN Information Systems Inc., 1989 * 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 15 /****^ HISTORY COMMENTS: 16* 1) change(89-02-28,RWaters), approve(89-02-28,MCR8068), audit(89-09-07,Vu), 17* install(89-09-19,MR12.3-1068): 18* Fix bug 1884. 19* END HISTORY COMMENTS */ 20 21 22 /* format: style3,^indattr,ifthendo,ifthen,^indnoniterdo,indproc,^elsestmt,dclind9,idind23 */ 23 initialize_int_static: 24 proc (s, address); 25 26 /* Modified 770629 by PG to fix 1606 (not diagnosing multiple initial values for scalar) 27*/* Modified 771102 by PG to diagnose wrong number of initial elements for arrays 28*/* Modified 14 July 1978 by PCK for unsigned binary 29*/* Modified: 25 Apr 1979 by PCK to implement 4-bit decimal 30*/* Modified: 07 Mar 89 by RW internal static bit strings incorrectly initialized 31**/ 32 33 dcl ( 34 s, 35 address, 36 stack (128), 37 v, 38 r, 39 a, 40 b 41 ) ptr; 42 dcl (total_array_elements, total_initial_elements) fixed bin (24); 43 dcl (offset, units, index, k, i) fixed bin (15); 44 dcl area_size fixed bin (31); 45 dcl (sub, high, low, multiplier) (128) fixed bin (15); 46 47 dcl 1 initial aligned based, /* this must map into storage */ 48 2 node_type unaligned bit (9), /* as if it were a 3 element */ 49 2 reserved bit (12) unaligned, 50 2 number fixed (14) unaligned, /* list node. */ 51 2 factor fixed (17) unaligned, 52 2 index fixed (17) unaligned, 53 2 value ptr unaligned, 54 2 next ptr unaligned; 55 56 dcl 1 area_target based (address) aligned, 57 2 spacer (offset) fixed bin, 58 2 (z1, z2) fixed bin, 59 2 size fixed bin, 60 2 z3 fixed bin; 61 62 dcl 1 new_area_target aligned based (address), 63 2 spacer (offset) fixed bin, 64 2 image area (area_size); 65 66 dcl (null, bit, char, abs, addr, min, empty, unspec) builtin; 67 dcl create_token entry (char (*), bit (9) aligned) returns (ptr); 68 dcl error_$no_text entry (fixed bin (15), 1, 2 bit (8), 2 bit (14), 2 bit (5), ptr); 69 dcl token_to_binary entry (ptr) returns (fixed bin); 70 71 dcl pl1_stat_$use_old_area bit (1) aligned ext static; 72 73 dcl cg_static_$null_value bit (72) ext aligned, 74 cg_static_$packed_null_value bit (36) ext aligned, 75 cg_static_$offset_null_value bit (36) ext aligned; 76 77 dcl (fixed, substr, string) builtin; 78 1 1 /* BEGIN INCLUDE FILE ... symbol.incl.pl1 */ 1 2 1 3 dcl 1 symbol based aligned, 1 4 2 node_type bit(9) unal, 1 5 2 source_id structure unal, 1 6 3 file_number bit(8), 1 7 3 line_number bit(14), 1 8 3 statement_number bit(5), 1 9 2 location fixed(18) unal unsigned, 1 10 2 allocated bit(1) unal, 1 11 2 dcl_type bit(3) unal, 1 12 2 reserved bit(6) unal, 1 13 2 pix unal, 1 14 3 pic_fixed bit(1) unal, 1 15 3 pic_float bit(1) unal, 1 16 3 pic_char bit(1) unal, 1 17 3 pic_scale fixed(7) unal, 1 18 3 pic_size fixed(7) unal, 1 19 2 level fixed(8) unal, 1 20 2 boundary fixed(3) unal, 1 21 2 size_units fixed(3) unal, 1 22 2 scale fixed(7) unal, 1 23 2 runtime bit(18) unal, 1 24 2 runtime_offset bit(18) unal, 1 25 2 block_node ptr unal, 1 26 2 token ptr unal, 1 27 2 next ptr unal, 1 28 2 multi_use ptr unal, 1 29 2 cross_references ptr unal, 1 30 2 initial ptr unal, 1 31 2 array ptr unal, 1 32 2 descriptor ptr unal, 1 33 2 equivalence ptr unal, 1 34 2 reference ptr unal, 1 35 2 general ptr unal, 1 36 2 father ptr unal, 1 37 2 brother ptr unal, 1 38 2 son ptr unal, 1 39 2 word_size ptr unal, 1 40 2 bit_size ptr unal, 1 41 2 dcl_size ptr unal, 1 42 2 symtab_size ptr unal, 1 43 2 c_word_size fixed(24), 1 44 2 c_bit_size fixed(24), 1 45 2 c_dcl_size fixed(24), 1 46 1 47 2 attributes structure aligned, 1 48 3 data_type structure unal, 1 49 4 structure bit(1) , 1 50 4 fixed bit(1), 1 51 4 float bit(1), 1 52 4 bit bit(1), 1 53 4 char bit(1), 1 54 4 ptr bit(1), 1 55 4 offset bit(1), 1 56 4 area bit(1), 1 57 4 label bit(1), 1 58 4 entry bit(1), 1 59 4 file bit(1), 1 60 4 arg_descriptor bit(1), 1 61 4 storage_block bit(1), 1 62 4 explicit_packed bit(1), /* options(packed) */ 1 63 4 condition bit(1), 1 64 4 format bit(1), 1 65 4 builtin bit(1), 1 66 4 generic bit(1), 1 67 4 picture bit(1), 1 68 1 69 3 misc_attributes structure unal, 1 70 4 dimensioned bit(1), 1 71 4 initialed bit(1), 1 72 4 aligned bit(1), 1 73 4 unaligned bit(1), 1 74 4 signed bit(1), 1 75 4 unsigned bit(1), 1 76 4 precision bit(1), 1 77 4 varying bit(1), 1 78 4 local bit(1), 1 79 4 decimal bit(1), 1 80 4 binary bit(1), 1 81 4 real bit(1), 1 82 4 complex bit(1), 1 83 4 variable bit(1), 1 84 4 reducible bit(1), 1 85 4 irreducible bit(1), 1 86 4 returns bit(1), 1 87 4 position bit(1), 1 88 4 internal bit(1), 1 89 4 external bit(1), 1 90 4 like bit(1), 1 91 4 member bit(1), 1 92 4 non_varying bit(1), 1 93 4 options bit(1), 1 94 4 variable_arg_list bit(1), /* options(variable) */ 1 95 4 alloc_in_text bit(1), /* options(constant) */ 1 96 1 97 3 storage_class structure unal, 1 98 4 auto bit(1), 1 99 4 based bit(1), 1 100 4 static bit(1), 1 101 4 controlled bit(1), 1 102 4 defined bit(1), 1 103 4 parameter bit(1), 1 104 4 param_desc bit(1), 1 105 4 constant bit(1), 1 106 4 temporary bit(1), 1 107 4 return_value bit(1), 1 108 1 109 3 file_attributes structure unal, 1 110 4 print bit(1), 1 111 4 input bit(1), 1 112 4 output bit(1), 1 113 4 update bit(1), 1 114 4 stream bit(1), 1 115 4 reserved_1 bit(1), 1 116 4 record bit(1), 1 117 4 sequential bit(1), 1 118 4 direct bit(1), 1 119 4 interactive bit(1), /* env(interactive) */ 1 120 4 reserved_2 bit(1), 1 121 4 reserved_3 bit(1), 1 122 4 stringvalue bit(1), /* env(stringvalue) */ 1 123 4 keyed bit(1), 1 124 4 reserved_4 bit(1), 1 125 4 environment bit(1), 1 126 1 127 3 compiler_developed structure unal, 1 128 4 aliasable bit(1), 1 129 4 packed bit(1), 1 130 4 passed_as_arg bit(1), 1 131 4 allocate bit(1), 1 132 4 set bit(1), 1 133 4 exp_extents bit(1), 1 134 4 refer_extents bit(1), 1 135 4 star_extents bit(1), 1 136 4 isub bit(1), 1 137 4 put_in_symtab bit(1), 1 138 4 contiguous bit(1), 1 139 4 put_data bit(1), 1 140 4 overlayed bit(1), 1 141 4 error bit(1), 1 142 4 symtab_processed bit(1), 1 143 4 overlayed_by_builtin bit(1), 1 144 4 defaulted bit(1), 1 145 4 connected bit(1); 1 146 1 147 /* END INCLUDE FILE ... symbol.incl.pl1 */ 79 2 1 dcl 1 array based aligned, 2 2 2 node_type bit(9) unaligned, 2 3 2 reserved bit(34) unaligned, 2 4 2 number_of_dimensions fixed(7) unaligned, 2 5 2 own_number_of_dimensions fixed(7) unaligned, 2 6 2 element_boundary fixed(3) unaligned, 2 7 2 size_units fixed(3) unaligned, 2 8 2 offset_units fixed(3) unaligned, 2 9 2 interleaved bit(1) unaligned, 2 10 2 c_element_size fixed(24), 2 11 2 c_element_size_bits fixed(24), 2 12 2 c_virtual_origin fixed(24), 2 13 2 element_size ptr unaligned, 2 14 2 element_size_bits ptr unaligned, 2 15 2 virtual_origin ptr unaligned, 2 16 2 symtab_virtual_origin ptr unaligned, 2 17 2 symtab_element_size ptr unaligned, 2 18 2 bounds ptr unaligned, 2 19 2 element_descriptor ptr unaligned; 2 20 2 21 dcl 1 bound based aligned, 2 22 2 node_type bit(9), 2 23 2 c_lower fixed(24), 2 24 2 c_upper fixed(24), 2 25 2 c_multiplier fixed(24), 2 26 2 c_desc_multiplier fixed(24), 2 27 2 lower ptr unaligned, 2 28 2 upper ptr unaligned, 2 29 2 multiplier ptr unaligned, 2 30 2 desc_multiplier ptr unaligned, 2 31 2 symtab_lower ptr unaligned, 2 32 2 symtab_upper ptr unaligned, 2 33 2 symtab_multiplier ptr unaligned, 2 34 2 next ptr unaligned; 80 3 1 /* BEGIN INCLUDE FILE ... reference.incl.pl1 */ 3 2 3 3 dcl 1 reference based aligned, 3 4 2 node_type bit(9) unaligned, 3 5 2 array_ref bit(1) unaligned, 3 6 2 varying_ref bit(1) unaligned, 3 7 2 shared bit(1) unaligned, 3 8 2 put_data_sw bit(1) unaligned, 3 9 2 processed bit(1) unaligned, 3 10 2 units fixed(3) unaligned, 3 11 2 ref_count fixed(17) unaligned, 3 12 2 c_offset fixed(24), 3 13 2 c_length fixed(24), 3 14 2 symbol ptr unaligned, 3 15 2 qualifier ptr unaligned, 3 16 2 offset ptr unaligned, 3 17 2 length ptr unaligned, 3 18 2 subscript_list ptr unaligned, 3 19 /* these fields are used by the 645 code generator */ 3 20 2 address structure unaligned, 3 21 3 base bit(3), 3 22 3 offset bit(15), 3 23 3 op bit(9), 3 24 3 no_address bit(1), 3 25 3 inhibit bit(1), 3 26 3 ext_base bit(1), 3 27 3 tag bit(6), 3 28 2 info structure unaligned, 3 29 3 address_in structure, 3 30 4 b dimension(0:7) bit(1), 3 31 4 storage bit(1), 3 32 3 value_in structure, 3 33 4 a bit(1), 3 34 4 q bit(1), 3 35 4 aq bit(1), 3 36 4 string_aq bit(1), 3 37 4 complex_aq bit(1), 3 38 4 decimal_aq bit(1), 3 39 4 b dimension(0:7) bit(1), 3 40 4 storage bit(1), 3 41 4 indicators bit(1), 3 42 4 x dimension(0:7) bit(1), 3 43 3 other structure, 3 44 4 big_offset bit(1), 3 45 4 big_length bit(1), 3 46 4 modword_in_offset bit(1), 3 47 2 data_type fixed(5) unaligned, 3 48 2 bits structure unaligned, 3 49 3 padded_ref bit(1), 3 50 3 aligned_ref bit(1), 3 51 3 long_ref bit(1), 3 52 3 forward_ref bit(1), 3 53 3 ic_ref bit(1), 3 54 3 temp_ref bit(1), 3 55 3 defined_ref bit(1), 3 56 3 evaluated bit(1), 3 57 3 allocate bit(1), 3 58 3 allocated bit(1), 3 59 3 aliasable bit(1), 3 60 3 even bit(1), 3 61 3 perm_address bit(1), 3 62 3 aggregate bit(1), 3 63 3 hit_zero bit(1), 3 64 3 dont_save bit(1), 3 65 3 fo_in_qual bit(1), 3 66 3 hard_to_load bit(1), 3 67 2 relocation bit(12) unaligned, 3 68 2 more_bits structure unaligned, 3 69 3 substr bit(1), 3 70 3 padded_for_store_ref bit(1), 3 71 3 aligned_for_store_ref bit(1), 3 72 3 mbz bit(15), 3 73 2 store_ins bit(18) unaligned; 3 74 3 75 /* END INCLUDE FILE ... reference.incl.pl1 */ 81 4 1 /* BEGIN INCLUDE FILE ... token.incl.pl1 */ 4 2 4 3 dcl 1 token based aligned, 4 4 2 node_type bit(9) unaligned, 4 5 2 type bit(9) unaligned, 4 6 2 loc bit(18) unaligned, /* symtab offset for identifiers, "p" flag for constants */ 4 7 2 declaration ptr unaligned, 4 8 2 next ptr unaligned, 4 9 2 size fixed(9), 4 10 2 string char(n refer(token.size)); 4 11 4 12 /* END INCLUDE FILE ... token.incl.pl1 */ 82 5 1 /* BEGIN INCLUDE FILE ... token_types.incl.pl1 */ 5 2 5 3 dcl ( no_token initial("000000000"b), /* token types */ 5 4 identifier initial("100000000"b), 5 5 isub initial("010000000"b), 5 6 plus initial("001000001"b), 5 7 minus initial("001000010"b), 5 8 asterisk initial("001000011"b), 5 9 slash initial("001000100"b), 5 10 expon initial("001000101"b), 5 11 not initial("001000110"b), 5 12 and initial("001000111"b), 5 13 or initial("001001000"b), 5 14 cat initial("001001001"b), 5 15 eq initial("001001010"b), 5 16 ne initial("001001011"b), 5 17 lt initial("001001100"b), 5 18 gt initial("001001101"b), 5 19 le initial("001001110"b), 5 20 ge initial("001001111"b), 5 21 ngt initial("001010000"b), 5 22 nlt initial("001010001"b), 5 23 assignment initial("001010010"b), 5 24 colon initial("001010011"b), 5 25 semi_colon initial("001010100"b), 5 26 comma initial("001010101"b), 5 27 period initial("001010110"b), 5 28 arrow initial("001010111"b), 5 29 left_parn initial("001011000"b), 5 30 right_parn initial("001011001"b), 5 31 percent initial("001011100"b), 5 32 bit_string initial("000100001"b), 5 33 char_string initial("000100010"b), 5 34 bin_integer initial("000110001"b), 5 35 dec_integer initial("000110011"b), 5 36 fixed_bin initial("000110000"b), 5 37 fixed_dec initial("000110010"b), 5 38 float_bin initial("000110100"b), 5 39 float_dec initial("000110110"b), 5 40 i_bin_integer initial("000111001"b), 5 41 i_dec_integer initial("000111011"b), 5 42 i_fixed_bin initial("000111000"b), 5 43 i_fixed_dec initial("000111010"b), 5 44 i_float_bin initial("000111100"b), 5 45 i_float_dec initial("000111110"b)) bit (9) aligned internal static options (constant); 5 46 5 47 dcl ( is_identifier initial ("100000000"b), /* token type masks */ 5 48 is_isub initial ("010000000"b), 5 49 is_delimiter initial ("001000000"b), 5 50 is_constant initial ("000100000"b), 5 51 is_arith_constant initial ("000010000"b), /* N.B. not really a mask...s/b "000110000"b */ 5 52 is_arithmetic_constant initial ("000110000"b), 5 53 is_imaginary_constant initial ("000111000"b), 5 54 is_float_constant initial ("000110100"b), 5 55 is_decimal_constant initial ("000110010"b), 5 56 is_integral_constant initial ("000110001"b) 5 57 ) bit(9) internal static aligned options(constant); 5 58 5 59 /* END INCLUDE FILE ... token_types.incl.pl1 */ 83 6 1 /* BEGIN INCLUDE FILE ... list.incl.pl1 */ 6 2 6 3 /* Modified 26 June 81 by EBush to add max_list_elements */ 6 4 6 5 6 6 dcl 1 list based aligned, 6 7 2 node_type bit(9) unaligned, 6 8 2 reserved bit(12) unaligned, 6 9 2 number fixed(14) unaligned, 6 10 2 element dimension(n refer(list.number)) ptr unaligned; 6 11 6 12 dcl max_list_elements fixed bin(17) internal static options (constant) 6 13 init(16383); 6 14 6 15 /* END INCLUDE FILE ... list.incl.pl1 */ 84 7 1 /* BEGIN INCLUDE FILE ... operator.incl.pl1 */ 7 2 7 3 /* Modified: 2 Apr 1980 by PCK to add max_number_of_operands */ 7 4 7 5 /* format: style3 */ 7 6 dcl 1 operator based aligned, 7 7 2 node_type bit (9) unaligned, 7 8 2 op_code bit (9) unaligned, 7 9 2 shared bit (1) unaligned, 7 10 2 processed bit (1) unaligned, 7 11 2 optimized bit (1) unaligned, 7 12 2 number fixed (14) unaligned, 7 13 2 operand dimension (n refer (operator.number)) ptr unaligned; 7 14 7 15 dcl max_number_of_operands 7 16 fixed bin (15) int static options (constant) initial (32767); 7 17 7 18 /* END INCLUDE FILE ... operator.incl.pl1 */ 85 8 1 /* BEGIN INCLUDE FILE ... system.incl.pl1 */ 8 2 8 3 /* Modified: 25 Apr 1979 by PCK to implemnt 4-bit decimal */ 8 4 8 5 dcl ( max_p_flt_bin_1 initial(27), 8 6 max_p_flt_bin_2 initial(63), 8 7 max_p_fix_bin_1 initial(35), 8 8 max_p_fix_bin_2 initial(71), 8 9 8 10 max_p_dec initial(59), 8 11 max_p_bin_or_dec initial (71), /* max (max_p_fix_bin_2, max_p_dec) */ 8 12 8 13 min_scale initial(-128), 8 14 max_scale initial(+127), 8 15 max_bit_string initial(9437184), 8 16 max_char_string initial(1048576), 8 17 max_area_size initial(262144), 8 18 min_area_size initial(28), 8 19 8 20 max_bit_string_constant initial (253), /* max length of bit literals */ 8 21 max_char_string_constant initial (254), /* max length of character literals */ 8 22 max_identifier_length initial (256), 8 23 max_number_of_dimensions initial (127), 8 24 8 25 max_length_precision initial(24), 8 26 max_offset_precision initial(24), /* 18 bits for word offset + 6 bits for bit offset */ 8 27 8 28 max_words_per_variable initial (262144), 8 29 8 30 bits_per_word initial(36), 8 31 bits_per_double initial(72), 8 32 packed_digits_per_character initial(2), 8 33 characters_per_half initial(2), 8 34 characters_per_word initial(4), 8 35 characters_per_double initial(8), 8 36 8 37 bits_per_character initial(9), 8 38 bits_per_half initial(18), 8 39 bits_per_decimal_digit initial(9), 8 40 bits_per_binary_exponent initial(8), 8 41 bits_per_packed_ptr initial(36), 8 42 words_per_packed_pointer initial(1), 8 43 8 44 words_per_fix_bin_1 initial(1), 8 45 words_per_fix_bin_2 initial(2), 8 46 words_per_flt_bin_1 initial(1), 8 47 words_per_flt_bin_2 initial(2), 8 48 words_per_varying_string_header initial(1), 8 49 words_per_offset initial(1), 8 50 words_per_pointer initial(2), 8 51 words_per_label_var initial(4), 8 52 words_per_entry_var initial(4), 8 53 words_per_file_var initial(4), 8 54 words_per_format initial(4), 8 55 words_per_condition_var initial(6), 8 56 8 57 max_index_register_value initial(262143), 8 58 max_signed_index_register_value initial(131071), 8 59 8 60 max_signed_xreg_precision initial(17), 8 61 max_uns_xreg_precision initial(18), 8 62 8 63 default_area_size initial(1024), 8 64 default_flt_bin_p initial(27), 8 65 default_fix_bin_p initial(17), 8 66 default_flt_dec_p initial(10), 8 67 default_fix_dec_p initial(7)) fixed bin(31) internal static options(constant); 8 68 8 69 dcl bits_per_digit initial(4.5) fixed bin(31,1) internal static options(constant); 8 70 8 71 dcl ( integer_type initial("010000000000000000000100000001100000"b), 8 72 dec_integer_type initial("010000000000000000000100000010100000"b), 8 73 pointer_type initial("000001000000000000000100000000000000"b), 8 74 real_type initial("001000000000000000000100000001100000"b), 8 75 complex_type initial("001000000000000000000100000001010000"b), 8 76 builtin_type initial("000000000000000010000000000000000000"b), 8 77 storage_block_type initial("000000000000100000000000000000000000"b), 8 78 arg_desc_type initial("000000000001000000000000000000000000"b), 8 79 local_label_var_type initial("000000001000000000000100000100001000"b), 8 80 entry_var_type initial("000000000100000000000000000000001000"b), 8 81 bit_type initial("000100000000000000000000000000000000"b), 8 82 char_type initial("000010000000000000000000000000000000"b)) bit(36) aligned int static 8 83 options(constant); 8 84 8 85 /* END INCLUDE FILE ... system.incl.pl1 */ 86 9 1 /* BEGIN INCLUDE FILE ... nodes.incl.pl1 */ 9 2 9 3 /* Modified: 26 Dec 1979 by PCK to implement by name assignment */ 9 4 9 5 dcl ( block_node initial("000000001"b), 9 6 statement_node initial("000000010"b), 9 7 operator_node initial("000000011"b), 9 8 reference_node initial("000000100"b), 9 9 token_node initial("000000101"b), 9 10 symbol_node initial("000000110"b), 9 11 context_node initial("000000111"b), 9 12 array_node initial("000001000"b), 9 13 bound_node initial("000001001"b), 9 14 format_value_node initial("000001010"b), 9 15 list_node initial("000001011"b), 9 16 default_node initial("000001100"b), 9 17 machine_state_node initial("000001101"b), 9 18 source_node initial("000001110"b), 9 19 label_node initial("000001111"b), 9 20 cross_reference_node initial("000010000"b), 9 21 sf_par_node initial("000010001"b), 9 22 temporary_node initial("000010010"b), 9 23 label_array_element_node initial("000010011"b), 9 24 by_name_agg_node initial("000010100"b)) 9 25 bit(9) internal static aligned options(constant); 9 26 9 27 dcl 1 node based aligned, 9 28 2 type unal bit(9), 9 29 2 source_id unal structure, 9 30 3 file_number bit(8), 9 31 3 line_number bit(14), 9 32 3 statement_number bit(5); 9 33 9 34 /* END INCLUDE FILE ... nodes.incl.pl1 */ 87 88 89 /* program */ 90 91 r = s -> symbol.reference; 92 93 if ^s -> symbol.area then do; 94 v = s -> symbol.initial; 95 if v = null then 96 return; 97 98 if s -> symbol.label then 99 call print (320); 100 if s -> symbol.entry then 101 call print (322); 102 103 if v -> node.type ^= list_node then 104 call print (323); 105 end; 106 107 if ^s -> symbol.dimensioned then do; 108 offset = r -> reference.c_offset; 109 units = r -> reference.units; 110 111 if s -> symbol.area then 112 if ^pl1_stat_$use_old_area then do; 113 area_size = s -> symbol.c_dcl_size; 114 new_area_target.image = empty; 115 end; 116 else do; 117 area_target.z1, area_target.z2, area_target.z3 = 0; 118 area_target.size = s -> symbol.c_dcl_size; 119 end; 120 else do; 121 unravel: /* We are initializing a scalar. Make sure only one initial element */ 122 /* has been speicified. */ 123 if v -> list.element (3) ^= null then 124 call print (442); 125 126 if v -> list.element (1) -> node.type ^= token_node then 127 call print (442); 128 129 if v -> list.element (1) -> token.type ^= dec_integer then 130 call print (442); 131 132 if token_to_binary ((v -> list.element (1))) ^= 1 then 133 call print (442); 134 135 if v -> list.element (2) ^= null then 136 if v -> list.element (2) -> node.type = list_node then do; 137 v = v -> list.element (2); 138 go to unravel; 139 end; 140 141 call assignf ((v -> list.element (2))); 142 end; 143 144 return; 145 end; 146 147 /* this is an array, call compile to pre-process the initial attribute. */ 148 149 a = s -> symbol.array; 150 total_initial_elements = 0; 151 152 if ^s -> symbol.area then 153 if ^compile (v, total_initial_elements) then 154 call print (324); 155 156 /* walk through the bounds to collect vectors of bounds, initial subscripts,and multipliers. */ 157 158 k, index = 0; 159 total_array_elements = 1; 160 do b = a -> array.bounds repeat (b -> bound.next) while (b ^= null); 161 index = index + 1; 162 sub (index), low (index) = b -> bound.c_lower; 163 high (index) = b -> bound.c_upper; 164 total_array_elements = total_array_elements * (b -> bound.c_upper - b -> bound.c_lower + 1); 165 multiplier (index) = b -> bound.c_multiplier; 166 end; 167 168 if ^s -> symbol.area & (total_array_elements ^= total_initial_elements) then 169 call print (292); /* wrong number of initial elements for array */ 170 171 /* simulate the effect of a nest of do loops written as: 172* 173* do i(n) = lbound(a,n) to hbound(a,n); 174* do i(n-1) = lbound(a,n-1) to hbound(a,n-1); 175* do i(n-2) = lbound(a,n-2) to hbound(a,n-2); 176* . 177* . 178* . 179* do i(1) = lbound(a,1) to hbound(a,1); 180* a(i(n),i(n-1),i(n-2),...i(1)) = value from initial attribute; 181* end all loops; 182* */ 183 184 next: 185 call subscript; 186 187 if s -> symbol.area then 188 if ^pl1_stat_$use_old_area then do; 189 area_size = s -> symbol.c_dcl_size; 190 new_area_target.image = empty; 191 end; 192 else do; 193 area_target.z1, area_target.z2, area_target.z3 = 0; 194 area_target.size = s -> symbol.c_dcl_size; 195 end; 196 else 197 call assignf ((next_value ())); 198 199 sub (1) = sub (1) + 1; 200 if sub (1) <= high (1) then 201 go to next; 202 i = 1; 203 204 overflow: 205 sub (i) = low (i); 206 i = i + 1; 207 if i > index then 208 return; 209 sub (i) = sub (i) + 1; 210 if sub (i) > high (i) then 211 go to overflow; 212 go to next; 213 214 /* Subroutine to compile the initial attribute. The chain of list nodes is overwritten with a chain of 215* "initial" nodes, with the repetition factors converted to binary. */ 216 217 compile: 218 proc (p, n) returns (bit (1) aligned); 219 220 /* parameters */ 221 222 declare ( 223 p ptr, 224 n fixed bin (24) 225 ) parameter; 226 227 /* automatic */ 228 229 declare (f, q, t) ptr, 230 k fixed bin (24); 231 232 /* program */ 233 234 do q = p repeat (q -> initial.next) while (q ^= null); 235 f = q -> list.element (1); 236 if f -> node.type = token_node then do; 237 if f -> token.type ^= dec_integer then 238 go to fail; 239 q -> initial.factor = token_to_binary (f); 240 end; 241 else 242 go to fail; 243 244 q -> initial.index = 0; 245 t = q -> initial.value; 246 247 if t ^= null then 248 if t -> node.type = list_node then do; 249 k = 0; 250 if ^compile (t, k) then 251 go to fail; 252 253 n = n + q -> initial.factor * k; 254 end; 255 else 256 n = n + q -> initial.factor; 257 else 258 n = n + q -> initial.factor; 259 end; 260 return ("1"b); 261 fail: 262 return ("0"b); 263 end; 264 265 /* subroutine to extract the next value from a pre-processed initial attribute. */ 266 267 next_value: 268 proc returns (ptr); 269 270 dcl lv ptr; 271 272 lv = v; 273 274 begin: 275 if lv = null then 276 return (null); 277 ok: 278 if lv -> initial.factor = lv -> initial.index /* done with this batch, pop back up */ then do; 279 lv -> initial.index = 0; 280 v, lv = lv -> initial.next; 281 if lv ^= null then 282 goto ok; 283 284 if k = 0 then 285 call print (292); /* can't happen because we already checked, but... */ 286 287 v, lv = stack (k); 288 k = k - 1; 289 go to begin; 290 end; 291 lv -> initial.index = lv -> initial.index + 1; 292 if lv -> initial.value = null then 293 return (null); /* asterisk as value */ 294 if lv -> initial.value -> node.type = list_node then do; 295 k = k + 1; 296 stack (k) = lv; 297 v, lv = lv -> initial.value; 298 go to begin; 299 300 end; 301 return (lv -> initial.value); 302 end; 303 304 /* subroutine to develop the offset of an array element. */ 305 306 subscript: 307 proc; 308 309 dcl (factor, sunits, off, i) fixed bin (15); 310 dcl convert (5, 5) fixed bin (15, 1) int static 311 initial (1, 4.5, 9, 18, 36, 4.5, 1, 2, 4, 8, 9, 2, 1, 2, 4, 18, 4, 2, 1, 2, 36, 8, 4, 2, 1); 312 313 factor = 1; 314 units = r -> reference.units; 315 sunits = a -> array.offset_units; 316 off = r -> reference.c_offset; 317 if off = 0 then 318 units = sunits; 319 else if units > sunits then do; 320 off = off * convert (units, sunits); 321 units = sunits; 322 end; 323 else 324 factor = convert (units, sunits); 325 off = off - a -> array.c_virtual_origin * factor; 326 do i = 1 to index; 327 off = off + sub (i) * multiplier (i) * factor; 328 end; 329 offset = off; 330 end subscript; 331 332 /* subroutine to assign a value to static storage referenced by address. */ 333 334 assignf: 335 proc (pv); 336 337 dcl convert (0:5) fixed bin (15, 1) int static initial (36, 1, 4.5, 9, 18, 36); 338 dcl (v, pv, sym, inptr, pp) ptr; 339 dcl op char (1); 340 dcl not_complex bit (1); 341 dcl (insize, tsize) fixed bin (31); 342 dcl (word_offset, bit_offset) fixed bin; 343 dcl t fixed bin (6); 344 dcl value1 bit (2294); 345 dcl value2 char (256) aligned; 346 dcl char1 char (1) based; 347 dcl char_image char (insize) based aligned; 348 dcl bit_image bit (insize) based aligned; 349 350 dcl (fixedoverflow, overflow, conversion, size, stringsize) condition; 351 352 dcl intype fixed bin (31); 353 354 dcl inscale_prec fixed bin (31), 355 tscale_prec fixed bin (31); 356 357 dcl 1 info based (addr (inscale_prec)), 358 2 inscale fixed bin (17) unal, 359 2 inprec fixed bin (17) unal, 360 1 outfo based (addr (tscale_prec)), 361 2 tscale fixed bin (17) unal, 362 2 tprec fixed bin (17) unal; 363 364 dcl char_to_numeric_ entry (ptr, fixed bin (31), fixed bin (31), ptr, fixed bin (31)), 365 assign_ entry (ptr, fixed bin (31), fixed bin (31), ptr, fixed bin (31), fixed bin (31)), 366 pack_picture_ entry (char (*), char (*), char (*) aligned); 367 368 369 dcl ( 370 add init ("000010001"b), /* opnd(1) <- opnd(2) + opnd(3) */ 371 sub init ("000010010"b) 372 ) /* opnd(1) <- opnd(2) - opnd(3) */ bit (9) aligned int static; 373 374 dcl 1 char_target aligned based (address), 375 2 spacer unal bit (bit_offset), 376 2 image unal char (tsize); 377 378 dcl 1 bit_target aligned based (address), 379 2 spacer unal bit (bit_offset), 380 2 image unal bit (tsize); 381 382 dcl 1 ptr_target based (address), 383 2 spacer (word_offset) fixed bin, 384 2 image ptr; 385 386 dcl 1 packed_ptr_target aligned based (address), 387 2 spacer unal bit (bit_offset), 388 2 image unal ptr; 389 390 dcl 1 offset_target aligned based (address), 391 2 spacer unal bit (bit_offset), 392 2 image unal offset; 393 394 dcl 1 arith_target aligned based (address), 395 2 spacer unal bit (bit_offset), 396 2 image unal bit (1); 397 398 dcl 1 varying_target based (address), 399 2 spacer (word_offset - 1) fixed bin, 400 2 image fixed bin (15); 401 402 dcl map_type (24:28) fixed bin (31) int static init (42, 403 /* character */ 404 18, /* real fixed dec */ 405 22, /* cplx fixed dec */ 406 20, /* real float dec */ 407 24 /* cplx float dec */); 408 10 1 /* BEGIN INCLUDE FILE ... picture_image.incl.pl1 10 2* 10 3* James R. Davis 12 Mar 79 10 4**/ 10 5 10 6 dcl 1 picture_image aligned based, 10 7 2 type fixed bin (8) unal, 10 8 2 prec fixed bin (8) unal, /* precision or length of associated value */ 10 9 2 scale fixed bin (8) unal, /* for both fixed and float pictures, 10 10* =ndigits after "v" - scale_factor */ 10 11 2 piclength fixed bin (8) unal, /* length of picture_constant.chars, <64 10 12* =length of normalized-picture-string */ 10 13 2 varlength fixed bin (8) unal, /* length of pictured variable in chars, <64 10 14* =length of normalized_picture_string - "k" and "v" */ 10 15 2 scalefactor fixed bin (8) unal, /* value of pict-sc-f, -256<=x<256 */ 10 16 2 explength fixed bin (8) unal, /* length of exp field for float */ 10 17 2 drift_character char (1) unal, 10 18 2 chars char (0 refer (picture_image.piclength)) aligned; 10 19 10 20 dcl ( 10 21 picture_char_type init (24), 10 22 picture_realfix_type init (25), 10 23 picture_complexfix_type 10 24 init (26), 10 25 picture_realflo_type init (27), 10 26 picture_complexflo_type 10 27 init (28) 10 28 ) fixed bin (8) unal static internal options (constant); 10 29 10 30 /* END INCLUDE FILE ... picture_image.incl.pl1 */ 409 11 1 /* BEGIN INCLUDE FILE ... pl1_descriptor_type_fcn.incl.pl1 */ 11 2 11 3 /* Program to convert symbol_node information into a descriptor type code. 11 4* Written 780614 by PG 11 5* Modified: 25 Apr 1979 by PCK to implement 4-bit decimal 11 6**/ 11 7 11 8 pl1_descriptor_type: 11 9 procedure (bv_type, bv_prec) returns (fixed bin); 11 10 11 11 /* parameters */ 11 12 11 13 dcl ( bv_type bit (36), 11 14 bv_prec fixed bin (24)) parameter; 11 15 11 16 /* automatic */ 11 17 11 18 dcl prec fixed bin (24), 11 19 dtype fixed bin; 11 20 11 21 /* builtins */ 11 22 11 23 dcl string builtin; 11 24 11 25 /* include files */ 11 26 12 1 /* BEGIN INCLUDE FILE ... pl1_symbol_type.incl.pl1 */ 12 2 12 3 dcl 1 type, 12 4 2 structure bit, 12 5 2 fixed bit, 12 6 2 float bit, 12 7 2 bit bit, 12 8 2 char bit, 12 9 2 ptr bit, 12 10 2 offset bit, 12 11 2 area bit, 12 12 2 label bit, 12 13 2 entry bit, 12 14 2 file bit, 12 15 2 arg_descriptor bit, 12 16 2 storage_block bit, 12 17 2 explicit_packed bit, 12 18 2 condition bit, 12 19 2 format bit, 12 20 2 builtin bit, 12 21 2 generic bit, 12 22 2 picture bit, 12 23 2 dimensioned bit, 12 24 2 initialed bit, 12 25 2 aligned bit, 12 26 2 unaligned bit, 12 27 2 signed bit, 12 28 2 unsigned bit, 12 29 2 precision bit, 12 30 2 varying bit, 12 31 2 local bit, 12 32 2 decimal bit, 12 33 2 binary bit, 12 34 2 real bit, 12 35 2 complex bit, 12 36 2 variable bit, 12 37 2 reducible bit, 12 38 2 irreducible bit, 12 39 2 returns bit; 12 40 12 41 /* END INCLUDE FILE ... pl1_symbol_type.incl.pl1 */ 11 27 13 1 /* BEGIN INCLUDE FILE ... std_descriptor_types.incl.pl1 */ 13 2 13 3 13 4 /****^ HISTORY COMMENTS: 13 5* 1) change(86-09-05,JMAthane), approve(86-09-05,MCR7525), 13 6* audit(86-09-11,Martinson), install(86-11-12,MR12.0-1208): 13 7* Added pascal_string_type_dtype descriptor type. Its number is 87. 13 8* Objects of this type are PASCAL string types. 13 9* 2) change(88-09-20,WAAnderson), approve(88-09-20,MCR7952), 13 10* audit(88-09-30,JRGray), install(88-10-24,MR12.2-1184): 13 11* Added the new C types. 13 12* END HISTORY COMMENTS */ 13 13 13 14 /* This include file defines mnemonic names for the Multics 13 15* standard descriptor types, using both pl1 and cobol terminology. 13 16* PG 780613 13 17* JRD 790530 13 18* JRD 791016 13 19* MBW 810731 13 20* TGO 830614 Add hex types. 13 21* Modified June 83 JMAthane to add PASCAL data types 13 22* TGO 840120 Add float dec extended and generic, float binary generic 13 23**/ 13 24 13 25 dcl (real_fix_bin_1_dtype init (1), 13 26 real_fix_bin_2_dtype init (2), 13 27 real_flt_bin_1_dtype init (3), 13 28 real_flt_bin_2_dtype init (4), 13 29 cplx_fix_bin_1_dtype init (5), 13 30 cplx_fix_bin_2_dtype init (6), 13 31 cplx_flt_bin_1_dtype init (7), 13 32 cplx_flt_bin_2_dtype init (8), 13 33 real_fix_dec_9bit_ls_dtype init (9), 13 34 real_flt_dec_9bit_dtype init (10), 13 35 cplx_fix_dec_9bit_ls_dtype init (11), 13 36 cplx_flt_dec_9bit_dtype init (12), 13 37 pointer_dtype init (13), 13 38 offset_dtype init (14), 13 39 label_dtype init (15), 13 40 entry_dtype init (16), 13 41 structure_dtype init (17), 13 42 area_dtype init (18), 13 43 bit_dtype init (19), 13 44 varying_bit_dtype init (20), 13 45 char_dtype init (21), 13 46 varying_char_dtype init (22), 13 47 file_dtype init (23), 13 48 real_fix_dec_9bit_ls_overp_dtype init (29), 13 49 real_fix_dec_9bit_ts_overp_dtype init (30), 13 50 real_fix_bin_1_uns_dtype init (33), 13 51 real_fix_bin_2_uns_dtype init (34), 13 52 real_fix_dec_9bit_uns_dtype init (35), 13 53 real_fix_dec_9bit_ts_dtype init (36), 13 54 real_fix_dec_4bit_uns_dtype init (38), /* digit-aligned */ 13 55 real_fix_dec_4bit_ts_dtype init (39), /* byte-aligned */ 13 56 real_fix_dec_4bit_bytealigned_uns_dtype init (40), /* COBOL */ 13 57 real_fix_dec_4bit_ls_dtype init (41), /* digit-aligned */ 13 58 real_flt_dec_4bit_dtype init (42), /* digit-aligned */ 13 59 real_fix_dec_4bit_bytealigned_ls_dtype init (43), 13 60 real_flt_dec_4bit_bytealigned_dtype init (44), 13 61 cplx_fix_dec_4bit_bytealigned_ls_dtype init (45), 13 62 cplx_flt_dec_4bit_bytealigned_dtype init (46), 13 63 real_flt_hex_1_dtype init (47), 13 64 real_flt_hex_2_dtype init (48), 13 65 cplx_flt_hex_1_dtype init (49), 13 66 cplx_flt_hex_2_dtype init (50), 13 67 c_typeref_dtype init (54), 13 68 c_enum_dtype init (55), 13 69 c_enum_const_dtype init (56), 13 70 c_union_dtype init (57), 13 71 algol68_straight_dtype init (59), 13 72 algol68_format_dtype init (60), 13 73 algol68_array_descriptor_dtype init (61), 13 74 algol68_union_dtype init (62), 13 75 13 76 cobol_comp_6_dtype init (1), 13 77 cobol_comp_7_dtype init (1), 13 78 cobol_display_ls_dtype init (9), 13 79 cobol_structure_dtype init (17), 13 80 cobol_char_string_dtype init (21), 13 81 cobol_display_ls_overp_dtype init (29), 13 82 cobol_display_ts_overp_dtype init (30), 13 83 cobol_display_uns_dtype init (35), 13 84 cobol_display_ts_dtype init (36), 13 85 cobol_comp_8_uns_dtype init (38), /* digit aligned */ 13 86 cobol_comp_5_ts_dtype init (39), /* byte aligned */ 13 87 cobol_comp_5_uns_dtype init (40), 13 88 cobol_comp_8_ls_dtype init (41), /* digit aligned */ 13 89 real_flt_dec_extended_dtype init (81), /* 9-bit exponent */ 13 90 cplx_flt_dec_extended_dtype init (82), /* 9-bit exponent */ 13 91 real_flt_dec_generic_dtype init (83), /* generic float decimal */ 13 92 cplx_flt_dec_generic_dtype init (84), 13 93 real_flt_bin_generic_dtype init (85), /* generic float binary */ 13 94 cplx_flt_bin_generic_dtype init (86)) fixed bin internal static options (constant); 13 95 13 96 dcl (ft_integer_dtype init (1), 13 97 ft_real_dtype init (3), 13 98 ft_double_dtype init (4), 13 99 ft_complex_dtype init (7), 13 100 ft_complex_double_dtype init (8), 13 101 ft_external_dtype init (16), 13 102 ft_logical_dtype init (19), 13 103 ft_char_dtype init (21), 13 104 ft_hex_real_dtype init (47), 13 105 ft_hex_double_dtype init (48), 13 106 ft_hex_complex_dtype init (49), 13 107 ft_hex_complex_double_dtype init (50) 13 108 ) fixed bin internal static options (constant); 13 109 13 110 dcl (algol68_short_int_dtype init (1), 13 111 algol68_int_dtype init (1), 13 112 algol68_long_int_dtype init (2), 13 113 algol68_real_dtype init (3), 13 114 algol68_long_real_dtype init (4), 13 115 algol68_compl_dtype init (7), 13 116 algol68_long_compl_dtype init (8), 13 117 algol68_bits_dtype init (19), 13 118 algol68_bool_dtype init (19), 13 119 algol68_char_dtype init (21), 13 120 algol68_byte_dtype init (21), 13 121 algol68_struct_struct_char_dtype init (22), 13 122 algol68_struct_struct_bool_dtype init (20) 13 123 ) fixed bin internal static options (constant); 13 124 13 125 dcl (label_constant_runtime_dtype init (24), 13 126 int_entry_runtime_dtype init (25), 13 127 ext_entry_runtime_dtype init (26), 13 128 ext_procedure_runtime_dtype init (27), 13 129 picture_runtime_dtype init (63) 13 130 ) fixed bin internal static options (constant); 13 131 13 132 dcl (pascal_integer_dtype init (1), 13 133 pascal_real_dtype init (4), 13 134 pascal_label_dtype init (24), 13 135 pascal_internal_procedure_dtype init (25), 13 136 pascal_exportable_procedure_dtype init (26), 13 137 pascal_imported_procedure_dtype init (27), 13 138 pascal_typed_pointer_type_dtype init (64), 13 139 pascal_char_dtype init (65), 13 140 pascal_boolean_dtype init (66), 13 141 pascal_record_file_type_dtype init (67), 13 142 pascal_record_type_dtype init (68), 13 143 pascal_set_dtype init (69), 13 144 pascal_enumerated_type_dtype init (70), 13 145 pascal_enumerated_type_element_dtype init (71), 13 146 pascal_enumerated_type_instance_dtype init (72), 13 147 pascal_user_defined_type_dtype init (73), 13 148 pascal_user_defined_type_instance_dtype init (74), 13 149 pascal_text_file_dtype init (75), 13 150 pascal_procedure_type_dtype init (76), 13 151 pascal_variable_formal_parameter_dtype init (77), 13 152 pascal_value_formal_parameter_dtype init (78), 13 153 pascal_entry_formal_parameter_dtype init (79), 13 154 pascal_parameter_procedure_dtype init (80), 13 155 pascal_string_type_dtype init (87)) fixed bin int static options (constant); 13 156 13 157 13 158 /* END INCLUDE FILE ... std_descriptor_types.incl.pl1 */ 11 28 14 1 /* BEGIN INCLUDE FILE ... system.incl.pl1 */ 14 2 14 3 /* Modified: 25 Apr 1979 by PCK to implemnt 4-bit decimal */ 14 4 14 5 dcl ( max_p_flt_bin_1 initial(27), 14 6 max_p_flt_bin_2 initial(63), 14 7 max_p_fix_bin_1 initial(35), 14 8 max_p_fix_bin_2 initial(71), 14 9 14 10 max_p_dec initial(59), 14 11 max_p_bin_or_dec initial (71), /* max (max_p_fix_bin_2, max_p_dec) */ 14 12 14 13 min_scale initial(-128), 14 14 max_scale initial(+127), 14 15 max_bit_string initial(9437184), 14 16 max_char_string initial(1048576), 14 17 max_area_size initial(262144), 14 18 min_area_size initial(28), 14 19 14 20 max_bit_string_constant initial (253), /* max length of bit literals */ 14 21 max_char_string_constant initial (254), /* max length of character literals */ 14 22 max_identifier_length initial (256), 14 23 max_number_of_dimensions initial (127), 14 24 14 25 max_length_precision initial(24), 14 26 max_offset_precision initial(24), /* 18 bits for word offset + 6 bits for bit offset */ 14 27 14 28 max_words_per_variable initial (262144), 14 29 14 30 bits_per_word initial(36), 14 31 bits_per_double initial(72), 14 32 packed_digits_per_character initial(2), 14 33 characters_per_half initial(2), 14 34 characters_per_word initial(4), 14 35 characters_per_double initial(8), 14 36 14 37 bits_per_character initial(9), 14 38 bits_per_half initial(18), 14 39 bits_per_decimal_digit initial(9), 14 40 bits_per_binary_exponent initial(8), 14 41 bits_per_packed_ptr initial(36), 14 42 words_per_packed_pointer initial(1), 14 43 14 44 words_per_fix_bin_1 initial(1), 14 45 words_per_fix_bin_2 initial(2), 14 46 words_per_flt_bin_1 initial(1), 14 47 words_per_flt_bin_2 initial(2), 14 48 words_per_varying_string_header initial(1), 14 49 words_per_offset initial(1), 14 50 words_per_pointer initial(2), 14 51 words_per_label_var initial(4), 14 52 words_per_entry_var initial(4), 14 53 words_per_file_var initial(4), 14 54 words_per_format initial(4), 14 55 words_per_condition_var initial(6), 14 56 14 57 max_index_register_value initial(262143), 14 58 max_signed_index_register_value initial(131071), 14 59 14 60 max_signed_xreg_precision initial(17), 14 61 max_uns_xreg_precision initial(18), 14 62 14 63 default_area_size initial(1024), 14 64 default_flt_bin_p initial(27), 14 65 default_fix_bin_p initial(17), 14 66 default_flt_dec_p initial(10), 14 67 default_fix_dec_p initial(7)) fixed bin(31) internal static options(constant); 14 68 14 69 dcl bits_per_digit initial(4.5) fixed bin(31,1) internal static options(constant); 14 70 14 71 dcl ( integer_type initial("010000000000000000000100000001100000"b), 14 72 dec_integer_type initial("010000000000000000000100000010100000"b), 14 73 pointer_type initial("000001000000000000000100000000000000"b), 14 74 real_type initial("001000000000000000000100000001100000"b), 14 75 complex_type initial("001000000000000000000100000001010000"b), 14 76 builtin_type initial("000000000000000010000000000000000000"b), 14 77 storage_block_type initial("000000000000100000000000000000000000"b), 14 78 arg_desc_type initial("000000000001000000000000000000000000"b), 14 79 local_label_var_type initial("000000001000000000000100000100001000"b), 14 80 entry_var_type initial("000000000100000000000000000000001000"b), 14 81 bit_type initial("000100000000000000000000000000000000"b), 14 82 char_type initial("000010000000000000000000000000000000"b)) bit(36) aligned int static 14 83 options(constant); 14 84 14 85 /* END INCLUDE FILE ... system.incl.pl1 */ 11 29 11 30 11 31 /* program */ 11 32 11 33 string (type) = bv_type; 11 34 prec = bv_prec; 11 35 11 36 if type.structure 11 37 then dtype = structure_dtype; 11 38 else 11 39 11 40 if type.real 11 41 then if type.fixed 11 42 then if type.binary 11 43 then if type.unsigned 11 44 then if prec <= max_p_fix_bin_1 11 45 then dtype = real_fix_bin_1_uns_dtype; 11 46 else dtype = real_fix_bin_2_uns_dtype; 11 47 else if prec <= max_p_fix_bin_1 11 48 then dtype = real_fix_bin_1_dtype; 11 49 else dtype = real_fix_bin_2_dtype; 11 50 else if type.unaligned 11 51 then dtype = real_fix_dec_4bit_bytealigned_ls_dtype; 11 52 else dtype = real_fix_dec_9bit_ls_dtype; 11 53 else if type.binary 11 54 then if prec <= max_p_flt_bin_1 11 55 then dtype = real_flt_bin_1_dtype; 11 56 else dtype = real_flt_bin_2_dtype; 11 57 else if type.unaligned 11 58 then dtype = real_flt_dec_4bit_bytealigned_dtype; 11 59 else dtype = real_flt_dec_9bit_dtype; 11 60 else 11 61 11 62 if type.complex 11 63 then if type.fixed 11 64 then if type.binary 11 65 then if prec <= max_p_fix_bin_1 11 66 then dtype = cplx_fix_bin_1_dtype; 11 67 else dtype = cplx_fix_bin_2_dtype; 11 68 else if type.unaligned 11 69 then dtype = cplx_fix_dec_4bit_bytealigned_ls_dtype; 11 70 else dtype = cplx_fix_dec_9bit_ls_dtype; 11 71 else if type.binary 11 72 then if prec <= max_p_flt_bin_1 11 73 then dtype = cplx_flt_bin_1_dtype; 11 74 else dtype = cplx_flt_bin_2_dtype; 11 75 else if type.unaligned 11 76 then dtype = cplx_flt_dec_4bit_bytealigned_dtype; 11 77 else dtype = cplx_flt_dec_9bit_dtype; 11 78 else 11 79 11 80 if type.bit 11 81 then if type.varying 11 82 then dtype = varying_bit_dtype; 11 83 else dtype = bit_dtype; 11 84 else 11 85 11 86 if type.char 11 87 then if type.varying 11 88 then dtype = varying_char_dtype; 11 89 else dtype = char_dtype; 11 90 else 11 91 11 92 if type.ptr 11 93 then dtype = pointer_dtype; 11 94 else 11 95 11 96 if type.offset 11 97 then dtype = offset_dtype; 11 98 else 11 99 11 100 if type.area 11 101 then dtype = area_dtype; 11 102 else 11 103 11 104 if type.label 11 105 then dtype = label_dtype; 11 106 else 11 107 11 108 if type.entry 11 109 then dtype = entry_dtype; 11 110 else 11 111 11 112 if type.file 11 113 then dtype = file_dtype; 11 114 else 11 115 11 116 if type.picture 11 117 then dtype = char_dtype; 11 118 else dtype = 0; 11 119 11 120 return (dtype); 11 121 11 122 end /* pl1_descriptor_type */; 11 123 11 124 /* END INCLUDE FILE ... pl1_descriptor_type_fcn.incl.pl1 */ 410 411 412 v = pv; 413 if v = null then 414 return; 415 416 sym = s; 417 word_offset = offset; 418 419 if sym -> symbol.varying then 420 word_offset = word_offset + 1; 421 bit_offset = word_offset * convert (units); 422 not_complex = "1"b; 423 424 if v -> node.type = symbol_node then do; 425 insize, tsize = v -> symbol.c_bit_size; 426 bit_target.image = v -> symbol.initial -> bit_image; 427 return; 428 end; 429 430 if sym -> symbol.ptr then do; 431 if is_null () then 432 if sym -> symbol.packed then 433 unspec (packed_ptr_target.image) = cg_static_$packed_null_value; 434 else 435 unspec (ptr_target.image) = cg_static_$null_value; 436 return; 437 end; 438 439 if sym -> symbol.offset then do; 440 if is_null () then 441 unspec (offset_target.image) = cg_static_$offset_null_value; 442 return; 443 end; 444 445 on conversion, size, fixedoverflow, overflow go to error1; 446 on stringsize call print (-347); 447 448 tsize = sym -> symbol.c_dcl_size; 449 450 if v -> node.type = operator_node then do; 451 if v -> operator.op_code = add then 452 op = "+"; 453 else if v -> operator.op_code = sub then 454 op = "-"; 455 else 456 call print (324); 457 if v -> operator.operand (2) -> node.type = token_node 458 & v -> operator.operand (3) -> node.type = token_node then do; 459 not_complex = "0"b; 460 v = create_token (v -> operator.operand (2) -> token.string || op 461 || v -> operator.operand (3) -> token.string, (char_string)); 462 end; 463 else 464 call print (324); 465 end; 466 if v -> node.type ^= token_node then 467 call print (324); 468 469 if (v -> token.type & is_constant) = "0"b then 470 call print (324); 471 insize = v -> token.size; 472 473 if (v -> token.type & is_arithmetic_constant) = is_arithmetic_constant then do; 474 if sym -> symbol.fixed | sym -> symbol.float then 475 go to l1; 476 477 call char_to_numeric_ (addr (value1), intype, inscale_prec, addr (v -> token.string), insize); 478 end; 479 480 if sym -> symbol.char then do; 481 if (v -> token.type & is_arithmetic_constant) = is_arithmetic_constant then do; 482 call print (-233); 483 call assign_ (addr (value2), 21 * 2, tsize, addr (value1), intype, inscale_prec); 484 insize = inprec; 485 (stringsize): 486 char_target.image = addr (value2) -> char_image; 487 end; 488 489 if v -> token.type = bit_string then do; 490 (stringsize): 491 char_target.image = char (bit (substr (v -> token.string, 1, v -> token.size - 1))); 492 call print (-486); 493 end; 494 else if v -> token.type = char_string then 495 (stringsize): 496 char_target.image = v -> token.string; 497 498 if sym -> symbol.varying then 499 varying_target.image = min (insize, tsize); 500 501 return; 502 end; 503 504 if sym -> symbol.bit then do; 505 if (v -> token.type & is_arithmetic_constant) = is_arithmetic_constant then do; 506 call print (-233); 507 call assign_ (addr (value2), 19 * 2, tsize, addr (value1), intype, inscale_prec); 508 insize = inprec; 509 (stringsize): 510 bit_target.image = addr (value2) -> bit_image; 511 end; 512 else if v -> token.type = bit_string then do; 513 insize = v -> token.size - 1; /* used below if varying */ 514 (stringsize): 515 bit_target.image = bit (substr (v -> token.string, 1, insize)); 516 end; 517 else if v -> token.type = char_string then do; 518 (stringsize): 519 bit_target.image = bit (v -> token.string); 520 call print (-488); 521 end; 522 523 if sym -> symbol.varying then 524 varying_target.image = min (insize, tsize); 525 return; 526 end; 527 528 if sym -> symbol.picture then do; 529 if v -> token.type = bit_string then do; 530 inscale_prec, insize = insize - 1; 531 addr (value1) -> bit_image = bit (substr (v -> token.string, 1, insize)); 532 intype = 19 * 2; 533 end; 534 535 if v -> token.type = char_string then do; 536 intype = 21 * 2; 537 inscale_prec = insize; 538 inptr = addr (v -> token.string); 539 end; 540 else 541 inptr = addr (value1); 542 543 pp = sym -> symbol.general -> reference.symbol -> symbol.initial; 544 545 tscale_prec = 546 pp -> picture_image.prec + 262144 * (pp -> picture_image.scale - pp -> picture_image.scalefactor); 547 548 call assign_ (addr (value2), map_type (pp -> picture_image.type), tscale_prec, inptr, intype, inscale_prec) 549 ; 550 call pack_picture_ (char_target.image, pp -> char1, value2); 551 552 return; 553 end; 554 555 556 /* this is an arithmetic target. */ 557 558 if ((v -> token.type & is_arithmetic_constant) ^= is_arithmetic_constant) & not_complex then 559 call print (-235); 560 561 l1: 562 tprec = sym -> symbol.c_dcl_size; 563 tscale = sym -> symbol.scale; 564 t = pl1_descriptor_type (substr (string (sym -> symbol.attributes), 1, 36), sym -> symbol.c_dcl_size); 565 566 call assign_ (addr (arith_target.image), t * 2 + fixed (sym -> symbol.packed), tscale_prec, 567 addr (v -> token.string), 21 * 2, (v -> token.size)); 568 569 return; 570 error1: 571 call print (260); 572 573 574 is_null: 575 proc () returns (bit (1) aligned); 576 577 if v -> node.type = reference_node then 578 v = v -> reference.symbol; 579 580 if v -> node.type = token_node then 581 if v -> token.type = identifier then 582 if v -> token.string = "null" then 583 return ("1"b); 584 585 call print (341); 586 return ("0"b); 587 588 end is_null; 589 590 591 end assignf; 592 593 /* subroutine to print error messages. */ 594 595 print: 596 proc (m); 597 598 dcl m fixed bin (15); 599 600 call error_$no_text (abs (m), s -> symbol.source_id, s); 601 if m > 0 then 602 go to exit; 603 end; 604 exit: 605 end /* initialize_int_static */; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 09/19/89 1013.6 initialize_int_static.pl1 >spec>install>1068>initialize_int_static.pl1 79 1 12/07/83 1701.7 symbol.incl.pl1 >ldd>include>symbol.incl.pl1 80 2 05/06/74 1741.6 array.incl.pl1 >ldd>include>array.incl.pl1 81 3 07/21/80 1546.3 reference.incl.pl1 >ldd>include>reference.incl.pl1 82 4 09/14/77 1705.7 token.incl.pl1 >ldd>include>token.incl.pl1 83 5 11/30/78 1227.4 token_types.incl.pl1 >ldd>include>token_types.incl.pl1 84 6 08/13/81 2211.5 list.incl.pl1 >ldd>include>list.incl.pl1 85 7 07/21/80 1546.3 operator.incl.pl1 >ldd>include>operator.incl.pl1 86 8 12/07/83 1701.7 system.incl.pl1 >ldd>include>system.incl.pl1 87 9 07/21/80 1546.3 nodes.incl.pl1 >ldd>include>nodes.incl.pl1 409 10 06/28/79 1204.8 picture_image.incl.pl1 >ldd>include>picture_image.incl.pl1 410 11 10/25/79 1645.8 pl1_descriptor_type_fcn.incl.pl1 >ldd>include>pl1_descriptor_type_fcn.incl.pl1 11-27 12 12/07/83 1700.1 pl1_symbol_type.incl.pl1 >ldd>include>pl1_symbol_type.incl.pl1 11-28 13 10/26/88 1255.5 std_descriptor_types.incl.pl1 >ldd>include>std_descriptor_types.incl.pl1 11-29 14 12/07/83 1701.7 system.incl.pl1 >ldd>include>system.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. a 000504 automatic pointer dcl 33 set ref 149* 160 315 325 abs builtin function dcl 66 ref 600 600 add constant bit(9) initial dcl 369 ref 451 addr builtin function dcl 66 ref 477 477 477 477 483 483 483 483 484 485 507 507 507 507 508 509 531 538 540 548 548 561 563 566 566 566 566 address parameter pointer dcl 33 ref 23 114 117 117 117 118 190 193 193 193 194 426 431 434 440 485 490 494 498 509 514 518 523 550 566 566 area 0(07) 000372 automatic bit(1) level 2 in structure "type" packed packed unaligned dcl 12-3 in procedure "pl1_descriptor_type" set ref 11-98 area 31(07) based bit(1) level 4 in structure "symbol" packed packed unaligned dcl 1-3 in procedure "initialize_int_static" ref 93 111 152 168 187 area_dtype constant fixed bin(17,0) initial dcl 13-25 ref 11-98 area_size 000517 automatic fixed bin(31,0) dcl 44 set ref 113* 114 189* 190 area_target based structure level 1 dcl 56 arith_target based structure level 1 dcl 394 array 12 based pointer level 2 in structure "symbol" packed packed unaligned dcl 1-3 in procedure "initialize_int_static" ref 149 array based structure level 1 dcl 2-1 in procedure "initialize_int_static" assign_ 000036 constant entry external dcl 364 ref 483 507 548 566 attributes 31 based structure level 2 dcl 1-3 ref 564 564 b 000506 automatic pointer dcl 33 set ref 160* 160* 162 163 164 164 165* 166 binary 0(29) 000372 automatic bit(1) level 2 packed packed unaligned dcl 12-3 set ref 11-38 11-53 11-60 11-71 bit 0(03) 000372 automatic bit(1) level 2 in structure "type" packed packed unaligned dcl 12-3 in procedure "pl1_descriptor_type" set ref 11-78 bit 31(03) based bit(1) level 4 in structure "symbol" packed packed unaligned dcl 1-3 in procedure "initialize_int_static" ref 504 bit builtin function dcl 66 in procedure "initialize_int_static" ref 490 514 518 531 bit_dtype constant fixed bin(17,0) initial dcl 13-25 ref 11-83 bit_image based bit dcl 348 set ref 426 509 531* bit_offset 000115 automatic fixed bin(17,0) dcl 342 set ref 421* 426 431 440 485 490 494 509 514 518 550 566 566 bit_string constant bit(9) initial dcl 5-3 ref 489 512 529 bit_target based structure level 1 dcl 378 bound based structure level 1 dcl 2-21 bounds 12 based pointer level 2 packed packed unaligned dcl 2-1 ref 160 bv_prec parameter fixed bin(24,0) dcl 11-13 ref 11-8 11-34 bv_type parameter bit(36) packed unaligned dcl 11-13 ref 11-8 11-33 c_bit_size 27 based fixed bin(24,0) level 2 dcl 1-3 ref 425 c_dcl_size 30 based fixed bin(24,0) level 2 dcl 1-3 set ref 113 118 189 194 448 561 564* c_lower 1 based fixed bin(24,0) level 2 dcl 2-21 ref 162 164 c_multiplier 3 based fixed bin(24,0) level 2 dcl 2-21 ref 165 c_offset 1 based fixed bin(24,0) level 2 dcl 3-3 ref 108 316 c_upper 2 based fixed bin(24,0) level 2 dcl 2-21 ref 163 164 c_virtual_origin 4 based fixed bin(24,0) level 2 dcl 2-1 ref 325 cg_static_$null_value 000026 external static bit(72) dcl 73 ref 434 cg_static_$offset_null_value 000032 external static bit(36) dcl 73 ref 440 cg_static_$packed_null_value 000030 external static bit(36) dcl 73 ref 431 char 31(04) based bit(1) level 4 in structure "symbol" packed packed unaligned dcl 1-3 in procedure "initialize_int_static" ref 480 char builtin function dcl 66 in procedure "initialize_int_static" ref 490 char 0(04) 000372 automatic bit(1) level 2 in structure "type" packed packed unaligned dcl 12-3 in procedure "pl1_descriptor_type" set ref 11-84 char1 based char(1) packed unaligned dcl 346 set ref 550* char_dtype constant fixed bin(17,0) initial dcl 13-25 ref 11-89 11-114 char_image based char dcl 347 ref 485 char_string constant bit(9) initial dcl 5-3 ref 460 494 517 535 char_target based structure level 1 dcl 374 char_to_numeric_ 000034 constant entry external dcl 364 ref 477 compiler_developed 32(35) based structure level 3 packed packed unaligned dcl 1-3 complex 0(31) 000372 automatic bit(1) level 2 packed packed unaligned dcl 12-3 set ref 11-60 conversion 000334 stack reference condition dcl 350 ref 445 convert 000000 constant fixed bin(15,1) initial array dcl 337 in procedure "assignf" ref 421 convert 000006 constant fixed bin(15,1) initial array dcl 310 in procedure "subscript" ref 320 323 cplx_fix_bin_1_dtype constant fixed bin(17,0) initial dcl 13-25 ref 11-60 cplx_fix_bin_2_dtype constant fixed bin(17,0) initial dcl 13-25 ref 11-67 cplx_fix_dec_4bit_bytealigned_ls_dtype constant fixed bin(17,0) initial dcl 13-25 ref 11-68 cplx_fix_dec_9bit_ls_dtype constant fixed bin(17,0) initial dcl 13-25 ref 11-70 cplx_flt_bin_1_dtype constant fixed bin(17,0) initial dcl 13-25 ref 11-71 cplx_flt_bin_2_dtype constant fixed bin(17,0) initial dcl 13-25 ref 11-74 cplx_flt_dec_4bit_bytealigned_dtype constant fixed bin(17,0) initial dcl 13-25 ref 11-75 cplx_flt_dec_9bit_dtype constant fixed bin(17,0) initial dcl 13-25 ref 11-77 create_token 000016 constant entry external dcl 67 ref 460 data_type 31 based structure level 3 packed packed unaligned dcl 1-3 dec_integer constant bit(9) initial dcl 5-3 ref 129 237 dimensioned 31(19) based bit(1) level 4 packed packed unaligned dcl 1-3 ref 107 dtype 000371 automatic fixed bin(17,0) dcl 11-18 set ref 11-36* 11-38* 11-46* 11-47* 11-49* 11-50* 11-52* 11-53* 11-56* 11-57* 11-59* 11-60* 11-67* 11-68* 11-70* 11-71* 11-74* 11-75* 11-77* 11-78* 11-83* 11-84* 11-89* 11-90* 11-94* 11-98* 11-102* 11-106* 11-110* 11-114* 11-118* 11-120 element 1 based pointer array level 2 packed packed unaligned dcl 6-6 ref 121 126 129 132 135 135 137 141 235 empty builtin function dcl 66 ref 114 190 entry 31(09) based bit(1) level 4 in structure "symbol" packed packed unaligned dcl 1-3 in procedure "initialize_int_static" ref 100 entry 0(09) 000372 automatic bit(1) level 2 in structure "type" packed packed unaligned dcl 12-3 in procedure "pl1_descriptor_type" set ref 11-106 entry_dtype constant fixed bin(17,0) initial dcl 13-25 ref 11-106 error_$no_text 000020 constant entry external dcl 68 ref 600 f 000100 automatic pointer dcl 229 set ref 235* 236 237 239* factor 001536 automatic fixed bin(15,0) dcl 309 in procedure "subscript" set ref 313* 323* 325 327 factor 1 based fixed bin(17,0) level 2 in structure "initial" packed packed unaligned dcl 47 in procedure "initialize_int_static" set ref 239* 253 255 257 277 file 0(10) 000372 automatic bit(1) level 2 packed packed unaligned dcl 12-3 set ref 11-110 file_dtype constant fixed bin(17,0) initial dcl 13-25 ref 11-110 fixed 0(01) 000372 automatic bit(1) level 2 in structure "type" packed packed unaligned dcl 12-3 in procedure "pl1_descriptor_type" set ref 11-38 11-60 fixed 31(01) based bit(1) level 4 in structure "symbol" packed packed unaligned dcl 1-3 in procedure "initialize_int_static" ref 474 fixed builtin function dcl 77 in procedure "initialize_int_static" ref 566 fixedoverflow 000320 stack reference condition dcl 350 ref 445 float 31(02) based bit(1) level 4 packed packed unaligned dcl 1-3 ref 474 general 16 based pointer level 2 packed packed unaligned dcl 1-3 ref 543 high 000720 automatic fixed bin(15,0) array dcl 45 set ref 163* 200 210 i 000516 automatic fixed bin(15,0) dcl 43 in procedure "initialize_int_static" set ref 202* 204 204 206* 206 207 209 209 210 210 i 001541 automatic fixed bin(15,0) dcl 309 in procedure "subscript" set ref 326* 327 327* identifier constant bit(9) initial dcl 5-3 ref 580 image based area level 2 in structure "new_area_target" dcl 62 in procedure "initialize_int_static" set ref 114* 190* image based pointer level 2 in structure "packed_ptr_target" packed packed unaligned dcl 386 in procedure "assignf" set ref 431* image based fixed bin(15,0) level 2 in structure "varying_target" dcl 398 in procedure "assignf" set ref 498* 523* image based bit level 2 in structure "bit_target" packed packed unaligned dcl 378 in procedure "assignf" set ref 426* 509* 514* 518* image based offset level 2 in structure "offset_target" unaligned dcl 390 in procedure "assignf" set ref 440* image based char level 2 in structure "char_target" packed packed unaligned dcl 374 in procedure "assignf" set ref 485* 490* 494* 550* image based pointer level 2 in structure "ptr_target" dcl 382 in procedure "assignf" set ref 434* image based bit(1) level 2 in structure "arith_target" packed packed unaligned dcl 394 in procedure "assignf" set ref 566 566 index 000514 automatic fixed bin(15,0) dcl 43 in procedure "initialize_int_static" set ref 158* 161* 161 162 162 163 165 207 326 index 1(18) based fixed bin(17,0) level 2 in structure "initial" packed packed unaligned dcl 47 in procedure "initialize_int_static" set ref 244* 277 279* 291* 291 info based structure level 1 packed packed unaligned dcl 357 initial based structure level 1 dcl 47 in procedure "initialize_int_static" initial 11 based pointer level 2 in structure "symbol" packed packed unaligned dcl 1-3 in procedure "initialize_int_static" ref 94 426 543 inprec 0(18) based fixed bin(17,0) level 2 packed packed unaligned dcl 357 ref 484 508 inptr 000104 automatic pointer dcl 338 set ref 538* 540* 548* inscale_prec 000357 automatic fixed bin(31,0) dcl 354 set ref 477* 483* 484 507* 508 530* 537* 548* insize 000112 automatic fixed bin(31,0) dcl 341 set ref 425* 426 471* 477* 484* 485 498 508* 509 513* 514 523 530 530* 531 531 537 intype 000356 automatic fixed bin(31,0) dcl 352 set ref 477* 483* 507* 532* 536* 548* is_arithmetic_constant constant bit(9) initial dcl 5-47 ref 473 473 481 481 505 505 558 558 is_constant constant bit(9) initial dcl 5-47 ref 469 k 000106 automatic fixed bin(24,0) dcl 229 in procedure "compile" set ref 249* 250* 253 k 000515 automatic fixed bin(15,0) dcl 43 in procedure "initialize_int_static" set ref 158* 284 287 288* 288 295* 295 296 label 0(08) 000372 automatic bit(1) level 2 in structure "type" packed packed unaligned dcl 12-3 in procedure "pl1_descriptor_type" set ref 11-102 label 31(08) based bit(1) level 4 in structure "symbol" packed packed unaligned dcl 1-3 in procedure "initialize_int_static" ref 98 label_dtype constant fixed bin(17,0) initial dcl 13-25 ref 11-102 list based structure level 1 dcl 6-6 list_node constant bit(9) initial dcl 9-5 ref 103 135 247 294 low 001120 automatic fixed bin(15,0) array dcl 45 set ref 162* 204 lv 001526 automatic pointer dcl 270 set ref 272* 274 277 277 279 280 280* 281 287* 291 291 292 294 296 297 297* 301 m parameter fixed bin(15,0) dcl 598 ref 595 600 600 601 map_type 000010 internal static fixed bin(31,0) initial array dcl 402 set ref 548* max_p_fix_bin_1 constant fixed bin(31,0) initial dcl 14-5 ref 11-38 11-47 11-60 max_p_flt_bin_1 constant fixed bin(31,0) initial dcl 14-5 ref 11-53 11-71 min builtin function dcl 66 ref 498 523 misc_attributes 31(19) based structure level 3 packed packed unaligned dcl 1-3 multiplier 001320 automatic fixed bin(15,0) array dcl 45 set ref 165* 327 n parameter fixed bin(24,0) dcl 222 set ref 217 253* 253 255* 255 257* 257 new_area_target based structure level 1 dcl 62 next 14 based pointer level 2 in structure "bound" packed packed unaligned dcl 2-21 in procedure "initialize_int_static" ref 166 next 3 based pointer level 2 in structure "initial" packed packed unaligned dcl 47 in procedure "initialize_int_static" ref 259 280 node based structure level 1 dcl 9-27 not_complex 000111 automatic bit(1) packed unaligned dcl 340 set ref 422* 459* 558 null builtin function dcl 66 ref 95 121 135 160 234 247 274 274 281 292 292 413 off 001540 automatic fixed bin(15,0) dcl 309 set ref 316* 317 320* 320 325* 325 327* 327 329 offset 0(06) 000372 automatic bit(1) level 2 in structure "type" packed packed unaligned dcl 12-3 in procedure "pl1_descriptor_type" set ref 11-94 offset 31(06) based bit(1) level 4 in structure "symbol" packed packed unaligned dcl 1-3 in procedure "initialize_int_static" ref 439 offset 000512 automatic fixed bin(15,0) dcl 43 in procedure "initialize_int_static" set ref 108* 114 117 117 117 118 190 193 193 193 194 329* 417 offset_dtype constant fixed bin(17,0) initial dcl 13-25 ref 11-94 offset_target based structure level 1 dcl 390 offset_units 1(31) based fixed bin(3,0) level 2 packed packed unaligned dcl 2-1 ref 315 op 000110 automatic char(1) packed unaligned dcl 339 set ref 451* 453* 460 op_code 0(09) based bit(9) level 2 packed packed unaligned dcl 7-6 ref 451 453 operand 1 based pointer array level 2 packed packed unaligned dcl 7-6 ref 457 457 460 460 operator based structure level 1 dcl 7-6 operator_node constant bit(9) initial dcl 9-5 ref 450 outfo based structure level 1 packed packed unaligned dcl 357 overflow 000326 stack reference condition dcl 350 ref 445 p parameter pointer dcl 222 ref 217 234 pack_picture_ 000040 constant entry external dcl 364 ref 550 packed 33 based bit(1) level 4 packed packed unaligned dcl 1-3 ref 431 566 packed_ptr_target based structure level 1 dcl 386 picture 0(18) 000372 automatic bit(1) level 2 in structure "type" packed packed unaligned dcl 12-3 in procedure "pl1_descriptor_type" set ref 11-114 picture 31(18) based bit(1) level 4 in structure "symbol" packed packed unaligned dcl 1-3 in procedure "initialize_int_static" ref 528 picture_image based structure level 1 dcl 10-6 pl1_stat_$use_old_area 000024 external static bit(1) dcl 71 ref 111 187 pointer_dtype constant fixed bin(17,0) initial dcl 13-25 ref 11-90 pp 000106 automatic pointer dcl 338 set ref 543* 545 545 545 548 550 prec 000370 automatic fixed bin(24,0) dcl 11-18 in procedure "pl1_descriptor_type" set ref 11-34* 11-38 11-47 11-53 11-60 11-71 prec 0(09) based fixed bin(8,0) level 2 in structure "picture_image" packed packed unaligned dcl 10-6 in procedure "assignf" ref 545 ptr 31(05) based bit(1) level 4 in structure "symbol" packed packed unaligned dcl 1-3 in procedure "initialize_int_static" ref 430 ptr 0(05) 000372 automatic bit(1) level 2 in structure "type" packed packed unaligned dcl 12-3 in procedure "pl1_descriptor_type" set ref 11-90 ptr_target based structure level 1 unaligned dcl 382 pv parameter pointer dcl 338 ref 334 412 q 000102 automatic pointer dcl 229 set ref 234* 234* 235 239 244 245 253 255 257* 259 r 000502 automatic pointer dcl 33 set ref 91* 108 109 314 316 real 0(30) 000372 automatic bit(1) level 2 packed packed unaligned dcl 12-3 set ref 11-38 real_fix_bin_1_dtype constant fixed bin(17,0) initial dcl 13-25 ref 11-47 real_fix_bin_1_uns_dtype constant fixed bin(17,0) initial dcl 13-25 ref 11-38 real_fix_bin_2_dtype constant fixed bin(17,0) initial dcl 13-25 ref 11-49 real_fix_bin_2_uns_dtype constant fixed bin(17,0) initial dcl 13-25 ref 11-46 real_fix_dec_4bit_bytealigned_ls_dtype constant fixed bin(17,0) initial dcl 13-25 ref 11-50 real_fix_dec_9bit_ls_dtype constant fixed bin(17,0) initial dcl 13-25 ref 11-52 real_flt_bin_1_dtype constant fixed bin(17,0) initial dcl 13-25 ref 11-53 real_flt_bin_2_dtype constant fixed bin(17,0) initial dcl 13-25 ref 11-56 real_flt_dec_4bit_bytealigned_dtype constant fixed bin(17,0) initial dcl 13-25 ref 11-57 real_flt_dec_9bit_dtype constant fixed bin(17,0) initial dcl 13-25 ref 11-59 reference based structure level 1 dcl 3-3 in procedure "initialize_int_static" reference 15 based pointer level 2 in structure "symbol" packed packed unaligned dcl 1-3 in procedure "initialize_int_static" ref 91 reference_node constant bit(9) initial dcl 9-5 ref 577 s parameter pointer dcl 33 set ref 23 91 93 94 98 100 107 111 113 118 149 152 168 187 189 194 416 600 600* scale 2(28) based fixed bin(7,0) level 2 in structure "symbol" packed packed unaligned dcl 1-3 in procedure "initialize_int_static" ref 563 scale 0(18) based fixed bin(8,0) level 2 in structure "picture_image" packed packed unaligned dcl 10-6 in procedure "assignf" ref 545 scalefactor 1(09) based fixed bin(8,0) level 2 packed packed unaligned dcl 10-6 ref 545 size based fixed bin(17,0) level 2 in structure "area_target" dcl 56 in procedure "initialize_int_static" set ref 118* 194* size 3 based fixed bin(9,0) level 2 in structure "token" dcl 4-3 in procedure "initialize_int_static" ref 460 460 471 477 477 490 490 494 513 514 518 531 538 566 566 566 580 size 000342 stack reference condition dcl 350 in procedure "assignf" ref 445 source_id 0(09) based structure level 2 packed packed unaligned dcl 1-3 set ref 600* stack 000100 automatic pointer array dcl 33 set ref 287 296* string builtin function dcl 77 in procedure "initialize_int_static" ref 564 564 string 4 based char level 2 in structure "token" dcl 4-3 in procedure "initialize_int_static" set ref 460 460 477 477 490 494 514 518 531 538 566 566 580 string builtin function dcl 11-23 in procedure "pl1_descriptor_type" set ref 11-33* stringsize 000350 stack reference condition dcl 350 ref 446 structure 000372 automatic bit(1) level 2 packed packed unaligned dcl 12-3 set ref 11-36 structure_dtype constant fixed bin(17,0) initial dcl 13-25 ref 11-36 sub constant bit(9) initial dcl 369 in procedure "assignf" ref 453 sub 000520 automatic fixed bin(15,0) array dcl 45 in procedure "initialize_int_static" set ref 162* 199* 199 200 204* 209* 209 210 327 substr builtin function dcl 77 ref 490 514 531 564 564 sunits 001537 automatic fixed bin(15,0) dcl 309 set ref 315* 317 319 320 321 323 sym 000102 automatic pointer dcl 338 set ref 416* 419 430 431 439 448 474 474 480 498 504 523 528 543 561 563 564 564 564 566 symbol based structure level 1 dcl 1-3 in procedure "initialize_int_static" symbol 3 based pointer level 2 in structure "reference" packed packed unaligned dcl 3-3 in procedure "initialize_int_static" ref 543 577 symbol_node constant bit(9) initial dcl 9-5 ref 424 t 000116 automatic fixed bin(6,0) dcl 343 in procedure "assignf" set ref 564* 566 t 000104 automatic pointer dcl 229 in procedure "compile" set ref 245* 247 247 250* token based structure level 1 dcl 4-3 token_node constant bit(9) initial dcl 9-5 ref 126 236 457 457 466 580 token_to_binary 000022 constant entry external dcl 69 ref 132 239 total_array_elements 000510 automatic fixed bin(24,0) dcl 42 set ref 159* 164* 164 168 total_initial_elements 000511 automatic fixed bin(24,0) dcl 42 set ref 150* 152* 168 tprec 0(18) based fixed bin(17,0) level 2 packed packed unaligned dcl 357 set ref 561* tscale based fixed bin(17,0) level 2 packed packed unaligned dcl 357 set ref 563* tscale_prec 000360 automatic fixed bin(31,0) dcl 354 set ref 545* 548* 561 563 566* tsize 000113 automatic fixed bin(31,0) dcl 341 set ref 425* 426 448* 483* 485 490 494 498 507* 509 514 518 523 550 550 type 0(09) based bit(9) level 2 in structure "token" packed packed unaligned dcl 4-3 in procedure "initialize_int_static" ref 129 237 469 473 481 489 494 505 512 517 529 535 558 580 type based bit(9) level 2 in structure "node" packed packed unaligned dcl 9-27 in procedure "initialize_int_static" ref 103 126 135 236 247 294 424 450 457 457 466 577 580 type 000372 automatic structure level 1 packed packed unaligned dcl 12-3 in procedure "pl1_descriptor_type" set ref 11-33* type based fixed bin(8,0) level 2 in structure "picture_image" packed packed unaligned dcl 10-6 in procedure "assignf" ref 548 unaligned 0(22) 000372 automatic bit(1) level 2 packed packed unaligned dcl 12-3 set ref 11-50 11-57 11-68 11-75 units 0(14) based fixed bin(3,0) level 2 in structure "reference" packed packed unaligned dcl 3-3 in procedure "initialize_int_static" ref 109 314 units 000513 automatic fixed bin(15,0) dcl 43 in procedure "initialize_int_static" set ref 109* 314* 317* 319 320 321* 323 421 unsigned 0(24) 000372 automatic bit(1) level 2 packed packed unaligned dcl 12-3 set ref 11-38 unspec builtin function dcl 66 set ref 431* 434* 440* v 000100 automatic pointer dcl 338 in procedure "assignf" set ref 412* 413 424 425 426 450 451 453 457 457 460* 460 460 466 469 471 473 477 477 481 489 490 490 494 494 505 512 513 514 517 518 529 531 535 538 558 566 566 566 577 577* 577 580 580 580 v 000500 automatic pointer dcl 33 in procedure "initialize_int_static" set ref 94* 95 103 121 126 129 132 135 135 137* 137 141 152* 272 280* 287* 297* value 2 based pointer level 2 packed packed unaligned dcl 47 ref 245 292 294 297 301 value1 000117 automatic bit(2294) packed unaligned dcl 344 set ref 477 477 483 483 507 507 531 540 value2 000217 automatic char(256) dcl 345 set ref 483 483 485 507 507 509 548 548 550* varying 31(26) based bit(1) level 4 in structure "symbol" packed packed unaligned dcl 1-3 in procedure "initialize_int_static" ref 419 498 523 varying 0(26) 000372 automatic bit(1) level 2 in structure "type" packed packed unaligned dcl 12-3 in procedure "pl1_descriptor_type" set ref 11-78 11-84 varying_bit_dtype constant fixed bin(17,0) initial dcl 13-25 ref 11-78 varying_char_dtype constant fixed bin(17,0) initial dcl 13-25 ref 11-84 varying_target based structure level 1 unaligned dcl 398 word_offset 000114 automatic fixed bin(17,0) dcl 342 set ref 417* 419* 419 421 434 498 523 z1 based fixed bin(17,0) level 2 dcl 56 set ref 117* 193* z2 based fixed bin(17,0) level 2 dcl 56 set ref 117* 193* z3 based fixed bin(17,0) level 2 dcl 56 set ref 117* 193* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. algol68_array_descriptor_dtype internal static fixed bin(17,0) initial dcl 13-25 algol68_bits_dtype internal static fixed bin(17,0) initial dcl 13-110 algol68_bool_dtype internal static fixed bin(17,0) initial dcl 13-110 algol68_byte_dtype internal static fixed bin(17,0) initial dcl 13-110 algol68_char_dtype internal static fixed bin(17,0) initial dcl 13-110 algol68_compl_dtype internal static fixed bin(17,0) initial dcl 13-110 algol68_format_dtype internal static fixed bin(17,0) initial dcl 13-25 algol68_int_dtype internal static fixed bin(17,0) initial dcl 13-110 algol68_long_compl_dtype internal static fixed bin(17,0) initial dcl 13-110 algol68_long_int_dtype internal static fixed bin(17,0) initial dcl 13-110 algol68_long_real_dtype internal static fixed bin(17,0) initial dcl 13-110 algol68_real_dtype internal static fixed bin(17,0) initial dcl 13-110 algol68_short_int_dtype internal static fixed bin(17,0) initial dcl 13-110 algol68_straight_dtype internal static fixed bin(17,0) initial dcl 13-25 algol68_struct_struct_bool_dtype internal static fixed bin(17,0) initial dcl 13-110 algol68_struct_struct_char_dtype internal static fixed bin(17,0) initial dcl 13-110 algol68_union_dtype internal static fixed bin(17,0) initial dcl 13-25 and internal static bit(9) initial dcl 5-3 arg_desc_type internal static bit(36) initial dcl 14-71 in procedure "pl1_descriptor_type" arg_desc_type internal static bit(36) initial dcl 8-71 in procedure "initialize_int_static" array_node internal static bit(9) initial dcl 9-5 arrow internal static bit(9) initial dcl 5-3 assignment internal static bit(9) initial dcl 5-3 asterisk internal static bit(9) initial dcl 5-3 bin_integer internal static bit(9) initial dcl 5-3 bit_type internal static bit(36) initial dcl 14-71 in procedure "pl1_descriptor_type" bit_type internal static bit(36) initial dcl 8-71 in procedure "initialize_int_static" bits_per_binary_exponent internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" bits_per_binary_exponent internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" bits_per_character internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" bits_per_character internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" bits_per_decimal_digit internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" bits_per_decimal_digit internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" bits_per_digit internal static fixed bin(31,1) initial dcl 14-69 in procedure "pl1_descriptor_type" bits_per_digit internal static fixed bin(31,1) initial dcl 8-69 in procedure "initialize_int_static" bits_per_double internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" bits_per_double internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" bits_per_half internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" bits_per_half internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" bits_per_packed_ptr internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" bits_per_packed_ptr internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" bits_per_word internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" bits_per_word internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" block_node internal static bit(9) initial dcl 9-5 bound_node internal static bit(9) initial dcl 9-5 builtin_type internal static bit(36) initial dcl 8-71 in procedure "initialize_int_static" builtin_type internal static bit(36) initial dcl 14-71 in procedure "pl1_descriptor_type" by_name_agg_node internal static bit(9) initial dcl 9-5 c_enum_const_dtype internal static fixed bin(17,0) initial dcl 13-25 c_enum_dtype internal static fixed bin(17,0) initial dcl 13-25 c_typeref_dtype internal static fixed bin(17,0) initial dcl 13-25 c_union_dtype internal static fixed bin(17,0) initial dcl 13-25 cat internal static bit(9) initial dcl 5-3 char_type internal static bit(36) initial dcl 8-71 in procedure "initialize_int_static" char_type internal static bit(36) initial dcl 14-71 in procedure "pl1_descriptor_type" characters_per_double internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" characters_per_double internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" characters_per_half internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" characters_per_half internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" characters_per_word internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" characters_per_word internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" cobol_char_string_dtype internal static fixed bin(17,0) initial dcl 13-25 cobol_comp_5_ts_dtype internal static fixed bin(17,0) initial dcl 13-25 cobol_comp_5_uns_dtype internal static fixed bin(17,0) initial dcl 13-25 cobol_comp_6_dtype internal static fixed bin(17,0) initial dcl 13-25 cobol_comp_7_dtype internal static fixed bin(17,0) initial dcl 13-25 cobol_comp_8_ls_dtype internal static fixed bin(17,0) initial dcl 13-25 cobol_comp_8_uns_dtype internal static fixed bin(17,0) initial dcl 13-25 cobol_display_ls_dtype internal static fixed bin(17,0) initial dcl 13-25 cobol_display_ls_overp_dtype internal static fixed bin(17,0) initial dcl 13-25 cobol_display_ts_dtype internal static fixed bin(17,0) initial dcl 13-25 cobol_display_ts_overp_dtype internal static fixed bin(17,0) initial dcl 13-25 cobol_display_uns_dtype internal static fixed bin(17,0) initial dcl 13-25 cobol_structure_dtype internal static fixed bin(17,0) initial dcl 13-25 colon internal static bit(9) initial dcl 5-3 comma internal static bit(9) initial dcl 5-3 complex_type internal static bit(36) initial dcl 14-71 in procedure "pl1_descriptor_type" complex_type internal static bit(36) initial dcl 8-71 in procedure "initialize_int_static" context_node internal static bit(9) initial dcl 9-5 cplx_flt_bin_generic_dtype internal static fixed bin(17,0) initial dcl 13-25 cplx_flt_dec_extended_dtype internal static fixed bin(17,0) initial dcl 13-25 cplx_flt_dec_generic_dtype internal static fixed bin(17,0) initial dcl 13-25 cplx_flt_hex_1_dtype internal static fixed bin(17,0) initial dcl 13-25 cplx_flt_hex_2_dtype internal static fixed bin(17,0) initial dcl 13-25 cross_reference_node internal static bit(9) initial dcl 9-5 dec_integer_type internal static bit(36) initial dcl 14-71 in procedure "pl1_descriptor_type" dec_integer_type internal static bit(36) initial dcl 8-71 in procedure "initialize_int_static" default_area_size internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" default_area_size internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" default_fix_bin_p internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" default_fix_bin_p internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" default_fix_dec_p internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" default_fix_dec_p internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" default_flt_bin_p internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" default_flt_bin_p internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" default_flt_dec_p internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" default_flt_dec_p internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" default_node internal static bit(9) initial dcl 9-5 entry_var_type internal static bit(36) initial dcl 14-71 in procedure "pl1_descriptor_type" entry_var_type internal static bit(36) initial dcl 8-71 in procedure "initialize_int_static" eq internal static bit(9) initial dcl 5-3 expon internal static bit(9) initial dcl 5-3 ext_entry_runtime_dtype internal static fixed bin(17,0) initial dcl 13-125 ext_procedure_runtime_dtype internal static fixed bin(17,0) initial dcl 13-125 fixed_bin internal static bit(9) initial dcl 5-3 fixed_dec internal static bit(9) initial dcl 5-3 float_bin internal static bit(9) initial dcl 5-3 float_dec internal static bit(9) initial dcl 5-3 format_value_node internal static bit(9) initial dcl 9-5 ft_char_dtype internal static fixed bin(17,0) initial dcl 13-96 ft_complex_double_dtype internal static fixed bin(17,0) initial dcl 13-96 ft_complex_dtype internal static fixed bin(17,0) initial dcl 13-96 ft_double_dtype internal static fixed bin(17,0) initial dcl 13-96 ft_external_dtype internal static fixed bin(17,0) initial dcl 13-96 ft_hex_complex_double_dtype internal static fixed bin(17,0) initial dcl 13-96 ft_hex_complex_dtype internal static fixed bin(17,0) initial dcl 13-96 ft_hex_double_dtype internal static fixed bin(17,0) initial dcl 13-96 ft_hex_real_dtype internal static fixed bin(17,0) initial dcl 13-96 ft_integer_dtype internal static fixed bin(17,0) initial dcl 13-96 ft_logical_dtype internal static fixed bin(17,0) initial dcl 13-96 ft_real_dtype internal static fixed bin(17,0) initial dcl 13-96 ge internal static bit(9) initial dcl 5-3 gt internal static bit(9) initial dcl 5-3 i_bin_integer internal static bit(9) initial dcl 5-3 i_dec_integer internal static bit(9) initial dcl 5-3 i_fixed_bin internal static bit(9) initial dcl 5-3 i_fixed_dec internal static bit(9) initial dcl 5-3 i_float_bin internal static bit(9) initial dcl 5-3 i_float_dec internal static bit(9) initial dcl 5-3 int_entry_runtime_dtype internal static fixed bin(17,0) initial dcl 13-125 integer_type internal static bit(36) initial dcl 14-71 in procedure "pl1_descriptor_type" integer_type internal static bit(36) initial dcl 8-71 in procedure "initialize_int_static" is_arith_constant internal static bit(9) initial dcl 5-47 is_decimal_constant internal static bit(9) initial dcl 5-47 is_delimiter internal static bit(9) initial dcl 5-47 is_float_constant internal static bit(9) initial dcl 5-47 is_identifier internal static bit(9) initial dcl 5-47 is_imaginary_constant internal static bit(9) initial dcl 5-47 is_integral_constant internal static bit(9) initial dcl 5-47 is_isub internal static bit(9) initial dcl 5-47 isub internal static bit(9) initial dcl 5-3 label_array_element_node internal static bit(9) initial dcl 9-5 label_constant_runtime_dtype internal static fixed bin(17,0) initial dcl 13-125 label_node internal static bit(9) initial dcl 9-5 le internal static bit(9) initial dcl 5-3 left_parn internal static bit(9) initial dcl 5-3 local_label_var_type internal static bit(36) initial dcl 14-71 in procedure "pl1_descriptor_type" local_label_var_type internal static bit(36) initial dcl 8-71 in procedure "initialize_int_static" lt internal static bit(9) initial dcl 5-3 machine_state_node internal static bit(9) initial dcl 9-5 max_area_size internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" max_area_size internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" max_bit_string internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" max_bit_string internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" max_bit_string_constant internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" max_bit_string_constant internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" max_char_string internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" max_char_string internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" max_char_string_constant internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" max_char_string_constant internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" max_identifier_length internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" max_identifier_length internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" max_index_register_value internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" max_index_register_value internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" max_length_precision internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" max_length_precision internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" max_list_elements internal static fixed bin(17,0) initial dcl 6-12 max_number_of_dimensions internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" max_number_of_dimensions internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" max_number_of_operands internal static fixed bin(15,0) initial dcl 7-15 max_offset_precision internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" max_offset_precision internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" max_p_bin_or_dec internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" max_p_bin_or_dec internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" max_p_dec internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" max_p_dec internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" max_p_fix_bin_1 internal static fixed bin(31,0) initial dcl 8-5 max_p_fix_bin_2 internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" max_p_fix_bin_2 internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" max_p_flt_bin_1 internal static fixed bin(31,0) initial dcl 8-5 max_p_flt_bin_2 internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" max_p_flt_bin_2 internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" max_scale internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" max_scale internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" max_signed_index_register_value internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" max_signed_index_register_value internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" max_signed_xreg_precision internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" max_signed_xreg_precision internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" max_uns_xreg_precision internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" max_uns_xreg_precision internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" max_words_per_variable internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" max_words_per_variable internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" min_area_size internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" min_area_size internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" min_scale internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" min_scale internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" minus internal static bit(9) initial dcl 5-3 ne internal static bit(9) initial dcl 5-3 ngt internal static bit(9) initial dcl 5-3 nlt internal static bit(9) initial dcl 5-3 no_token internal static bit(9) initial dcl 5-3 not internal static bit(9) initial dcl 5-3 or internal static bit(9) initial dcl 5-3 packed_digits_per_character internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" packed_digits_per_character internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" pascal_boolean_dtype internal static fixed bin(17,0) initial dcl 13-132 pascal_char_dtype internal static fixed bin(17,0) initial dcl 13-132 pascal_entry_formal_parameter_dtype internal static fixed bin(17,0) initial dcl 13-132 pascal_enumerated_type_dtype internal static fixed bin(17,0) initial dcl 13-132 pascal_enumerated_type_element_dtype internal static fixed bin(17,0) initial dcl 13-132 pascal_enumerated_type_instance_dtype internal static fixed bin(17,0) initial dcl 13-132 pascal_exportable_procedure_dtype internal static fixed bin(17,0) initial dcl 13-132 pascal_imported_procedure_dtype internal static fixed bin(17,0) initial dcl 13-132 pascal_integer_dtype internal static fixed bin(17,0) initial dcl 13-132 pascal_internal_procedure_dtype internal static fixed bin(17,0) initial dcl 13-132 pascal_label_dtype internal static fixed bin(17,0) initial dcl 13-132 pascal_parameter_procedure_dtype internal static fixed bin(17,0) initial dcl 13-132 pascal_procedure_type_dtype internal static fixed bin(17,0) initial dcl 13-132 pascal_real_dtype internal static fixed bin(17,0) initial dcl 13-132 pascal_record_file_type_dtype internal static fixed bin(17,0) initial dcl 13-132 pascal_record_type_dtype internal static fixed bin(17,0) initial dcl 13-132 pascal_set_dtype internal static fixed bin(17,0) initial dcl 13-132 pascal_string_type_dtype internal static fixed bin(17,0) initial dcl 13-132 pascal_text_file_dtype internal static fixed bin(17,0) initial dcl 13-132 pascal_typed_pointer_type_dtype internal static fixed bin(17,0) initial dcl 13-132 pascal_user_defined_type_dtype internal static fixed bin(17,0) initial dcl 13-132 pascal_user_defined_type_instance_dtype internal static fixed bin(17,0) initial dcl 13-132 pascal_value_formal_parameter_dtype internal static fixed bin(17,0) initial dcl 13-132 pascal_variable_formal_parameter_dtype internal static fixed bin(17,0) initial dcl 13-132 percent internal static bit(9) initial dcl 5-3 period internal static bit(9) initial dcl 5-3 picture_char_type internal static fixed bin(8,0) initial packed unaligned dcl 10-20 picture_complexfix_type internal static fixed bin(8,0) initial packed unaligned dcl 10-20 picture_complexflo_type internal static fixed bin(8,0) initial packed unaligned dcl 10-20 picture_realfix_type internal static fixed bin(8,0) initial packed unaligned dcl 10-20 picture_realflo_type internal static fixed bin(8,0) initial packed unaligned dcl 10-20 picture_runtime_dtype internal static fixed bin(17,0) initial dcl 13-125 plus internal static bit(9) initial dcl 5-3 pointer_type internal static bit(36) initial dcl 14-71 in procedure "pl1_descriptor_type" pointer_type internal static bit(36) initial dcl 8-71 in procedure "initialize_int_static" real_fix_dec_4bit_bytealigned_uns_dtype internal static fixed bin(17,0) initial dcl 13-25 real_fix_dec_4bit_ls_dtype internal static fixed bin(17,0) initial dcl 13-25 real_fix_dec_4bit_ts_dtype internal static fixed bin(17,0) initial dcl 13-25 real_fix_dec_4bit_uns_dtype internal static fixed bin(17,0) initial dcl 13-25 real_fix_dec_9bit_ls_overp_dtype internal static fixed bin(17,0) initial dcl 13-25 real_fix_dec_9bit_ts_dtype internal static fixed bin(17,0) initial dcl 13-25 real_fix_dec_9bit_ts_overp_dtype internal static fixed bin(17,0) initial dcl 13-25 real_fix_dec_9bit_uns_dtype internal static fixed bin(17,0) initial dcl 13-25 real_flt_bin_generic_dtype internal static fixed bin(17,0) initial dcl 13-25 real_flt_dec_4bit_dtype internal static fixed bin(17,0) initial dcl 13-25 real_flt_dec_extended_dtype internal static fixed bin(17,0) initial dcl 13-25 real_flt_dec_generic_dtype internal static fixed bin(17,0) initial dcl 13-25 real_flt_hex_1_dtype internal static fixed bin(17,0) initial dcl 13-25 real_flt_hex_2_dtype internal static fixed bin(17,0) initial dcl 13-25 real_type internal static bit(36) initial dcl 14-71 in procedure "pl1_descriptor_type" real_type internal static bit(36) initial dcl 8-71 in procedure "initialize_int_static" right_parn internal static bit(9) initial dcl 5-3 semi_colon internal static bit(9) initial dcl 5-3 sf_par_node internal static bit(9) initial dcl 9-5 slash internal static bit(9) initial dcl 5-3 source_node internal static bit(9) initial dcl 9-5 statement_node internal static bit(9) initial dcl 9-5 storage_block_type internal static bit(36) initial dcl 14-71 in procedure "pl1_descriptor_type" storage_block_type internal static bit(36) initial dcl 8-71 in procedure "initialize_int_static" temporary_node internal static bit(9) initial dcl 9-5 words_per_condition_var internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" words_per_condition_var internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" words_per_entry_var internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" words_per_entry_var internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" words_per_file_var internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" words_per_file_var internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" words_per_fix_bin_1 internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" words_per_fix_bin_1 internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" words_per_fix_bin_2 internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" words_per_fix_bin_2 internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" words_per_flt_bin_1 internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" words_per_flt_bin_1 internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" words_per_flt_bin_2 internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" words_per_flt_bin_2 internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" words_per_format internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" words_per_format internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" words_per_label_var internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" words_per_label_var internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" words_per_offset internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" words_per_offset internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" words_per_packed_pointer internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" words_per_packed_pointer internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" words_per_pointer internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" words_per_pointer internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" words_per_varying_string_header internal static fixed bin(31,0) initial dcl 8-5 in procedure "initialize_int_static" words_per_varying_string_header internal static fixed bin(31,0) initial dcl 14-5 in procedure "pl1_descriptor_type" NAMES DECLARED BY EXPLICIT CONTEXT. assignf 001133 constant entry internal dcl 334 ref 141 196 begin 000725 constant label dcl 274 ref 289 298 compile 000565 constant entry internal dcl 217 ref 152 250 error1 002541 constant label dcl 570 ref 445 exit 000563 constant label dcl 604 ref 601 fail 000716 constant label dcl 261 ref 236 237 250 initialize_int_static 000076 constant entry external dcl 23 is_null 003046 constant entry internal dcl 574 ref 431 440 l1 002444 constant label dcl 561 ref 474 next 000472 constant label dcl 184 ref 200 212 next_value 000721 constant entry internal dcl 267 ref 196 ok 000735 constant label dcl 277 ref 281 overflow 000546 constant label dcl 204 ref 210 pl1_descriptor_type 002553 constant entry internal dcl 11-8 ref 564 print 003116 constant entry internal dcl 595 ref 98 100 103 121 126 129 132 152 168 284 446 455 463 466 469 482 492 506 520 558 570 585 subscript 001034 constant entry internal dcl 306 ref 184 unravel 000235 constant label dcl 121 ref 138 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 3370 3432 3171 3400 Length 4106 3171 42 440 177 6 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME initialize_int_static 897 external procedure is an external procedure. compile 88 internal procedure calls itself recursively. next_value internal procedure shares stack frame of external procedure initialize_int_static. subscript internal procedure shares stack frame of external procedure initialize_int_static. assignf 452 internal procedure enables or reverts conditions. pl1_descriptor_type internal procedure shares stack frame of internal procedure assignf. on unit on line 445 64 on unit on unit on line 446 72 on unit is_null internal procedure shares stack frame of internal procedure assignf. print 74 internal procedure is called by several nonquick procedures. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 map_type assignf STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME assignf 000100 v assignf 000102 sym assignf 000104 inptr assignf 000106 pp assignf 000110 op assignf 000111 not_complex assignf 000112 insize assignf 000113 tsize assignf 000114 word_offset assignf 000115 bit_offset assignf 000116 t assignf 000117 value1 assignf 000217 value2 assignf 000356 intype assignf 000357 inscale_prec assignf 000360 tscale_prec assignf 000370 prec pl1_descriptor_type 000371 dtype pl1_descriptor_type 000372 type pl1_descriptor_type compile 000100 f compile 000102 q compile 000104 t compile 000106 k compile initialize_int_static 000100 stack initialize_int_static 000500 v initialize_int_static 000502 r initialize_int_static 000504 a initialize_int_static 000506 b initialize_int_static 000510 total_array_elements initialize_int_static 000511 total_initial_elements initialize_int_static 000512 offset initialize_int_static 000513 units initialize_int_static 000514 index initialize_int_static 000515 k initialize_int_static 000516 i initialize_int_static 000517 area_size initialize_int_static 000520 sub initialize_int_static 000720 high initialize_int_static 001120 low initialize_int_static 001320 multiplier initialize_int_static 001526 lv next_value 001536 factor subscript 001537 sunits subscript 001540 off subscript 001541 i subscript THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp alloc_bit_temp cat_realloc_chars call_ext_out_desc call_ext_out call_int_this call_int_other return_mac tra_ext_1 enable_op shorten_stack ext_entry int_entry trunc_fx1 any_to_any_truncate_op_empty_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. assign_ char_to_numeric_ create_token error_$no_text pack_picture_ token_to_binary THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. cg_static_$null_value cg_static_$offset_null_value cg_static_$packed_null_value pl1_stat_$use_old_area LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 23 000072 91 000103 93 000110 94 000113 95 000115 98 000121 100 000134 103 000152 107 000166 108 000174 109 000177 111 000203 113 000211 114 000213 115 000223 117 000224 118 000232 119 000234 121 000235 126 000251 129 000267 132 000306 135 000335 137 000346 138 000350 141 000351 144 000361 149 000362 150 000364 152 000365 158 000415 159 000417 160 000421 161 000430 162 000431 163 000436 164 000440 165 000444 166 000446 168 000451 184 000472 187 000473 189 000504 190 000506 191 000516 193 000517 194 000525 195 000527 196 000530 199 000540 200 000541 202 000544 204 000546 206 000551 207 000552 209 000555 210 000556 212 000562 604 000563 217 000564 234 000572 235 000602 236 000605 237 000611 239 000616 244 000633 245 000635 247 000637 249 000647 250 000650 253 000666 254 000675 255 000676 257 000703 259 000707 260 000712 261 000716 267 000721 272 000723 274 000725 277 000735 279 000746 280 000750 281 000753 284 000757 287 000771 288 000776 289 001000 291 001001 292 001004 294 001013 295 001020 296 001021 297 001024 298 001027 301 001030 306 001034 313 001035 314 001037 315 001043 316 001050 317 001053 319 001057 320 001062 321 001072 322 001074 323 001075 325 001103 326 001110 327 001117 328 001125 329 001127 330 001131 334 001132 412 001140 413 001144 416 001150 417 001155 419 001157 421 001163 422 001171 424 001173 425 001200 426 001204 427 001213 430 001214 431 001217 434 001243 436 001261 439 001262 440 001265 442 001303 445 001304 446 001342 448 001370 450 001373 451 001376 453 001407 455 001414 457 001425 459 001443 460 001444 462 001515 463 001517 466 001530 469 001545 471 001563 473 001566 474 001574 477 001600 480 001623 481 001627 482 001635 483 001646 484 001675 485 001701 489 001716 490 001724 492 001772 493 002004 494 002005 498 002024 501 002042 504 002043 505 002046 506 002055 507 002066 508 002115 509 002121 511 002132 512 002133 513 002136 514 002142 516 002166 517 002170 518 002172 520 002221 523 002233 525 002251 528 002252 529 002255 530 002263 531 002267 532 002277 535 002301 536 002304 537 002306 538 002310 539 002313 540 002314 543 002316 545 002323 548 002342 550 002367 552 002422 558 002423 561 002444 563 002447 564 002453 566 002471 569 002540 570 002541 591 002552 11 8 002553 11 33 002555 11 34 002561 11 36 002563 11 38 002571 11 46 002612 11 47 002615 11 49 002622 11 50 002625 11 52 002633 11 53 002636 11 56 002646 11 57 002651 11 59 002657 11 60 002662 11 67 002700 11 68 002703 11 70 002711 11 71 002714 11 74 002724 11 75 002727 11 77 002735 11 78 002740 11 83 002751 11 84 002754 11 89 002765 11 90 002770 11 94 002776 11 98 003004 11 102 003012 11 106 003020 11 110 003026 11 114 003034 11 118 003042 11 120 003043 574 003046 577 003050 580 003057 585 003101 586 003112 595 003115 600 003123 601 003150 603 003156 ----------------------------------------------------------- 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