THIS FILE IS DAMAGED Oke ~process_overseer_ >user_dir_dir>Fortran>Oke  €öá÷öá÷öá÷öá÷öá÷öá÷öá÷öá÷öá÷JñšOõDLÄIÐnone Lœq¶×TšÂ>¥öá÷=ñ³X–É¦Ô @ @Westcott  ~process_overseer_ >user_dir_dir>Fortran>Westcott  €öá÷èÁöá÷öá÷öá÷öá÷öá÷öá÷öá÷öá÷JñšOõDTÝtçÃnone`TßÙúÅèÁãBÿ£¼ òríÎ3ÖŸTšÂ>¥öá÷SœX–É¦Ô @ @BWong ~process_overseer_ >user_dir_dir>Fortran>BWong  €öá÷öá÷öá÷öá÷öá÷öá÷öá÷öá÷öá÷Jñ¤PÜ’PÜgÒ‡²MÍÞmÓnone N)/u`PÚþ’Föá÷$[4X–É¦Ô @ @Baryza C~process_overseer_ >user_dir_dir>Fortran>Baryza  €öá÷öá÷öá÷öá÷öá÷öá÷öá÷öá÷öá÷JòÂS—ÊKoùc1Î Koô }7öá÷X–É¦Ô @ @100"b /* tsp2 */, "0"b, "0"b, "0"b); 66 67 declare begin_block_entries (2) bit (36) aligned initial 68 ("000000000110001100010111010001000000"b, /* tsp2 pr0|614 */ 69 "000000001011111110010111010001000000"b /* tsp2 pr0|1376 */); 70 71 declare (segptr, np, namep, def_ptr) ptr; 72 73 declare hcs_$status_mins entry (ptr, fixed bin (2), fixed bin (24), fixed bin (35)); 74 declare hcs_$fs_get_mode entry (ptr, fixed bin (5), fixed bin (35)); 75 declare object_info_$display ext entry (ptr, fixed bin (24), ptr, fixed bin (35)); 76 declare component_info_$offset ext entry (ptr, fixed bin (18), ptr, fixed bin (35)); 77 declare find_nonobject_info_ entry (ptr, char (*), fixed bin (18), char (8) aligned, 78 fixed bin (18), fixed bin (35)); 79 declare get_def_name_ ext entry (ptr, ptr, bit (18), fixed bin, char (*), fixed bin (35)); 80 declare condition_ entry (char (*), entry); 81 82 declare 1 half aligned based, 83 2 (left, right) bit (18) unaligned; 84 85 declare 1 acc aligned based, /* overlay for acc string */ 86 2 count fixed bin (8) unaligned, 87 2 string char (31) unaligned; /* string will never be used as string */ 88 89 declare 1 inst_seq (6) aligned based, /* template for 6180 instruction */ 90 2 address bit (18) unaligned, 91 2 opcode bit (10) unaligned, 92 2 mod bit (8) unaligned; 93 94 /* declaration of non class 3 definition (new format) */ 1 1 /* BEGIN INCLUDE FILE definition.incl.pl1 */ 1 2 1 3 1 4 1 5 /****^ HISTORY COMMENTS: 1 6* 1) change(86-05-02,Elhard), approve(86-05-02,MCR7391), 1 7* audit(86-07-18,DGHowe), install(86-11-20,MR12.0-1222): 1 8* Modified to add indirect bit to definition flags. 1 9* END HISTORY COMMENTS */ 1 10 1 11 1 12 dcl 1 definition aligned based, 1 13 2 forward unal bit(18), /* offset of next def */ 1 14 2 backward unal bit(18), /* offset of previous def */ 1 15 2 value unal bit(18), 1 16 2 flags unal, 1 17 3 new bit(1), 1 18 3 ignore bit(1), 1 19 3 entry bit(1), 1 20 3 retain bit(1), 1 21 3 argcount bit(1), 1 22 3 descriptors bit(1), 1 23 3 indirect bit(1), 1 24 3 unused bit(8), 1 25 2 class unal bit(3), 1 26 2 symbol unal bit(18), /* offset of ACC for symbol */ 1 27 2 segname unal bit(18); /* offset of segname def */ 1 28 1 29 /* END INCLUDE FILE definition.incl.pl1 */ 95 96 97 /* */ 2 1 /* BEGIN INCLUDE FILE ... object_info.incl.pl1 2 2*coded February 8, 1972 by Michael J. Spier */ 2 3 /* modified May 26, 1972 by M. Weaver */ 2 4 /* modified 15 April, 1975 by M. Weaver */ 2 5 2 6 declare 1 object_info aligned based, /* structure containing object info based, returned by object_info_ */ 2 7 2 version_number fixed bin, /* version number of current structure format (=2) */ 2 8 2 textp pointer, /* pointer to beginning of text section */ 2 9 2 defp pointer, /* pointer to beginning of definition section */ 2 10 2 linkp pointer, /* pointer to beginning of linkage section */ 2 11 2 statp pointer, /* pointer to beginning of static section */ 2 12 2 symbp pointer, /* pointer to beginning of symbol section */ 2 13 2 bmapp pointer, /* pointer to beginning of break map (may be null) */ 2 14 2 tlng fixed bin, /* length in words of text section */ 2 15 2 dlng fixed bin, /* length in words of definition section */ 2 16 2 llng fixed bin, /* length in words of linkage section */ 2 17 2 ilng fixed bin, /* length in words of static section */ 2 18 2 slng fixed bin, /* length in words of symbol section */ 2 19 2 blng fixed bin, /* length in words of break map */ 2 20 2 format, /* word containing bit flags about object type */ 2 21 3 old_format bit(1) unaligned, /* on if segment isn't in new format, i.e. has old style object map */ 2 22 3 bound bit(1) unaligned, /* on if segment is bound */ 2 23 3 relocatable bit(1) unaligned, /* on if seg has relocation info in its first symbol block */ 2 24 3 procedure bit(1) unaligned, /* on if segment is an executable object program */ 2 25 3 standard bit(1) unaligned, /* on if seg is in standard format (more than just standard map) */ 2 26 3 gate bit(1) unaligned, /* on if segment is a gate */ 2 27 3 separate_static bit(1) unaligned, /* on if static not in linkage */ 2 28 3 links_in_text bit(1) unaligned, /* on if there are threaded links in text */ 2 29 3 perprocess_static bit (1) unaligned, /* on if static is not to be per run unit */ 2 30 3 pad bit(27) unaligned, 2 31 2 entry_bound fixed bin, /* entry bound if segment is a gate */ 2 32 2 textlinkp pointer, /* ptr to first link in text */ 2 33 2 34 /* LIMIT OF BRIEF STRUCTURE */ 2 35 2 36 2 compiler char(8) aligned, /* name of processor which generated segment */ 2 37 2 compile_time fixed bin(71), /* clock reading of date/time object was generated */ 2 38 2 userid char(32) aligned, /* standard Multics id of creator of object segment */ 2 39 2 cvers aligned, /* generator version name in printable char string form */ 2 40 3 offset bit(18) unaligned, /* offset of name in words relative to base of symbol section */ 2 41 3 length bit(18) unaligned, /* length of name in characters */ 2 42 2 comment aligned, /* printable comment concerning generator or generation of segment */ 2 43 3 offset bit(18) unaligned, /* offset of comment in words relative to base of symbol section */ 2 44 3 length bit(18) unaligned, /* length of comment in characters */ 2 45 2 source_map fixed bin, /* offset, relative to base of symbol section, of source map structure */ 2 46 2 47 /* LIMIT OF DISPLAY STRUCTURE */ 2 48 2 49 2 rel_text pointer, /* pointer to text section relocation info */ 2 50 2 rel_def pointer, /* pointer to definition section relocation info */ 2 51 2 rel_link pointer, /* pointer to linkage section relocation info */ 2 52 2 rel_static pointer, /* pointer to static section relocation info */ 2 53 2 rel_symbol pointer, /* pointer to symbol section relocation info */ 2 54 2 text_boundary fixed bin, /* specifies mod of text section base boundary */ 2 55 2 static_boundary fixed bin, /* specifies mod of internal static base boundary */ 2 56 /* currently not used by system */ 2 57 2 default_truncate fixed bin, /* offset rel to symbp for binder to automatically trunc. symb sect. */ 2 58 2 optional_truncate fixed bin; /* offset rel to symbp for binder to optionally trunc. symb sect. */ 2 59 2 60 declare object_info_version_2 fixed bin int static init(2); 2 61 2 62 /* END INCLUDE FILE ... object_info.incl.pl1 */ 98 99 100 declare 1 oi structure aligned like object_info; 101 /* */ 3 1 /* BEGIN INCLUDE SEGMENT ... component_info.incl.pl1 M. Weaver 4/26/72 */ 3 2 3 3 declare 1 ci aligned, 3 4 2 dcl_version fixed bin, /* version number of this structure */ 3 5 2 name char(32) aligned, /* objectname of component segment */ 3 6 2 text_start pointer, /* ptr to component's section of text */ 3 7 2 stat_start pointer, /* pointer to component's section of internal static */ 3 8 2 symb_start pointer, /* pointer to component's first symbol block */ 3 9 2 defblock_ptr pointer, /* ptr to component's definition block */ 3 10 2 text_lng fixed bin, /* length of text section */ 3 11 2 stat_lng fixed bin, /* length of internal static */ 3 12 2 symb_lng fixed bin, /* length of symbol section */ 3 13 2 n_blocks fixed bin, /* number of symbol blocks in component's symbol section */ 3 14 2 standard bit(1) aligned, /* indicates whether component is in standard (new) format */ 3 15 2 compiler char(8) aligned, /* name of component's compiler */ 3 16 2 compile_time fixed bin(71), /* time component was compiled */ 3 17 2 userid char(32) aligned, /* id of creator of component */ 3 18 2 cvers aligned, /* version of component's compiler in printable form */ 3 19 3 offset bit(18) unaligned, /* offset in words relative to symb_start */ 3 20 3 length bit(18) unaligned, /* length of name in characters */ 3 21 2 comment aligned, /* component's comment */ 3 22 3 offset bit(18) unaligned, /* offset in words relative to symb_start */ 3 23 3 length bit(18) unaligned, /* length of comment in characters */ 3 24 2 source_map fixed bin; /* offset, rel to beg of symbol block, of component's source map */ 3 25 3 26 /* END INCLUDE SEGMENT ... component_info.incl.pl1 */ 102 103 /* */ 104 105 /* initialize some stuff */ 106 107 lang = 0; 108 comp = " "; 109 std_sw = "0"b; 110 ename = " "; 111 adjust = 1; /* assume standard object or v2pl1 */ 112 113 call condition_ ("any_other", catch); 114 segptr = ptr (entry_ptr, 0); /* get ptr to base of seg */ 115 segnum = bin (baseno (entry_ptr), 18); /* get segment number of input ptr */ 116 section = -1; /* in case we can't tell if it's text */ 117 def_ptr = segptr; /* till we get something better */ 118 call hcs_$status_mins (segptr, type, bitcnt, code); /* get type and bitcnt */ 119 if code ^= 0 120 then if code = error_table_$invalidsegno /* probably hardcore */ 121 then go to search_defs; 122 else return; 123 if type = 2 then do; 124 code = error_table_$dirseg; /* dirs don't have entry points */ 125 return; 126 end; 127 call hcs_$fs_get_mode (segptr, mode, code); /* get mode wrt validation level */ 128 if code ^= 0 then return; /* don't see how this could happen */ 129 if mode < 8 /* no read access */ 130 then if mode < 4 /* no execute access */ 131 then do; /* can't see defs (probably none anyway */ 132 code = error_table_$moderr; 133 return; 134 end; 135 else go to search_defs; /* probably a gate; read defs in ro */ 136 137 oi.version_number = object_info_version_2; 138 call object_info_$display (segptr, bitcnt, addr (oi), code); /* may need def ptr */ 139 if code ^= 0 then do; /* not object seg; see if it's a linkage section */ 140 call find_nonobject_info_ (entry_ptr, ename, segnum, section_name, adj_offset, code); 141 return; /* everything done that can be */ 142 end; 143 def_ptr = oi.defp; /* now we have ptr to actual defs */ 144 145 i = bin (rel (entry_ptr), 18); /* get offset of input ptr */ 146 j = bin (rel (oi.textp), 18); /* get offset of beginning of text */ 147 if (i >= j) & (i <= j + oi.tlng) then section = 0;/* is text */ 148 else go to no_name; /* not in text; can't be entry */ 149 150 if oi.compiler ^= "binder" then do; /* this compiler generated all entries */ 151 std_sw = oi.format.standard; 152 comp = oi.compiler; 153 end; 154 else do; /* consult the bind map for this component */ 155 call component_info_$offset (segptr, bin (rel (entry_ptr), 18), addr (ci), code); 156 if code ^= 0 then go to no_name; 157 std_sw = ci.standard; 158 comp = ci.compiler; 159 end; 160 161 /* if language is familiar, determine if we have a valid entry sequence */ 162 163 lang = divide (index (known_names, comp) + 7, 8, 17, 0); /* see if it's pl1 */ 164 if lang = 0 then if std_sw then go to get_std_name; /* std obj seg */ 165 else go to search_defs; /* non-std obj; look for match in defs */ 166 167 /* check for valid entry sequence; v1pl1, v2pl1, and basic are the only langs we know */ 168 169 do i = first_seq (lang) to last_seq (lang); /* each lang may have several sequence types */ 170 do j = 1 to seq_lng (i); /* look only at relevant number */ 171 if entry_ptr -> inst_seq (j).opcode ^= op_seq (i, j) then go to try_next; 172 end; 173 go to valid_entry; /* sequence matches */ 174 try_next: end; 175 176 /* if lang is PL/I, then we will check if the entry is for a begin block */ 177 178 if (lang = 2) | (lang = 3) then do; 179 do i = 1 to hbound (begin_block_entries, 1); 180 if string (entry_ptr -> inst_seq (2)) = begin_block_entries (i) then do; 181 code = error_table_$begin_block; 182 ename = "begin block"; 183 return; 184 end; 185 end; 186 end; 187 188 no_name: code = error_table_$name_not_found; 189 return; 190 191 valid_entry: if lang = 1 then adjust = 3; /* v1pl1 is different */ 192 193 get_std_name: 194 if i - adjust < 0 then go to search_defs; /* RL: phx20737 - handle location 0 */ 195 np = addrel (entry_ptr, -adjust); /* get ptr to size or rel ptr */ 196 if std_sw then do; /* look for name in defs */ 197 if bin (np -> half.left, 18) > oi.dlng then go to search_defs; /* not in def section */ 198 namep = addrel (oi.defp, np -> half.left); /* get ptr to entry's def */ 199 if namep -> definition.value ^= rel (entry_ptr) then goto search_defs; 200 /* be sure we have correct def */ 201 if bin (namep -> definition.symbol, 18) > oi.dlng then go to search_defs; 202 namep = addrel (oi.defp, namep -> definition.symbol); /* get ptr to def name */ 203 size = namep -> acc.count; 204 namep = addr (namep -> acc.string); 205 end; 206 else do; /* not standard object, but is pl1 */ 207 size = np -> based_fixed; /* get name length in chars */ 208 if size > 256 then go to no_name; /* somehow this isn't a name */ 209 namep = addrel (np, -divide (size + 3, 4, 17, 0)); /* name string is in text */ 210 end; 211 212 ename = name; /* fill in return args */ 213 return; 214 215 search_defs: /* non-standard object; look for def for this offset */ 216 call get_def_name_ (null, def_ptr, rel (entry_ptr), section, ename, code); 217 218 return; 219 220 catch: proc (mcptr, condname, wcptr, infoptr, continue); 221 222 declare (mcptr, wcptr, infoptr) ptr; 223 declare condname char (*); 224 declare continue bit (1) aligned; 225 226 if condname = "quit" 227 | condname = "alrm" 228 | condname = "cput" 229 | condname = "program_interrupt" 230 | condname = "finish" 231 | condname = "storage" 232 | condname = "mme2" 233 then continue = "1"b; 234 235 else if condname ^= "cleanup" then go to no_name; /* probably access fault; 236* in any case, forget it */ 237 return; 238 end; 239 240 end get_entry_name_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 01/24/89 0847.8 get_entry_name_.pl1 >spec>install>MR12.3-1012>get_entry_name_.pl1 95 1 11/24/86 1226.9 definition.incl.pl1 >ldd>include>definition.incl.pl1 98 2 08/05/77 1022.5 object_info.incl.pl1 >ldd>include>object_info.incl.pl1 102 3 05/06/74 1741.0 component_info.incl.pl1 >ldd>include>component_info.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. acc based structure level 1 dcl 85 addr builtin function dcl 40 ref 138 138 155 155 204 addrel builtin function dcl 40 ref 195 198 202 209 adj_offset 000106 automatic fixed bin(18,0) dcl 43 set ref 140* adjust 000104 automatic fixed bin(17,0) dcl 42 set ref 111* 191* 193 195 based_fixed based fixed bin(17,0) dcl 42 ref 207 baseno builtin function dcl 40 ref 115 begin_block_entries 000144 automatic bit(36) initial array dcl 67 set ref 67* 67* 179 180 bin builtin function dcl 40 ref 115 145 146 155 155 197 201 bitcnt 000111 automatic fixed bin(24,0) dcl 46 set ref 118* 138* ci 000244 automatic structure level 1 dcl 3-3 set ref 155 155 code parameter fixed bin(35,0) dcl 37 set ref 22 118* 119 119 124* 127* 128 132* 138* 139 140* 155* 156 181* 188* 215* comp parameter char(8) dcl 38 set ref 22 108* 152* 158* 163 compiler 30 000156 automatic char(8) level 2 in structure "oi" dcl 100 in procedure "get_entry_name_" set ref 150 152 compiler 27 000244 automatic char(8) level 2 in structure "ci" dcl 3-3 in procedure "get_entry_name_" set ref 158 component_info_$offset 000030 constant entry external dcl 76 ref 155 condition_ 000036 constant entry external dcl 80 ref 113 condname parameter char packed unaligned dcl 223 ref 220 226 226 226 226 226 226 226 235 continue parameter bit(1) dcl 224 set ref 220 226* count based fixed bin(8,0) level 2 packed packed unaligned dcl 85 ref 203 def_ptr 000154 automatic pointer dcl 71 set ref 117* 143* 215* definition based structure level 1 dcl 1-12 defp 4 000156 automatic pointer level 2 dcl 100 set ref 143 198 202 divide builtin function dcl 40 ref 163 209 dlng 17 000156 automatic fixed bin(17,0) level 2 dcl 100 set ref 197 201 ename parameter char packed unaligned dcl 35 set ref 22 110* 140* 182* 212* 215* entry_ptr parameter pointer dcl 34 set ref 22 114 115 140* 145 155 155 171 180 195 199 215 215 error_table_$begin_block 000020 external static fixed bin(35,0) dcl 51 ref 181 error_table_$dirseg 000014 external static fixed bin(35,0) dcl 51 ref 124 error_table_$invalidsegno 000016 external static fixed bin(35,0) dcl 51 ref 119 error_table_$moderr 000012 external static fixed bin(35,0) dcl 51 ref 132 error_table_$name_not_found 000010 external static fixed bin(35,0) dcl 51 ref 188 find_nonobject_info_ 000032 constant entry external dcl 77 ref 140 first_seq 000112 automatic fixed bin(17,0) initial array dcl 47 set ref 47* 47* 47* 47* 169 format 24 000156 automatic structure level 2 dcl 100 get_def_name_ 000034 constant entry external dcl 79 ref 215 half based structure level 1 dcl 82 hbound builtin function dcl 40 ref 179 hcs_$fs_get_mode 000024 constant entry external dcl 74 ref 127 hcs_$status_mins 000022 constant entry external dcl 73 ref 118 i 000100 automatic fixed bin(17,0) dcl 42 set ref 145* 147 147 169* 170 171* 179* 180* 193 index builtin function dcl 40 ref 163 infoptr parameter pointer dcl 222 ref 220 inst_seq based structure array level 1 dcl 89 ref 180 j 000101 automatic fixed bin(17,0) dcl 42 set ref 146* 147 147 170* 171 171* known_names 000127 automatic char(32) initial dcl 54 set ref 54* 163 lang 000103 automatic fixed bin(17,0) dcl 42 set ref 107* 163* 164 169 169 178 178 191 last_seq 000116 automatic fixed bin(17,0) initial array dcl 48 set ref 48* 48* 48* 48* 169 left based bit(18) level 2 packed packed unaligned dcl 82 ref 197 198 mcptr parameter pointer dcl 222 ref 220 mode 000110 automatic fixed bin(5,0) dcl 45 set ref 127* 129 129 name based char packed unaligned dcl 55 ref 212 namep 000152 automatic pointer dcl 71 set ref 198* 199 201 202* 202 203 204* 204 209* 212 np 000150 automatic pointer dcl 71 set ref 195* 197 198 207 209 null builtin function dcl 40 ref 215 215 object_info based structure level 1 dcl 2-6 object_info_$display 000026 constant entry external dcl 75 ref 138 object_info_version_2 constant fixed bin(17,0) initial dcl 2-60 ref 137 oi 000156 automatic structure level 1 dcl 100 set ref 138 138 op_seq 000000 constant bit(10) initial array packed unaligned dcl 59 ref 171 opcode 0(18) based bit(10) array level 2 packed packed unaligned dcl 89 ref 171 ptr builtin function dcl 40 ref 114 rel builtin function dcl 40 ref 145 146 155 155 199 215 215 section 000105 automatic fixed bin(17,0) dcl 42 set ref 116* 147* 215* section_name 000140 automatic char(8) dcl 56 set ref 140* segnum parameter fixed bin(18,0) dcl 36 set ref 22 115* 140* segptr 000146 automatic pointer dcl 71 set ref 114* 117 118* 127* 138* 155* seq_lng 000122 automatic fixed bin(17,0) initial array dcl 49 set ref 49* 49* 49* 49* 49* 170 size 000102 automatic fixed bin(17,0) dcl 42 set ref 203* 207* 208 209 212 standard 24(04) 000156 automatic bit(1) level 3 in structure "oi" packed packed unaligned dcl 100 in procedure "get_entry_name_" set ref 151 standard 26 000244 automatic bit(1) level 2 in structure "ci" dcl 3-3 in procedure "get_entry_name_" set ref 157 std_sw 000142 automatic bit(1) dcl 58 set ref 109* 151* 157* 164 196 string 0(09) based char(31) level 2 in structure "acc" packed packed unaligned dcl 85 in procedure "get_entry_name_" set ref 204 string builtin function dcl 40 in procedure "get_entry_name_" ref 180 symbol 2 based bit(18) level 2 packed packed unaligned dcl 1-12 ref 201 202 textp 2 000156 automatic pointer level 2 dcl 100 set ref 146 tlng 16 000156 automatic fixed bin(17,0) level 2 dcl 100 set ref 147 type 000107 automatic fixed bin(2,0) dcl 44 set ref 118* 123 value 1 based bit(18) level 2 packed packed unaligned dcl 1-12 ref 199 version_number 000156 automatic fixed bin(17,0) level 2 dcl 100 set ref 137* wcptr parameter pointer dcl 222 ref 220 NAMES DECLARED BY EXPLICIT CONTEXT. catch 001024 constant entry internal dcl 220 ref 113 113 get_entry_name_ 000076 constant entry external dcl 22 get_std_name 000654 constant label dcl 193 ref 164 no_name 000642 constant label dcl 188 ref 147 156 208 235 search_defs 000756 constant label dcl 215 set ref 119 129 165 193 197 199 201 try_next 000605 constant label dcl 174 ref 171 valid_entry 000647 constant label dcl 191 ref 173 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1272 1332 1110 1302 Length 1572 1110 40 223 162 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME get_entry_name_ 257 external procedure is an external procedure. catch 65 internal procedure is assigned to an entry variable. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME get_entry_name_ 000100 i get_entry_name_ 000101 j get_entry_name_ 000102 size get_entry_name_ 000103 lang get_entry_name_ 000104 adjust get_entry_name_ 000105 section Fudge.SysAdmin.a PÜgÓÎèPDT >user_dir_dir>Fortran û Fortran >user_dir_dir>Fortran Fortran Fortran Fudge ACTC 270-5400 Jñ•{4®³ÁéšKdÜ:Û‹Fortran Jñ•{4ÉFortran Ft_Hills/Fudge Ë×(S±µ%;„X•—^[þFudge.* Oke.* ft Staff @ ¼dT1†ÄFGray ~process_overseer_ >user_dir_dir>Fortran>Gray  €öá÷öá÷öá÷öá÷öá÷öá÷öá÷öá÷öá÷JñšOõDMo`Gnone MoÅ0€TšÂ>¥öá÷ Ì[X–É¦Ô @ @Hoover ~process_overseer_ >user_dir_dir>Fortran>Hoover  €öá÷öá÷öá÷öá÷öá÷öá÷öá÷öá÷öá÷JñšOõDOÄ/²}noneOÄ0¤# TšÂ>¥öá÷ç1X–É¦Ô @ @Mabey ~process_overseer_ >user_dir_dir>Fortran>Mabey  €öá÷öá÷öá÷öá÷öá÷öá÷öá÷öá÷öá÷JñšOõDNÄ´w(ynone OàEoQ ----------------------------------------------------------- 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