COMPILATION LISTING OF SEGMENT cobol_inspect_gen 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 0949.2 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_inspect_gen.pl1 Added Trace statements. 19* END HISTORY COMMENTS */ 20 21 22 /* Modified on 10/19/84 by FCH, [4.3-1], BUG563(phx18381), new cobol_addr_tokens.incl.pl1 */ 23 /* Modified on 02/13/81 by FCH, cobol_add_gen called with wrong arg count, [4.4-1], BUG463(TR9151) */ 24 /* Modified on 10/10/77 by Bob Chnag to fix the table of substitution. */ 25 /* Modified on 10/06/77 by Bob Chang to fix the bug for replacing optimatization. */ 26 /* Modified on 06/06/77 by Bob Chang to implement further optimization. */ 27 /* Modified on 04/21/77 by Bob Chang to implement optimization for simple cases. */ 28 /* Modified on 03/31/77 by Bob Chang to fix the bug for overpunch data. */ 29 /* Modified on 03/24/77 by ORN to allocate enough stack for tally and replace structures */ 30 /* Modified since Version 2.0 */ 31 32 /* format: style3 */ 33 cobol_inspect_gen: 34 proc (mp_ptr); 35 36 dcl mp_ptr ptr; 37 38 dcl 1 mp based (mp_ptr), 39 2 n fixed bin, 40 2 pt (0 refer (mp.n)) ptr; 41 42 dcl 1 args, 43 2 entryno fixed bin, 44 2 arglist_off fixed bin, 45 2 stacktemp_off fixed bin, 46 2 n fixed bin, 47 2 arg (3), 48 3 pt ptr, 49 3 type fixed bin, 50 3 off1 fixed bin, 51 3 off2 fixed bin, 52 3 value bit (18) unal, 53 3 indirect bit (1) unal, 54 3 overlay bit (1) unal, 55 3 repeat_nogen bit (1) unal; 56 dcl 1 name_arg static, 57 2 pt ptr init (null ()), /* set each time to pt to varying char string containing name of program to be called */ 58 2 type fixed bin init (6), 59 2 zeros bit (108) init (""b); 60 dcl 1 ptr_arg static, 61 2 pt ptr init (null ()), /* always null */ 62 2 type fixed bin init (3), 63 2 off1 fixed bin init (50), 64 2 zeros bit (72) init (""b); 65 dcl 1 tally_arg static, 66 2 pt ptr init (null ()), /* always null */ 67 2 type fixed bin init (3), 68 2 off1 fixed bin, /* set each time to allocated stack location */ 69 2 zeros bit (72) init (""b); 70 71 dcl epp2_instr bit (36) static init ("110000000000000000011101010001000000"b); 72 /* epp2 pr6|- */ 73 dcl spri2_instr bit (36) static init ("110000000000000000010101010001000000"b); 74 /* spri2 pr6|- */ 75 76 dcl 1 pr2_struct static, 77 2 pr fixed bin init (2), 78 2 pointer_no bit (3), 79 2 lock fixed bin init (0), 80 2 switch fixed bin init (0), 81 2 segno fixed bin, 82 2 offset fixed bin, 83 2 reset fixed bin; 84 dcl 1 pr1_struct static, 85 2 pr fixed bin init (1), 86 2 pointer_no bit (3), 87 2 lock fixed bin init (1), 88 2 switch fixed bin init (0), 89 2 segno fixed bin, 90 2 offset fixed bin, 91 2 reset fixed bin; 92 dcl 1 reg_struct static, 93 2 what_reg fixed bin init (1), /* A */ 94 2 reg_no bit (4), 95 2 lock fixed bin init (0), 96 2 already_there fixed bin, 97 2 contains fixed bin init (0), 98 2 pointer ptr init (null ()), 99 2 literal bit (36) init (""b); 100 dcl 1 reg1_struct static, 101 2 what_reg fixed bin init (11), /* x1 */ 102 2 reg_no bit (4), 103 2 lock fixed bin init (1), 104 2 already_there fixed bin, 105 2 contains fixed bin init (0), 106 2 pointer ptr init (null ()), 107 2 literal bit (36) init (""b); 108 109 dcl 1 mpout static, 110 2 n fixed bin init (4), 111 2 pt1 ptr, 112 2 pt2 ptr, 113 2 pt3 ptr, 114 2 pt4 ptr; 115 dcl 1 type19_move static, 116 2 header (4) fixed bin init (38, 0, 0, 19), 117 2 verb fixed bin init (0), 118 2 e fixed bin init (1), 119 2 h fixed bin init (0), 120 2 ij (2) fixed bin init (0, 0), 121 2 abcdfgk bit (16) init ("0000000000000000"b); 122 dcl 1 alpha_type9 static, 123 2 header (4) fixed bin init (112, 0, 0, 9), 124 2 repl_ptr (2) ptr init ((2) null ()), 125 2 fill1 bit (108) init (""b), 126 2 file_key_info, 127 3 fb1 (3) fixed bin init (0, 0, 0), 128 3 size fixed bin init (0), 129 3 fb2 (2) fixed bin init (0, 0), 130 3 flags1 bit (36) init ("000000100100000000010000000100000000"b), 131 3 flags2 bit (36) init (""b), 132 3 seg fixed bin init (1000), 133 3 off fixed bin, 134 2 fill2 (7) fixed bin init (0, 0, 0, 0, 0, 0, 0); 135 dcl 1 type2_static static, 136 2 header (4) fixed bin init (40, 0, 0, 2), 137 2 flags bit (9) init ("000000000"b), 138 2 signs char (2) init (" "), 139 2 places (4) fixed bin init (0, 1, 0, 1), 140 2 lits char (1) init ("1"); 141 dcl 1 type3, 142 2 alignment ptr, /* so as to double word align the space */ 143 2 rest char (26); 144 dcl alpha_char char (112) based (addr (alpha_type9)); 145 dcl type9 char (112); 146 dcl 1 addpout static, 147 2 n fixed bin init (4), 148 2 pt1 ptr, 149 2 pt2 ptr, 150 2 pt3 ptr, 151 2 pt4 ptr; 152 dcl 1 type19_add static, 153 2 header (4) fixed bin init (38, 0, 0, 19), 154 2 verb fixed bin init (2), 155 2 e fixed bin init (1), 156 2 h fixed bin init (1), 157 2 ij (2) fixed bin init (0, 0), 158 2 abcdfgk bit (16) init ("0000000000000000"b); 159 dcl 1 fb35_type9 static, 160 2 header (4) fixed bin init (112, 0, 0, 9), 161 2 repl_ptr (2) ptr init ((2) null ()), 162 2 fill1 bit (108) init (""b), 163 2 file_key_info, 164 3 fb1 (3) fixed bin init (0, 0, 0), 165 3 size fixed bin init (4), 166 3 places_left fixed bin init (4), 167 3 places_right fixed bin init (0), 168 3 flags1 bit (36) init ("000000100100001001000000000000000000"b), 169 3 flags2 bit (36) init (""b), 170 3 seg fixed bin init (1000), 171 3 off fixed bin, 172 2 fill2 (7) fixed bin init (0, 0, 0, 0, 0, 0, 0); 173 dcl lead_inst (4) bit (18) static init ("110000000000000000"b, "010011100001000000"b, 174 /* szn pr6 cnt_off */ 175 "000000000000000000"b, "110000001000000100"b); 176 /* tnz exit_tag */ 177 dcl lxl3_inst (6) bit (18) static init ("110000000000000000"b, "111010011001000000"b, 178 /* lxl3 pr6|cnt_off */ 179 "000000000000000001"b, "000110011000000011"b, 180 /* adx3 1,du */ 181 "110000000000000000"b, "111100011001000000"b); 182 /* stx3 pr6|temp_off */ 183 dcl cmpx_inst (10) bit (18) static init ("110000000000000000"b, "001000001001000000"b, 184 /* cmpx1 pr6|temp_off */ 185 "000000000000000000"b, "110000100100000100"b, 186 /* tmoz exit_tag,ic */ 187 "110000000000000000"b, "001110001001000000"b, 188 /* sbx1 pr6|temp_off */ 189 "110000000000000000"b, "000110010001000000"b, 190 /* sbx2 pr6|temp_of */ 191 "000000000000000000"b, "111001000000000100"b); 192 /* tra scan_tag,ic */ 193 dcl (scan_tag, exit_tag, length_off, cnt_off) 194 fixed bin; 195 dcl ttn bit (36) static init ("000000000000000000110000110100000100"b); 196 /* ttn exit,ic */ 197 dcl scm (8) bit (18) static init ("000000000000000000"b, "001010100101101010"b, 198 /* scm (pr,x2,rl),() */ 199 "001000000000000000"b, "000000000000001001"b, 200 /* pr1|0,x1 */ 201 "000000000000000000"b, "000000000000000000"b, 202 /* sacn chars or offset */ 203 "110000000000000000"b, "000000000001000000"b); 204 /* pr6|tally_count_off */ 205 dcl scd (8) bit (18) static init ("000000000000000000"b, "001010000101101010"b, 206 /* scd (pr,x2,rl),() */ 207 "001000000000000000"b, "000000000000001001"b, 208 /* pr1|0,x1 */ 209 "000000000000000000"b, "000000000000000000"b, 210 /* sacn chars or offset */ 211 "110000000000000000"b, "000000000001000000"b); 212 /* pr6|tally_count_off */ 213 214 dcl lxl_inst (4) bit (18) static init ("110000000000000000"b, "111010001001000000"b, 215 /* lxl1 pr6|length_off */ 216 "000000000000000000"b, "010010010000000011"b); 217 /* ldx2 0,du */ 218 dcl lda_inst (8) bit (18) static init ("110000000000000000"b, "010011101001000000"b, 219 /* lda pr6|length_off */ 220 "000000000000000000"b, "001111101000000111"b, 221 /* sba item_len,dl */ 222 "110000000000000000"b, "001111101001000000"b, 223 /* sba pr6|cnt_off */ 224 "110000000000000000"b, "111101101001000000"b); 225 /* sta pr6|cnt_off */ 226 dcl lca_inst (8) bit (18) static init ("110000000000000000"b, "011011101001000000"b, 227 /* lca pr6|cnt_off */ 228 "000000000000000000"b, "001111101000000111"b, 229 /* sba item_len`sght,dl */ 230 "001000000000000000"b, "101010000101000101"b, 231 /* s9bd pr1|0,al */ 232 "110000000000000000"b, "000101101001000000"b); 233 /* asa pr6|length_off */ 234 dcl before_option fixed bin, 235 after_flag bit (1); 236 dcl (data_len, full_len, prev_scan) 237 fixed bin; 238 239 dcl ptr_off fixed bin static init (50); 240 dcl all_key fixed bin static init (73); 241 dcl characters_key fixed bin static init (83); 242 dcl leading_key fixed bin static init (122); 243 dcl before_key fixed bin static init (80); 244 dcl after_key fixed bin static init (72); 245 dcl first_key fixed bin static init (109); 246 dcl replacing_key fixed bin static init (152); 247 dcl mvt_table char (128); 248 dcl mvt_table_static char (128) static init (" 249  !""#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~"); 250 dcl mvt (4) bit (36); 251 dcl mrl (3) bit (36); 252 dcl mlr (3) bit (36); 253 dcl mlr_tab (3) bit (36) static 254 init ("000000000001000000001000000100000100"b, "000000000000000000000000000010000000"b, 255 "110000000000000000000000000010000000"b); 256 dcl ldx1_inst bit (36) static init ("000000000000000000010010001000000011"b); 257 dcl lxl1_inst bit (36) static init ("110000000000000000111010001001000000"b); 258 dcl argb (3) bit (216) based (addr (args.arg (1))); 259 260 dcl code bit (18) aligned; 261 dcl save_code bit (18) aligned; 262 dcl found bit (1); 263 dcl done bit (1); 264 dcl char1 char (1); 265 dcl char1_bit bit (9) based (addr (char1)); 266 dcl char1_index fixed bin; 267 dcl rn_opt bit (1); 268 dcl tn_opt bit (1); 269 dcl stack_flag fixed bin; 270 dcl opch_flag fixed bin; 271 dcl con_flag fixed bin; 272 dcl conoff fixed bin; 273 dcl i fixed bin; 274 dcl tn fixed bin; 275 dcl rn fixed bin; 276 dcl j fixed bin; 277 dcl tind fixed bin; 278 dcl toutoff fixed bin; 279 dcl temp fixed bin; 280 dcl stoff fixed bin; 281 dcl aloff fixed bin; 282 dcl dn_ptr ptr; 283 dcl input_area char (24); 284 dcl reloc_area char (10); 285 dcl pr2_struct_ptr ptr; 286 dcl arg_ptr ptr; 287 dcl ttp (512) ptr; 288 289 dcl cobol_alloc$stack entry (fixed bin, fixed bin, fixed bin); 290 dcl cobol_pointer_register$priority 291 entry (fixed bin, fixed bin, bit (3)); 292 dcl cobol_make_tagref entry (fixed bin, fixed bin, ptr); 293 dcl cobol_define_tag_nc entry (fixed bin, fixed bin); /*[4.4-1]*/ 294 dcl cobol_add_gen entry (ptr, fixed bin); 295 dcl cobol_emit entry (ptr, ptr, fixed bin); 296 dcl cobol_get_size$omit_sign 297 entry (ptr, fixed bin, fixed bin); 298 dcl cobol_move_gen entry (ptr); 299 dcl cobol_set_pr$omit_sign 300 entry (ptr, ptr); 301 dcl cobol_addr entry (ptr, ptr, ptr); 302 dcl cobol_pool entry (char (*), fixed bin, fixed bin); 303 dcl cobol_register$release 304 entry (ptr); 305 dcl cobol_make_type3$type1 306 entry (ptr, ptr); 307 dcl cobol_call_op entry (fixed bin, fixed bin); 308 dcl cobol_make_type9$type2_3 309 entry (ptr, ptr); 310 dcl cobol_io_util$bin_to_t9dec 311 entry (bit (3) aligned, fixed bin, ptr); 312 dcl cobol_io_util$t9dec_to_bin 313 entry (bit (3) aligned, fixed bin, ptr); 314 dcl cobol_io_util$move_direct 315 entry (bit (3), fixed bin, fixed bin, fixed bin, bit (18) aligned); 316 dcl cobol_reset_r$in_line 317 entry; 318 dcl cobol_register$load entry (ptr); 319 320 /*************************************/ 321 start: 322 call cobol_register$load (addr (reg_struct)); 323 arg_ptr = addr (args); 324 pr2_struct_ptr = addr (pr2_struct); 325 mpout.pt1 = mp.pt (1); 326 mpout.pt4 = addr (type19_move); 327 328 call cobol_alloc$stack (16, 2, stoff); 329 eos_ptr = mp.pt (mp.n); 330 i = 4; 331 if end_stmt.a = "000"b 332 then /* Format 1 */ 333 call tally; 334 else if end_stmt.a = "001"b 335 then do; 336 call replace; 337 end; 338 else do; 339 if end_stmt.b = "0"b | end_stmt.a = "010"b 340 then do; /* BEFORE REPLACING */ 341 call tally; 342 i = i + 1; 343 if end_stmt.a = "011"b 344 then i = i + 1; 345 call replace; 346 end; 347 else do; /* AFTER REPLACING */ 348 found = "0"b; 349 do i = 7 to mp.n - 1 while (^found); 350 if mp.pt (i) -> data_name.type = 1 351 then if mp.pt (i) -> reserved_word.key = replacing_key 352 then do; 353 found = "1"b; 354 i = i + 1; 355 call replace; 356 i = 4; 357 call tally; 358 end; 359 end; 360 end; 361 end; 362 363 call cobol_reset_r$in_line; 364 return; 365 366 367 /*************************************/ 368 /* SUBROUTINES */ 369 /*************************************/ 370 371 tally: 372 proc; 373 call tally_stack_count; 374 if tn_opt 375 then do; 376 call tally_opt; 377 return; 378 end; 379 tind = 1; 380 tn = 0; 381 ttp (1) = mp.pt (i); 382 call cobol_io_util$t9dec_to_bin ("110"b, toutoff, ttp (1)); 383 /* 7/18/76*/ 384 385 /* BUILD THE FOLLOWING STRUCTURE: 386*/* dcl 1 t, 387*/* 2 ssp ptr, 388*/* 2 slen fixed bin, 389*/* 2 n fixed bin, 390*/* 2 tally (0 refer(t.n)), 391*/* 3 ccode fixed bin, /* 0=CHARACTERS, 1=LEADING, 2=ALL */ 392 /* 3 lcode fixed bin, /* 0=unspecified, 1=BEFORE, 2=AFTER */ 393 /* 3 lpos fixed bin, /* char pos to enable after's or disable before's */ 394 /* 3 llen fixed bin, /* length of BEFORE/AFTER string */ 395 /* 3 lsp ptr, /* ptr to BEFORE/AFTER string (if lcode ^= 0) */ 396 /* 3 csp ptr, /* ptr to LEADING/ALL string (if ccode > 0) */ 397 /* 3 clen fixed bin, /* length of LEADING/ALL string */ 398 /* 3 ind fixed bin; tally index */ 399 /**/ 400 restart: 401 done = "0"b; 402 i = i + 1; 403 do while (^done); 404 tn = tn + 1; 405 if mp.pt (i) -> reserved_word.key = characters_key 406 then code = ""b; 407 else do; 408 if mp.pt (i) -> reserved_word.key = leading_key 409 then code = "000000000000000001"b; 410 else code = "000000000000000010"b; /* ALL */ 411 i = i + 1; 412 dn_ptr = mp.pt (i); 413 if data_name.type ^= 9 414 then call get_type9; 415 call store_pr (dn_ptr, 10 + 10 * (tn - 1)); 416 /* t.csp(tn) */ 417 call cobol_get_size$omit_sign (dn_ptr, stoff + 12 + 10 * (tn - 1), 0); 418 /* t.clen(tn) */ 419 end; 420 call cobol_io_util$move_direct ("110"b, 4 * (stoff + 4 + 10 * (tn - 1)), 4, 1, code); 421 /* t.ccode(tn) */ 422 i = i + 1; 423 code = ""b; 424 if mp.pt (i) -> data_name.type = 1 425 then do; 426 if mp.pt (i) -> reserved_word.key = before_key | mp.pt (i) -> reserved_word.key = after_key 427 then do; 428 if mp.pt (i + 1) -> data_name.type = 1 429 then if mp.pt (i + 1) -> reserved_word.key = replacing_key 430 then go to forget_it; 431 if mp.pt (i) -> reserved_word.key = before_key 432 then code = "000000000000000001"b; 433 else code = "000000000000000010"b; 434 i = i + 1; 435 dn_ptr = mp.pt (i); 436 if data_name.type ^= 9 437 then call get_type9; 438 call store_pr (dn_ptr, 8 + 10 * (tn - 1)); 439 /* t.lsp(tn) */ 440 call cobol_get_size$omit_sign (dn_ptr, stoff + 7 + 10 * (tn - 1), 0); 441 /* t.llen(tn) */ 442 i = i + 1; 443 end; 444 end; 445 forget_it: 446 call cobol_io_util$move_direct ("110"b, 4 * (stoff + 5 + 10 * (tn - 1)), 4, 1, code); 447 /* t.lcode(tn) */ 448 code = substr (unspec (tind), 19, 18); 449 call cobol_io_util$move_direct ("110"b, 4 * (stoff + 13 + 10 * (tn - 1)), 4, 1, code); 450 /* t.lcode(tn) */ 451 dn_ptr = mp.pt (i); 452 if data_name.type ^= 1 453 then done = "1"b; 454 else do; 455 temp = dn_ptr -> reserved_word.key; 456 if temp ^= all_key & temp ^= leading_key & temp ^= characters_key 457 then done = "1"b; 458 end; 459 end; 460 if mp.n > i & mp.pt (i) -> data_name.type = 9 461 then do; 462 tind = tind + 1; 463 ttp (tind) = mp.pt (i); 464 call cobol_io_util$t9dec_to_bin ("110"b, toutoff + (tind - 1) * 4, ttp (tind)); 465 goto restart; 466 end; 467 call store_pr (mp.pt (2), 0); /* t.ssp */ 468 call cobol_get_size$omit_sign (mp.pt (2), stoff + 2, 0); 469 /* t.slen */ 470 substr (epp2_instr, 4, 15) = substr (unspec (stoff), 22, 15); 471 code = substr (unspec (tn), 19, 18); 472 call cobol_io_util$move_direct ("110"b, 4 * (stoff + 3), 4, 1, code); 473 /* t.n */ 474 call cobol_emit (addr (epp2_instr), null (), 1); 475 call cobol_call_op (50, 0); 476 do j = 1 to tind; 477 call cobol_io_util$bin_to_t9dec ("110"b, toutoff + (j - 1) * 4, ttp (j)); 478 end; 479 exit_tally: 480 return; 481 482 /* Calculate the stack needed for tallying. */ 483 tally_stack_count: 484 proc; 485 486 dcl j fixed bin; 487 dcl done bit (1); 488 dcl off fixed bin; 489 dcl tn fixed bin; 490 tind = 1; 491 tn = 0; 492 j = i + 1; 493 ; 494 tn_opt = "1"b; 495 try_again: 496 done = "0"b; 497 do while (^done); 498 tn = tn + 1; 499 if tn > 1 500 then tn_opt = "0"b; 501 if mp.pt (j) -> reserved_word.key ^= characters_key 502 then j = j + 1; 503 if tn_opt 504 then do; 505 if mp.pt (j) -> data_name.type ^= 1 506 then do; 507 if mp.pt (j) -> data_name.type = 3 508 then if mp.pt (j) -> alphanum_lit.lit_size > 2 509 then tn_opt = "0"b; 510 else ; 511 else if mp.pt (j) -> data_name.type = 9 512 then do; 513 if mp.pt (j) -> data_name.variable_length 514 | mp.pt (j) -> data_name.item_length > 2 515 then tn_opt = "0"b; 516 end; 517 else tn_opt = "0"b; 518 end; 519 if mp.pt (j + 1) -> data_name.type = 1 520 & (mp.pt (j + 1) -> reserved_word.key = after_key 521 | mp.pt (j + 1) -> reserved_word.key = before_key) 522 then do; 523 if mp.pt (j + 2) -> data_name.type = 1 524 & mp.pt (j + 2) -> reserved_word.key = replacing_key 525 then tn_opt = "0"b; 526 else if mp.pt (j + 2) -> data_name.type = 3 527 then if mp.pt (j + 2) -> alphanum_lit.lit_size > 2 528 then tn_opt = "0"b; 529 else ; 530 else if mp.pt (j + 2) -> data_name.type = 9 531 then do; 532 if mp.pt (j + 2) -> data_name.variable_length 533 | mp.pt (j + 2) -> data_name.item_length > 2 534 then tn_opt = "0"b; 535 end; 536 else tn_opt = "0"b; 537 end; 538 end; 539 j = j + 1; 540 if mp.pt (j) -> data_name.type = 1 541 then do; 542 if mp.pt (j) -> reserved_word.key = before_key | mp.pt (j) -> reserved_word.key = after_key 543 then do; 544 if mp.pt (j + 1) -> data_name.type ^= 1 545 | mp.pt (j + 1) -> reserved_word.key ^= replacing_key 546 then j = j + 2; 547 end; 548 end; 549 if mp.pt (j) -> data_name.type ^= 1 550 | (mp.pt (j) -> reserved_word.key ^= all_key & mp.pt (j) -> reserved_word.key ^= characters_key 551 & mp.pt (j) -> reserved_word.key ^= leading_key) 552 then done = "1"b; 553 end; 554 if mp.pt (j) -> data_name.type = 9 & j < mp.n 555 then do; 556 j = j + 1; 557 tind = tind + 1; 558 goto try_again; 559 end; 560 off = (tind + tn * 10) * 4; 561 toutoff = (stoff + tn * 10 + 4) * 4; 562 if tn > 1 563 then tn_opt = "0"b; 564 if tn_opt 565 then return; 566 call cobol_alloc$stack (off, 2, j); 567 568 exit_tally_stack_count: 569 return; 570 end tally_stack_count; 571 572 /*************************************/ 573 tally_opt: 574 proc; 575 576 577 addpout.pt1 = mp.pt (1); 578 addpout.pt4 = addr (type19_add); 579 if mp.pt (i + 1) -> reserved_word.key = characters_key 580 then do; 581 full_len = 0; 582 if mp.pt (i + 2) -> data_name.type ^= 1 583 then full_len = 1; 584 else if mp.pt (i + 2) -> reserved_word.key ^= after_key 585 & mp.pt (i + 2) -> reserved_word.key ^= before_key 586 then full_len = 1; 587 else if mp.pt (i + 3) -> reserved_word.type = 1 588 then if mp.pt (i + 3) -> reserved_word.key = replacing_key 589 then full_len = 1; 590 if full_len = 1 591 then do; 592 dn_ptr = mp.pt (2); 593 call cobol_alloc$stack (4, 1, length_off); 594 call cobol_get_size$omit_sign (dn_ptr, length_off, 0); 595 fb35_type9.off = length_off * 4; 596 addpout.pt2 = addr (fb35_type9); 597 addpout.pt3 = mp.pt (i); /*[4.4-1]*/ 598 call cobol_add_gen (addr (addpout), 0); 599 end; 600 else do; 601 if mp.pt (i + 2) -> reserved_word.key = after_key 602 then after_flag = "1"b; 603 else after_flag = "0"b; 604 call scan_opt_common (i + 3, data_len, "0"b, "1"b, "1"b, "1"b, "0"b, "0"b, "0"b, after_flag) 605 ; 606 if mp.pt (i + 2) -> reserved_word.key = after_key 607 then do; 608 substr (lda_inst (1), 4, 15) = substr (unspec (length_off), 22, 15); 609 substr (lda_inst (3), 1, 18) = substr (unspec (data_len), 19, 18); 610 substr (lda_inst (5), 4, 15) = substr (unspec (cnt_off), 22, 15); 611 substr (lda_inst (7), 4, 15) = substr (unspec (cnt_off), 22, 15); 612 call cobol_emit (addr (lda_inst (1)), null, 4); 613 end; 614 fb35_type9.off = cnt_off * 4; 615 addpout.pt2 = addr (fb35_type9); 616 addpout.pt3 = mp.pt (i); /*[4.4-1]*/ 617 call cobol_add_gen (addr (addpout), 0); 618 call cobol_define_tag_nc (exit_tag, cobol_$text_wd_off); 619 call cobol_register$release (addr (reg1_struct)); 620 reg1_struct.reg_no = "1010"b; 621 call cobol_register$release (addr (reg1_struct)); 622 end; 623 if full_len = 1 624 then i = i + 2; 625 else i = i + 4; 626 return; 627 end; 628 else do; 629 prev_scan = 1; 630 rw_ptr = mp.pt (i + 3); 631 if reserved_word.type ^= 1 632 then prev_scan = 0; 633 else if reserved_word.key ^= before_key & reserved_word.key ^= after_key 634 then prev_scan = 0; 635 else if mp.pt (i + 4) -> reserved_word.type ^= 1 636 then if mp.pt (i + 4) -> reserved_word.key = replacing_key 637 then prev_scan = 0; 638 if prev_scan = 0 639 then call scan_opt_common (i + 2, data_len, "1"b, "1"b, "1"b, "1"b, "1"b, "0"b, "0"b, "1"b); 640 else do; 641 if mp.pt (i + 3) -> reserved_word.key = after_key 642 then after_flag = "1"b; 643 else after_flag = "0"b; 644 call scan_opt_common (i + 4, data_len, "0"b, "1"b, "1"b, "1"b, "0"b, after_flag, "1"b, 645 after_flag); 646 call scan_opt_common (i + 2, data_len, "1"b, "0"b, "0"b, "0"b, "1"b, "0"b, "0"b, "1"b); 647 end; 648 end; 649 if mp.pt (i + 1) -> reserved_word.key = leading_key 650 then do; 651 substr (lead_inst (1), 4, 15) = substr (unspec (cnt_off), 22, 15); 652 call cobol_emit (addr (lead_inst (1)), null, 2); 653 call cobol_make_tagref (exit_tag, cobol_$text_wd_off - 1, null); 654 end; 655 addpout.pt2 = addr (type2_static); 656 addpout.pt3 = mp.pt (i); /*[4.4-1]*/ 657 call cobol_add_gen (addr (addpout), 0); 658 reg_struct.what_reg = 13; 659 call cobol_register$load (addr (reg_struct)); 660 temp = cnt_off + 1; 661 substr (lxl3_inst (1), 4, 15) = substr (unspec (cnt_off), 22, 15); 662 substr (lxl3_inst (5), 4, 15) = substr (unspec (temp), 22, 15); 663 call cobol_emit (addr (lxl3_inst (1)), null, 3); 664 call cobol_register$release (addr (reg_struct)); 665 reg_struct.what_reg = 1; 666 667 substr (cmpx_inst (1), 4, 15) = substr (unspec (temp), 22, 15); 668 substr (cmpx_inst (5), 4, 15) = substr (unspec (temp), 22, 15); 669 substr (cmpx_inst (7), 4, 15) = substr (unspec (temp), 22, 15); 670 call cobol_emit (addr (cmpx_inst (1)), null, 5); 671 call cobol_make_tagref (exit_tag, cobol_$text_wd_off - 4, null); 672 call cobol_make_tagref (scan_tag, cobol_$text_wd_off - 1, null); 673 call cobol_register$release (addr (reg1_struct)); 674 reg1_struct.reg_no = "1001"b; 675 call cobol_register$release (addr (reg1_struct)); 676 call cobol_define_tag_nc (exit_tag, cobol_$text_wd_off); 677 call cobol_pointer_register$priority (2, 0, "001"b); 678 if prev_scan = 1 679 then i = i + 5; 680 else i = i + 3; 681 exit_tally_opt: 682 return; 683 684 685 686 end tally_opt; 687 /******************************/ 688 689 690 691 end tally; 692 693 694 695 696 /* scan_opt_common */ 697 /****************************************/ 698 scan_opt_common: 699 proc (j, data_len, x2_flag, pr1_flag, len_flag, exit_flag, scan_flag, after_flag, x1_flag, ttn_flag); 700 701 dcl j fixed bin, 702 data_len fixed bin, 703 (x2_flag, pr1_flag, len_flag, after_flag, x1_flag, ttn_flag, exit_flag, scan_flag) 704 bit (1); 705 706 dn_ptr = mp.pt (2); 707 if pr1_flag 708 then do; 709 if data_name.numeric & data_name.item_signed & ^data_name.sign_separate 710 then call opch_move (dn_ptr); 711 call cobol_set_pr$omit_sign (addr (pr1_struct), dn_ptr); 712 end; 713 if len_flag 714 then do; 715 call cobol_alloc$stack (20, 1, length_off); 716 cnt_off = length_off + 1; 717 call cobol_get_size$omit_sign (dn_ptr, length_off, 0); 718 call cobol_register$load (addr (reg1_struct)); 719 reg1_struct.what_reg = 12; 720 call cobol_register$load (addr (reg1_struct)); 721 reg1_struct.what_reg = 11; 722 substr (lxl_inst (1), 4, 15) = substr (unspec (length_off), 22, 15); 723 call cobol_emit (addr (lxl_inst (1)), null, 1); 724 end; 725 if x2_flag 726 then do; 727 call cobol_emit (addr (lxl_inst (3)), null, 1); 728 substr (scm (2), 15, 4) = "1010"b; 729 substr (scd (2), 15, 4) = "1010"b; 730 end; 731 else do; 732 substr (scm (2), 15, 4) = "0000"b; 733 substr (scd (2), 15, 4) = "0000"b; 734 end; 735 if exit_flag 736 then do; 737 exit_tag = cobol_$next_tag; 738 cobol_$next_tag = cobol_$next_tag + 1; 739 end; 740 dn_ptr = mp.pt (j); 741 if data_name.type = 1 742 then do; 743 call cobol_make_type3$type1 (addr (type3), dn_ptr); 744 dn_ptr = addr (type3); 745 end; 746 if data_name.type = 3 747 then do; 748 alit_ptr = dn_ptr; 749 if scan_flag 750 then do; 751 scan_tag = cobol_$next_tag; 752 cobol_$next_tag = cobol_$next_tag + 1; 753 call cobol_define_tag_nc (scan_tag, cobol_$text_wd_off); 754 end; 755 if alphanum_lit.lit_size = 1 756 then do; 757 data_len = 1; 758 substr (lxl3_inst (3), 17, 2) = "01"b; 759 substr (scm (7), 4, 15) = substr (unspec (cnt_off), 22, 15); 760 substr (scm (5), 1, 9) = substr (unspec (alphanum_lit.string), 1, 9); 761 substr (scm (5), 10, 9) = "000000000"b; 762 substr (scm (1), 12, 7) = "0000011"b; 763 call cobol_emit (addr (scm (1)), null, 4); 764 end; 765 else do; 766 data_len = 2; 767 substr (lxl3_inst (3), 17, 2) = "10"b; 768 substr (scd (7), 4, 15) = substr (unspec (cnt_off), 22, 15); 769 substr (scd (1), 12, 7) = "0000011"b; 770 substr (scd (5), 1, 18) = substr (unspec (alphanum_lit.string), 1, 18); 771 call cobol_emit (addr (scd (1)), null, 4); 772 end; 773 end; 774 else do; 775 if data_name.numeric & data_name.item_signed & ^data_name.sign_separate 776 then call opch_move (dn_ptr); 777 mpout.pt2 = dn_ptr; 778 mpout.pt3 = addr (alpha_type9); 779 alpha_type9.off = 4 * length_off + 16; 780 alpha_type9.size = data_name.item_length; 781 call cobol_move_gen (addr (mpout)); 782 alpha_type9.flags1 = "000000100100000000010000000100000000"b; 783 temp = length_off + 4; 784 if scan_flag 785 then do; 786 scan_tag = cobol_$next_tag; 787 cobol_$next_tag = cobol_$next_tag + 1; 788 call cobol_define_tag_nc (scan_tag, cobol_$text_wd_off); 789 end; 790 if data_name.item_length = 1 791 then do; 792 data_len = 1; 793 substr (lxl3_inst (3), 17, 2) = "01"b; 794 substr (scm (5), 1, 3) = "110"b; 795 substr (scm (5), 4, 15) = substr (unspec (temp), 22, 15); 796 substr (scm (7), 4, 15) = substr (unspec (cnt_off), 22, 15); 797 substr (scm (1), 12, 7) = "100000"b; 798 call cobol_emit (addr (scm (1)), null, 4); 799 end; 800 else do; 801 data_len = 2; 802 substr (lxl3_inst (3), 17, 2) = "10"b; 803 substr (scd (5), 1, 3) = "110"b; 804 substr (scd (5), 4, 15) = substr (unspec (temp), 22, 15); 805 substr (scd (7), 4, 15) = substr (unspec (cnt_off), 22, 15); 806 substr (scd (1), 12, 7) = "100000"b; 807 call cobol_emit (addr (scd (1)), null, 4); 808 end; 809 end; 810 if ttn_flag 811 then do; 812 call cobol_emit (addr (ttn), null, 1); 813 call cobol_make_tagref (exit_tag, cobol_$text_wd_off - 1, null); 814 end; 815 816 if after_flag 817 then do; 818 substr (lca_inst (1), 4, 15) = substr (unspec (cnt_off), 22, 15); 819 substr (lca_inst (3), 1, 18) = substr (unspec (data_len), 19, 18); 820 substr (lca_inst (7), 4, 15) = substr (unspec (length_off), 22, 15); 821 call cobol_emit (addr (lca_inst (1)), null, 4); 822 substr (lxl_inst (1), 4, 15) = substr (unspec (length_off), 22, 15); 823 end; 824 else substr (lxl_inst (1), 4, 15) = substr (unspec (cnt_off), 22, 15); 825 if x1_flag 826 then call cobol_emit (addr (lxl_inst (1)), null, 1); 827 828 exit_scan_opt_common: 829 return; 830 end scan_opt_common; 831 /****************************************/ 832 833 834 835 /*************************************/ 836 replace: 837 proc; /* BUILD THE FOLLOWING STRUCTURE: 838*/* dcl 1 r, 839*/* 2 ssp ptr, 840*/* 2 slen fixed bin, 841*/* 2 n fixed bin, 842*/* 2 repl(0 refer(r.n)), 843*/* 3 ccode fixed bin, /* 3=FIRST */ 844 /* 3 lcode fixed bin, 845*/* 3 lpos fixed bin, 846*/* 3 llen fixed bin, 847*/* 3 lsp ptr, 848*/* 3 csp ptr, 849*/* 3 clen fixed bin, 850*/* 3 bsp ptr; /* ptr to BY string (length must = clen) */ 851 /**/ 852 rn = 0; 853 save_code = ""b; 854 call replacing_stack_count; 855 if rn_opt 856 then do; 857 call repl_opt; 858 return; 859 end; 860 do while (mp.pt (i) -> data_name.type ^= 19); 861 rn = rn + 1; 862 dn_ptr = mp.pt (i); 863 if data_name.type = 1 864 then do; /* may be key-word or a fig-con */ 865 rw_ptr = dn_ptr; 866 if reserved_word.key = characters_key 867 then save_code = ""b; 868 else do; 869 if reserved_word.key = leading_key 870 then save_code = "000000000000000001"b; 871 else if reserved_word.key = all_key 872 then save_code = "000000000000000010"b; 873 else if reserved_word.key = first_key 874 then save_code = "000000000000000011"b; 875 else i = i - 1; /* fig-con, save_code will have been set */ 876 i = i + 1; 877 dn_ptr = mp.pt (i); 878 if data_name.type ^= 9 879 then call get_type9; 880 call store_pr (dn_ptr, 10 + 12 * (rn - 1)); 881 /* r.csp(rn) */ 882 call cobol_get_size$omit_sign (dn_ptr, stoff + 12 + 12 * (rn - 1), 0); 883 /* r.clen(rn) */ 884 end; 885 end; 886 else do; 887 if data_name.type ^= 9 888 then call get_type9; 889 call store_pr (dn_ptr, 10 + 12 * (rn - 1)); 890 /*r.csp(rn) */ 891 call cobol_get_size$omit_sign (dn_ptr, stoff + 12 + 12 * (rn - 1), 0); 892 /* r.clen(rn) */ 893 end; 894 call cobol_io_util$move_direct ("110"b, 4 * (stoff + 4 + 12 * (rn - 1)), 4, 1, save_code); 895 /* r.ccode(rn) */ 896 i = i + 1; 897 dn_ptr = mp.pt (i); 898 if data_name.type ^= 9 899 then call get_type9; 900 call store_pr (dn_ptr, 14 + 12 * (rn - 1)); /* r.bsp(rn) */ 901 i = i + 1; 902 code = ""b; 903 if mp.pt (i) -> data_name.type = 1 904 then do; 905 if mp.pt (i) -> reserved_word.key = before_key | mp.pt (i) -> reserved_word.key = after_key 906 then do; 907 if mp.pt (i) -> reserved_word.key = before_key 908 then code = "000000000000000001"b; 909 else code = "000000000000000010"b; 910 i = i + 1; 911 dn_ptr = mp.pt (i); 912 if data_name.type ^= 9 913 then call get_type9; 914 call store_pr (dn_ptr, 8 + 12 * (rn - 1)); 915 /* r.lsp(rn) */ 916 call cobol_get_size$omit_sign (dn_ptr, stoff + 7 + 12 * (rn - 1), 0); 917 /* r.llen(rn) */ 918 i = i + 1; 919 end; 920 end; 921 call cobol_io_util$move_direct ("110"b, 4 * (stoff + 5 + 12 * (rn - 1)), 4, 1, code); 922 /* r.lcode(rn) */ 923 end; 924 dn_ptr = mp.pt (2); 925 call store_pr (dn_ptr, 0); 926 call cobol_get_size$omit_sign (mp.pt (2), stoff + 2, 0); 927 /* r.slen */ 928 code = substr (unspec (rn), 19, 18); 929 call cobol_io_util$move_direct ("110"b, 4 * (stoff + 3), 4, 1, code); 930 /* r.n */ 931 substr (epp2_instr, 4, 15) = substr (unspec (stoff), 22, 15); 932 call cobol_emit (addr (epp2_instr), null (), 1); 933 call cobol_call_op (51, 0); 934 if mp.pt (2) -> data_name.numeric & mp.pt (2) -> data_name.item_signed & ^mp.pt (2) -> data_name.sign_separate 935 then do; 936 mpout.pt2 = addr (alpha_type9); 937 mpout.pt3 = mp.pt (2); 938 call cobol_move_gen (addr (mpout)); 939 end; 940 return; 941 942 943 /* Calculate replacing stack frame requirement. */ 944 replacing_stack_count: 945 proc; 946 947 dcl j fixed bin; 948 dcl (all_option, leading_option) 949 fixed bin; 950 dcl k fixed bin; 951 dcl rn fixed bin; 952 953 all_option, leading_option, before_option = 0; 954 rn = 0; 955 rn_opt = "1"b; 956 con_flag = 1; 957 j = i; 958 do while (mp.pt (j) -> data_name.type ^= 19); 959 rn = rn + 1; 960 if mp.pt (j) -> data_name.type = 1 961 then do; 962 if mp.pt (j) -> reserved_word.key = leading_key | mp.pt (j) -> reserved_word.key = first_key 963 | mp.pt (j) -> reserved_word.key = characters_key 964 then leading_option = leading_option + 1; 965 else if mp.pt (j) -> reserved_word.key = all_key 966 then all_option = all_option + 1; 967 if mp.pt (j) -> reserved_word.key ^= characters_key 968 then do; 969 if mp.pt (j) -> reserved_word.key = leading_key 970 | mp.pt (j) -> reserved_word.key = all_key 971 | mp.pt (j) -> reserved_word.key = first_key 972 then j = j + 1; 973 end; 974 end; 975 do k = 1 to 2; 976 if mp.pt (j) -> data_name.type = 3 977 then if mp.pt (j) -> alphanum_lit.lit_size ^= 1 978 then rn_opt = "0"b; 979 else ; 980 else if mp.pt (j) -> data_name.type = 9 981 then if (mp.pt (j) -> data_name.item_length ^= 1 | mp.pt (j) -> data_name.variable_length = "1"b) 982 then rn_opt = "0"b; 983 if rn_opt 984 then if mp.pt (j) -> data_name.type = 9 985 then con_flag = 0; 986 j = j + 1; 987 end; 988 if mp.pt (j) -> data_name.type = 1 989 then do; 990 if mp.pt (j) -> reserved_word.key = before_key | mp.pt (j) -> reserved_word.key = after_key 991 then do; 992 if mp.pt (j + 1) -> data_name.type = 3 993 then if mp.pt (j + 1) -> alphanum_lit.lit_size > 2 994 then rn_opt = "0"b; 995 else ; 996 else if mp.pt (j + 1) -> data_name.type = 9 997 then if (mp.pt (j + 1) -> data_name.item_length > 2 998 | mp.pt (j + 1) -> data_name.variable_length = "1"b) 999 then rn_opt = "0"b; 1000 else rn_opt = "0"b; 1001 j = j + 2; 1002 before_option = before_option + 1; 1003 end; 1004 end; 1005 end; 1006 if rn_opt 1007 then do; 1008 if (leading_option ^= 0 | (before_option ^= 0 & all_option > 1)) 1009 then rn_opt = "0"b; 1010 else if (before_option ^= 0 & rn > 1) 1011 then rn_opt = "0"b; 1012 else return; 1013 end; 1014 call cobol_alloc$stack (48 * rn, 2, j); 1015 exit_replacing_stack_count: 1016 return; 1017 end replacing_stack_count; 1018 1019 1020 /* Generate on line instructions for optimatization of replacing single cahracter. */ 1021 repl_opt: 1022 proc; 1023 1024 dcl j fixed bin; 1025 dcl length_off fixed bin; 1026 dcl k fixed bin; 1027 1028 i = i + 1; 1029 mvt_table = mvt_table_static; 1030 input_ptr = addr (input_area); 1031 reloc_ptr = addr (reloc_area); 1032 input_struc.type = 5; 1033 input_struc.operand_no = 2; 1034 input_struc.lock = 0; 1035 input_struc.size_sw (1) = 0; 1036 input_struc.size_sw (2) = 0; 1037 if before_option ^= 0 1038 then k = mp.n - 3; 1039 else k = mp.n - 1; 1040 if con_flag = 1 1041 then do; 1042 stack_flag = 0; 1043 do j = k to i by -1; 1044 if mp.pt (j) -> reserved_word.key = all_key 1045 then j = j - 1; 1046 j = j - 1; 1047 alit_ptr = mp.pt (j); 1048 if alphanum_lit.type = 1 1049 then do; 1050 call cobol_make_type3$type1 (addr (type3), alit_ptr); 1051 alit_ptr = addr (type3); 1052 end; 1053 char1 = substr (alphanum_lit.string, 1, 1); 1054 char1_index = fixed (char1_bit) + 1; 1055 alit_ptr = mp.pt (j + 1); 1056 if alphanum_lit.type = 1 1057 then do; 1058 call cobol_make_type3$type1 (addr (type3), alit_ptr); 1059 alit_ptr = addr (type3); 1060 end; 1061 substr (mvt_table, char1_index, 1) = substr (alphanum_lit.string, 1, 1); 1062 end; 1063 call cobol_pool (mvt_table, 2, conoff); 1064 substr (mvt (4), 19, 18) = "000000000000000100"b; 1065 end; 1066 else do; 1067 stack_flag = 1; 1068 call cobol_alloc$stack (132, 2, length_off); 1069 call cobol_register$load (addr (reg1_struct)); 1070 call cobol_pool (mvt_table_static, 2, conoff); 1071 temp = -conoff - cobol_$text_wd_off; 1072 substr (mlr_tab (2), 1, 18) = substr (unspec (temp), 19, 18); 1073 substr (mlr_tab (3), 4, 15) = substr (unspec (length_off), 22, 15); 1074 call cobol_emit (addr (mlr_tab (1)), null, 3); 1075 do j = k to i by -1; 1076 if mp.pt (j) -> reserved_word.key = all_key 1077 then j = j - 1; 1078 j = j - 1; 1079 if mp.pt (j) -> data_name.type ^= 9 1080 then do; 1081 alit_ptr = mp.pt (j); 1082 if alphanum_lit.type = 1 1083 then do; 1084 call cobol_make_type3$type1 (addr (type3), alit_ptr); 1085 alit_ptr = addr (type3); 1086 end; 1087 substr (ldx1_inst, 10, 9) = substr (unspec (alphanum_lit.string), 1, 9); 1088 call cobol_emit (addr (ldx1_inst), null, 1); 1089 end; 1090 else do; 1091 input_struc.token_ptr (1) = mp.pt (j); 1092 if mp.pt (j) -> data_name.item_signed 1093 then call opch_move (input_struc.token_ptr (1)); 1094 alpha_type9.off = length_off * 4 + 130; 1095 alpha_type9.size = 2; 1096 input_struc.token_ptr (2) = addr (alpha_type9); 1097 call cobol_addr (input_ptr, addr (mrl (1)), reloc_ptr); 1098 substr (mrl (1), 19, 10) = "0010000011"b; 1099 substr (mrl (2), 21, 8) = "00000000"b; 1100 substr (mrl (3), 21, 12) = "0000000000"b; 1101 call cobol_emit (addr (mrl (1)), reloc_ptr, 3); 1102 temp = length_off + 32; 1103 substr (lxl1_inst, 4, 15) = substr (unspec (temp), 22, 15); 1104 call cobol_emit (addr (lxl1_inst), null, 1); 1105 end; 1106 if mp.pt (j + 1) -> data_name.type ^= 9 1107 then do; 1108 dn_ptr = mp.pt (j + 1); 1109 if mp.pt (j + 1) -> data_name.type = 1 1110 then do; 1111 call cobol_make_type3$type1 (addr (type3), dn_ptr); 1112 dn_ptr = addr (type3); 1113 end; 1114 call cobol_make_type9$type2_3 (addr (type9), dn_ptr); 1115 input_struc.token_ptr (1) = addr (type9); 1116 end; 1117 else input_struc.token_ptr (1) = mp.pt (j + 1); 1118 if mp.pt (j + 1) -> data_name.item_signed 1119 then call opch_move (input_struc.token_ptr (1)); 1120 input_struc.token_ptr (2) = addr (alpha_type9); 1121 alpha_type9.off = length_off * 4; 1122 alpha_type9.size = 1; 1123 substr (mlr (1), 19, 10) = "0010000001"b; 1124 call cobol_addr (input_ptr, addr (mlr (1)), reloc_ptr); 1125 substr (mlr (1), 15, 4) = "1001"b; 1126 substr (mlr (2), 21, 8) = "00000000"b; 1127 call cobol_emit (addr (mlr (1)), reloc_ptr, 3); 1128 end; 1129 substr (mvt (4), 4, 15) = substr (unspec (length_off), 22, 15); 1130 substr (mvt (4), 1, 3) = "110"b; 1131 substr (mvt (4), 19, 18) = "000000000001000000"b; 1132 reg1_struct.lock = 0; 1133 call cobol_register$release (addr (reg1_struct)); 1134 reg1_struct.lock = 1; 1135 end; 1136 substr (mvt (1), 19, 10) = "0011100001"b; 1137 if before_option ^= 0 1138 then do; 1139 if mp.pt (mp.n - 2) -> reserved_word.key = before_key 1140 then after_flag = "0"b; 1141 else after_flag = "1"b; 1142 call scan_opt_common (mp.n - 1, k, "0"b, "1"b, "1"b, "1"b, "0"b, after_flag, "1"b, after_flag); 1143 mvt (1) = "000000000001100000001110000101100000"b; 1144 mvt (2) = "001000000000000000000000000000001001"b; 1145 mvt (3) = "001000000000000000000000000000001001"b; 1146 if stack_flag = 0 1147 then do; 1148 temp = -conoff - cobol_$text_wd_off; 1149 substr (mvt (4), 1, 18) = substr (unspec (temp), 19, 18); 1150 end; 1151 call cobol_emit (addr (mvt (1)), null, 4); 1152 if mp.pt (2) -> data_name.numeric & mp.pt (2) -> data_name.item_signed 1153 & ^mp.pt (2) -> data_name.sign_separate 1154 then do; 1155 alpha_type9.seg = 5001; 1156 alpha_type9.off = 0; 1157 mpout.pt2 = addr (alpha_type9); 1158 mpout.pt3 = mp.pt (2); 1159 call cobol_move_gen (addr (mpout)); 1160 end; 1161 call cobol_define_tag_nc (exit_tag, cobol_$text_wd_off); 1162 end; 1163 else do; 1164 input_struc.token_ptr (1) = mp.pt (2); 1165 if mp.pt (2) -> data_name.numeric & mp.pt (2) -> data_name.item_signed 1166 & ^mp.pt (2) -> data_name.sign_separate 1167 then do; 1168 call opch_move (input_struc.token_ptr (1)); 1169 opch_flag = 1; 1170 end; 1171 else opch_flag = 0; 1172 if input_struc.token_ptr (1) -> data_name.numeric 1173 then input_struc.token_ptr (1) -> data_name.alphanum = "1"b; 1174 input_struc.token_ptr (2) = input_struc.token_ptr (1); 1175 call cobol_addr (input_ptr, addr (mvt (1)), reloc_ptr); 1176 if stack_flag = 0 1177 then do; 1178 temp = -conoff - cobol_$text_wd_off; 1179 substr (mvt (4), 1, 18) = substr (unspec (temp), 19, 18); 1180 end; 1181 call cobol_emit (addr (mvt (1)), reloc_ptr, 4); 1182 if input_struc.token_ptr (1) -> data_name.numeric 1183 then input_struc.token_ptr (1) -> data_name.alphanum = "0"b; 1184 if opch_flag = 1 1185 then do; 1186 mpout.pt2 = input_struc.token_ptr (1); 1187 mpout.pt3 = mp.pt (2); 1188 call cobol_move_gen (addr (mpout)); 1189 end; 1190 end; 1191 exit_repl_opt: 1192 return; 1193 end repl_opt; 1194 1195 1196 1197 end replace; 1198 1199 1200 /*************************************/ 1201 store_pr: 1202 proc (t9ptr, off); 1203 dcl i fixed bin; 1204 dcl t9ptr ptr; 1205 dcl off fixed bin; 1206 1207 if t9ptr -> data_name.numeric & t9ptr -> data_name.item_signed & ^t9ptr -> data_name.sign_separate 1208 then call opch_move (t9ptr); 1209 call cobol_set_pr$omit_sign (pr2_struct_ptr, t9ptr); 1210 temp = stoff + off; 1211 substr (spri2_instr, 4, 15) = substr (unspec (temp), 22, 15); 1212 call cobol_emit (addr (spri2_instr), null (), 1); 1213 return; 1214 end store_pr; 1215 1216 /************************************/ 1217 opch_move: 1218 proc (t9ptr); 1219 dcl t9ptr ptr; 1220 dcl i fixed bin; 1221 mpout.pt2 = t9ptr; 1222 mpout.pt3 = addr (alpha_type9); 1223 alpha_type9.size = t9ptr -> data_name.item_length; 1224 call cobol_alloc$stack (alpha_type9.size, 1, i); 1225 alpha_type9.off = i * 4; 1226 call cobol_move_gen (addr (mpout)); 1227 type9 = alpha_char; 1228 t9ptr = addr (type9); 1229 alpha_type9.flags1 = "000000100100000000010000000100000000"b; 1230 return; 1231 end opch_move; 1232 1233 1234 1235 /*************************************/ 1236 get_type9: 1237 proc; 1238 if data_name.type = 1 1239 then do; 1240 call cobol_make_type3$type1 (addr (type3), dn_ptr); 1241 dn_ptr = addr (type3); 1242 end; 1243 if data_name.type ^= 9 1244 then do; 1245 call cobol_make_type9$type2_3 (addr (type9), dn_ptr); 1246 dn_ptr = addr (type9); 1247 end; 1248 return; 1249 end get_type9; 1250 1251 1252 /*************************************/ 1 1 1 2 /* BEGIN INCLUDE FILE ... cobol_type1.incl.pl1 */ 1 3 /* Last modified on 11/19/76 by ORN */ 1 4 1 5 /* 1 6*A reserved word token is created in the minpral files for each occurrence 1 7*of a reserved word in the source program. The value of the key field 1 8*indicates the specific reserved word which a type 1 token represents. 1 9**/ 1 10 1 11 dcl rw_ptr ptr; 1 12 1 13 /* BEGIN DECLARATION OF TYPE1 (RESERVED WORD) TOKEN */ 1 14 dcl 1 reserved_word based (rw_ptr), 2 1 2 2 /* begin include file ... cobol_TYPE1.incl.pl1 */ 2 3 /* Last modified on 11/17/76 by ORN */ 2 4 /* Last modified on 12/28/76 by FCH */ 2 5 /* Last modified on 12/16/80 by FCH */ 2 6 2 7 /* header */ 2 8 2 size fixed bin, 2 9 2 line fixed bin, 2 10 2 column fixed bin, 2 11 2 type fixed bin, 2 12 /* body */ 2 13 2 key fixed bin, 2 14 /* procedure division class bits */ 2 15 2 verb bit (1), 2 16 2 arith_op bit (1), 2 17 2 figcon bit (1), 2 18 2 terminator bit (1), 2 19 2 end_dec bit (1), 2 20 2 rel_op bit (1), 2 21 2 imper_verb bit (1), 2 22 2 end_cobol bit (1), 2 23 /* data division class bits */ 2 24 2 section_header bit (1), 2 25 2 fs_ind bit (1), 2 26 2 fd_clause bit (1), 2 27 2 dd_clause bit (1), 2 28 2 cd_input bit (1), 2 29 2 cd_output bit (1), 2 30 2 cset_name bit (1), 2 31 2 ss_division bit (1), 2 32 2 repl_jump_ind bit (4), 2 33 2 ided_recovery bit (1), 2 34 2 report_writer bit (5), 2 35 2 ss_desc_entry bit (1), 2 36 2 jump_index fixed bin, 2 37 2 length fixed bin, 2 38 2 name char(0 refer(reserved_word.length)); 2 39 2 40 2 41 2 42 /* end include file ... cobol_TYPE1.incl.pl1 */ 2 43 1 15 1 16 /* END DECLARATION OF TYPE1 (RESERVED WORD) TOKEN */ 1 17 1 18 /* END INCLUDE FILE ... cobol_type1.incl.pl1 */ 1 19 1253 3 1 3 2 /* BEGIN INCLUDE FILE ... cobol_type2.incl.pl1 */ 3 3 /* Last modified on 11/19/76 by ORN */ 3 4 3 5 /* 3 6*A type 2 numeric literal token is entered into the minpral file by the 3 7*lexical analysis phase for each numeric literal encountered in the source 3 8*program. 3 9**/ 3 10 3 11 dcl nlit_ptr ptr; 3 12 3 13 /* BEGIN DECLARATION OF TYPE2 (NUMERIC LITERAL) TOKEN */ 3 14 dcl 1 numeric_lit based (nlit_ptr), 4 1 4 2 /* begin include file ... cobol_TYPE2.incl.pl1 */ 4 3 /* Last modified on 12/28/76 by FCH */ 4 4 4 5 /* header */ 4 6 2 size fixed bin, 4 7 2 line fixed bin, 4 8 2 column fixed bin, 4 9 2 type fixed bin, 4 10 /* body */ 4 11 2 integral bit(1), 4 12 2 floating bit(1), 4 13 2 seg_range bit(1), 4 14 2 filler1 bit(4), 4 15 2 subscript bit(1), 4 16 2 sign char(1), 4 17 2 exp_sign char(1), 4 18 2 exp_places fixed bin, 4 19 2 places_left fixed bin, 4 20 2 places_right fixed bin, 4 21 2 places fixed bin, 4 22 2 literal char(0 refer(numeric_lit.places)); 4 23 4 24 4 25 4 26 /* end include file ... cobol_TYPE2.incl.pl1 */ 4 27 3 15 3 16 /* END DECLARATION OF TYPE2 (NUMERIC LITERAL) TOKEN */ 3 17 3 18 /* END INCLUDE FILE ... cobol_type2.incl.pl1 */ 3 19 1254 5 1 5 2 /* BEGIN INCLUDE FILE ... cobol_type3.incl.pl1 */ 5 3 /* Last modified on 11/19/76 by ORN */ 5 4 5 5 /* 5 6*A type 3 alphanumeric literal token is entered into the minpral file by the 5 7*lexical analysis phase for each alphanumeric literal encountered in the 5 8*source program. 5 9**/ 5 10 5 11 dcl alit_ptr ptr; 5 12 5 13 /* BEGIN DECLARATION OR TYPE3 (ALPHANUMERIC LITERAL) TOKEN */ 5 14 dcl 1 alphanum_lit based (alit_ptr), 6 1 6 2 /* begin include file ... cobol_TYPE3.incl.pl1 */ 6 3 /* Last modified on 11/17/76 by ORN */ 6 4 /* Last modified on 12/28/76 by FCH */ 6 5 6 6 /* header */ 6 7 2 size fixed bin, 6 8 2 line fixed bin, 6 9 2 column fixed bin, 6 10 2 type fixed bin, 6 11 /* body */ 6 12 2 lit_type bit (1), 6 13 2 all_lit bit (1), 6 14 2 filler1 bit (6), 6 15 2 lit_size fixed bin, 6 16 2 string char(0 refer(alphanum_lit.lit_size)); 6 17 6 18 6 19 6 20 /* end include file ... cobol_TYPE3.incl.pl1 */ 6 21 5 15 5 16 /* END DECLARATION OF TYPE3 (ALPHANUMERIC LITERAL) TOKEN */ 5 17 5 18 /* END INCLUDE FILE ... cobol_type3.incl.pl1 */ 5 19 1255 7 1 7 2 /* BEGIN INCLUDE FILE ... cobol_type9.incl.pl1 */ 7 3 /* Last modified on 11/19/76 by ORN */ 7 4 7 5 /* 7 6*A type 9 data name token is entered into the name table by the data 7 7*division syntax phase for each data name described in the data division. 7 8*The replacement phase subsequently replaces type 8 user word references 7 9*to data names in the procedure division minpral file with the corresponding 7 10*type 9 tokens from the name table. 7 11**/ 7 12 7 13 /* dcl dn_ptr ptr; */ 7 14 7 15 /* BEGIN DECLARATION OF TYPE9 (DATA NAME) TOKEN */ 7 16 dcl 1 data_name based (dn_ptr), 8 1 8 2 /* begin include file ... cobol_TYPE9.incl.pl1 */ 8 3 /* Last modified on 06/19/77 by ORN */ 8 4 /* Last modified on 12/28/76 by FCH */ 8 5 8 6 /* header */ 8 7 2 size fixed bin, 8 8 2 line fixed bin, 8 9 2 column fixed bin, 8 10 2 type fixed bin, 8 11 /* body */ 8 12 2 string_ptr ptr, 8 13 2 prev_rec ptr, 8 14 2 searched bit (1), 8 15 2 duplicate bit (1), 8 16 2 saved bit (1), 8 17 2 debug_ind bit (1), 8 18 2 filler2 bit (3), 8 19 2 used_as_sub bit (1), 8 20 2 def_line fixed bin, 8 21 2 level fixed bin, 8 22 2 linkage fixed bin, 8 23 2 file_num fixed bin, 8 24 2 size_rtn fixed bin, 8 25 2 item_length fixed bin(24), 8 26 2 places_left fixed bin, 8 27 2 places_right fixed bin, 8 28 /* description */ 8 29 2 file_section bit (1), 8 30 2 working_storage bit (1), 8 31 2 constant_section bit (1), 8 32 2 linkage_section bit (1), 8 33 2 communication_section bit (1), 8 34 2 report_section bit (1), 8 35 2 level_77 bit (1), 8 36 2 level_01 bit (1), 8 37 2 non_elementary bit (1), 8 38 2 elementary bit (1), 8 39 2 filler_item bit (1), 8 40 2 s_of_rdf bit (1), 8 41 2 o_of_rdf bit (1), 8 42 2 bin_18 bit (1), 8 43 2 bin_36 bit (1), 8 44 2 pic_has_l bit (1), 8 45 2 pic_is_do bit (1), 8 46 2 numeric bit (1), 8 47 2 numeric_edited bit (1), 8 48 2 alphanum bit (1), 8 49 2 alphanum_edited bit (1), 8 50 2 alphabetic bit (1), 8 51 2 alphabetic_edited bit (1), 8 52 2 pic_has_p bit (1), 8 53 2 pic_has_ast bit (1), 8 54 2 item_signed bit(1), 8 55 2 sign_separate bit (1), 8 56 2 display bit (1), 8 57 2 comp bit (1), 8 58 2 ascii_packed_dec_h bit (1), /* as of 8/16/76 this field used for comp8. */ 8 59 2 ascii_packed_dec bit (1), 8 60 2 ebcdic_packed_dec bit (1), 8 61 2 bin_16 bit (1), 8 62 2 bin_32 bit (1), 8 63 2 usage_index bit (1), 8 64 2 just_right bit (1), 8 65 2 compare_argument bit (1), 8 66 2 sync bit (1), 8 67 2 temporary bit (1), 8 68 2 bwz bit (1), 8 69 2 variable_length bit (1), 8 70 2 subscripted bit (1), 8 71 2 occurs_do bit (1), 8 72 2 key_a bit (1), 8 73 2 key_d bit (1), 8 74 2 indexed_by bit (1), 8 75 2 value_numeric bit (1), 8 76 2 value_non_numeric bit (1), 8 77 2 value_signed bit (1), 8 78 2 sign_type bit (3), 8 79 2 pic_integer bit (1), 8 80 2 ast_when_zero bit (1), 8 81 2 label_record bit (1), 8 82 2 sign_clause_occurred bit (1), 8 83 2 okey_dn bit (1), 8 84 2 subject_of_keyis bit (1), 8 85 2 exp_redefining bit (1), 8 86 2 sync_in_rec bit (1), 8 87 2 rounded bit (1), 8 88 2 ad_bit bit (1), 8 89 2 debug_all bit (1), 8 90 2 overlap bit (1), 8 91 2 sum_counter bit (1), 8 92 2 exp_occurs bit (1), 8 93 2 linage_counter bit (1), 8 94 2 rnm_01 bit (1), 8 95 2 aligned bit (1), 8 96 2 not_user_writable bit (1), 8 97 2 database_key bit (1), 8 98 2 database_data_item bit (1), 8 99 2 seg_num fixed bin, 8 100 2 offset fixed bin(24), 8 101 2 initial_ptr fixed bin, 8 102 2 edit_ptr fixed bin, 8 103 2 occurs_ptr fixed bin, 8 104 2 do_rec char(5), 8 105 2 bitt bit (1), 8 106 2 byte bit (1), 8 107 2 half_word bit (1), 8 108 2 word bit (1), 8 109 2 double_word bit (1), 8 110 2 half_byte bit (1), 8 111 2 filler5 bit (1), 8 112 2 bit_offset bit (4), 8 113 2 son_cnt bit (16), 8 114 2 max_red_size fixed bin(24), 8 115 2 name_size fixed bin, 8 116 2 name char(0 refer(data_name.name_size)); 8 117 8 118 8 119 8 120 /* end include file ... cobol_TYPE9.incl.pl1 */ 8 121 7 17 7 18 /* END DECLARATION OF TYPE9 (DATA NAME) TOKEN */ 7 19 7 20 /* END INCLUDE FILE ... cobol_type9.incl.pl1 */ 7 21 1256 9 1 9 2 /* BEGIN INCLUDE FILE ... cobol_type19.incl.pl1 */ 9 3 /* last modified on 11/19/76 by ORN */ 9 4 9 5 /* 9 6*A type 19 end of statement token is created in the procedure division 9 7*minpral file at the end of each minpral statement generated by the 9 8*procedure division syntax phase. A minpral statement may be a complete or 9 9*partial source language statement. A type 19 token contains information 9 10*describing the statement which it delimits. 9 11**/ 9 12 9 13 dcl eos_ptr ptr; 9 14 9 15 /* BEGIN DECLARATION OF TYPE19 (END STATEMENT) TOKEN */ 9 16 dcl 1 end_stmt based (eos_ptr), 10 1 10 2 /* begin include file ... cobol_TYPE19.incl.pl1 */ 10 3 /* Last modified on 11/17/76 by ORN */ 10 4 10 5 /* header */ 10 6 2 size fixed bin, 10 7 2 line fixed bin, 10 8 2 column fixed bin, 10 9 2 type fixed bin, 10 10 /* body */ 10 11 2 verb fixed bin, 10 12 2 e fixed bin, 10 13 2 h fixed bin, 10 14 2 i fixed bin, 10 15 2 j fixed bin, 10 16 2 a bit (3), 10 17 2 b bit (1), 10 18 2 c bit (1), 10 19 2 d bit (2), 10 20 2 f bit (2), 10 21 2 g bit (2), 10 22 2 k bit (5), 10 23 2 always_an bit (1); 10 24 10 25 /* end include file ... cobol_TYPE19.incl.pl1 */ 10 26 9 17 9 18 /* END DECLARATION OF TYPE19 (END STATEMENT) TOKEN */ 9 19 9 20 /* 9 21*FIELD CONTENTS 9 22* 9 23*size The total size in bytes of this end of statement token. 9 24*line 0 9 25*column 0 9 26*type 19 9 27*verb A value indicating the verb in this statement 9 28* 1 = accept 9 29* 2 = add 9 30* 3 = on size error 9 31* 4 = alter 9 32* 5 = call 9 33* 7 = cancel 9 34* 8 = close 9 35* 9 = divide 9 36* 10 = multiply 9 37* 11 = subtract 9 38* 12 = exit 9 39* 14 = go 9 40* 15 = merge 9 41* 16 = initiate 9 42* 17 = inspect 9 43* 18 = move 9 44* 19 = open 9 45* 20 = perform 9 46* 21 = read 9 47* 23 = receive 9 48* 24 = release 9 49* 25 = return 9 50* 26 = search 9 51* 27 = rewrite 9 52* 29 = seek 9 53* 30 = send 9 54* 31 = set 9 55* 33 = stop 9 56* 34 = string 9 57* 35 = suspend 9 58* 36 = terminate 9 59* 37 = unstring 9 60* 38 = write 9 61* 39 = use 9 62* 40 = compute 9 63* 41 = disable 9 64* 42 = display 9 65* 43 = enable 9 66* 45 = generate 9 67* 46 = hold 9 68* 48 = process 9 69* 49 = sort 9 70* 52 = procedure 9 71* 53 = declaratives 9 72* 54 = section name 9 73* 55 = paragraph name 9 74* 98 = end 9 75*e,h,i,j The significance of these fields differs with each 9 76* statement. These fields are normally used as counters. 9 77*a,b,c,d,f,g,k The significance of these fields differs with each 9 78* statement. These fields are normally used as indicators. 9 79**/ 9 80 9 81 /* END INCLUDE FILE ... cobol_type19.incl.pl1 */ 9 82 1257 11 1 11 2 /* BEGIN INCLUDE FILE ... cobol_.incl.pl1 */ 11 3 /* last modified Feb 4, 1977 by ORN */ 11 4 11 5 /* This file defines all external data used in the generator phase of Multics Cobol */ 11 6 11 7 /* POINTERS */ 11 8 dcl cobol_$text_base_ptr ptr ext; 11 9 dcl text_base_ptr ptr defined (cobol_$text_base_ptr); 11 10 dcl cobol_$con_end_ptr ptr ext; 11 11 dcl con_end_ptr ptr defined (cobol_$con_end_ptr); 11 12 dcl cobol_$def_base_ptr ptr ext; 11 13 dcl def_base_ptr ptr defined (cobol_$def_base_ptr); 11 14 dcl cobol_$link_base_ptr ptr ext; 11 15 dcl link_base_ptr ptr defined (cobol_$link_base_ptr); 11 16 dcl cobol_$sym_base_ptr ptr ext; 11 17 dcl sym_base_ptr ptr defined (cobol_$sym_base_ptr); 11 18 dcl cobol_$reloc_text_base_ptr ptr ext; 11 19 dcl reloc_text_base_ptr ptr defined (cobol_$reloc_text_base_ptr); 11 20 dcl cobol_$reloc_def_base_ptr ptr ext; 11 21 dcl reloc_def_base_ptr ptr defined (cobol_$reloc_def_base_ptr); 11 22 dcl cobol_$reloc_link_base_ptr ptr ext; 11 23 dcl reloc_link_base_ptr ptr defined (cobol_$reloc_link_base_ptr); 11 24 dcl cobol_$reloc_sym_base_ptr ptr ext; 11 25 dcl reloc_sym_base_ptr ptr defined (cobol_$reloc_sym_base_ptr); 11 26 dcl cobol_$reloc_work_base_ptr ptr ext; 11 27 dcl reloc_work_base_ptr ptr defined (cobol_$reloc_work_base_ptr); 11 28 dcl cobol_$pd_map_ptr ptr ext; 11 29 dcl pd_map_ptr ptr defined (cobol_$pd_map_ptr); 11 30 dcl cobol_$fixup_ptr ptr ext; 11 31 dcl fixup_ptr ptr defined (cobol_$fixup_ptr); 11 32 dcl cobol_$initval_base_ptr ptr ext; 11 33 dcl initval_base_ptr ptr defined (cobol_$initval_base_ptr); 11 34 dcl cobol_$initval_file_ptr ptr ext; 11 35 dcl initval_file_ptr ptr defined (cobol_$initval_file_ptr); 11 36 dcl cobol_$perform_list_ptr ptr ext; 11 37 dcl perform_list_ptr ptr defined (cobol_$perform_list_ptr); 11 38 dcl cobol_$alter_list_ptr ptr ext; 11 39 dcl alter_list_ptr ptr defined (cobol_$alter_list_ptr); 11 40 dcl cobol_$seg_init_list_ptr ptr ext; 11 41 dcl seg_init_list_ptr ptr defined (cobol_$seg_init_list_ptr); 11 42 dcl cobol_$temp_token_area_ptr ptr ext; 11 43 dcl temp_token_area_ptr ptr defined (cobol_$temp_token_area_ptr); 11 44 dcl cobol_$temp_token_ptr ptr ext; 11 45 dcl temp_token_ptr ptr defined (cobol_$temp_token_ptr); 11 46 dcl cobol_$token_block1_ptr ptr ext; 11 47 dcl token_block1_ptr ptr defined (cobol_$token_block1_ptr); 11 48 dcl cobol_$token_block2_ptr ptr ext; 11 49 dcl token_block2_ptr ptr defined (cobol_$token_block2_ptr); 11 50 dcl cobol_$minpral5_ptr ptr ext; 11 51 dcl minpral5_ptr ptr defined (cobol_$minpral5_ptr); 11 52 dcl cobol_$tag_table_ptr ptr ext; 11 53 dcl tag_table_ptr ptr defined (cobol_$tag_table_ptr); 11 54 dcl cobol_$map_data_ptr ptr ext; 11 55 dcl map_data_ptr ptr defined (cobol_$map_data_ptr); 11 56 dcl cobol_$ptr_status_ptr ptr ext; 11 57 dcl ptr_status_ptr ptr defined (cobol_$ptr_status_ptr); 11 58 dcl cobol_$reg_status_ptr ptr ext; 11 59 dcl reg_status_ptr ptr defined (cobol_$reg_status_ptr); 11 60 dcl cobol_$misc_base_ptr ptr ext; 11 61 dcl misc_base_ptr ptr defined (cobol_$misc_base_ptr); 11 62 dcl cobol_$misc_end_ptr ptr ext; 11 63 dcl misc_end_ptr ptr defined (cobol_$misc_end_ptr); 11 64 dcl cobol_$list_ptr ptr ext; 11 65 dcl list_ptr ptr defined (cobol_$list_ptr); 11 66 dcl cobol_$allo1_ptr ptr ext; 11 67 dcl allo1_ptr ptr defined (cobol_$allo1_ptr); 11 68 dcl cobol_$eln_ptr ptr ext; 11 69 dcl eln_ptr ptr defined (cobol_$eln_ptr); 11 70 dcl cobol_$diag_ptr ptr ext; 11 71 dcl diag_ptr ptr defined (cobol_$diag_ptr); 11 72 dcl cobol_$xref_token_ptr ptr ext; 11 73 dcl xref_token_ptr ptr defined (cobol_$xref_token_ptr); 11 74 dcl cobol_$xref_chain_ptr ptr ext; 11 75 dcl xref_chain_ptr ptr defined (cobol_$xref_chain_ptr); 11 76 dcl cobol_$statement_info_ptr ptr ext; 11 77 dcl statement_info_ptr ptr defined (cobol_$statement_info_ptr); 11 78 dcl cobol_$reswd_ptr ptr ext; 11 79 dcl reswd_ptr ptr defined (cobol_$reswd_ptr); 11 80 dcl cobol_$op_con_ptr ptr ext; 11 81 dcl op_con_ptr ptr defined (cobol_$op_con_ptr); 11 82 dcl cobol_$ntbuf_ptr ptr ext; 11 83 dcl ntbuf_ptr ptr defined (cobol_$ntbuf_ptr); 11 84 dcl cobol_$main_pcs_ptr ptr ext; 11 85 dcl main_pcs_ptr ptr defined (cobol_$main_pcs_ptr); 11 86 dcl cobol_$include_info_ptr ptr ext; 11 87 dcl include_info_ptr ptr defined (cobol_$include_info_ptr); 11 88 11 89 /* FIXED BIN */ 11 90 dcl cobol_$text_wd_off fixed bin ext; 11 91 dcl text_wd_off fixed bin defined (cobol_$text_wd_off); 11 92 dcl cobol_$con_wd_off fixed bin ext; 11 93 dcl con_wd_off fixed bin defined (cobol_$con_wd_off); 11 94 dcl cobol_$def_wd_off fixed bin ext; 11 95 dcl def_wd_off fixed bin defined (cobol_$def_wd_off); 11 96 dcl cobol_$def_max fixed bin ext; 11 97 dcl def_max fixed bin defined (cobol_$def_max); 11 98 dcl cobol_$link_wd_off fixed bin ext; 11 99 dcl link_wd_off fixed bin defined (cobol_$link_wd_off); 11 100 dcl cobol_$link_max fixed bin ext; 11 101 dcl link_max fixed bin defined (cobol_$link_max); 11 102 dcl cobol_$sym_wd_off fixed bin ext; 11 103 dcl sym_wd_off fixed bin defined (cobol_$sym_wd_off); 11 104 dcl cobol_$sym_max fixed bin ext; 11 105 dcl sym_max fixed bin defined (cobol_$sym_max); 11 106 dcl cobol_$reloc_text_max fixed bin(24) ext; 11 107 dcl reloc_text_max fixed bin(24) defined (cobol_$reloc_text_max); 11 108 dcl cobol_$reloc_def_max fixed bin(24) ext; 11 109 dcl reloc_def_max fixed bin(24) defined (cobol_$reloc_def_max); 11 110 dcl cobol_$reloc_link_max fixed bin(24) ext; 11 111 dcl reloc_link_max fixed bin(24) defined (cobol_$reloc_link_max); 11 112 dcl cobol_$reloc_sym_max fixed bin(24) ext; 11 113 dcl reloc_sym_max fixed bin(24) defined (cobol_$reloc_sym_max); 11 114 dcl cobol_$reloc_work_max fixed bin(24) ext; 11 115 dcl reloc_work_max fixed bin(24) defined (cobol_$reloc_work_max); 11 116 dcl cobol_$pd_map_index fixed bin ext; 11 117 dcl pd_map_index fixed bin defined (cobol_$pd_map_index); 11 118 dcl cobol_$cobol_data_wd_off fixed bin ext; 11 119 dcl cobol_data_wd_off fixed bin defined (cobol_$cobol_data_wd_off); 11 120 dcl cobol_$stack_off fixed bin ext; 11 121 dcl stack_off fixed bin defined (cobol_$stack_off); 11 122 dcl cobol_$max_stack_off fixed bin ext; 11 123 dcl max_stack_off fixed bin defined (cobol_$max_stack_off); 11 124 dcl cobol_$init_stack_off fixed bin ext; 11 125 dcl init_stack_off fixed bin defined (cobol_$init_stack_off); 11 126 dcl cobol_$pd_map_sw fixed bin ext; 11 127 dcl pd_map_sw fixed bin defined (cobol_$pd_map_sw); 11 128 dcl cobol_$next_tag fixed bin ext; 11 129 dcl next_tag fixed bin defined (cobol_$next_tag); 11 130 dcl cobol_$data_init_flag fixed bin ext; 11 131 dcl data_init_flag fixed bin defined (cobol_$data_init_flag); 11 132 dcl cobol_$seg_init_flag fixed bin ext; 11 133 dcl seg_init_flag fixed bin defined (cobol_$seg_init_flag); 11 134 dcl cobol_$alter_flag fixed bin ext; 11 135 dcl alter_flag fixed bin defined (cobol_$alter_flag); 11 136 dcl cobol_$sect_eop_flag fixed bin ext; 11 137 dcl sect_eop_flag fixed bin defined (cobol_$sect_eop_flag); 11 138 dcl cobol_$para_eop_flag fixed bin ext; 11 139 dcl para_eop_flag fixed bin defined (cobol_$para_eop_flag); 11 140 dcl cobol_$priority_no fixed bin ext; 11 141 dcl priority_no fixed bin defined (cobol_$priority_no); 11 142 dcl cobol_$compile_count fixed bin ext; 11 143 dcl compile_count fixed bin defined (cobol_$compile_count); 11 144 dcl cobol_$ptr_assumption_ind fixed bin ext; 11 145 dcl ptr_assumption_ind fixed bin defined (cobol_$ptr_assumption_ind); 11 146 dcl cobol_$reg_assumption_ind fixed bin ext; 11 147 dcl reg_assumption_ind fixed bin defined (cobol_$reg_assumption_ind); 11 148 dcl cobol_$perform_para_index fixed bin ext; 11 149 dcl perform_para_index fixed bin defined (cobol_$perform_para_index); 11 150 dcl cobol_$perform_sect_index fixed bin ext; 11 151 dcl perform_sect_index fixed bin defined (cobol_$perform_sect_index); 11 152 dcl cobol_$alter_index fixed bin ext; 11 153 dcl alter_index fixed bin defined (cobol_$alter_index); 11 154 dcl cobol_$list_off fixed bin ext; 11 155 dcl list_off fixed bin defined (cobol_$list_off); 11 156 dcl cobol_$constant_offset fixed bin ext; 11 157 dcl constant_offset fixed bin defined (cobol_$constant_offset); 11 158 dcl cobol_$misc_max fixed bin ext; 11 159 dcl misc_max fixed bin defined (cobol_$misc_max); 11 160 dcl cobol_$pd_map_max fixed bin ext; 11 161 dcl pd_map_max fixed bin defined (cobol_$pd_map_max); 11 162 dcl cobol_$map_data_max fixed bin ext; 11 163 dcl map_data_max fixed bin defined (cobol_$map_data_max); 11 164 dcl cobol_$fixup_max fixed bin ext; 11 165 dcl fixup_max fixed bin defined (cobol_$fixup_max); 11 166 dcl cobol_$tag_table_max fixed bin ext; 11 167 dcl tag_table_max fixed bin defined (cobol_$tag_table_max); 11 168 dcl cobol_$temp_token_max fixed bin ext; 11 169 dcl temp_token_max fixed bin defined (cobol_$temp_token_max); 11 170 dcl cobol_$allo1_max fixed bin ext; 11 171 dcl allo1_max fixed bin defined (cobol_$allo1_max); 11 172 dcl cobol_$eln_max fixed bin ext; 11 173 dcl eln_max fixed bin defined (cobol_$eln_max); 11 174 dcl cobol_$debug_enable fixed bin ext; 11 175 dcl debug_enable fixed bin defined (cobol_$debug_enable); 11 176 dcl cobol_$non_source_offset fixed bin ext; 11 177 dcl non_source_offset fixed bin defined (cobol_$non_source_offset); 11 178 dcl cobol_$initval_flag fixed bin ext; 11 179 dcl initval_flag fixed bin defined (cobol_$initval_flag); 11 180 dcl cobol_$date_compiled_sw fixed bin ext; 11 181 dcl date_compiled_sw fixed bin defined (cobol_$date_compiled_sw); 11 182 dcl cobol_$include_cnt fixed bin ext; 11 183 dcl include_cnt fixed bin defined (cobol_$include_cnt); 11 184 dcl cobol_$fs_charcnt fixed bin ext; 11 185 dcl fs_charcnt fixed bin defined (cobol_$fs_charcnt); 11 186 dcl cobol_$ws_charcnt fixed bin ext; 11 187 dcl ws_charcnt fixed bin defined (cobol_$ws_charcnt); 11 188 dcl cobol_$coms_charcnt fixed bin ext; 11 189 dcl coms_charcnt fixed bin defined (cobol_$coms_charcnt); 11 190 dcl cobol_$ls_charcnt fixed bin ext; 11 191 dcl ls_charcnt fixed bin defined (cobol_$ls_charcnt); 11 192 dcl cobol_$cons_charcnt fixed bin ext; 11 193 dcl cons_charcnt fixed bin defined (cobol_$cons_charcnt); 11 194 dcl cobol_$value_cnt fixed bin ext; 11 195 dcl value_cnt fixed bin defined (cobol_$value_cnt); 11 196 dcl cobol_$cd_cnt fixed bin ext; 11 197 dcl cd_cnt fixed bin defined (cobol_$cd_cnt); 11 198 dcl cobol_$fs_wdoff fixed bin ext; 11 199 dcl fs_wdoff fixed bin defined (cobol_$fs_wdoff); 11 200 dcl cobol_$ws_wdoff fixed bin ext; 11 201 dcl ws_wdoff fixed bin defined (cobol_$ws_wdoff); 11 202 dcl cobol_$coms_wdoff fixed bin ext; 11 203 dcl coms_wdoff fixed bin defined (cobol_$coms_wdoff); 11 204 11 205 /* CHARACTER */ 11 206 dcl cobol_$scratch_dir char (168) aligned ext; 11 207 dcl scratch_dir char (168) aligned defined (cobol_$scratch_dir); /* -42- */ 11 208 dcl cobol_$obj_seg_name char (32) aligned ext; 11 209 dcl obj_seg_name char (32) aligned defined (cobol_$obj_seg_name); /* -8- */ 11 210 11 211 /* BIT */ 11 212 dcl cobol_$xref_bypass bit(1) aligned ext; 11 213 dcl xref_bypass bit(1) aligned defined (cobol_$xref_bypass); /* -1- */ 11 214 dcl cobol_$same_sort_merge_proc bit(1) aligned ext; 11 215 dcl same_sort_merge_proc bit(1) aligned defined (cobol_$same_sort_merge_proc); /* -1- */ 11 216 11 217 11 218 /* END INCLUDE FILE ... cobol_incl.pl1*/ 11 219 11 220 1258 12 1 12 2 /* BEGIN INCLUDE FILE ... cobol_addr_tokens.incl.pl1 */ 12 3 12 4 12 5 /****^ HISTORY COMMENTS: 12 6* 1) change(89-04-23,Zimmerman), approve(89-04-23,MCR8058), 12 7* audit(89-05-05,RWaters), install(89-05-24,MR12.3-1048): 12 8* MCR8058 cobol_addr_tokens.incl.pl1 Change array extents to refer to 12 9* constants rather than variables. 12 10* END HISTORY COMMENTS */ 12 11 12 12 12 13 /* Last modified on 10/1/74 by tg */ 12 14 12 15 12 16 /* parameter list */ 12 17 12 18 dcl (input_ptr, inst_ptr, reloc_ptr) ptr; 12 19 12 20 12 21 /* input_struc_basic is used for type 1 addressing */ 12 22 12 23 dcl 1 input_struc_basic based (input_ptr), 12 24 2 type fixed bin, 12 25 2 operand_no fixed bin, 12 26 2 lock fixed bin, 12 27 2 segno fixed bin, 12 28 2 char_offset fixed bin (24), 12 29 2 send_receive fixed bin; 12 30 12 31 12 32 dcl 1 input_struc based (input_ptr), 12 33 2 type fixed bin, 12 34 2 operand_no fixed bin, 12 35 2 lock fixed bin, 12 36 2 operand (0 refer (input_struc.operand_no)), 12 37 3 token_ptr ptr, 12 38 3 send_receive fixed bin, 12 39 3 ic_mod fixed bin, 12 40 3 size_sw fixed bin; 12 41 12 42 /* reloc_struc is used for all types of addressing * all types */ 12 43 12 44 dcl 1 reloc_struc (input_struc.operand_no + 1) based (reloc_ptr), 12 45 2 left_wd bit (5) aligned, 12 46 2 right_wd bit (5) aligned; 12 47 12 48 /* Instruction format for 1 word instruction */ 12 49 12 50 12 51 dcl 1 inst_struc_basic based (inst_ptr) aligned, 12 52 2 y unaligned, 12 53 3 pr bit (3) unaligned, 12 54 3 wd_offset bit (15) unaligned, 12 55 2 fill1_op bit (10) unaligned, 12 56 2 zero1 bit (1) unaligned, 12 57 2 pr_spec bit (1) unaligned, 12 58 2 tm bit (2) unaligned, 12 59 2 td bit (4) unaligned; 12 60 12 61 12 62 /* The detailed definitions of the fields in this structure 12 63* can be found in the GMAP manual section 8 */ 12 64 /* EIS instruction format for 2_4 word instructions */ 12 65 12 66 dcl 1 inst_struc based (inst_ptr) aligned, 12 67 2 inst unaligned, 12 68 3 zero1 bit (2) unaligned, 12 69 3 mf3 unaligned, 12 70 4 pr_spec bit (1) unaligned, 12 71 4 reg_or_length bit (1) unaligned, 12 72 4 zero2 bit (1) unaligned, 12 73 4 reg_mod bit (4) unaligned, 12 74 3 zero3 bit (2) unaligned, 12 75 3 mf2 unaligned, 12 76 4 pr_spec bit (1) unaligned, 12 77 4 reg_or_length bit (1) unaligned, 12 78 4 zero4 bit (1) unaligned, 12 79 4 reg_mod bit (4) unaligned, 12 80 3 fill1_op bit (10) unaligned, 12 81 3 zero5 bit (1) unaligned, 12 82 3 mf1 unaligned, 12 83 4 pr_spec bit (1) unaligned, 12 84 4 reg_or_length bit (1) unaligned, 12 85 4 zero6 bit (1) unaligned, 12 86 4 reg_mod bit (4) unaligned, 12 87 2 desc_ext unaligned, 12 88 3 desc (512) unaligned, 12 89 4 desc_od bit (36) unaligned; 12 90 12 91 /* The detailed definitions of the fields in this structure 12 92* can be found in the GMAP manual section 8. 12 93* The desc_ext is the descriptor extension of this eis 12 94* instruction. The number of descriptors associated with 12 95* this instruction is equavalent to the operand number. 12 96* Depending on operand data type, the descriptor 12 97* can be alphanumeric or numeric. The structures of the 12 98* alphanumeric and the numeric descriptors are defined 12 99* below. */ 12 100 12 101 /* alphanumeric descriptor format */ 12 102 12 103 dcl 1 desc_an based (desc_an_ptr) unaligned, 12 104 2 desc_f (512) unaligned, 12 105 3 y unaligned, 12 106 4 pr bit (3) unaligned, 12 107 4 wd_offset bit (15) unaligned, 12 108 3 char_n bit (3) unaligned, 12 109 3 zero1 bit (1) unaligned, 12 110 3 ta bit (2), 12 111 3 n bit (12) unaligned; 12 112 12 113 12 114 /* The detailed definitions of the fields in this structure can 12 115* be found in the GMAP manual section 8. */ 12 116 /* numeric descriptor format */ 12 117 12 118 dcl desc_nn_ptr ptr; 12 119 dcl desc_an_ptr ptr; 12 120 12 121 12 122 dcl 1 desc_nn based (desc_nn_ptr) unaligned, 12 123 2 desc_f (512) unaligned, 12 124 3 y unaligned, 12 125 4 pr bit (3) unaligned, 12 126 4 wd_offset bit (15) unaligned, 12 127 3 digit_n bit (3) unaligned, 12 128 3 tn bit (1) unaligned, 12 129 3 sign_type bit (2) unaligned, 12 130 3 scal bit (6) unaligned, 12 131 3 n bit (6) unaligned; 12 132 12 133 12 134 /* The detailed definitions of fields in this structure can 12 135* be found in the GMAP manual section 8. */ 12 136 /* END INCLUDE FILE ... cobol_addr_tokens.incl.pl1 */ 12 137 1259 1260 end cobol_inspect_gen; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 05/24/89 0830.0 cobol_inspect_gen.pl1 >spec>install>MR12.3-1048>cobol_inspect_gen.pl1 1253 1 03/27/82 0439.8 cobol_type1.incl.pl1 >ldd>include>cobol_type1.incl.pl1 1-15 2 11/11/82 1712.8 cobol_TYPE1.incl.pl1 >ldd>include>cobol_TYPE1.incl.pl1 1254 3 03/27/82 0439.8 cobol_type2.incl.pl1 >ldd>include>cobol_type2.incl.pl1 3-15 4 11/11/82 1712.8 cobol_TYPE2.incl.pl1 >ldd>include>cobol_TYPE2.incl.pl1 1255 5 03/27/82 0439.8 cobol_type3.incl.pl1 >ldd>include>cobol_type3.incl.pl1 5-15 6 11/11/82 1712.8 cobol_TYPE3.incl.pl1 >ldd>include>cobol_TYPE3.incl.pl1 1256 7 03/27/82 0439.9 cobol_type9.incl.pl1 >ldd>include>cobol_type9.incl.pl1 7-17 8 11/11/82 1712.7 cobol_TYPE9.incl.pl1 >ldd>include>cobol_TYPE9.incl.pl1 1257 9 03/27/82 0439.8 cobol_type19.incl.pl1 >ldd>include>cobol_type19.incl.pl1 9-17 10 03/27/82 0439.6 cobol_TYPE19.incl.pl1 >ldd>include>cobol_TYPE19.incl.pl1 1258 11 11/11/82 1712.7 cobol_.incl.pl1 >ldd>include>cobol_.incl.pl1 1259 12 05/24/89 0811.7 cobol_addr_tokens.incl.pl1 >spec>install>MR12.3-1048>cobol_addr_tokens.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. a 11 based bit(3) level 2 packed packed unaligned dcl 9-16 ref 331 334 339 343 addpout 000146 internal static structure level 1 unaligned dcl 146 set ref 598 598 617 617 657 657 after_flag 000200 automatic bit(1) packed unaligned dcl 234 in procedure "cobol_inspect_gen" set ref 601* 603* 604* 641* 643* 644* 644* 1139* 1141* 1142* 1142* after_flag parameter bit(1) packed unaligned dcl 701 in procedure "scan_opt_common" ref 698 816 after_key constant fixed bin(17,0) initial dcl 244 ref 426 519 542 584 601 606 633 641 905 990 alit_ptr 002324 automatic pointer dcl 5-11 set ref 748* 755 760 770 1047* 1048 1050* 1051* 1053 1055* 1056 1058* 1059* 1061 1081* 1082 1084* 1085* 1087 all_key constant fixed bin(17,0) initial dcl 240 ref 456 549 871 965 969 1044 1076 all_option 002411 automatic fixed bin(17,0) dcl 948 set ref 953* 965* 965 1008 alpha_char based char(112) packed unaligned dcl 144 ref 1227 alpha_type9 000100 internal static structure level 1 unaligned dcl 122 set ref 778 936 1096 1120 1157 1222 1227 alphanum 21(19) based bit(1) level 2 packed packed unaligned dcl 7-16 set ref 1172* 1182* alphanum_lit based structure level 1 unaligned dcl 5-14 arg_ptr 000320 automatic pointer dcl 286 set ref 323* args 000100 automatic structure level 1 unaligned dcl 42 set ref 323 b 11(03) based bit(1) level 2 packed packed unaligned dcl 9-16 ref 339 before_key constant fixed bin(17,0) initial dcl 243 ref 426 431 519 542 584 633 905 907 990 1139 before_option 000177 automatic fixed bin(17,0) dcl 234 set ref 953* 1002* 1002 1008 1010 1037 1137 char1 000262 automatic char(1) packed unaligned dcl 264 set ref 1053* 1054 char1_bit based bit(9) packed unaligned dcl 265 ref 1054 char1_index 000263 automatic fixed bin(17,0) dcl 266 set ref 1054* 1061 characters_key constant fixed bin(17,0) initial dcl 241 ref 405 456 501 549 579 866 962 967 cmpx_inst 000233 internal static bit(18) initial array packed unaligned dcl 183 set ref 667* 668* 669* 670 670 cnt_off 000176 automatic fixed bin(17,0) dcl 193 set ref 610 611 614 651 660 661 716* 759 768 796 805 818 824 cobol_$next_tag 000404 external static fixed bin(17,0) dcl 11-128 set ref 737 738* 738 751 752* 752 786 787* 787 cobol_$text_wd_off 000402 external static fixed bin(17,0) dcl 11-90 set ref 618* 653 671 672 676* 753* 788* 813 1071 1148 1161* 1178 cobol_add_gen 000342 constant entry external dcl 294 ref 598 617 657 cobol_addr 000354 constant entry external dcl 301 ref 1097 1124 1175 cobol_alloc$stack 000332 constant entry external dcl 289 ref 328 566 593 715 1014 1068 1224 cobol_call_op 000364 constant entry external dcl 307 ref 475 933 cobol_define_tag_nc 000340 constant entry external dcl 293 ref 618 676 753 788 1161 cobol_emit 000344 constant entry external dcl 295 ref 474 612 652 663 670 723 727 763 771 798 807 812 821 825 932 1074 1088 1101 1104 1127 1151 1181 1212 cobol_get_size$omit_sign 000346 constant entry external dcl 296 ref 417 440 468 594 717 882 891 916 926 cobol_io_util$bin_to_t9dec 000370 constant entry external dcl 310 ref 477 cobol_io_util$move_direct 000374 constant entry external dcl 314 ref 420 445 449 472 894 921 929 cobol_io_util$t9dec_to_bin 000372 constant entry external dcl 312 ref 382 464 cobol_make_tagref 000336 constant entry external dcl 292 ref 653 671 672 813 cobol_make_type3$type1 000362 constant entry external dcl 305 ref 743 1050 1058 1084 1111 1240 cobol_make_type9$type2_3 000366 constant entry external dcl 308 ref 1114 1245 cobol_move_gen 000350 constant entry external dcl 298 ref 781 938 1159 1188 1226 cobol_pointer_register$priority 000334 constant entry external dcl 290 ref 677 cobol_pool 000356 constant entry external dcl 302 ref 1063 1070 cobol_register$load 000400 constant entry external dcl 318 ref 321 659 718 720 1069 cobol_register$release 000360 constant entry external dcl 303 ref 619 621 664 673 675 1133 cobol_reset_r$in_line 000376 constant entry external dcl 316 ref 363 cobol_set_pr$omit_sign 000352 constant entry external dcl 299 ref 711 1209 code 000256 automatic bit(18) dcl 260 set ref 405* 408* 410* 420* 423* 431* 433* 445* 448* 449* 471* 472* 902* 907* 909* 921* 928* 929* con_flag 000270 automatic fixed bin(17,0) dcl 271 set ref 956* 983* 1040 conoff 000271 automatic fixed bin(17,0) dcl 272 set ref 1063* 1070* 1071 1148 1178 data_len parameter fixed bin(17,0) dcl 701 in procedure "scan_opt_common" set ref 698 757* 766* 792* 801* 819 data_len 000201 automatic fixed bin(17,0) dcl 236 in procedure "cobol_inspect_gen" set ref 604* 609 638* 644* 646* data_name based structure level 1 unaligned dcl 7-16 dn_ptr 000302 automatic pointer dcl 282 set ref 412* 413 415* 417* 435* 436 438* 440* 451* 452 455 592* 594* 706* 709 709 709 709* 711* 717* 740* 741 743* 744* 746 748 775 775 775 775* 777 780 790 862* 863 865 877* 878 880* 882* 887 889* 891* 897* 898 900* 911* 912 914* 916* 924* 925* 1108* 1111* 1112* 1114* 1238 1240* 1241* 1243 1245* 1246* done 002355 automatic bit(1) packed unaligned dcl 487 in procedure "tally_stack_count" set ref 495* 497 549* done 000261 automatic bit(1) packed unaligned dcl 263 in procedure "cobol_inspect_gen" set ref 400* 403 452* 456* end_stmt based structure level 1 unaligned dcl 9-16 eos_ptr 002326 automatic pointer dcl 9-13 set ref 329* 331 334 339 339 343 epp2_instr 000010 internal static bit(36) initial packed unaligned dcl 71 set ref 470* 474 474 931* 932 932 exit_flag parameter bit(1) packed unaligned dcl 701 ref 698 735 exit_tag 000174 automatic fixed bin(17,0) dcl 193 set ref 618* 653* 671* 676* 737* 813* 1161* fb35_type9 000172 internal static structure level 1 unaligned dcl 159 set ref 596 615 file_key_info 13 000172 internal static structure level 2 in structure "fb35_type9" unaligned dcl 159 in procedure "cobol_inspect_gen" file_key_info 13 000100 internal static structure level 2 in structure "alpha_type9" unaligned dcl 122 in procedure "cobol_inspect_gen" first_key constant fixed bin(17,0) initial dcl 245 ref 873 962 969 flags1 21 000100 internal static bit(36) initial level 3 packed packed unaligned dcl 122 set ref 782* 1229* found 000260 automatic bit(1) packed unaligned dcl 262 set ref 348* 349 353* full_len 000202 automatic fixed bin(17,0) dcl 236 set ref 581* 582* 584* 587* 590 623 i 000272 automatic fixed bin(17,0) dcl 273 in procedure "cobol_inspect_gen" set ref 330* 342* 342 343* 343 349* 350 350 354* 354 356* 381 402* 402 405 408 411* 411 412 422* 422 424 426 426 428 428 431 434* 434 435 442* 442 451 460 460 463 492 579 582 584 584 587 587 597 601 604 606 616 623* 623 625* 625 630 635 635 638 641 644 646 649 656 678* 678 680* 680 860 862 875* 875 876* 876 877 896* 896 897 901* 901 903 905 905 907 910* 910 911 918* 918 957 1028* 1028 1043 1075 i 002446 automatic fixed bin(17,0) dcl 1220 in procedure "opch_move" set ref 1224* 1225 input_area 000304 automatic char(24) packed unaligned dcl 283 set ref 1030 input_ptr 002330 automatic pointer dcl 12-18 set ref 1030* 1032 1033 1034 1035 1036 1091 1092 1096 1097* 1115 1117 1118 1120 1124* 1164 1168 1172 1172 1174 1174 1175* 1182 1182 1186 input_struc based structure level 1 unaligned dcl 12-32 item_length 16 based fixed bin(24,0) level 2 dcl 7-16 ref 513 532 780 790 980 996 1223 item_signed 21(25) based bit(1) level 2 packed packed unaligned dcl 7-16 ref 709 775 934 1092 1118 1152 1165 1207 j 000275 automatic fixed bin(17,0) dcl 276 in procedure "cobol_inspect_gen" set ref 476* 477 477* j parameter fixed bin(17,0) dcl 701 in procedure "scan_opt_common" ref 698 740 j 002354 automatic fixed bin(17,0) dcl 486 in procedure "tally_stack_count" set ref 492* 501 501* 501 505 507 507 511 513 513 519 519 519 523 523 526 526 530 532 532 539* 539 540 542 542 544 544 544* 544 549 549 549 549 554 554 556* 556 566* j 002410 automatic fixed bin(17,0) dcl 947 in procedure "replacing_stack_count" set ref 957* 958 960 962 962 962 965 967 969 969 969 969* 969 976 976 980 980 980 983 986* 986 988 990 990 992 992 996 996 996 1001* 1001 1014* j 002424 automatic fixed bin(17,0) dcl 1024 in procedure "repl_opt" set ref 1043* 1044 1044* 1044 1046* 1046 1047 1055* 1075* 1076 1076* 1076 1078* 1078 1079 1081 1091 1092 1106 1108 1109 1117 1118* k 002413 automatic fixed bin(17,0) dcl 950 in procedure "replacing_stack_count" set ref 975* k 002426 automatic fixed bin(17,0) dcl 1026 in procedure "repl_opt" set ref 1037* 1039* 1043 1075 1142* key 4 based fixed bin(17,0) level 2 dcl 1-14 ref 350 405 408 426 426 428 431 455 501 519 519 523 542 542 544 549 549 549 579 584 584 587 601 606 633 633 635 641 649 866 869 871 873 905 905 907 962 962 962 965 967 969 969 969 990 990 1044 1076 1139 lca_inst 000260 internal static bit(18) initial array packed unaligned dcl 226 set ref 818* 819* 820* 821 821 lda_inst 000254 internal static bit(18) initial array packed unaligned dcl 218 set ref 608* 609* 610* 611* 612 612 ldx1_inst 000327 internal static bit(36) initial packed unaligned dcl 256 set ref 1087* 1088 1088 lead_inst 000226 internal static bit(18) initial array packed unaligned dcl 173 set ref 651* 652 652 leading_key constant fixed bin(17,0) initial dcl 242 ref 408 456 549 649 869 962 969 leading_option 002412 automatic fixed bin(17,0) dcl 948 set ref 953* 962* 962 1008 len_flag parameter bit(1) packed unaligned dcl 701 ref 698 713 length_off 000175 automatic fixed bin(17,0) dcl 193 in procedure "cobol_inspect_gen" set ref 593* 594* 595 608 715* 716 717* 722 779 783 820 822 length_off 002425 automatic fixed bin(17,0) dcl 1025 in procedure "repl_opt" set ref 1068* 1073 1094 1102 1121 1129 lit_size 5 based fixed bin(17,0) level 2 dcl 5-14 ref 507 526 755 760 770 976 992 1053 1061 1087 lock 2 based fixed bin(17,0) level 2 in structure "input_struc" dcl 12-32 in procedure "cobol_inspect_gen" set ref 1034* lock 2 000042 internal static fixed bin(17,0) initial level 2 in structure "reg1_struct" dcl 100 in procedure "cobol_inspect_gen" set ref 1132* 1134* lxl1_inst 000330 internal static bit(36) initial packed unaligned dcl 257 set ref 1103* 1104 1104 lxl3_inst 000230 internal static bit(18) initial array packed unaligned dcl 177 set ref 661* 662* 663 663 758* 767* 793* 802* lxl_inst 000252 internal static bit(18) initial array packed unaligned dcl 214 set ref 722* 723 723 727 727 822* 824* 825 825 mlr 000253 automatic bit(36) array packed unaligned dcl 252 set ref 1123* 1124 1124 1125* 1126* 1127 1127 mlr_tab 000324 internal static bit(36) initial array packed unaligned dcl 253 set ref 1072* 1073* 1074 1074 mp based structure level 1 unaligned dcl 38 mp_ptr parameter pointer dcl 36 ref 33 325 329 329 349 350 350 381 405 408 412 424 426 426 428 428 431 435 451 460 460 463 467 468 501 505 507 507 511 513 513 519 519 519 523 523 526 526 530 532 532 540 542 542 544 544 549 549 549 549 554 554 577 579 582 584 584 587 587 592 597 601 606 616 630 635 635 641 649 656 706 740 860 862 877 897 903 905 905 907 911 924 926 934 934 934 937 958 960 962 962 962 965 967 969 969 969 976 976 980 980 980 983 988 990 990 992 992 996 996 996 1037 1039 1044 1047 1055 1076 1079 1081 1091 1092 1106 1108 1109 1117 1118 1139 1139 1142 1152 1152 1152 1158 1164 1165 1165 1165 1187 mpout 000054 internal static structure level 1 unaligned dcl 109 set ref 781 781 938 938 1159 1159 1188 1188 1226 1226 mrl 000250 automatic bit(36) array packed unaligned dcl 251 set ref 1097 1097 1098* 1099* 1100* 1101 1101 mvt 000244 automatic bit(36) array packed unaligned dcl 250 set ref 1064* 1129* 1130* 1131* 1136* 1143* 1144* 1145* 1149* 1151 1151 1175 1175 1179* 1181 1181 mvt_table 000204 automatic char(128) packed unaligned dcl 247 set ref 1029* 1061* 1063* mvt_table_static 000264 internal static char(128) initial packed unaligned dcl 248 set ref 1029 1070* n based fixed bin(17,0) level 2 dcl 38 ref 329 349 460 554 1037 1039 1139 1142 numeric 21(17) based bit(1) level 2 packed packed unaligned dcl 7-16 ref 709 775 934 1152 1165 1172 1182 1207 off 002356 automatic fixed bin(17,0) dcl 488 in procedure "tally_stack_count" set ref 560* 566* off parameter fixed bin(17,0) dcl 1205 in procedure "store_pr" ref 1201 1210 off 24 000100 internal static fixed bin(17,0) level 3 in structure "alpha_type9" dcl 122 in procedure "cobol_inspect_gen" set ref 779* 1094* 1121* 1156* 1225* off 24 000172 internal static fixed bin(17,0) level 3 in structure "fb35_type9" dcl 159 in procedure "cobol_inspect_gen" set ref 595* 614* opch_flag 000267 automatic fixed bin(17,0) dcl 270 set ref 1169* 1171* 1184 operand 4 based structure array level 2 unaligned dcl 12-32 operand_no 1 based fixed bin(17,0) level 2 dcl 12-32 set ref 1033* pr1_flag parameter bit(1) packed unaligned dcl 701 ref 698 707 pr1_struct 000021 internal static structure level 1 unaligned dcl 84 set ref 711 711 pr2_struct 000012 internal static structure level 1 unaligned dcl 76 set ref 324 pr2_struct_ptr 000316 automatic pointer dcl 285 set ref 324* 1209* prev_scan 000203 automatic fixed bin(17,0) dcl 236 set ref 629* 631* 633* 635* 638 678 pt 2 based pointer array level 2 dcl 38 set ref 325 329 350 350 381 405 408 412 424 426 426 428 428 431 435 451 460 463 467* 468* 501 505 507 507 511 513 513 519 519 519 523 523 526 526 530 532 532 540 542 542 544 544 549 549 549 549 554 577 579 582 584 584 587 587 592 597 601 606 616 630 635 635 641 649 656 706 740 860 862 877 897 903 905 905 907 911 924 926* 934 934 934 937 958 960 962 962 962 965 967 969 969 969 976 976 980 980 980 983 988 990 990 992 992 996 996 996 1044 1047 1055 1076 1079 1081 1091 1092 1106 1108 1109 1117 1118 1139 1152 1152 1152 1158 1164 1165 1165 1165 1187 pt1 2 000054 internal static pointer level 2 in structure "mpout" dcl 109 in procedure "cobol_inspect_gen" set ref 325* pt1 2 000146 internal static pointer level 2 in structure "addpout" dcl 146 in procedure "cobol_inspect_gen" set ref 577* pt2 4 000146 internal static pointer level 2 in structure "addpout" dcl 146 in procedure "cobol_inspect_gen" set ref 596* 615* 655* pt2 4 000054 internal static pointer level 2 in structure "mpout" dcl 109 in procedure "cobol_inspect_gen" set ref 777* 936* 1157* 1186* 1221* pt3 6 000054 internal static pointer level 2 in structure "mpout" dcl 109 in procedure "cobol_inspect_gen" set ref 778* 937* 1158* 1187* 1222* pt3 6 000146 internal static pointer level 2 in structure "addpout" dcl 146 in procedure "cobol_inspect_gen" set ref 597* 616* 656* pt4 10 000146 internal static pointer level 2 in structure "addpout" dcl 146 in procedure "cobol_inspect_gen" set ref 578* pt4 10 000054 internal static pointer level 2 in structure "mpout" dcl 109 in procedure "cobol_inspect_gen" set ref 326* reg1_struct 000042 internal static structure level 1 unaligned dcl 100 set ref 619 619 621 621 673 673 675 675 718 718 720 720 1069 1069 1133 1133 reg_no 1 000042 internal static bit(4) level 2 packed packed unaligned dcl 100 set ref 620* 674* reg_struct 000030 internal static structure level 1 unaligned dcl 92 set ref 321 321 659 659 664 664 reloc_area 000312 automatic char(10) packed unaligned dcl 284 set ref 1031 reloc_ptr 002332 automatic pointer dcl 12-18 set ref 1031* 1097* 1101* 1124* 1127* 1175* 1181* replacing_key constant fixed bin(17,0) initial dcl 246 ref 350 428 523 544 587 635 reserved_word based structure level 1 unaligned dcl 1-14 rn 000274 automatic fixed bin(17,0) dcl 275 in procedure "cobol_inspect_gen" set ref 852* 861* 861 880 882 889 891 894 900 914 916 921 928 rn 002414 automatic fixed bin(17,0) dcl 951 in procedure "replacing_stack_count" set ref 954* 959* 959 1010 1014 rn_opt 000264 automatic bit(1) packed unaligned dcl 267 set ref 855 955* 976* 980* 983 992* 996* 1000* 1006 1008* 1010* rw_ptr 002322 automatic pointer dcl 1-11 set ref 630* 631 633 633 865* 866 869 871 873 save_code 000257 automatic bit(18) dcl 261 set ref 853* 866* 869* 871* 873* 894* scan_flag parameter bit(1) packed unaligned dcl 701 ref 698 749 784 scan_tag 000173 automatic fixed bin(17,0) dcl 193 set ref 672* 751* 753* 786* 788* scd 000245 internal static bit(18) initial array packed unaligned dcl 205 set ref 729* 733* 768* 769* 770* 771 771 803* 804* 805* 806* 807 807 scm 000241 internal static bit(18) initial array packed unaligned dcl 197 set ref 728* 732* 759* 760* 761* 762* 763 763 794* 795* 796* 797* 798 798 seg 23 000100 internal static fixed bin(17,0) initial level 3 dcl 122 set ref 1155* sign_separate 21(26) based bit(1) level 2 packed packed unaligned dcl 7-16 ref 709 775 934 1152 1165 1207 size 16 000100 internal static fixed bin(17,0) initial level 3 dcl 122 set ref 780* 1095* 1122* 1223* 1224* size_sw 10 based fixed bin(17,0) array level 3 dcl 12-32 set ref 1035* 1036* spri2_instr 000011 internal static bit(36) initial packed unaligned dcl 73 set ref 1211* 1212 1212 stack_flag 000266 automatic fixed bin(17,0) dcl 269 set ref 1042* 1067* 1146 1176 stoff 000301 automatic fixed bin(17,0) dcl 280 set ref 328* 417 420 440 445 449 468 470 472 561 882 891 894 916 921 926 929 931 1210 string 6 based char level 2 packed packed unaligned dcl 5-14 ref 760 770 1053 1061 1087 t9ptr parameter pointer dcl 1204 in procedure "store_pr" set ref 1201 1207 1207 1207 1207* 1209* t9ptr parameter pointer dcl 1219 in procedure "opch_move" set ref 1217 1221 1223 1228* temp 000300 automatic fixed bin(17,0) dcl 279 set ref 455* 456 456 456 660* 662 667 668 669 783* 795 804 1071* 1072 1102* 1103 1148* 1149 1178* 1179 1210* 1211 tind 000276 automatic fixed bin(17,0) dcl 277 set ref 379* 448 462* 462 463 464 464 476 490* 557* 557 560 tn 002357 automatic fixed bin(17,0) dcl 489 in procedure "tally_stack_count" set ref 491* 498* 498 499 560 561 562 tn 000273 automatic fixed bin(17,0) dcl 274 in procedure "cobol_inspect_gen" set ref 380* 404* 404 415 417 420 438 440 445 449 471 tn_opt 000265 automatic bit(1) packed unaligned dcl 268 set ref 374 494* 499* 503 507* 513* 517* 523* 526* 532* 536* 562* 564 token_ptr 4 based pointer array level 3 dcl 12-32 set ref 1091* 1092* 1096* 1115* 1117* 1118* 1120* 1164* 1168* 1172 1172 1174* 1174 1182 1182 1186 toutoff 000277 automatic fixed bin(17,0) dcl 278 set ref 382* 464 477 561* ttn 000240 internal static bit(36) initial packed unaligned dcl 195 set ref 812 812 ttn_flag parameter bit(1) packed unaligned dcl 701 ref 698 810 ttp 000322 automatic pointer array dcl 287 set ref 381* 382* 463* 464* 477* type 3 based fixed bin(17,0) level 2 in structure "alphanum_lit" dcl 5-14 in procedure "cobol_inspect_gen" ref 1048 1056 1082 type 3 based fixed bin(17,0) level 2 in structure "reserved_word" dcl 1-14 in procedure "cobol_inspect_gen" ref 587 631 635 type 3 based fixed bin(17,0) level 2 in structure "data_name" dcl 7-16 in procedure "cobol_inspect_gen" ref 350 413 424 428 436 452 460 505 507 511 519 523 526 530 540 544 549 554 582 741 746 860 863 878 887 898 903 912 958 960 976 980 983 988 992 996 1079 1106 1109 1238 1243 type based fixed bin(17,0) level 2 in structure "input_struc" dcl 12-32 in procedure "cobol_inspect_gen" set ref 1032* type19_add 000160 internal static structure level 1 unaligned dcl 152 set ref 578 type19_move 000066 internal static structure level 1 unaligned dcl 115 set ref 326 type2_static 000134 internal static structure level 1 unaligned dcl 135 set ref 655 type3 000126 automatic structure level 1 unaligned dcl 141 set ref 743 743 744 1050 1050 1051 1058 1058 1059 1084 1084 1085 1111 1111 1112 1240 1240 1241 type9 000137 automatic char(112) packed unaligned dcl 145 set ref 1114 1114 1115 1227* 1228 1245 1245 1246 variable_length 22(04) based bit(1) level 2 packed packed unaligned dcl 7-16 ref 513 532 980 996 what_reg 000042 internal static fixed bin(17,0) initial level 2 in structure "reg1_struct" dcl 100 in procedure "cobol_inspect_gen" set ref 719* 721* what_reg 000030 internal static fixed bin(17,0) initial level 2 in structure "reg_struct" dcl 92 in procedure "cobol_inspect_gen" set ref 658* 665* x1_flag parameter bit(1) packed unaligned dcl 701 ref 698 825 x2_flag parameter bit(1) packed unaligned dcl 701 ref 698 725 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. allo1_max defined fixed bin(17,0) dcl 11-171 allo1_ptr defined pointer dcl 11-67 aloff automatic fixed bin(17,0) dcl 281 alter_flag defined fixed bin(17,0) dcl 11-135 alter_index defined fixed bin(17,0) dcl 11-153 alter_list_ptr defined pointer dcl 11-39 argb based bit(216) array packed unaligned dcl 258 cd_cnt defined fixed bin(17,0) dcl 11-197 cobol_$allo1_max external static fixed bin(17,0) dcl 11-170 cobol_$allo1_ptr external static pointer dcl 11-66 cobol_$alter_flag external static fixed bin(17,0) dcl 11-134 cobol_$alter_index external static fixed bin(17,0) dcl 11-152 cobol_$alter_list_ptr external static pointer dcl 11-38 cobol_$cd_cnt external static fixed bin(17,0) dcl 11-196 cobol_$cobol_data_wd_off external static fixed bin(17,0) dcl 11-118 cobol_$compile_count external static fixed bin(17,0) dcl 11-142 cobol_$coms_charcnt external static fixed bin(17,0) dcl 11-188 cobol_$coms_wdoff external static fixed bin(17,0) dcl 11-202 cobol_$con_end_ptr external static pointer dcl 11-10 cobol_$con_wd_off external static fixed bin(17,0) dcl 11-92 cobol_$cons_charcnt external static fixed bin(17,0) dcl 11-192 cobol_$constant_offset external static fixed bin(17,0) dcl 11-156 cobol_$data_init_flag external static fixed bin(17,0) dcl 11-130 cobol_$date_compiled_sw external static fixed bin(17,0) dcl 11-180 cobol_$debug_enable external static fixed bin(17,0) dcl 11-174 cobol_$def_base_ptr external static pointer dcl 11-12 cobol_$def_max external static fixed bin(17,0) dcl 11-96 cobol_$def_wd_off external static fixed bin(17,0) dcl 11-94 cobol_$diag_ptr external static pointer dcl 11-70 cobol_$eln_max external static fixed bin(17,0) dcl 11-172 cobol_$eln_ptr external static pointer dcl 11-68 cobol_$fixup_max external static fixed bin(17,0) dcl 11-164 cobol_$fixup_ptr external static pointer dcl 11-30 cobol_$fs_charcnt external static fixed bin(17,0) dcl 11-184 cobol_$fs_wdoff external static fixed bin(17,0) dcl 11-198 cobol_$include_cnt external static fixed bin(17,0) dcl 11-182 cobol_$include_info_ptr external static pointer dcl 11-86 cobol_$init_stack_off external static fixed bin(17,0) dcl 11-124 cobol_$initval_base_ptr external static pointer dcl 11-32 cobol_$initval_file_ptr external static pointer dcl 11-34 cobol_$initval_flag external static fixed bin(17,0) dcl 11-178 cobol_$link_base_ptr external static pointer dcl 11-14 cobol_$link_max external static fixed bin(17,0) dcl 11-100 cobol_$link_wd_off external static fixed bin(17,0) dcl 11-98 cobol_$list_off external static fixed bin(17,0) dcl 11-154 cobol_$list_ptr external static pointer dcl 11-64 cobol_$ls_charcnt external static fixed bin(17,0) dcl 11-190 cobol_$main_pcs_ptr external static pointer dcl 11-84 cobol_$map_data_max external static fixed bin(17,0) dcl 11-162 cobol_$map_data_ptr external static pointer dcl 11-54 cobol_$max_stack_off external static fixed bin(17,0) dcl 11-122 cobol_$minpral5_ptr external static pointer dcl 11-50 cobol_$misc_base_ptr external static pointer dcl 11-60 cobol_$misc_end_ptr external static pointer dcl 11-62 cobol_$misc_max external static fixed bin(17,0) dcl 11-158 cobol_$non_source_offset external static fixed bin(17,0) dcl 11-176 cobol_$ntbuf_ptr external static pointer dcl 11-82 cobol_$obj_seg_name external static char(32) dcl 11-208 cobol_$op_con_ptr external static pointer dcl 11-80 cobol_$para_eop_flag external static fixed bin(17,0) dcl 11-138 cobol_$pd_map_index external static fixed bin(17,0) dcl 11-116 cobol_$pd_map_max external static fixed bin(17,0) dcl 11-160 cobol_$pd_map_ptr external static pointer dcl 11-28 cobol_$pd_map_sw external static fixed bin(17,0) dcl 11-126 cobol_$perform_list_ptr external static pointer dcl 11-36 cobol_$perform_para_index external static fixed bin(17,0) dcl 11-148 cobol_$perform_sect_index external static fixed bin(17,0) dcl 11-150 cobol_$priority_no external static fixed bin(17,0) dcl 11-140 cobol_$ptr_assumption_ind external static fixed bin(17,0) dcl 11-144 cobol_$ptr_status_ptr external static pointer dcl 11-56 cobol_$reg_assumption_ind external static fixed bin(17,0) dcl 11-146 cobol_$reg_status_ptr external static pointer dcl 11-58 cobol_$reloc_def_base_ptr external static pointer dcl 11-20 cobol_$reloc_def_max external static fixed bin(24,0) dcl 11-108 cobol_$reloc_link_base_ptr external static pointer dcl 11-22 cobol_$reloc_link_max external static fixed bin(24,0) dcl 11-110 cobol_$reloc_sym_base_ptr external static pointer dcl 11-24 cobol_$reloc_sym_max external static fixed bin(24,0) dcl 11-112 cobol_$reloc_text_base_ptr external static pointer dcl 11-18 cobol_$reloc_text_max external static fixed bin(24,0) dcl 11-106 cobol_$reloc_work_base_ptr external static pointer dcl 11-26 cobol_$reloc_work_max external static fixed bin(24,0) dcl 11-114 cobol_$reswd_ptr external static pointer dcl 11-78 cobol_$same_sort_merge_proc external static bit(1) dcl 11-214 cobol_$scratch_dir external static char(168) dcl 11-206 cobol_$sect_eop_flag external static fixed bin(17,0) dcl 11-136 cobol_$seg_init_flag external static fixed bin(17,0) dcl 11-132 cobol_$seg_init_list_ptr external static pointer dcl 11-40 cobol_$stack_off external static fixed bin(17,0) dcl 11-120 cobol_$statement_info_ptr external static pointer dcl 11-76 cobol_$sym_base_ptr external static pointer dcl 11-16 cobol_$sym_max external static fixed bin(17,0) dcl 11-104 cobol_$sym_wd_off external static fixed bin(17,0) dcl 11-102 cobol_$tag_table_max external static fixed bin(17,0) dcl 11-166 cobol_$tag_table_ptr external static pointer dcl 11-52 cobol_$temp_token_area_ptr external static pointer dcl 11-42 cobol_$temp_token_max external static fixed bin(17,0) dcl 11-168 cobol_$temp_token_ptr external static pointer dcl 11-44 cobol_$text_base_ptr external static pointer dcl 11-8 cobol_$token_block1_ptr external static pointer dcl 11-46 cobol_$token_block2_ptr external static pointer dcl 11-48 cobol_$value_cnt external static fixed bin(17,0) dcl 11-194 cobol_$ws_charcnt external static fixed bin(17,0) dcl 11-186 cobol_$ws_wdoff external static fixed bin(17,0) dcl 11-200 cobol_$xref_bypass external static bit(1) dcl 11-212 cobol_$xref_chain_ptr external static pointer dcl 11-74 cobol_$xref_token_ptr external static pointer dcl 11-72 cobol_data_wd_off defined fixed bin(17,0) dcl 11-119 compile_count defined fixed bin(17,0) dcl 11-143 coms_charcnt defined fixed bin(17,0) dcl 11-189 coms_wdoff defined fixed bin(17,0) dcl 11-203 con_end_ptr defined pointer dcl 11-11 con_wd_off defined fixed bin(17,0) dcl 11-93 cons_charcnt defined fixed bin(17,0) dcl 11-193 constant_offset defined fixed bin(17,0) dcl 11-157 data_init_flag defined fixed bin(17,0) dcl 11-131 date_compiled_sw defined fixed bin(17,0) dcl 11-181 debug_enable defined fixed bin(17,0) dcl 11-175 def_base_ptr defined pointer dcl 11-13 def_max defined fixed bin(17,0) dcl 11-97 def_wd_off defined fixed bin(17,0) dcl 11-95 desc_an based structure level 1 packed packed unaligned dcl 12-103 desc_an_ptr automatic pointer dcl 12-119 desc_nn based structure level 1 packed packed unaligned dcl 12-122 desc_nn_ptr automatic pointer dcl 12-118 diag_ptr defined pointer dcl 11-71 eln_max defined fixed bin(17,0) dcl 11-173 eln_ptr defined pointer dcl 11-69 fixup_max defined fixed bin(17,0) dcl 11-165 fixup_ptr defined pointer dcl 11-31 fs_charcnt defined fixed bin(17,0) dcl 11-185 fs_wdoff defined fixed bin(17,0) dcl 11-199 i automatic fixed bin(17,0) dcl 1203 include_cnt defined fixed bin(17,0) dcl 11-183 include_info_ptr defined pointer dcl 11-87 init_stack_off defined fixed bin(17,0) dcl 11-125 initval_base_ptr defined pointer dcl 11-33 initval_file_ptr defined pointer dcl 11-35 initval_flag defined fixed bin(17,0) dcl 11-179 input_struc_basic based structure level 1 unaligned dcl 12-23 inst_ptr automatic pointer dcl 12-18 inst_struc based structure level 1 dcl 12-66 inst_struc_basic based structure level 1 dcl 12-51 link_base_ptr defined pointer dcl 11-15 link_max defined fixed bin(17,0) dcl 11-101 link_wd_off defined fixed bin(17,0) dcl 11-99 list_off defined fixed bin(17,0) dcl 11-155 list_ptr defined pointer dcl 11-65 ls_charcnt defined fixed bin(17,0) dcl 11-191 main_pcs_ptr defined pointer dcl 11-85 map_data_max defined fixed bin(17,0) dcl 11-163 map_data_ptr defined pointer dcl 11-55 max_stack_off defined fixed bin(17,0) dcl 11-123 minpral5_ptr defined pointer dcl 11-51 misc_base_ptr defined pointer dcl 11-61 misc_end_ptr defined pointer dcl 11-63 misc_max defined fixed bin(17,0) dcl 11-159 name_arg internal static structure level 1 unaligned dcl 56 next_tag defined fixed bin(17,0) dcl 11-129 nlit_ptr automatic pointer dcl 3-11 non_source_offset defined fixed bin(17,0) dcl 11-177 ntbuf_ptr defined pointer dcl 11-83 numeric_lit based structure level 1 unaligned dcl 3-14 obj_seg_name defined char(32) dcl 11-209 op_con_ptr defined pointer dcl 11-81 para_eop_flag defined fixed bin(17,0) dcl 11-139 pd_map_index defined fixed bin(17,0) dcl 11-117 pd_map_max defined fixed bin(17,0) dcl 11-161 pd_map_ptr defined pointer dcl 11-29 pd_map_sw defined fixed bin(17,0) dcl 11-127 perform_list_ptr defined pointer dcl 11-37 perform_para_index defined fixed bin(17,0) dcl 11-149 perform_sect_index defined fixed bin(17,0) dcl 11-151 priority_no defined fixed bin(17,0) dcl 11-141 ptr_arg internal static structure level 1 unaligned dcl 60 ptr_assumption_ind defined fixed bin(17,0) dcl 11-145 ptr_off internal static fixed bin(17,0) initial dcl 239 ptr_status_ptr defined pointer dcl 11-57 reg_assumption_ind defined fixed bin(17,0) dcl 11-147 reg_status_ptr defined pointer dcl 11-59 reloc_def_base_ptr defined pointer dcl 11-21 reloc_def_max defined fixed bin(24,0) dcl 11-109 reloc_link_base_ptr defined pointer dcl 11-23 reloc_link_max defined fixed bin(24,0) dcl 11-111 reloc_struc based structure array level 1 unaligned dcl 12-44 reloc_sym_base_ptr defined pointer dcl 11-25 reloc_sym_max defined fixed bin(24,0) dcl 11-113 reloc_text_base_ptr defined pointer dcl 11-19 reloc_text_max defined fixed bin(24,0) dcl 11-107 reloc_work_base_ptr defined pointer dcl 11-27 reloc_work_max defined fixed bin(24,0) dcl 11-115 reswd_ptr defined pointer dcl 11-79 same_sort_merge_proc defined bit(1) dcl 11-215 scratch_dir defined char(168) dcl 11-207 sect_eop_flag defined fixed bin(17,0) dcl 11-137 seg_init_flag defined fixed bin(17,0) dcl 11-133 seg_init_list_ptr defined pointer dcl 11-41 stack_off defined fixed bin(17,0) dcl 11-121 statement_info_ptr defined pointer dcl 11-77 sym_base_ptr defined pointer dcl 11-17 sym_max defined fixed bin(17,0) dcl 11-105 sym_wd_off defined fixed bin(17,0) dcl 11-103 tag_table_max defined fixed bin(17,0) dcl 11-167 tag_table_ptr defined pointer dcl 11-53 tally_arg internal static structure level 1 unaligned dcl 65 temp_token_area_ptr defined pointer dcl 11-43 temp_token_max defined fixed bin(17,0) dcl 11-169 temp_token_ptr defined pointer dcl 11-45 text_base_ptr defined pointer dcl 11-9 text_wd_off defined fixed bin(17,0) dcl 11-91 token_block1_ptr defined pointer dcl 11-47 token_block2_ptr defined pointer dcl 11-49 value_cnt defined fixed bin(17,0) dcl 11-195 ws_charcnt defined fixed bin(17,0) dcl 11-187 ws_wdoff defined fixed bin(17,0) dcl 11-201 xref_bypass defined bit(1) dcl 11-213 xref_chain_ptr defined pointer dcl 11-75 xref_token_ptr defined pointer dcl 11-73 NAMES DECLARED BY EXPLICIT CONTEXT. cobol_inspect_gen 000015 constant entry external dcl 33 exit_repl_opt 006005 constant label dcl 1191 exit_replacing_stack_count 004512 constant label dcl 1015 exit_scan_opt_common 003454 constant label dcl 828 exit_tally 001056 constant label dcl 479 exit_tally_opt 002427 constant label dcl 681 exit_tally_stack_count 001347 constant label dcl 568 forget_it 000476 constant label dcl 445 ref 428 get_type9 006152 constant entry internal dcl 1236 ref 413 436 878 887 898 912 opch_move 006074 constant entry internal dcl 1217 ref 709 775 1092 1118 1168 1207 repl_opt 004513 constant entry internal dcl 1021 ref 857 replace 003455 constant entry internal dcl 836 ref 336 345 355 replacing_stack_count 004241 constant entry internal dcl 944 ref 854 restart 000233 constant label dcl 400 ref 465 scan_opt_common 002430 constant entry internal dcl 698 ref 604 638 644 646 1142 start 000022 constant label dcl 321 store_pr 006006 constant entry internal dcl 1201 ref 415 438 467 880 889 900 914 925 tally 000176 constant entry internal dcl 371 ref 331 341 357 tally_opt 001350 constant entry internal dcl 573 ref 376 tally_stack_count 001057 constant entry internal dcl 483 ref 373 try_again 001070 constant label dcl 495 ref 558 NAMES DECLARED BY CONTEXT OR IMPLICATION. addr builtin function ref 321 321 323 324 326 474 474 578 596 598 598 612 612 615 617 617 619 619 621 621 652 652 655 657 657 659 659 663 663 664 664 670 670 673 673 675 675 711 711 718 718 720 720 723 723 727 727 743 743 744 763 763 771 771 778 781 781 798 798 807 807 812 812 821 821 825 825 932 932 936 938 938 1030 1031 1050 1050 1051 1054 1058 1058 1059 1069 1069 1074 1074 1084 1084 1085 1088 1088 1096 1097 1097 1101 1101 1104 1104 1111 1111 1112 1114 1114 1115 1120 1124 1124 1127 1127 1133 1133 1151 1151 1157 1159 1159 1175 1175 1181 1181 1188 1188 1212 1212 1222 1226 1226 1227 1228 1240 1240 1241 1245 1245 1246 fixed builtin function ref 1054 null builtin function ref 474 474 612 612 652 652 653 653 663 663 670 670 671 671 672 672 723 723 727 727 763 763 771 771 798 798 807 807 812 812 813 813 821 821 825 825 932 932 1074 1074 1088 1088 1104 1104 1151 1151 1212 1212 substr builtin function set ref 448 470* 470 471 608* 608 609* 609 610* 610 611* 611 651* 651 661* 661 662* 662 667* 667 668* 668 669* 669 722* 722 728* 729* 732* 733* 758* 759* 759 760* 760 761* 762* 767* 768* 768 769* 770* 770 793* 794* 795* 795 796* 796 797* 802* 803* 804* 804 805* 805 806* 818* 818 819* 819 820* 820 822* 822 824* 824 928 931* 931 1053 1061* 1061 1064* 1072* 1072 1073* 1073 1087* 1087 1098* 1099* 1100* 1103* 1103 1123* 1125* 1126* 1129* 1129 1130* 1131* 1136* 1149* 1149 1179* 1179 1211* 1211 unspec builtin function ref 448 470 471 608 609 610 611 651 661 662 667 668 669 722 759 760 768 770 795 796 804 805 818 819 820 822 824 928 931 1072 1073 1087 1103 1129 1149 1179 1211 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 6752 7360 6446 6762 Length 10170 6446 406 573 303 322 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME cobol_inspect_gen 1534 external procedure is an external procedure. tally internal procedure shares stack frame of external procedure cobol_inspect_gen. tally_stack_count internal procedure shares stack frame of external procedure cobol_inspect_gen. tally_opt internal procedure shares stack frame of external procedure cobol_inspect_gen. scan_opt_common internal procedure shares stack frame of external procedure cobol_inspect_gen. replace internal procedure shares stack frame of external procedure cobol_inspect_gen. replacing_stack_count internal procedure shares stack frame of external procedure cobol_inspect_gen. repl_opt internal procedure shares stack frame of external procedure cobol_inspect_gen. store_pr internal procedure shares stack frame of external procedure cobol_inspect_gen. opch_move internal procedure shares stack frame of external procedure cobol_inspect_gen. get_type9 internal procedure shares stack frame of external procedure cobol_inspect_gen. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 epp2_instr cobol_inspect_gen 000011 spri2_instr cobol_inspect_gen 000012 pr2_struct cobol_inspect_gen 000021 pr1_struct cobol_inspect_gen 000030 reg_struct cobol_inspect_gen 000042 reg1_struct cobol_inspect_gen 000054 mpout cobol_inspect_gen 000066 type19_move cobol_inspect_gen 000100 alpha_type9 cobol_inspect_gen 000134 type2_static cobol_inspect_gen 000146 addpout cobol_inspect_gen 000160 type19_add cobol_inspect_gen 000172 fb35_type9 cobol_inspect_gen 000226 lead_inst cobol_inspect_gen 000230 lxl3_inst cobol_inspect_gen 000233 cmpx_inst cobol_inspect_gen 000240 ttn cobol_inspect_gen 000241 scm cobol_inspect_gen 000245 scd cobol_inspect_gen 000252 lxl_inst cobol_inspect_gen 000254 lda_inst cobol_inspect_gen 000260 lca_inst cobol_inspect_gen 000264 mvt_table_static cobol_inspect_gen 000324 mlr_tab cobol_inspect_gen 000327 ldx1_inst cobol_inspect_gen 000330 lxl1_inst cobol_inspect_gen STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME cobol_inspect_gen 000100 args cobol_inspect_gen 000126 type3 cobol_inspect_gen 000137 type9 cobol_inspect_gen 000173 scan_tag cobol_inspect_gen 000174 exit_tag cobol_inspect_gen 000175 length_off cobol_inspect_gen 000176 cnt_off cobol_inspect_gen 000177 before_option cobol_inspect_gen 000200 after_flag cobol_inspect_gen 000201 data_len cobol_inspect_gen 000202 full_len cobol_inspect_gen 000203 prev_scan cobol_inspect_gen 000204 mvt_table cobol_inspect_gen 000244 mvt cobol_inspect_gen 000250 mrl cobol_inspect_gen 000253 mlr cobol_inspect_gen 000256 code cobol_inspect_gen 000257 save_code cobol_inspect_gen 000260 found cobol_inspect_gen 000261 done cobol_inspect_gen 000262 char1 cobol_inspect_gen 000263 char1_index cobol_inspect_gen 000264 rn_opt cobol_inspect_gen 000265 tn_opt cobol_inspect_gen 000266 stack_flag cobol_inspect_gen 000267 opch_flag cobol_inspect_gen 000270 con_flag cobol_inspect_gen 000271 conoff cobol_inspect_gen 000272 i cobol_inspect_gen 000273 tn cobol_inspect_gen 000274 rn cobol_inspect_gen 000275 j cobol_inspect_gen 000276 tind cobol_inspect_gen 000277 toutoff cobol_inspect_gen 000300 temp cobol_inspect_gen 000301 stoff cobol_inspect_gen 000302 dn_ptr cobol_inspect_gen 000304 input_area cobol_inspect_gen 000312 reloc_area cobol_inspect_gen 000316 pr2_struct_ptr cobol_inspect_gen 000320 arg_ptr cobol_inspect_gen 000322 ttp cobol_inspect_gen 002322 rw_ptr cobol_inspect_gen 002324 alit_ptr cobol_inspect_gen 002326 eos_ptr cobol_inspect_gen 002330 input_ptr cobol_inspect_gen 002332 reloc_ptr cobol_inspect_gen 002354 j tally_stack_count 002355 done tally_stack_count 002356 off tally_stack_count 002357 tn tally_stack_count 002410 j replacing_stack_count 002411 all_option replacing_stack_count 002412 leading_option replacing_stack_count 002413 k replacing_stack_count 002414 rn replacing_stack_count 002424 j repl_opt 002425 length_off repl_opt 002426 k repl_opt 002446 i opch_move THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_e_as call_ext_out_desc call_ext_out return_mac ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. cobol_add_gen cobol_addr cobol_alloc$stack cobol_call_op cobol_define_tag_nc cobol_emit cobol_get_size$omit_sign cobol_io_util$bin_to_t9dec cobol_io_util$move_direct cobol_io_util$t9dec_to_bin cobol_make_tagref cobol_make_type3$type1 cobol_make_type9$type2_3 cobol_move_gen cobol_pointer_register$priority cobol_pool cobol_register$load cobol_register$release cobol_reset_r$in_line cobol_set_pr$omit_sign THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. cobol_$next_tag cobol_$text_wd_off LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 33 000012 321 000022 323 000032 324 000034 325 000037 326 000044 328 000046 329 000064 330 000073 331 000075 334 000103 336 000105 337 000106 339 000107 341 000115 342 000116 343 000117 345 000125 346 000126 348 000127 349 000130 350 000143 353 000157 354 000161 355 000162 356 000163 357 000165 359 000166 363 000170 364 000175 371 000176 373 000177 374 000200 376 000202 377 000203 379 000204 380 000206 381 000207 382 000216 400 000233 402 000234 403 000235 404 000240 405 000241 408 000255 410 000262 411 000264 412 000265 413 000272 415 000276 417 000305 420 000331 422 000367 423 000370 424 000371 426 000403 428 000410 431 000421 433 000427 434 000431 435 000432 436 000436 438 000442 440 000451 442 000475 445 000476 448 000534 449 000537 451 000571 452 000600 455 000606 456 000610 459 000620 460 000621 462 000637 463 000640 464 000643 465 000666 467 000667 468 000701 470 000723 471 000731 472 000734 474 000764 475 001005 476 001021 477 001031 478 001054 479 001056 483 001057 490 001060 491 001062 492 001063 494 001066 495 001070 497 001071 498 001074 499 001075 501 001101 503 001113 505 001115 507 001125 510 001133 511 001134 513 001136 516 001145 517 001146 519 001147 523 001162 526 001173 529 001202 530 001203 532 001205 535 001214 536 001215 539 001216 540 001217 542 001227 544 001234 549 001247 553 001270 554 001271 556 001305 557 001306 558 001307 560 001310 561 001316 562 001323 564 001327 566 001332 568 001347 573 001350 577 001351 578 001357 579 001361 581 001372 582 001373 584 001403 587 001413 590 001424 592 001427 593 001431 594 001447 595 001463 596 001467 597 001471 598 001477 599 001512 601 001513 603 001521 604 001523 606 001542 608 001554 609 001562 610 001565 611 001574 612 001600 614 001620 615 001624 616 001626 617 001634 618 001647 619 001660 620 001671 621 001674 623 001704 625 001712 626 001714 629 001715 630 001717 631 001722 633 001730 635 001737 638 001747 641 001772 643 002000 644 002002 646 002021 649 002043 651 002055 652 002063 653 002103 655 002123 656 002126 657 002134 658 002147 659 002152 660 002162 661 002165 662 002173 663 002202 664 002222 665 002233 667 002236 668 002246 669 002256 670 002262 671 002302 672 002322 673 002342 674 002353 675 002356 676 002366 677 002377 678 002417 680 002425 681 002427 698 002430 706 002432 707 002437 709 002444 711 002455 713 002470 715 002476 716 002515 717 002520 718 002534 719 002545 720 002550 721 002560 722 002563 723 002570 725 002610 727 002616 728 002637 729 002644 730 002650 732 002651 733 002654 735 002655 737 002663 738 002665 740 002666 741 002675 743 002700 744 002712 746 002714 748 002720 749 002721 751 002727 752 002732 753 002733 755 002743 757 002747 758 002752 759 002757 760 002764 761 002766 762 002770 763 002774 764 003014 766 003015 767 003020 768 003025 769 003032 770 003036 771 003040 773 003060 775 003061 777 003072 778 003075 779 003077 780 003103 781 003106 782 003116 783 003121 784 003124 786 003132 787 003134 788 003135 790 003145 792 003151 793 003154 794 003161 795 003165 796 003172 797 003177 798 003203 799 003223 801 003224 802 003227 803 003234 804 003240 805 003245 806 003252 807 003256 810 003276 812 003304 813 003325 816 003345 818 003353 819 003361 820 003364 821 003371 822 003411 823 003417 824 003420 825 003426 828 003454 836 003455 852 003456 853 003457 854 003460 855 003461 857 003463 858 003464 860 003465 861 003500 862 003501 863 003502 865 003505 866 003506 869 003514 871 003521 873 003526 875 003533 876 003535 877 003536 878 003544 880 003550 882 003557 885 003603 887 003604 889 003607 891 003616 894 003642 896 003700 897 003701 898 003710 900 003714 901 003723 902 003724 903 003725 905 003737 907 003744 909 003751 910 003753 911 003754 912 003761 914 003765 916 003774 918 004020 921 004021 923 004057 924 004060 925 004063 926 004066 928 004110 929 004113 931 004144 932 004152 933 004172 934 004206 936 004221 937 004224 938 004230 940 004240 944 004241 953 004242 954 004245 955 004246 956 004250 957 004252 958 004254 959 004266 960 004267 962 004271 965 004307 967 004312 969 004314 975 004323 976 004331 979 004347 980 004350 983 004363 986 004371 987 004372 988 004374 990 004406 992 004413 995 004425 996 004426 1000 004442 1001 004443 1002 004445 1005 004446 1006 004447 1008 004451 1010 004462 1012 004471 1014 004472 1015 004512 1021 004513 1028 004514 1029 004515 1030 004521 1031 004523 1032 004525 1033 004527 1034 004532 1035 004533 1036 004534 1037 004535 1039 004545 1040 004552 1042 004555 1043 004556 1044 004565 1046 004577 1047 004601 1048 004606 1050 004612 1051 004625 1053 004627 1054 004633 1055 004637 1056 004645 1058 004650 1059 004663 1061 004665 1062 004672 1063 004675 1064 004717 1065 004721 1067 004722 1068 004724 1069 004742 1070 004753 1071 004775 1072 005001 1073 005004 1074 005011 1075 005031 1076 005041 1078 005053 1079 005055 1081 005065 1082 005066 1084 005072 1085 005105 1087 005107 1088 005114 1089 005134 1091 005135 1092 005137 1094 005155 1095 005162 1096 005164 1097 005167 1098 005203 1099 005207 1100 005211 1101 005213 1102 005232 1103 005235 1104 005243 1106 005263 1108 005275 1109 005276 1111 005305 1112 005320 1114 005322 1115 005335 1116 005340 1117 005341 1118 005343 1120 005362 1121 005366 1122 005371 1123 005373 1124 005377 1125 005413 1126 005417 1127 005421 1128 005440 1129 005443 1130 005450 1131 005454 1132 005456 1133 005460 1134 005470 1136 005473 1137 005477 1139 005501 1141 005515 1142 005517 1143 005536 1144 005540 1145 005542 1146 005543 1148 005545 1149 005551 1151 005554 1152 005575 1155 005610 1156 005613 1157 005614 1158 005616 1159 005622 1161 005632 1162 005643 1164 005644 1165 005652 1168 005664 1169 005673 1170 005675 1171 005676 1172 005677 1174 005706 1175 005707 1176 005724 1178 005726 1179 005732 1181 005735 1182 005754 1184 005763 1186 005766 1187 005770 1188 005775 1191 006005 1201 006006 1207 006010 1209 006027 1210 006041 1211 006045 1212 006053 1213 006073 1217 006074 1221 006076 1222 006102 1223 006104 1224 006110 1225 006124 1226 006130 1227 006140 1228 006144 1229 006147 1230 006151 1236 006152 1238 006153 1240 006157 1241 006172 1243 006174 1245 006177 1246 006212 1248 006214 ----------------------------------------------------------- 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