COMPILATION LISTING OF SEGMENT cobol_pool Compiled by: Multics PL/I Compiler, Release 31b, of April 24, 1989 Compiled at: Bull HN, Phoenix AZ, System-M Compiled on: 05/24/89 0959.4 mst Wed 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-04-23,Zimmerman), approve(89-04-23,MCR8060), 17* audit(89-05-05,RWaters), install(89-05-24,MR12.3-1048): 18* MCR8060 cobol_pool.pl1 Reformatted code to new Cobol standard. 19* END HISTORY COMMENTS */ 20 21 22 /* Modified on 1/5/76 by Bob Chang to search operators only when nchar=8 or nchar<5. */ 23 /* Modified since Version 2.0. */ 24 /* format: style3 */ 25 cobol_pool: 26 cobol_pool_: 27 proc (constant, boundary, offset, in_op, byte_count); 28 29 /*} 30*function: This procedure pools a constant in the constant portion 31* of the cobol object text section. 32* NOTE: NO conversion, blank or zero padding is performed. 33* 34*usage: dcl cobol_pool entry (char(*), fixed bin, fixed bin(24)); 35* 36* call cobol_pool (constant, boundary, offset); 37* 38*where: constant (input): 39* is the constant to be pooled 40* 41* boundary (input): 42* specifies the allocation of the left-most char of the constant 43* = 0 := any word alloc; return offset in CHARS 44* = 1 := any word alloc; return offset in WORDS 45* = 2 := EVEN word alloc; return offset in WORDS 46* = 3 := ODD word alloc; return offset in WORDS 47* = 4 := any char alloc; return offset in CHARS 48* NOTE: cobol_pool ALWAYS places the 1st char of the constant in 49* the LEFT-MOST char position of the 1st word allocated 50* 51* offset (output): 52* is the WORD or CHARACTER offset of the pooled constant 53* relative to the END of the constant portion of the text 54* section. 55* NOTE: the CHARACTER offset refers to the 1st char in the 56* constant and the WORD offset refers to the word containing 57* the 1st character of the constant. 58* (This offset is in the same form as the offset 59* supplied by Data Division Allocation.) 60* 61* in_op output from the search_op entry . 62* = 0 := the constant is not in cobol_operators_ 63* = 1 := the constant is in cobol_operators_. the output offset is 64* based on the cobol_operators_. 65* byte_count input to search_op_byte for the number of bytes 66* which are neglected when searching. 67*}*/ 68 69 /* written by: Bob McDowell 70* entered system: 7/29/74 71* last modified: 12/06/74 */ 72 73 /* note: still needs; 74* 75* n) */ 76 77 dcl ( 78 ioa_, 79 ioa_$rsnnl, 80 signal_ 81 ) entry options (variable); 82 dcl (substr, unspec, fixed, rel, index) 83 builtin; 84 dcl (addr, addrel, length, null, string) 85 builtin; 86 87 dcl 1 create_con_pool aligned based (con_wrk_ptr), 88 2 next_const char (no_char); 89 90 dcl 1 search_con_pool aligned based (con_wrk_ptr), 91 2 all_consts char (char_size); 92 93 94 dcl 1 op_con_base based (op_con_ptr), 95 2 num fixed bin, 96 2 filler fixed bin, 97 2 op_con char (0 refer (op_con_base.num)); 98 99 dcl 1 error_info aligned, 100 2 module_name char (32) init ("cobol_pool"), 101 2 err_msg_lngth fixed bin, 102 2 error_msg char (168); 103 104 dcl constant char (*); 105 dcl msg_1 char (32) init ("constant entered had 0 length; "); 106 dcl msg_2 char (44) init ("illegal boundary code value - [0<=code<=4]; "); 107 dcl msg_3 char (40) init ("constant section overlaps text section; "); 108 dcl msg_4 char (47) init ("illegal byte_count value - [0<=byte_count<=7]; "); 109 dcl utemp fixed bin; 110 dcl (nchar, nword, word_size, char_size) 111 fixed bin; 112 dcl (boundary, end_loc, srch_loc, found_loc, reset_loc) 113 fixed bin; 114 dcl in_op fixed bin; 115 dcl byte_count fixed bin; 116 dcl no_char fixed bin; 117 dcl char_count fixed bin; 118 dcl start_loc fixed bin; 119 dcl (insert_loc, char_loc, bits35_36, bit_36) 120 fixed bin; 121 dcl offset fixed bin (24); 122 dcl (con_base_ptr, con_wrk_ptr) 123 ptr; 124 125 start: 126 reset_loc = con_wd_off; 127 char_count = 0; 128 nchar = length (constant); 129 if (nchar > 0) 130 then goto ck_bndry; 131 call error (msg_1); 132 return; 133 134 ck_bndry: 135 if ((boundary >= 0) & (boundary <= 4)) 136 then goto begin; 137 call error (msg_2); 138 return; 139 140 begin: 141 utemp = nchar + char_count + 3; 142 nword = fixed (substr (unspec (utemp), 1, 34), 36); 143 end_loc = fixed (rel (con_end_ptr), 18); 144 con_base_ptr = addrel (con_end_ptr, -end_loc); 145 146 /* search for this constant already in pool */ 147 148 if (con_wd_off = 1) 149 then srch_loc = end_loc - 1; 150 else srch_loc = end_loc - (con_wd_off - 1) + 1; 151 search_1: 152 con_wrk_ptr = addrel (con_base_ptr, srch_loc); 153 word_size = end_loc - srch_loc; 154 word_size = mod (word_size, 256); 155 char_size = word_size * 4; 156 start_loc = 1; 157 char_loc = fixed (rel (con_wrk_ptr), 18); 158 if (substr (unspec (char_loc), 36, 1) = "1"b & boundary = 2) 159 | (substr (unspec (char_loc), 36, 1) = "0"b & boundary = 3) 160 then start_loc = 5; 161 162 loop: 163 if substr (all_consts, start_loc + char_count, nchar) = constant 164 then goto found; 165 else if boundary = 0 | boundary = 1 166 then start_loc = start_loc + 4; 167 else if boundary = 4 168 then start_loc = start_loc + 1; 169 else start_loc = start_loc + 8; 170 if start_loc + nchar - 1 <= char_size 171 then goto loop; 172 goto pool_it; 173 174 found: 175 char_loc = start_loc - 1; 176 offset = fixed (substr (unspec (char_loc), 1, 34), 36); 177 found_loc = srch_loc + offset; 178 offset = end_loc - found_loc + 1; 179 if boundary = 0 | boundary = 4 180 then offset = offset * 4; 181 if boundary ^= 4 182 then goto exit; 183 char_loc = mod (char_loc, 4); 184 if char_loc ^= 0 185 then offset = offset + char_loc; 186 return; 187 188 /* pool constant after satisfying boundary conditions */ 189 190 pool_it: 191 con_wd_off = con_wd_off + nword; 192 bump_it: 193 offset = con_wd_off - 1; 194 insert_loc = end_loc - offset + 1; 195 if ((boundary = 0) | (boundary = 4) | (boundary = 1)) 196 then goto ck_fit; 197 bit_36 = fixed (substr (unspec (insert_loc), 36, 1), 36); 198 /* check current pool loc satisfies boundary conditions */ 199 ck_bound: 200 if ((boundary = 2) & (bit_36 = 0)) 201 then goto ck_fit; 202 if ((boundary = 3) & (bit_36 = 1)) 203 then goto ck_fit; /* boundary conditions unsatisfied; bump offset */ 204 con_wd_off = con_wd_off + 1; 205 goto bump_it; /* check if this constant will fit in constant pool */ 206 ck_fit: 207 if (insert_loc > text_wd_off) 208 then goto insert; 209 call error (msg_3); 210 return; /* insert this constant in the constant pool */ 211 insert: 212 con_wrk_ptr = addrel (con_base_ptr, insert_loc); 213 no_char = nchar + char_count; 214 if char_count ^= 0 215 then substr (next_const, 1, char_count) = ""; 216 substr (next_const, char_count + 1, nchar) = substr (constant, 1, nchar); 217 if boundary = 0 | boundary = 4 218 then offset = offset * 4; 219 exit: 220 return; 221 222 223 224 225 /* ***************************************/ 226 227 228 /* The following entry are implemented to search the constant in cobol_operators_ 229* before the try on constant section in text segment. 230* The fourth parameter in_op is the output explained on the main entry. 231**/ 232 233 search_op: 234 entry (constant, boundary, offset, in_op, byte_count); 235 236 char_count = 0; 237 goto start_op; 238 239 /*****************************************/ 240 241 /* This procedure is for the search of cobol_operatorwith the leading null 242* chars neglected. The word alignment is the same as usual.*/ 243 search_op_byte: 244 entry (constant, boundary, offset, in_op, byte_count); 245 246 247 char_count = byte_count; 248 start_op: 249 in_op = 0; 250 if char_count < 0 | char_count > 7 251 then call error (msg_4); 252 nchar = length (constant); 253 if (nchar > 0) 254 then goto ck_bndry_op; 255 call error (msg_1); 256 return; 257 258 ck_bndry_op: 259 if ((boundary >= 0) & (boundary <= 4)) 260 then goto begin_op; 261 call error (msg_2); 262 return; 263 264 begin_op: 265 if (nchar > 4) & (nchar ^= 8) 266 then goto begin; 267 if boundary = 3 268 then start_loc = 5; 269 else start_loc = 1; 270 loop_op: 271 if substr (op_con, start_loc + char_count, nchar) = constant 272 then goto found_op; 273 if boundary = 4 274 then start_loc = start_loc + 1; 275 else if boundary = 1 | boundary = 0 276 then start_loc = start_loc + 4; 277 else start_loc = start_loc + 8; 278 if start_loc + nchar - 1 <= op_con_base.num 279 then goto loop_op; 280 goto begin; 281 282 found_op: 283 offset = start_loc + 8199; 284 if (boundary ^= 0) & (boundary ^= 4) 285 then offset = fixed (substr (unspec (offset), 1, 34)); 286 in_op = 1; 287 return; 288 289 /***************************************/ 290 291 292 293 error: 294 proc (err_msg); 295 296 dcl err_msg char (*); 297 298 call ioa_$rsnnl ("^a ABORTING const -> ""^a""", error_msg, err_msg_lngth, err_msg, constant); 299 call signal_ ("command_abort_", null, addr (error_info)); 300 offset = 0; 301 con_wd_off = reset_loc; 302 303 return; 304 305 end error; 306 1 1 1 2 /* BEGIN INCLUDE FILE ... cobol_.incl.pl1 */ 1 3 /* last modified Feb 4, 1977 by ORN */ 1 4 1 5 /* This file defines all external data used in the generator phase of Multics Cobol */ 1 6 1 7 /* POINTERS */ 1 8 dcl cobol_$text_base_ptr ptr ext; 1 9 dcl text_base_ptr ptr defined (cobol_$text_base_ptr); 1 10 dcl cobol_$con_end_ptr ptr ext; 1 11 dcl con_end_ptr ptr defined (cobol_$con_end_ptr); 1 12 dcl cobol_$def_base_ptr ptr ext; 1 13 dcl def_base_ptr ptr defined (cobol_$def_base_ptr); 1 14 dcl cobol_$link_base_ptr ptr ext; 1 15 dcl link_base_ptr ptr defined (cobol_$link_base_ptr); 1 16 dcl cobol_$sym_base_ptr ptr ext; 1 17 dcl sym_base_ptr ptr defined (cobol_$sym_base_ptr); 1 18 dcl cobol_$reloc_text_base_ptr ptr ext; 1 19 dcl reloc_text_base_ptr ptr defined (cobol_$reloc_text_base_ptr); 1 20 dcl cobol_$reloc_def_base_ptr ptr ext; 1 21 dcl reloc_def_base_ptr ptr defined (cobol_$reloc_def_base_ptr); 1 22 dcl cobol_$reloc_link_base_ptr ptr ext; 1 23 dcl reloc_link_base_ptr ptr defined (cobol_$reloc_link_base_ptr); 1 24 dcl cobol_$reloc_sym_base_ptr ptr ext; 1 25 dcl reloc_sym_base_ptr ptr defined (cobol_$reloc_sym_base_ptr); 1 26 dcl cobol_$reloc_work_base_ptr ptr ext; 1 27 dcl reloc_work_base_ptr ptr defined (cobol_$reloc_work_base_ptr); 1 28 dcl cobol_$pd_map_ptr ptr ext; 1 29 dcl pd_map_ptr ptr defined (cobol_$pd_map_ptr); 1 30 dcl cobol_$fixup_ptr ptr ext; 1 31 dcl fixup_ptr ptr defined (cobol_$fixup_ptr); 1 32 dcl cobol_$initval_base_ptr ptr ext; 1 33 dcl initval_base_ptr ptr defined (cobol_$initval_base_ptr); 1 34 dcl cobol_$initval_file_ptr ptr ext; 1 35 dcl initval_file_ptr ptr defined (cobol_$initval_file_ptr); 1 36 dcl cobol_$perform_list_ptr ptr ext; 1 37 dcl perform_list_ptr ptr defined (cobol_$perform_list_ptr); 1 38 dcl cobol_$alter_list_ptr ptr ext; 1 39 dcl alter_list_ptr ptr defined (cobol_$alter_list_ptr); 1 40 dcl cobol_$seg_init_list_ptr ptr ext; 1 41 dcl seg_init_list_ptr ptr defined (cobol_$seg_init_list_ptr); 1 42 dcl cobol_$temp_token_area_ptr ptr ext; 1 43 dcl temp_token_area_ptr ptr defined (cobol_$temp_token_area_ptr); 1 44 dcl cobol_$temp_token_ptr ptr ext; 1 45 dcl temp_token_ptr ptr defined (cobol_$temp_token_ptr); 1 46 dcl cobol_$token_block1_ptr ptr ext; 1 47 dcl token_block1_ptr ptr defined (cobol_$token_block1_ptr); 1 48 dcl cobol_$token_block2_ptr ptr ext; 1 49 dcl token_block2_ptr ptr defined (cobol_$token_block2_ptr); 1 50 dcl cobol_$minpral5_ptr ptr ext; 1 51 dcl minpral5_ptr ptr defined (cobol_$minpral5_ptr); 1 52 dcl cobol_$tag_table_ptr ptr ext; 1 53 dcl tag_table_ptr ptr defined (cobol_$tag_table_ptr); 1 54 dcl cobol_$map_data_ptr ptr ext; 1 55 dcl map_data_ptr ptr defined (cobol_$map_data_ptr); 1 56 dcl cobol_$ptr_status_ptr ptr ext; 1 57 dcl ptr_status_ptr ptr defined (cobol_$ptr_status_ptr); 1 58 dcl cobol_$reg_status_ptr ptr ext; 1 59 dcl reg_status_ptr ptr defined (cobol_$reg_status_ptr); 1 60 dcl cobol_$misc_base_ptr ptr ext; 1 61 dcl misc_base_ptr ptr defined (cobol_$misc_base_ptr); 1 62 dcl cobol_$misc_end_ptr ptr ext; 1 63 dcl misc_end_ptr ptr defined (cobol_$misc_end_ptr); 1 64 dcl cobol_$list_ptr ptr ext; 1 65 dcl list_ptr ptr defined (cobol_$list_ptr); 1 66 dcl cobol_$allo1_ptr ptr ext; 1 67 dcl allo1_ptr ptr defined (cobol_$allo1_ptr); 1 68 dcl cobol_$eln_ptr ptr ext; 1 69 dcl eln_ptr ptr defined (cobol_$eln_ptr); 1 70 dcl cobol_$diag_ptr ptr ext; 1 71 dcl diag_ptr ptr defined (cobol_$diag_ptr); 1 72 dcl cobol_$xref_token_ptr ptr ext; 1 73 dcl xref_token_ptr ptr defined (cobol_$xref_token_ptr); 1 74 dcl cobol_$xref_chain_ptr ptr ext; 1 75 dcl xref_chain_ptr ptr defined (cobol_$xref_chain_ptr); 1 76 dcl cobol_$statement_info_ptr ptr ext; 1 77 dcl statement_info_ptr ptr defined (cobol_$statement_info_ptr); 1 78 dcl cobol_$reswd_ptr ptr ext; 1 79 dcl reswd_ptr ptr defined (cobol_$reswd_ptr); 1 80 dcl cobol_$op_con_ptr ptr ext; 1 81 dcl op_con_ptr ptr defined (cobol_$op_con_ptr); 1 82 dcl cobol_$ntbuf_ptr ptr ext; 1 83 dcl ntbuf_ptr ptr defined (cobol_$ntbuf_ptr); 1 84 dcl cobol_$main_pcs_ptr ptr ext; 1 85 dcl main_pcs_ptr ptr defined (cobol_$main_pcs_ptr); 1 86 dcl cobol_$include_info_ptr ptr ext; 1 87 dcl include_info_ptr ptr defined (cobol_$include_info_ptr); 1 88 1 89 /* FIXED BIN */ 1 90 dcl cobol_$text_wd_off fixed bin ext; 1 91 dcl text_wd_off fixed bin defined (cobol_$text_wd_off); 1 92 dcl cobol_$con_wd_off fixed bin ext; 1 93 dcl con_wd_off fixed bin defined (cobol_$con_wd_off); 1 94 dcl cobol_$def_wd_off fixed bin ext; 1 95 dcl def_wd_off fixed bin defined (cobol_$def_wd_off); 1 96 dcl cobol_$def_max fixed bin ext; 1 97 dcl def_max fixed bin defined (cobol_$def_max); 1 98 dcl cobol_$link_wd_off fixed bin ext; 1 99 dcl link_wd_off fixed bin defined (cobol_$link_wd_off); 1 100 dcl cobol_$link_max fixed bin ext; 1 101 dcl link_max fixed bin defined (cobol_$link_max); 1 102 dcl cobol_$sym_wd_off fixed bin ext; 1 103 dcl sym_wd_off fixed bin defined (cobol_$sym_wd_off); 1 104 dcl cobol_$sym_max fixed bin ext; 1 105 dcl sym_max fixed bin defined (cobol_$sym_max); 1 106 dcl cobol_$reloc_text_max fixed bin(24) ext; 1 107 dcl reloc_text_max fixed bin(24) defined (cobol_$reloc_text_max); 1 108 dcl cobol_$reloc_def_max fixed bin(24) ext; 1 109 dcl reloc_def_max fixed bin(24) defined (cobol_$reloc_def_max); 1 110 dcl cobol_$reloc_link_max fixed bin(24) ext; 1 111 dcl reloc_link_max fixed bin(24) defined (cobol_$reloc_link_max); 1 112 dcl cobol_$reloc_sym_max fixed bin(24) ext; 1 113 dcl reloc_sym_max fixed bin(24) defined (cobol_$reloc_sym_max); 1 114 dcl cobol_$reloc_work_max fixed bin(24) ext; 1 115 dcl reloc_work_max fixed bin(24) defined (cobol_$reloc_work_max); 1 116 dcl cobol_$pd_map_index fixed bin ext; 1 117 dcl pd_map_index fixed bin defined (cobol_$pd_map_index); 1 118 dcl cobol_$cobol_data_wd_off fixed bin ext; 1 119 dcl cobol_data_wd_off fixed bin defined (cobol_$cobol_data_wd_off); 1 120 dcl cobol_$stack_off fixed bin ext; 1 121 dcl stack_off fixed bin defined (cobol_$stack_off); 1 122 dcl cobol_$max_stack_off fixed bin ext; 1 123 dcl max_stack_off fixed bin defined (cobol_$max_stack_off); 1 124 dcl cobol_$init_stack_off fixed bin ext; 1 125 dcl init_stack_off fixed bin defined (cobol_$init_stack_off); 1 126 dcl cobol_$pd_map_sw fixed bin ext; 1 127 dcl pd_map_sw fixed bin defined (cobol_$pd_map_sw); 1 128 dcl cobol_$next_tag fixed bin ext; 1 129 dcl next_tag fixed bin defined (cobol_$next_tag); 1 130 dcl cobol_$data_init_flag fixed bin ext; 1 131 dcl data_init_flag fixed bin defined (cobol_$data_init_flag); 1 132 dcl cobol_$seg_init_flag fixed bin ext; 1 133 dcl seg_init_flag fixed bin defined (cobol_$seg_init_flag); 1 134 dcl cobol_$alter_flag fixed bin ext; 1 135 dcl alter_flag fixed bin defined (cobol_$alter_flag); 1 136 dcl cobol_$sect_eop_flag fixed bin ext; 1 137 dcl sect_eop_flag fixed bin defined (cobol_$sect_eop_flag); 1 138 dcl cobol_$para_eop_flag fixed bin ext; 1 139 dcl para_eop_flag fixed bin defined (cobol_$para_eop_flag); 1 140 dcl cobol_$priority_no fixed bin ext; 1 141 dcl priority_no fixed bin defined (cobol_$priority_no); 1 142 dcl cobol_$compile_count fixed bin ext; 1 143 dcl compile_count fixed bin defined (cobol_$compile_count); 1 144 dcl cobol_$ptr_assumption_ind fixed bin ext; 1 145 dcl ptr_assumption_ind fixed bin defined (cobol_$ptr_assumption_ind); 1 146 dcl cobol_$reg_assumption_ind fixed bin ext; 1 147 dcl reg_assumption_ind fixed bin defined (cobol_$reg_assumption_ind); 1 148 dcl cobol_$perform_para_index fixed bin ext; 1 149 dcl perform_para_index fixed bin defined (cobol_$perform_para_index); 1 150 dcl cobol_$perform_sect_index fixed bin ext; 1 151 dcl perform_sect_index fixed bin defined (cobol_$perform_sect_index); 1 152 dcl cobol_$alter_index fixed bin ext; 1 153 dcl alter_index fixed bin defined (cobol_$alter_index); 1 154 dcl cobol_$list_off fixed bin ext; 1 155 dcl list_off fixed bin defined (cobol_$list_off); 1 156 dcl cobol_$constant_offset fixed bin ext; 1 157 dcl constant_offset fixed bin defined (cobol_$constant_offset); 1 158 dcl cobol_$misc_max fixed bin ext; 1 159 dcl misc_max fixed bin defined (cobol_$misc_max); 1 160 dcl cobol_$pd_map_max fixed bin ext; 1 161 dcl pd_map_max fixed bin defined (cobol_$pd_map_max); 1 162 dcl cobol_$map_data_max fixed bin ext; 1 163 dcl map_data_max fixed bin defined (cobol_$map_data_max); 1 164 dcl cobol_$fixup_max fixed bin ext; 1 165 dcl fixup_max fixed bin defined (cobol_$fixup_max); 1 166 dcl cobol_$tag_table_max fixed bin ext; 1 167 dcl tag_table_max fixed bin defined (cobol_$tag_table_max); 1 168 dcl cobol_$temp_token_max fixed bin ext; 1 169 dcl temp_token_max fixed bin defined (cobol_$temp_token_max); 1 170 dcl cobol_$allo1_max fixed bin ext; 1 171 dcl allo1_max fixed bin defined (cobol_$allo1_max); 1 172 dcl cobol_$eln_max fixed bin ext; 1 173 dcl eln_max fixed bin defined (cobol_$eln_max); 1 174 dcl cobol_$debug_enable fixed bin ext; 1 175 dcl debug_enable fixed bin defined (cobol_$debug_enable); 1 176 dcl cobol_$non_source_offset fixed bin ext; 1 177 dcl non_source_offset fixed bin defined (cobol_$non_source_offset); 1 178 dcl cobol_$initval_flag fixed bin ext; 1 179 dcl initval_flag fixed bin defined (cobol_$initval_flag); 1 180 dcl cobol_$date_compiled_sw fixed bin ext; 1 181 dcl date_compiled_sw fixed bin defined (cobol_$date_compiled_sw); 1 182 dcl cobol_$include_cnt fixed bin ext; 1 183 dcl include_cnt fixed bin defined (cobol_$include_cnt); 1 184 dcl cobol_$fs_charcnt fixed bin ext; 1 185 dcl fs_charcnt fixed bin defined (cobol_$fs_charcnt); 1 186 dcl cobol_$ws_charcnt fixed bin ext; 1 187 dcl ws_charcnt fixed bin defined (cobol_$ws_charcnt); 1 188 dcl cobol_$coms_charcnt fixed bin ext; 1 189 dcl coms_charcnt fixed bin defined (cobol_$coms_charcnt); 1 190 dcl cobol_$ls_charcnt fixed bin ext; 1 191 dcl ls_charcnt fixed bin defined (cobol_$ls_charcnt); 1 192 dcl cobol_$cons_charcnt fixed bin ext; 1 193 dcl cons_charcnt fixed bin defined (cobol_$cons_charcnt); 1 194 dcl cobol_$value_cnt fixed bin ext; 1 195 dcl value_cnt fixed bin defined (cobol_$value_cnt); 1 196 dcl cobol_$cd_cnt fixed bin ext; 1 197 dcl cd_cnt fixed bin defined (cobol_$cd_cnt); 1 198 dcl cobol_$fs_wdoff fixed bin ext; 1 199 dcl fs_wdoff fixed bin defined (cobol_$fs_wdoff); 1 200 dcl cobol_$ws_wdoff fixed bin ext; 1 201 dcl ws_wdoff fixed bin defined (cobol_$ws_wdoff); 1 202 dcl cobol_$coms_wdoff fixed bin ext; 1 203 dcl coms_wdoff fixed bin defined (cobol_$coms_wdoff); 1 204 1 205 /* CHARACTER */ 1 206 dcl cobol_$scratch_dir char (168) aligned ext; 1 207 dcl scratch_dir char (168) aligned defined (cobol_$scratch_dir); /* -42- */ 1 208 dcl cobol_$obj_seg_name char (32) aligned ext; 1 209 dcl obj_seg_name char (32) aligned defined (cobol_$obj_seg_name); /* -8- */ 1 210 1 211 /* BIT */ 1 212 dcl cobol_$xref_bypass bit(1) aligned ext; 1 213 dcl xref_bypass bit(1) aligned defined (cobol_$xref_bypass); /* -1- */ 1 214 dcl cobol_$same_sort_merge_proc bit(1) aligned ext; 1 215 dcl same_sort_merge_proc bit(1) aligned defined (cobol_$same_sort_merge_proc); /* -1- */ 1 216 1 217 1 218 /* END INCLUDE FILE ... cobol_incl.pl1*/ 1 219 1 220 307 308 end cobol_pool; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 05/24/89 0832.7 cobol_pool.pl1 >spec>install>MR12.3-1048>cobol_pool.pl1 307 1 11/11/82 1712.7 cobol_.incl.pl1 >ldd>include>cobol_.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 84 ref 299 299 addrel builtin function dcl 84 ref 144 151 211 all_consts based char level 2 dcl 90 ref 162 bit_36 000252 automatic fixed bin(17,0) dcl 119 set ref 197* 199 202 boundary parameter fixed bin(17,0) dcl 112 ref 25 25 134 134 158 158 165 165 167 179 179 181 195 195 195 199 202 217 217 233 243 258 258 267 273 275 275 284 284 byte_count parameter fixed bin(17,0) dcl 115 ref 25 25 233 243 247 char_count 000246 automatic fixed bin(17,0) dcl 117 set ref 127* 140 162 213 214 214 216 236* 247* 250 250 270 char_loc 000251 automatic fixed bin(17,0) dcl 119 set ref 157* 158 158 174* 176 183* 183 184 184 char_size 000240 automatic fixed bin(17,0) dcl 110 set ref 155* 162 170 cobol_$con_end_ptr 000014 external static pointer dcl 1-10 ref 143 143 144 144 cobol_$con_wd_off 000022 external static fixed bin(17,0) dcl 1-92 set ref 125 125 148 148 150 150 190* 190 190 190 192 192 204* 204 204 204 301* 301 cobol_$op_con_ptr 000016 external static pointer dcl 1-80 ref 270 270 278 278 cobol_$text_wd_off 000020 external static fixed bin(17,0) dcl 1-90 ref 206 206 con_base_ptr 000254 automatic pointer dcl 122 set ref 144* 151 211 con_end_ptr defined pointer dcl 1-11 ref 143 144 con_wd_off defined fixed bin(17,0) dcl 1-93 set ref 125 148 150 190* 190 192 204* 204 301* con_wrk_ptr 000256 automatic pointer dcl 122 set ref 151* 157 162 211* 214 216 constant parameter char packed unaligned dcl 104 set ref 25 25 128 162 216 233 243 252 270 298* create_con_pool based structure level 1 dcl 87 end_loc 000241 automatic fixed bin(17,0) dcl 112 set ref 143* 144 148 150 153 178 194 err_msg parameter char packed unaligned dcl 296 set ref 293 298* err_msg_lngth 10 000100 automatic fixed bin(17,0) level 2 dcl 99 set ref 298* error_info 000100 automatic structure level 1 dcl 99 set ref 299 299 error_msg 11 000100 automatic char(168) level 2 dcl 99 set ref 298* fixed builtin function dcl 82 ref 142 143 157 176 197 284 found_loc 000243 automatic fixed bin(17,0) dcl 112 set ref 177* 178 in_op parameter fixed bin(17,0) dcl 114 set ref 25 25 233 243 248* 286* insert_loc 000250 automatic fixed bin(17,0) dcl 119 set ref 194* 197 206 211 ioa_$rsnnl 000010 constant entry external dcl 77 ref 298 length builtin function dcl 84 ref 128 252 module_name 000100 automatic char(32) initial level 2 dcl 99 set ref 99* msg_1 000163 automatic char(32) initial packed unaligned dcl 105 set ref 105* 131* 255* msg_2 000173 automatic char(44) initial packed unaligned dcl 106 set ref 106* 137* 261* msg_3 000206 automatic char(40) initial packed unaligned dcl 107 set ref 107* 209* msg_4 000220 automatic char(47) initial packed unaligned dcl 108 set ref 108* 250* nchar 000235 automatic fixed bin(17,0) dcl 110 set ref 128* 129 140 162 170 213 216 216 252* 253 264 264 270 278 next_const based char level 2 dcl 87 set ref 214* 216* no_char 000245 automatic fixed bin(17,0) dcl 116 set ref 213* 214 216 null builtin function dcl 84 ref 299 299 num based fixed bin(17,0) level 2 dcl 94 ref 270 278 nword 000236 automatic fixed bin(17,0) dcl 110 set ref 142* 190 offset parameter fixed bin(24,0) dcl 121 set ref 25 25 176* 177 178* 179* 179 184* 184 192* 194 217* 217 233 243 282* 284* 284 300* op_con 2 based char level 2 packed packed unaligned dcl 94 ref 270 op_con_base based structure level 1 unaligned dcl 94 op_con_ptr defined pointer dcl 1-81 ref 270 278 rel builtin function dcl 82 ref 143 157 reset_loc 000244 automatic fixed bin(17,0) dcl 112 set ref 125* 301 search_con_pool based structure level 1 dcl 90 signal_ 000012 constant entry external dcl 77 ref 299 srch_loc 000242 automatic fixed bin(17,0) dcl 112 set ref 148* 150* 151 153 177 start_loc 000247 automatic fixed bin(17,0) dcl 118 set ref 156* 158* 162 165* 165 167* 167 169* 169 170 174 267* 269* 270 273* 273 275* 275 277* 277 278 282 substr builtin function dcl 82 set ref 142 158 158 162 176 197 214* 216* 216 270 284 text_wd_off defined fixed bin(17,0) dcl 1-91 ref 206 unspec builtin function dcl 82 ref 142 158 158 176 197 284 utemp 000234 automatic fixed bin(17,0) dcl 109 set ref 140* 142 word_size 000237 automatic fixed bin(17,0) dcl 110 set ref 153* 154* 154 155 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. allo1_max defined fixed bin(17,0) dcl 1-171 allo1_ptr defined pointer dcl 1-67 alter_flag defined fixed bin(17,0) dcl 1-135 alter_index defined fixed bin(17,0) dcl 1-153 alter_list_ptr defined pointer dcl 1-39 bits35_36 automatic fixed bin(17,0) dcl 119 cd_cnt defined fixed bin(17,0) dcl 1-197 cobol_$allo1_max external static fixed bin(17,0) dcl 1-170 cobol_$allo1_ptr external static pointer dcl 1-66 cobol_$alter_flag external static fixed bin(17,0) dcl 1-134 cobol_$alter_index external static fixed bin(17,0) dcl 1-152 cobol_$alter_list_ptr external static pointer dcl 1-38 cobol_$cd_cnt external static fixed bin(17,0) dcl 1-196 cobol_$cobol_data_wd_off external static fixed bin(17,0) dcl 1-118 cobol_$compile_count external static fixed bin(17,0) dcl 1-142 cobol_$coms_charcnt external static fixed bin(17,0) dcl 1-188 cobol_$coms_wdoff external static fixed bin(17,0) dcl 1-202 cobol_$cons_charcnt external static fixed bin(17,0) dcl 1-192 cobol_$constant_offset external static fixed bin(17,0) dcl 1-156 cobol_$data_init_flag external static fixed bin(17,0) dcl 1-130 cobol_$date_compiled_sw external static fixed bin(17,0) dcl 1-180 cobol_$debug_enable external static fixed bin(17,0) dcl 1-174 cobol_$def_base_ptr external static pointer dcl 1-12 cobol_$def_max external static fixed bin(17,0) dcl 1-96 cobol_$def_wd_off external static fixed bin(17,0) dcl 1-94 cobol_$diag_ptr external static pointer dcl 1-70 cobol_$eln_max external static fixed bin(17,0) dcl 1-172 cobol_$eln_ptr external static pointer dcl 1-68 cobol_$fixup_max external static fixed bin(17,0) dcl 1-164 cobol_$fixup_ptr external static pointer dcl 1-30 cobol_$fs_charcnt external static fixed bin(17,0) dcl 1-184 cobol_$fs_wdoff external static fixed bin(17,0) dcl 1-198 cobol_$include_cnt external static fixed bin(17,0) dcl 1-182 cobol_$include_info_ptr external static pointer dcl 1-86 cobol_$init_stack_off external static fixed bin(17,0) dcl 1-124 cobol_$initval_base_ptr external static pointer dcl 1-32 cobol_$initval_file_ptr external static pointer dcl 1-34 cobol_$initval_flag external static fixed bin(17,0) dcl 1-178 cobol_$link_base_ptr external static pointer dcl 1-14 cobol_$link_max external static fixed bin(17,0) dcl 1-100 cobol_$link_wd_off external static fixed bin(17,0) dcl 1-98 cobol_$list_off external static fixed bin(17,0) dcl 1-154 cobol_$list_ptr external static pointer dcl 1-64 cobol_$ls_charcnt external static fixed bin(17,0) dcl 1-190 cobol_$main_pcs_ptr external static pointer dcl 1-84 cobol_$map_data_max external static fixed bin(17,0) dcl 1-162 cobol_$map_data_ptr external static pointer dcl 1-54 cobol_$max_stack_off external static fixed bin(17,0) dcl 1-122 cobol_$minpral5_ptr external static pointer dcl 1-50 cobol_$misc_base_ptr external static pointer dcl 1-60 cobol_$misc_end_ptr external static pointer dcl 1-62 cobol_$misc_max external static fixed bin(17,0) dcl 1-158 cobol_$next_tag external static fixed bin(17,0) dcl 1-128 cobol_$non_source_offset external static fixed bin(17,0) dcl 1-176 cobol_$ntbuf_ptr external static pointer dcl 1-82 cobol_$obj_seg_name external static char(32) dcl 1-208 cobol_$para_eop_flag external static fixed bin(17,0) dcl 1-138 cobol_$pd_map_index external static fixed bin(17,0) dcl 1-116 cobol_$pd_map_max external static fixed bin(17,0) dcl 1-160 cobol_$pd_map_ptr external static pointer dcl 1-28 cobol_$pd_map_sw external static fixed bin(17,0) dcl 1-126 cobol_$perform_list_ptr external static pointer dcl 1-36 cobol_$perform_para_index external static fixed bin(17,0) dcl 1-148 cobol_$perform_sect_index external static fixed bin(17,0) dcl 1-150 cobol_$priority_no external static fixed bin(17,0) dcl 1-140 cobol_$ptr_assumption_ind external static fixed bin(17,0) dcl 1-144 cobol_$ptr_status_ptr external static pointer dcl 1-56 cobol_$reg_assumption_ind external static fixed bin(17,0) dcl 1-146 cobol_$reg_status_ptr external static pointer dcl 1-58 cobol_$reloc_def_base_ptr external static pointer dcl 1-20 cobol_$reloc_def_max external static fixed bin(24,0) dcl 1-108 cobol_$reloc_link_base_ptr external static pointer dcl 1-22 cobol_$reloc_link_max external static fixed bin(24,0) dcl 1-110 cobol_$reloc_sym_base_ptr external static pointer dcl 1-24 cobol_$reloc_sym_max external static fixed bin(24,0) dcl 1-112 cobol_$reloc_text_base_ptr external static pointer dcl 1-18 cobol_$reloc_text_max external static fixed bin(24,0) dcl 1-106 cobol_$reloc_work_base_ptr external static pointer dcl 1-26 cobol_$reloc_work_max external static fixed bin(24,0) dcl 1-114 cobol_$reswd_ptr external static pointer dcl 1-78 cobol_$same_sort_merge_proc external static bit(1) dcl 1-214 cobol_$scratch_dir external static char(168) dcl 1-206 cobol_$sect_eop_flag external static fixed bin(17,0) dcl 1-136 cobol_$seg_init_flag external static fixed bin(17,0) dcl 1-132 cobol_$seg_init_list_ptr external static pointer dcl 1-40 cobol_$stack_off external static fixed bin(17,0) dcl 1-120 cobol_$statement_info_ptr external static pointer dcl 1-76 cobol_$sym_base_ptr external static pointer dcl 1-16 cobol_$sym_max external static fixed bin(17,0) dcl 1-104 cobol_$sym_wd_off external static fixed bin(17,0) dcl 1-102 cobol_$tag_table_max external static fixed bin(17,0) dcl 1-166 cobol_$tag_table_ptr external static pointer dcl 1-52 cobol_$temp_token_area_ptr external static pointer dcl 1-42 cobol_$temp_token_max external static fixed bin(17,0) dcl 1-168 cobol_$temp_token_ptr external static pointer dcl 1-44 cobol_$text_base_ptr external static pointer dcl 1-8 cobol_$token_block1_ptr external static pointer dcl 1-46 cobol_$token_block2_ptr external static pointer dcl 1-48 cobol_$value_cnt external static fixed bin(17,0) dcl 1-194 cobol_$ws_charcnt external static fixed bin(17,0) dcl 1-186 cobol_$ws_wdoff external static fixed bin(17,0) dcl 1-200 cobol_$xref_bypass external static bit(1) dcl 1-212 cobol_$xref_chain_ptr external static pointer dcl 1-74 cobol_$xref_token_ptr external static pointer dcl 1-72 cobol_data_wd_off defined fixed bin(17,0) dcl 1-119 compile_count defined fixed bin(17,0) dcl 1-143 coms_charcnt defined fixed bin(17,0) dcl 1-189 coms_wdoff defined fixed bin(17,0) dcl 1-203 cons_charcnt defined fixed bin(17,0) dcl 1-193 constant_offset defined fixed bin(17,0) dcl 1-157 data_init_flag defined fixed bin(17,0) dcl 1-131 date_compiled_sw defined fixed bin(17,0) dcl 1-181 debug_enable defined fixed bin(17,0) dcl 1-175 def_base_ptr defined pointer dcl 1-13 def_max defined fixed bin(17,0) dcl 1-97 def_wd_off defined fixed bin(17,0) dcl 1-95 diag_ptr defined pointer dcl 1-71 eln_max defined fixed bin(17,0) dcl 1-173 eln_ptr defined pointer dcl 1-69 fixup_max defined fixed bin(17,0) dcl 1-165 fixup_ptr defined pointer dcl 1-31 fs_charcnt defined fixed bin(17,0) dcl 1-185 fs_wdoff defined fixed bin(17,0) dcl 1-199 include_cnt defined fixed bin(17,0) dcl 1-183 include_info_ptr defined pointer dcl 1-87 index builtin function dcl 82 init_stack_off defined fixed bin(17,0) dcl 1-125 initval_base_ptr defined pointer dcl 1-33 initval_file_ptr defined pointer dcl 1-35 initval_flag defined fixed bin(17,0) dcl 1-179 ioa_ 000000 constant entry external dcl 77 link_base_ptr defined pointer dcl 1-15 link_max defined fixed bin(17,0) dcl 1-101 link_wd_off defined fixed bin(17,0) dcl 1-99 list_off defined fixed bin(17,0) dcl 1-155 list_ptr defined pointer dcl 1-65 ls_charcnt defined fixed bin(17,0) dcl 1-191 main_pcs_ptr defined pointer dcl 1-85 map_data_max defined fixed bin(17,0) dcl 1-163 map_data_ptr defined pointer dcl 1-55 max_stack_off defined fixed bin(17,0) dcl 1-123 minpral5_ptr defined pointer dcl 1-51 misc_base_ptr defined pointer dcl 1-61 misc_end_ptr defined pointer dcl 1-63 misc_max defined fixed bin(17,0) dcl 1-159 next_tag defined fixed bin(17,0) dcl 1-129 non_source_offset defined fixed bin(17,0) dcl 1-177 ntbuf_ptr defined pointer dcl 1-83 obj_seg_name defined char(32) dcl 1-209 para_eop_flag defined fixed bin(17,0) dcl 1-139 pd_map_index defined fixed bin(17,0) dcl 1-117 pd_map_max defined fixed bin(17,0) dcl 1-161 pd_map_ptr defined pointer dcl 1-29 pd_map_sw defined fixed bin(17,0) dcl 1-127 perform_list_ptr defined pointer dcl 1-37 perform_para_index defined fixed bin(17,0) dcl 1-149 perform_sect_index defined fixed bin(17,0) dcl 1-151 priority_no defined fixed bin(17,0) dcl 1-141 ptr_assumption_ind defined fixed bin(17,0) dcl 1-145 ptr_status_ptr defined pointer dcl 1-57 reg_assumption_ind defined fixed bin(17,0) dcl 1-147 reg_status_ptr defined pointer dcl 1-59 reloc_def_base_ptr defined pointer dcl 1-21 reloc_def_max defined fixed bin(24,0) dcl 1-109 reloc_link_base_ptr defined pointer dcl 1-23 reloc_link_max defined fixed bin(24,0) dcl 1-111 reloc_sym_base_ptr defined pointer dcl 1-25 reloc_sym_max defined fixed bin(24,0) dcl 1-113 reloc_text_base_ptr defined pointer dcl 1-19 reloc_text_max defined fixed bin(24,0) dcl 1-107 reloc_work_base_ptr defined pointer dcl 1-27 reloc_work_max defined fixed bin(24,0) dcl 1-115 reswd_ptr defined pointer dcl 1-79 same_sort_merge_proc defined bit(1) dcl 1-215 scratch_dir defined char(168) dcl 1-207 sect_eop_flag defined fixed bin(17,0) dcl 1-137 seg_init_flag defined fixed bin(17,0) dcl 1-133 seg_init_list_ptr defined pointer dcl 1-41 stack_off defined fixed bin(17,0) dcl 1-121 statement_info_ptr defined pointer dcl 1-77 string builtin function dcl 84 sym_base_ptr defined pointer dcl 1-17 sym_max defined fixed bin(17,0) dcl 1-105 sym_wd_off defined fixed bin(17,0) dcl 1-103 tag_table_max defined fixed bin(17,0) dcl 1-167 tag_table_ptr defined pointer dcl 1-53 temp_token_area_ptr defined pointer dcl 1-43 temp_token_max defined fixed bin(17,0) dcl 1-169 temp_token_ptr defined pointer dcl 1-45 text_base_ptr defined pointer dcl 1-9 token_block1_ptr defined pointer dcl 1-47 token_block2_ptr defined pointer dcl 1-49 value_cnt defined fixed bin(17,0) dcl 1-195 ws_charcnt defined fixed bin(17,0) dcl 1-187 ws_wdoff defined fixed bin(17,0) dcl 1-201 xref_bypass defined bit(1) dcl 1-213 xref_chain_ptr defined pointer dcl 1-75 xref_token_ptr defined pointer dcl 1-73 NAMES DECLARED BY EXPLICIT CONTEXT. begin 000213 constant label dcl 140 set ref 134 264 280 begin_op 000604 constant label dcl 264 ref 258 bump_it 000407 constant label dcl 192 ref 205 ck_bndry 000202 constant label dcl 134 ref 129 ck_bndry_op 000573 constant label dcl 258 ref 253 ck_bound 000436 constant label dcl 199 ck_fit 000455 constant label dcl 206 ref 195 199 202 cobol_pool 000153 constant entry external dcl 25 cobol_pool_ 000134 constant entry external dcl 25 error 000677 constant entry internal dcl 293 ref 131 137 209 250 255 261 exit 000511 constant label dcl 219 ref 181 found 000347 constant label dcl 174 ref 162 found_op 000662 constant label dcl 282 ref 270 insert 000464 constant label dcl 211 ref 206 loop 000311 constant label dcl 162 ref 170 loop_op 000621 constant label dcl 270 ref 278 pool_it 000404 constant label dcl 190 ref 172 search_1 000250 constant label dcl 151 search_op 000514 constant entry external dcl 233 search_op_byte 000534 constant entry external dcl 243 start 000167 constant label dcl 125 start_op 000553 constant label dcl 248 ref 237 NAME DECLARED BY CONTEXT OR IMPLICATION. mod builtin function ref 154 183 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1160 1204 1042 1170 Length 1402 1042 24 162 115 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME cobol_pool_ 220 external procedure is an external procedure. error internal procedure shares stack frame of external procedure cobol_pool_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME cobol_pool_ 000100 error_info cobol_pool_ 000163 msg_1 cobol_pool_ 000173 msg_2 cobol_pool_ 000206 msg_3 cobol_pool_ 000220 msg_4 cobol_pool_ 000234 utemp cobol_pool_ 000235 nchar cobol_pool_ 000236 nword cobol_pool_ 000237 word_size cobol_pool_ 000240 char_size cobol_pool_ 000241 end_loc cobol_pool_ 000242 srch_loc cobol_pool_ 000243 found_loc cobol_pool_ 000244 reset_loc cobol_pool_ 000245 no_char cobol_pool_ 000246 char_count cobol_pool_ 000247 start_loc cobol_pool_ 000250 insert_loc cobol_pool_ 000251 char_loc cobol_pool_ 000252 bit_36 cobol_pool_ 000254 con_base_ptr cobol_pool_ 000256 con_wrk_ptr cobol_pool_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_e_as call_ext_out_desc return_mac mdfx1 ext_entry_desc THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. ioa_$rsnnl signal_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. cobol_$con_end_ptr cobol_$con_wd_off cobol_$op_con_ptr cobol_$text_wd_off LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 99 000106 105 000111 106 000114 107 000117 108 000122 25 000127 125 000167 127 000172 128 000173 129 000175 131 000176 132 000201 134 000202 137 000207 138 000212 140 000213 142 000217 143 000222 144 000230 148 000233 150 000242 151 000250 153 000253 154 000256 155 000261 156 000263 157 000265 158 000270 162 000311 165 000324 167 000333 169 000337 170 000341 172 000346 174 000347 176 000352 177 000355 178 000357 179 000363 181 000372 183 000375 184 000401 186 000403 190 000404 192 000407 194 000414 195 000420 197 000433 199 000436 202 000443 204 000451 205 000454 206 000455 209 000460 210 000463 211 000464 213 000467 214 000472 216 000477 217 000504 219 000511 233 000512 236 000530 237 000531 243 000532 247 000550 248 000553 250 000555 252 000564 253 000566 255 000567 256 000572 258 000573 261 000600 262 000603 264 000604 267 000611 269 000617 270 000621 273 000636 275 000643 277 000652 278 000654 280 000661 282 000662 284 000665 286 000674 287 000676 293 000677 298 000710 299 000750 300 001002 301 001004 303 001007 ----------------------------------------------------------- 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