COMPILATION LISTING OF SEGMENT display_source Compiled by: Multics PL/I Compiler, Release 27d, of October 11, 1982 Compiled at: Honeywell LISD Phoenix, System M Compiled on: 11/15/82 1624.5 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 display_source: 12 proc(pt,tree_level); 13 14 /* Modified: 29 Nov 1979 by PCK to print a tree level indented listing */ 15 16 dcl tree_level fixed bin; 17 dcl (p,pt) ptr; 18 dcl (addr,null) builtin; 19 dcl 1 based_words based aligned, 20 2 word1 bit(36), 21 2 word2 bit(36); 22 dcl date char(24) aligned; 23 dcl ioa_ entry options(variable); 24 dcl decode_node_id entry(ptr,bit(1) aligned) returns(char(120) varying); 25 dcl date_time_ entry(fixed bin(71), char(*) aligned); 26 dcl display_any_node_name entry(char(*) aligned,ptr,fixed bin); 1 1 /* BEGIN INCLUDE FILE ... nodes.incl.pl1 */ 1 2 1 3 /* Modified: 26 Dec 1979 by PCK to implement by name assignment */ 1 4 1 5 dcl ( block_node initial("000000001"b), 1 6 statement_node initial("000000010"b), 1 7 operator_node initial("000000011"b), 1 8 reference_node initial("000000100"b), 1 9 token_node initial("000000101"b), 1 10 symbol_node initial("000000110"b), 1 11 context_node initial("000000111"b), 1 12 array_node initial("000001000"b), 1 13 bound_node initial("000001001"b), 1 14 format_value_node initial("000001010"b), 1 15 list_node initial("000001011"b), 1 16 default_node initial("000001100"b), 1 17 machine_state_node initial("000001101"b), 1 18 source_node initial("000001110"b), 1 19 label_node initial("000001111"b), 1 20 cross_reference_node initial("000010000"b), 1 21 sf_par_node initial("000010001"b), 1 22 temporary_node initial("000010010"b), 1 23 label_array_element_node initial("000010011"b), 1 24 by_name_agg_node initial("000010100"b)) 1 25 bit(9) internal static aligned options(constant); 1 26 1 27 dcl 1 node based aligned, 1 28 2 type unal bit(9), 1 29 2 source_id unal structure, 1 30 3 file_number bit(8), 1 31 3 line_number bit(14), 1 32 3 statement_number bit(5); 1 33 1 34 /* END INCLUDE FILE ... nodes.incl.pl1 */ 27 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 */ 28 3 1 dcl pl1_stat_$token_list_ptr ptr external static; /* pointer to token list */ 3 2 dcl token_list(token_list_length) ptr based(token_list_pointer); 3 3 dcl token_list_pointer ptr initial(pl1_stat_$token_list_ptr); /* for efficiency only */ 3 4 dcl token_list_length fixed(15) internal static initial(3000) options(constant); 3 5 3 6 dcl 1 pl1_stat_$statement_id external static, 3 7 2 file_number bit(8), 3 8 2 line_number bit(14), 3 9 2 statement_number bit(5); 3 10 3 11 dcl 1 t_table based(token_list(k)) aligned, 3 12 2 node_type bit(9) unaligned, 3 13 2 type bit(9) unaligned, 3 14 2 loc bit(18) unaligned, 3 15 2 declaration ptr unaligned, 3 16 2 next ptr unaligned, 3 17 2 size fixed(9), 3 18 2 string char(n refer(t_table.size)); 29 4 1 dcl m fixed bin(15); 4 2 dcl pl1_stat_$source_seg fixed bin(8) ext static; 4 3 dcl pl1_stat_$last_source fixed bin(15) ext static; 4 4 dcl pl1_stat_$source_list_ptr ptr ext static; 4 5 dcl source_list(0:source_list_length) ptr based(pl1_stat_$source_list_ptr); 4 6 dcl source_list_length fixed bin(15) internal static initial(255) options(constant); 4 7 4 8 dcl 1 source based(source_list(m)) aligned, 4 9 2 node_type unal bit(9), 4 10 2 source_id unal structure, 4 11 3 file_number bit(8), 4 12 3 line_number bit(14), 4 13 3 statement_number bit(5), 4 14 2 standard_object_info aligned structure, 4 15 3 uid bit(36), 4 16 3 dtm fixed bin(71), 4 17 2 seg_ptr unal ptr, 4 18 2 name unal ptr, 4 19 2 source_length unal fixed bin(24), 4 20 2 pathlen unal fixed bin(10), 4 21 2 pathname char(n refer(source.pathlen)); 30 31 32 p = pt; 33 if p = null 34 then do; 35 call ioa_("^/^vxdisplay_source: ptr is NULL^/",tree_level); 36 return; 37 end; 38 39 if p->node.type ^= source_node 40 then do; 41 call display_any_node_name("display_source: node is not a source_node, arg=",p,tree_level+1); 42 return; 43 end; 44 45 call ioa_("^/^vxSOURCE ^p, ^a",tree_level,p,p -> source.name->token.string); 46 call ioa_("^vx^a",tree_level,decode_node_id(p,"0"b)); 47 call ioa_("^vxseg_ptr = ^p, length = ^d, pathname = ^a",tree_level,p -> source.seg_ptr,p -> source.source_length,p -> source.pathname); 48 call date_time_(p -> source.dtm,date); 49 call ioa_("^vxuid = ^w, dtm = ^w^w (^a)^/",tree_level, p -> source.uid, p -> source.dtm, 50 addr(p -> source.dtm) -> word2, date); 51 return; 52 end display_source; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/15/82 1503.2 display_source.pl1 >dumps>old>recomp>display_source.pl1 27 1 07/21/80 1546.3 nodes.incl.pl1 >ldd>include>nodes.incl.pl1 28 2 09/14/77 1705.7 token.incl.pl1 >ldd>include>token.incl.pl1 29 3 09/14/77 1705.7 token_list.incl.pl1 >ldd>include>token_list.incl.pl1 30 4 05/03/76 1320.4 source_list.incl.pl1 >ldd>include>source_list.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. addr builtin function dcl 18 ref 49 based_words based structure level 1 dcl 19 date 000102 automatic char(24) dcl 22 set ref 48* 49* date_time_ 000014 constant entry external dcl 25 ref 48 decode_node_id 000012 constant entry external dcl 24 ref 46 display_any_node_name 000016 constant entry external dcl 26 ref 41 dtm 4 based fixed bin(71,0) level 3 dcl 4-8 set ref 48* 49* 49 ioa_ 000010 constant entry external dcl 23 ref 35 45 46 47 49 name 7 based pointer level 2 packed unaligned dcl 4-8 ref 45 node based structure level 1 dcl 1-27 null builtin function dcl 18 ref 33 p 000100 automatic pointer dcl 17 set ref 32* 33 39 41* 45* 45 46* 47 47 47 48 49 49 49 pathlen 10(25) based fixed bin(10,0) level 2 packed unaligned dcl 4-8 ref 47 47 pathname 11 based char level 2 dcl 4-8 set ref 47* pl1_stat_$token_list_ptr 000020 external static pointer dcl 3-1 ref 3-3 pt parameter pointer dcl 17 ref 11 32 seg_ptr 6 based pointer level 2 packed unaligned dcl 4-8 set ref 47* size 3 based fixed bin(9,0) level 2 dcl 2-3 ref 45 45 source based structure level 1 dcl 4-8 source_length 10 based fixed bin(24,0) level 2 packed unaligned dcl 4-8 set ref 47* source_node constant bit(9) initial dcl 1-5 ref 39 standard_object_info 2 based structure level 2 dcl 4-8 string 4 based char level 2 dcl 2-3 set ref 45* token based structure level 1 dcl 2-3 token_list_pointer 000110 automatic pointer initial dcl 3-3 set ref 3-3* tree_level parameter fixed bin(17,0) dcl 16 set ref 11 35* 41 45* 46* 47* 49* type based bit(9) level 2 packed unaligned dcl 1-27 ref 39 uid 2 based bit(36) level 3 dcl 4-8 set ref 49* word2 1 based bit(36) level 2 dcl 19 set ref 49* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. array_node internal static bit(9) initial dcl 1-5 block_node internal static bit(9) initial dcl 1-5 bound_node internal static bit(9) initial dcl 1-5 by_name_agg_node internal static bit(9) initial dcl 1-5 context_node internal static bit(9) initial dcl 1-5 cross_reference_node internal static bit(9) initial dcl 1-5 default_node internal static bit(9) initial dcl 1-5 format_value_node internal static bit(9) initial dcl 1-5 label_array_element_node internal static bit(9) initial dcl 1-5 label_node internal static bit(9) initial dcl 1-5 list_node internal static bit(9) initial dcl 1-5 m automatic fixed bin(15,0) dcl 4-1 machine_state_node internal static bit(9) initial dcl 1-5 operator_node internal static bit(9) initial dcl 1-5 pl1_stat_$last_source external static fixed bin(15,0) dcl 4-3 pl1_stat_$source_list_ptr external static pointer dcl 4-4 pl1_stat_$source_seg external static fixed bin(8,0) dcl 4-2 pl1_stat_$statement_id external static structure level 1 packed unaligned dcl 3-6 reference_node internal static bit(9) initial dcl 1-5 sf_par_node internal static bit(9) initial dcl 1-5 source_list based pointer array dcl 4-5 source_list_length internal static fixed bin(15,0) initial dcl 4-6 statement_node internal static bit(9) initial dcl 1-5 symbol_node internal static bit(9) initial dcl 1-5 t_table based structure level 1 dcl 3-11 temporary_node internal static bit(9) initial dcl 1-5 token_list based pointer array dcl 3-2 token_list_length internal static fixed bin(15,0) initial dcl 3-4 token_node internal static bit(9) initial dcl 1-5 NAME DECLARED BY EXPLICIT CONTEXT. display_source 000105 constant entry external dcl 11 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 516 540 423 526 Length 772 423 22 216 72 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME display_source 172 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME display_source 000100 p display_source 000102 date display_source 000110 token_list_pointer display_source THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. date_time_ decode_node_id display_any_node_name ioa_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. pl1_stat_$token_list_ptr LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 11 000101 3 3 000112 32 000115 33 000121 35 000125 36 000144 39 000145 41 000151 42 000177 45 000200 46 000236 47 000277 48 000343 49 000361 51 000422 ----------------------------------------------------------- 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