COMPILATION LISTING OF SEGMENT meter_token_table Compiled by: Multics PL/I Compiler, Release 27d, of October 11, 1982 Compiled at: Honeywell LISD Phoenix, System M Compiled on: 11/15/82 1625.1 mst Mon Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* * Copyright (c) 1972 by Massachusetts Institute of * 6* * Technology and Honeywell Information Systems, Inc. * 7* * * 8* *********************************************************** */ 9 10 11 /* Entry to gather some statistics about the hash table. */ 12 13 meter_token_table: 14 procedure; 15 16 /* automatic */ 17 18 dcl (tokcnt,tokwords,empty_slots,maximum) fixed bin(15); 19 dcl n fixed bin; 20 dcl p ptr; 21 dcl sysprint file print; 22 dcl i fixed bin; 23 24 /* builtins */ 25 26 dcl (currentsize, null) builtin; 27 28 /* entries */ 29 30 dcl com_err_ entry options (variable); 31 32 /* external static */ 33 34 dcl cg_static_$debug bit (1) aligned external static; 35 36 /* include files */ 37 1 1 /* BEGIN INCLUDE FILE ... pl1_token_hash_table.incl.pl1 */ 1 2 1 3 declare 1 hash_table_structure aligned based (pl1_stat_$hash_table_ptr), 1 4 2 hash_table (0:630) ptr unaligned; 1 5 1 6 declare pl1_stat_$hash_table_ptr ptr external static; 1 7 1 8 /* END INCLUDE FILE ... pl1_token_hash_table.incl.pl1 */ 38 2 1 /* BEGIN INCLUDE FILE ... token.incl.pl1 */ 2 2 2 3 dcl 1 token based aligned, 2 4 2 node_type bit(9) unaligned, 2 5 2 type bit(9) unaligned, 2 6 2 loc bit(18) unaligned, /* symtab offset for identifiers, "p" flag for constants */ 2 7 2 declaration ptr unaligned, 2 8 2 next ptr unaligned, 2 9 2 size fixed(9), 2 10 2 string char(n refer(token.size)); 2 11 2 12 /* END INCLUDE FILE ... token.incl.pl1 */ 39 3 1 /* BEGIN INCLUDE FILE ... system.incl.pl1 */ 3 2 3 3 /* Modified: 25 Apr 1979 by PCK to implemnt 4-bit decimal */ 3 4 3 5 dcl ( max_p_flt_bin_1 initial(27), 3 6 max_p_flt_bin_2 initial(63), 3 7 max_p_fix_bin_1 initial(35), 3 8 max_p_fix_bin_2 initial(71), 3 9 3 10 max_p_dec initial(59), 3 11 max_p_bin_or_dec initial (71), /* max (max_p_fix_bin_2, max_p_dec) */ 3 12 3 13 min_scale initial(-128), 3 14 max_scale initial(+127), 3 15 max_bit_string initial(9437184), 3 16 max_char_string initial(1048576), 3 17 max_area_size initial(262144), 3 18 min_area_size initial(28), 3 19 3 20 max_bit_string_constant initial (253), /* max length of bit literals */ 3 21 max_char_string_constant initial (254), /* max length of character literals */ 3 22 max_identifier_length initial (256), 3 23 max_number_of_dimensions initial (127), 3 24 3 25 max_length_precision initial(24), 3 26 max_offset_precision initial(24), /* 18 bits for word offset + 6 bits for bit offset */ 3 27 3 28 max_words_per_variable initial (262144), 3 29 3 30 bits_per_word initial(36), 3 31 bits_per_double initial(72), 3 32 packed_digits_per_character initial(2), 3 33 characters_per_half initial(2), 3 34 characters_per_word initial(4), 3 35 characters_per_double initial(8), 3 36 3 37 bits_per_character initial(9), 3 38 bits_per_half initial(18), 3 39 bits_per_decimal_digit initial(9), 3 40 bits_per_binary_exponent initial(8), 3 41 bits_per_packed_ptr initial(36), 3 42 3 43 words_per_fix_bin_1 initial(1), 3 44 words_per_fix_bin_2 initial(2), 3 45 words_per_flt_bin_1 initial(1), 3 46 words_per_flt_bin_2 initial(2), 3 47 words_per_varying_string_header initial(1), 3 48 words_per_offset initial(1), 3 49 words_per_pointer initial(2), 3 50 words_per_label_var initial(4), 3 51 words_per_entry_var initial(4), 3 52 words_per_file_var initial(4), 3 53 words_per_format initial(4), 3 54 words_per_condition_var initial(6), 3 55 3 56 max_index_register_value initial(262143), 3 57 max_signed_index_register_value initial(131071), 3 58 3 59 max_signed_xreg_precision initial(17), 3 60 max_uns_xreg_precision initial(18), 3 61 3 62 default_area_size initial(1024), 3 63 default_flt_bin_p initial(27), 3 64 default_fix_bin_p initial(17), 3 65 default_flt_dec_p initial(10), 3 66 default_fix_dec_p initial(7)) fixed bin(31) internal static options(constant); 3 67 3 68 dcl bits_per_digit initial(4.5) fixed bin(31,1) internal static options(constant); 3 69 3 70 dcl ( integer_type initial("010000000000000000000100000001100000"b), 3 71 dec_integer_type initial("010000000000000000000100000010100000"b), 3 72 pointer_type initial("000001000000000000000100000000000000"b), 3 73 real_type initial("001000000000000000000100000001100000"b), 3 74 complex_type initial("001000000000000000000100000001010000"b), 3 75 builtin_type initial("000000000000000010000000000000000000"b), 3 76 storage_block_type initial("000000000000100000000000000000000000"b), 3 77 arg_desc_type initial("000000000001000000000000000000000000"b), 3 78 local_label_var_type initial("000000001000000000000100000100001000"b), 3 79 entry_var_type initial("000000000100000000000000000000001000"b), 3 80 bit_type initial("000100000000000000000000000000000000"b), 3 81 char_type initial("000010000000000000000000000000000000"b)) bit(36) aligned int static 3 82 options(constant); 3 83 3 84 /* END INCLUDE FILE ... system.incl.pl1 */ 40 41 42 /* program */ 43 44 if ^cg_static_$debug 45 then do; 46 call com_err_ (0, "meter_token_table", "No tree available. -debug control argument must be used."); 47 return; 48 end; 49 50 maximum, n, tokcnt, tokwords, empty_slots = 0; 51 do i = lbound (hash_table, 1) to hbound (hash_table, 1); 52 53 p = hash_table (i); 54 55 if p = null 56 then empty_slots = empty_slots + 1; 57 58 do while (p ^= null); 59 tokcnt = tokcnt + 1; 60 tokwords = tokwords + currentsize (p -> token); 61 n = n + 1; 62 p = p -> token.next; 63 end; 64 65 maximum = max (maximum, n); /* find the maximum # of tokens in a slot */ 66 n = 0; 67 end; 68 69 put file (sysprint) skip data (tokcnt, tokwords, empty_slots, maximum); 70 put file (sysprint) skip list ("Average tokens/slot = ", tokcnt / float (dim (hash_table, 1))); 71 put file (sysprint) skip; 72 return; 73 74 end; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/15/82 1503.4 meter_token_table.pl1 >dumps>old>recomp>meter_token_table.pl1 38 1 09/14/77 1705.7 pl1_token_hash_table.incl.pl1 >ldd>include>pl1_token_hash_table.incl.pl1 39 2 09/14/77 1705.7 token.incl.pl1 >ldd>include>token.incl.pl1 40 3 10/25/79 1645.8 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. cg_static_$debug 000020 external static bit(1) dcl 34 ref 44 com_err_ 000016 constant entry external dcl 30 ref 46 currentsize builtin function dcl 26 ref 60 empty_slots 000102 automatic fixed bin(15,0) dcl 18 set ref 50* 55* 55 69 hash_table based pointer array level 2 packed unaligned dcl 1-3 ref 51 51 53 70 hash_table_structure based structure level 1 dcl 1-3 i 000110 automatic fixed bin(17,0) dcl 22 set ref 51* 53* maximum 000103 automatic fixed bin(15,0) dcl 18 set ref 50* 65* 65 69 n 000104 automatic fixed bin(17,0) dcl 19 set ref 50* 61* 61 65 66* next 2 based pointer level 2 packed unaligned dcl 2-3 ref 62 null builtin function dcl 26 ref 55 58 p 000106 automatic pointer dcl 20 set ref 53* 55 58 60 62* 62 pl1_stat_$hash_table_ptr 000022 external static pointer dcl 1-6 ref 51 51 53 70 size 3 based fixed bin(9,0) level 2 dcl 2-3 ref 60 sysprint 000014 constant file print dcl 21 set ref 69 70 71* tokcnt 000100 automatic fixed bin(15,0) dcl 18 set ref 50* 59* 59 69 70 token based structure level 1 dcl 2-3 ref 60 tokwords 000101 automatic fixed bin(15,0) dcl 18 set ref 50* 60* 60 69 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. arg_desc_type constant bit(36) initial dcl 3-70 bit_type constant bit(36) initial dcl 3-70 bits_per_binary_exponent constant fixed bin(31,0) initial dcl 3-5 bits_per_character constant fixed bin(31,0) initial dcl 3-5 bits_per_decimal_digit constant fixed bin(31,0) initial dcl 3-5 bits_per_digit constant fixed bin(31,1) initial dcl 3-68 bits_per_double constant fixed bin(31,0) initial dcl 3-5 bits_per_half constant fixed bin(31,0) initial dcl 3-5 bits_per_packed_ptr constant fixed bin(31,0) initial dcl 3-5 bits_per_word constant fixed bin(31,0) initial dcl 3-5 builtin_type constant bit(36) initial dcl 3-70 char_type constant bit(36) initial dcl 3-70 characters_per_double constant fixed bin(31,0) initial dcl 3-5 characters_per_half constant fixed bin(31,0) initial dcl 3-5 characters_per_word constant fixed bin(31,0) initial dcl 3-5 complex_type constant bit(36) initial dcl 3-70 dec_integer_type constant bit(36) initial dcl 3-70 default_area_size constant fixed bin(31,0) initial dcl 3-5 default_fix_bin_p constant fixed bin(31,0) initial dcl 3-5 default_fix_dec_p constant fixed bin(31,0) initial dcl 3-5 default_flt_bin_p constant fixed bin(31,0) initial dcl 3-5 default_flt_dec_p constant fixed bin(31,0) initial dcl 3-5 entry_var_type constant bit(36) initial dcl 3-70 integer_type constant bit(36) initial dcl 3-70 local_label_var_type constant bit(36) initial dcl 3-70 max_area_size constant fixed bin(31,0) initial dcl 3-5 max_bit_string constant fixed bin(31,0) initial dcl 3-5 max_bit_string_constant constant fixed bin(31,0) initial dcl 3-5 max_char_string constant fixed bin(31,0) initial dcl 3-5 max_char_string_constant constant fixed bin(31,0) initial dcl 3-5 max_identifier_length constant fixed bin(31,0) initial dcl 3-5 max_index_register_value constant fixed bin(31,0) initial dcl 3-5 max_length_precision constant fixed bin(31,0) initial dcl 3-5 max_number_of_dimensions constant fixed bin(31,0) initial dcl 3-5 max_offset_precision constant fixed bin(31,0) initial dcl 3-5 max_p_bin_or_dec constant fixed bin(31,0) initial dcl 3-5 max_p_dec constant fixed bin(31,0) initial dcl 3-5 max_p_fix_bin_1 constant fixed bin(31,0) initial dcl 3-5 max_p_fix_bin_2 constant fixed bin(31,0) initial dcl 3-5 max_p_flt_bin_1 constant fixed bin(31,0) initial dcl 3-5 max_p_flt_bin_2 constant fixed bin(31,0) initial dcl 3-5 max_scale constant fixed bin(31,0) initial dcl 3-5 max_signed_index_register_value constant fixed bin(31,0) initial dcl 3-5 max_signed_xreg_precision constant fixed bin(31,0) initial dcl 3-5 max_uns_xreg_precision constant fixed bin(31,0) initial dcl 3-5 max_words_per_variable constant fixed bin(31,0) initial dcl 3-5 min_area_size constant fixed bin(31,0) initial dcl 3-5 min_scale constant fixed bin(31,0) initial dcl 3-5 packed_digits_per_character constant fixed bin(31,0) initial dcl 3-5 pointer_type constant bit(36) initial dcl 3-70 real_type constant bit(36) initial dcl 3-70 storage_block_type constant bit(36) initial dcl 3-70 words_per_condition_var constant fixed bin(31,0) initial dcl 3-5 words_per_entry_var constant fixed bin(31,0) initial dcl 3-5 words_per_file_var constant fixed bin(31,0) initial dcl 3-5 words_per_fix_bin_1 constant fixed bin(31,0) initial dcl 3-5 words_per_fix_bin_2 constant fixed bin(31,0) initial dcl 3-5 words_per_flt_bin_1 constant fixed bin(31,0) initial dcl 3-5 words_per_flt_bin_2 constant fixed bin(31,0) initial dcl 3-5 words_per_format constant fixed bin(31,0) initial dcl 3-5 words_per_label_var constant fixed bin(31,0) initial dcl 3-5 words_per_offset constant fixed bin(31,0) initial dcl 3-5 words_per_pointer constant fixed bin(31,0) initial dcl 3-5 words_per_varying_string_header constant fixed bin(31,0) initial dcl 3-5 NAME DECLARED BY EXPLICIT CONTEXT. meter_token_table 000060 constant entry external dcl 13 NAMES DECLARED BY CONTEXT OR IMPLICATION. dim builtin function ref 70 float builtin function ref 70 hbound builtin function ref 51 lbound builtin function ref 51 max builtin function ref 65 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 422 450 317 432 Length 770 317 26 304 102 2 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME meter_token_table 316 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME meter_token_table 000100 tokcnt meter_token_table 000101 tokwords meter_token_table 000102 empty_slots meter_token_table 000103 maximum meter_token_table 000104 n meter_token_table 000106 p meter_token_table 000110 i meter_token_table THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. fx1_to_fl2 call_ext_out_desc return ext_entry put_end stream_io put_data_eis put_list_eis any_to_any_rd put_field THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. cg_static_$debug pl1_stat_$hash_table_ptr sysprint sysprint.fsb LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 13 000057 21 000076 44 000110 46 000112 47 000144 50 000145 51 000152 53 000156 55 000162 58 000167 59 000173 60 000174 61 000202 62 000203 63 000205 65 000206 66 000213 67 000214 69 000216 70 000247 71 000305 72 000316 ----------------------------------------------------------- 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