COMPILATION LISTING OF SEGMENT gen_pl1_version_ Compiled by: Multics PL/I Compiler, Release 33e, of October 6, 1992 Compiled at: CGI Compiled on: 2000-05-05_1833.21_Fri_mdt 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 (stringsize): 12 gen_pl1_version_: 13 procedure(pl1_version_struc,RELEASE,code); 14 15 /* Written: 12 Dec 1979 by PCK to generate pl1_version information 16* from the installation time (the current clock time) and the 17* RELEASE string */ 18 19 /* parameters */ 20 21 dcl RELEASE character(3) varying; 22 /* RELEASE = "EXL" for the >experimental_library compiler, 23* = for the >system_standard_library compiler */ 24 dcl 1 pl1_version_struc, 25 2 pl1_version character(256) varying, 26 2 pl1_release character(3) varying; 27 dcl code fixed bin(35); 28 29 /* external entries */ 30 31 dcl ioa_ entry options (variable); 32 dcl decode_clock_value_$date_time entry (fixed bin(71), fixed bin, fixed bin, fixed bin, fixed bin, fixed bin, 33 fixed bin, fixed bin(71), fixed bin, char(3), fixed bin(35)); 34 35 /* builtins */ 36 37 dcl (clock,addr) builtin; 38 39 /* internal static */ 40 41 dcl day_of_week_string(1:7) character(9) varying int static options(constant) 42 init("Monday","Tuesday","Wednesday","Thursday", 43 "Friday","Saturday","Sunday"); 44 dcl month_string(1:12) character(9) varying int static options(constant) 45 init("January","February","March","April","May","June","July","August", 46 "September","October","November","December"); 47 dcl my_name character(16) int static init("gen_pl1_version_") options(constant); 48 49 /* conditions */ 50 51 dcl (stringsize,error) condition; 52 53 /* automatic */ 54 55 dcl (clock_reading,microsecond) fixed bin(71); 56 dcl (month,day_of_month,year,day_of_week,hour,minute,second) fixed bin; 57 dcl time_zone character(3) init(""); 58 dcl pl1_version_string character(256) varying; 59 dcl year_pic picture "9999"; 60 dcl day_of_month_pic picture "zz"; 61 dcl hour_pic picture "99"; 62 dcl minute_pic picture "99"; 63 64 /* on unit */ 65 66 on stringsize 67 begin; 68 call ioa_("^a: ^a",my_name,"Stringsize raised."); 69 signal error; 70 end; 71 72 /* program */ 73 74 /* Read system clock and convert to calendar date-time */ 75 76 clock_reading = clock(); 77 call decode_clock_value_$date_time(clock_reading,month,day_of_month 78 ,year,hour,minute,second,microsecond,day_of_week,time_zone,code); 79 80 if code^=0 81 then return; 82 83 year_pic = year; 84 day_of_month_pic = day_of_month; 85 86 /* Generate a pl1_version_string appropriate for an EXL or SSS compiler */ 87 88 if RELEASE ^= "EXL" 89 then pl1_version_string = "Multics PL/I Compiler, Release " 90 || RELEASE || ", of " || month_string(month) 91 || " " || ltrim(day_of_month_pic) || ", " || year_pic; 92 else do; 93 hour_pic = hour; 94 minute_pic = minute; 95 pl1_version_string = "Experimental PL/I Compiler of " 96 || day_of_week_string(day_of_week) || ", " 97 || month_string(month) || " " || day_of_month_pic 98 || ", " || year_pic || " at " || hour_pic 99 || ":" || minute_pic; 100 end; 101 102 103 /* Fill in pl1_version_struc with version and release info */ 104 105 pl1_version = pl1_version_string; 106 pl1_release = RELEASE; 107 108 code = 0; 109 return; 110 111 end /* gen_pl1_version_ */; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 05/05/00 1833.2 gen_pl1_version_.pl1 >udd>sm>ds>w>ml>gen_pl1_version_.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. RELEASE parameter varying char(3) dcl 21 ref 11 88 88 106 clock builtin function dcl 37 ref 76 clock_reading 000106 automatic fixed bin(71,0) dcl 55 set ref 76* 77* code parameter fixed bin(35,0) dcl 27 set ref 11 77* 80 108* day_of_month 000113 automatic fixed bin(17,0) dcl 56 set ref 77* 84 day_of_month_pic 000224 automatic picture(2) packed unaligned dcl 60 set ref 84* 88 95 day_of_week 000115 automatic fixed bin(17,0) dcl 56 set ref 77* 95 day_of_week_string 000064 constant varying char(9) initial array dcl 41 ref 95 decode_clock_value_$date_time 000012 constant entry external dcl 32 ref 77 error 000000 stack reference condition dcl 51 ref 69 hour 000116 automatic fixed bin(17,0) dcl 56 set ref 77* 93 hour_pic 000225 automatic picture(2) packed unaligned dcl 61 set ref 93* 95 ioa_ 000010 constant entry external dcl 31 ref 68 microsecond 000110 automatic fixed bin(71,0) dcl 55 set ref 77* minute 000117 automatic fixed bin(17,0) dcl 56 set ref 77* 94 minute_pic 000226 automatic picture(2) packed unaligned dcl 62 set ref 94* 95 month 000112 automatic fixed bin(17,0) dcl 56 set ref 77* 88 95 month_string 000004 constant varying char(9) initial array dcl 44 ref 88 95 my_name 000000 constant char(16) initial packed unaligned dcl 47 set ref 68* pl1_release 101 parameter varying char(3) level 2 dcl 24 set ref 106* pl1_version parameter varying char(256) level 2 dcl 24 set ref 105* pl1_version_string 000122 automatic varying char(256) dcl 58 set ref 88* 95* 105 pl1_version_struc parameter structure level 1 unaligned dcl 24 set ref 11 second 000120 automatic fixed bin(17,0) dcl 56 set ref 77* stringsize 000100 stack reference condition dcl 51 ref 66 time_zone 000121 automatic char(3) initial packed unaligned dcl 57 set ref 57* 77* year 000114 automatic fixed bin(17,0) dcl 56 set ref 77* 83 year_pic 000223 automatic picture(4) packed unaligned dcl 59 set ref 83* 88 95 NAME DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. addr builtin function dcl 37 NAME DECLARED BY EXPLICIT CONTEXT. gen_pl1_version_ 000175 constant entry external dcl 11 NAME DECLARED BY CONTEXT OR IMPLICATION. ltrim builtin function ref 88 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1002 1016 724 1012 Length 1166 724 14 134 55 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME gen_pl1_version_ 184 external procedure is an external procedure. on unit on line 66 92 on unit STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME gen_pl1_version_ 000106 clock_reading gen_pl1_version_ 000110 microsecond gen_pl1_version_ 000112 month gen_pl1_version_ 000113 day_of_month gen_pl1_version_ 000114 year gen_pl1_version_ 000115 day_of_week gen_pl1_version_ 000116 hour gen_pl1_version_ 000117 minute gen_pl1_version_ 000120 second gen_pl1_version_ 000121 time_zone gen_pl1_version_ 000122 pl1_version_string gen_pl1_version_ 000223 year_pic gen_pl1_version_ 000224 day_of_month_pic gen_pl1_version_ 000225 hour_pic gen_pl1_version_ 000226 minute_pic gen_pl1_version_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp cat_realloc_chars call_ext_out_desc call_ext_out return_mac signal_op enable_op shorten_stack ext_entry int_entry signal_stringsize clock_mac THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. decode_clock_value_$date_time ioa_ NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 11 000171 57 000202 66 000204 68 000220 69 000250 70 000253 76 000254 77 000256 80 000312 83 000315 84 000326 88 000340 92 000476 93 000477 94 000511 95 000523 100 000700 105 000701 106 000707 108 000714 109 000715 ----------------------------------------------------------- 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