COMPILATION LISTING OF SEGMENT cobol_mst 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 0943.1 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_mst.pl1 Reformatted code to new Cobol standard. 19* END HISTORY COMMENTS */ 20 21 22 /* Modified on 09/07/83 by FCH, [5.2-1], fix errors in runtime symbol table, phx15769(BUG555) */ 23 /* Modified on 10/27/82 by FCH, [5.1-2], get last line num from fix comm, BUG543(phx13643) */ 24 /* Modified on 11/24/81 by FCH, [5.1-1], statement table was a shambles, BUG519(phx11818) */ 25 /* Modified on 05/16/80 by FCH, [4.2-1], decl for tag_addr corrected */ 26 /* modified on 10/20/79 by PRP [4.1-2], communicate data types to symbol table */ 27 /* Modified on 10/20/79 by PRP [4.1-1], fix statement map */ 28 /* Modified on 06/28/78 by RAL [3.0-1] Allow for multiple lines for each statement */ 29 /* Modified on 03/01/78 by Richard A. Barnes to thread runtime_symbol.next in negative direction only 30* and to use a hash table to eliminate duplicate runtime tokens */ 31 /* Modified since Version 3.0 */ 32 33 34 35 36 37 /* format: style3 */ 38 cobol_mst: 39 proc; 40 41 /* Builds Runtime Symbol Table for interfacing with debug. 42* Called when "-table" option specified. 43* Assumptions: 44* 45* 1) sym_base_ptr points to start of Symbol_Block_Header. 46* 2) sym_wd_off is offset of 1st word after PL1_Symbol_Block. */ 47 48 /* Initialization */ 49 50 sbh_ptr = sym_base_ptr; /* get ptr to Symbol_Block_Header */ 51 sbh_off = fixed (rel (sbh_ptr), 18); 52 psb_off = fixed (sbh_ptr -> symbol_block_header.area_relp, 18); 53 psb_ptr = addrel (sbh_ptr, psb_off); /* get ptr to PL1_Symbol_Block */ 54 psb_ptr -> pl1_symbol_block.flags.table = "1"b; 55 token_count = 0; 56 label_count = 0; 57 starting_wd_off = sym_wd_off; /* save offset of 1st word we will generate */ 58 sect_off = 0; 59 translate_it = "0"b; 60 hash_table (*) = 0; 61 62 /* Build Root Block */ 63 64 root_off = sym_wd_off; 65 psb_ptr -> pl1_symbol_block.root = bit (root_off, 18); 66 root_blk_ptr = gen_runtime_block (0); 67 68 /* Generate token node and symbol node for prog name */ 69 70 name_string = fixed_common.prog_name; 71 name_length = index (name_string, " ") - 1; 72 73 call gen_runtime_nodes; 74 75 root_blk_ptr -> runtime_block.start = bit (fixed (symb_off - root_off, 18), 18); 76 ext_ent_ptr = s_ptr; /* save ptr to symbol of program name */ 77 78 s_ptr -> runtime_symbol.type = "011010"b; /* external entry constant */ 79 s_ptr -> runtime_symbol.father = bit (fixed (262144 + root_off - symb_off, 18), 18); 80 s_ptr -> runtime_symbol.address.location = bit (fixed (cobol_$constant_offset + 1, 18), 18); 81 s_ptr -> runtime_symbol.address.class = "1100"b; /* text reference */ 82 83 sym_wd_off = sym_wd_off + symbol_size; 84 85 if name_length > 1 86 then do; /* fill in chain of root block to point to procname */ 87 88 token_size = 16; 89 j = 4; 90 91 do while (name_length < token_size); 92 93 j = j - 1; 94 token_size = divide (token_size, 2, 18, 0); 95 end; 96 97 root_blk_ptr -> runtime_block.chain (j) = root_blk_ptr -> runtime_block.start; 98 end; 99 100 /* Build Main Block */ 101 102 main_off = sym_wd_off; 103 text_ptr = cobol_$text_base_ptr; 104 block_relp = bit (main_off, 18); 105 main_blk_ptr = gen_runtime_block (root_off); 106 107 /* Build "COBOL" token and symbol - this is data_ptr on which all data is based. */ 108 109 name_string = "COBOL"; 110 name_length = 5; 111 112 call gen_runtime_nodes; 113 114 data_ptr_off = symb_off; 115 s_ptr -> runtime_symbol.location = "000000000000001000"b; 116 /* 8 bytes */ 117 s_ptr -> runtime_symbol.type = "001101"b; /* pointer */ 118 s_ptr -> runtime_symbol.class = "0100"b; /* internal static */ 119 s_ptr -> runtime_symbol.father = bit (fixed (262144 + main_off - data_ptr_off, 18), 18); 120 121 sym_wd_off = sym_wd_off + symbol_size; 122 123 /* Process Name-Table */ 124 125 translate_it = "1"b; 126 len_ptr = pointer (cobol_ntfp, 8); 127 128 do while (len > 0); 129 130 p = len_ptr; 131 go to token_type (p -> name_table_entry.type); 132 133 token_type (7): /* PROCEDURE DEFINITION (Label) */ 134 token_type (18): 135 proc_def_ptr = p; 136 137 if label_count < fixed_common.proc_counter 138 then do; /* do not process compiler generated labels */ 139 140 name_string = proc_def_ptr -> proc_def.name; 141 name_length = proc_def_ptr -> proc_def.name_size; 142 143 call gen_runtime_nodes; 144 145 s_ptr -> runtime_symbol.simple = "1"b; 146 symbol_size = 4; /* no "size" field for labels */ 147 148 tag_loc = cobol_$tag_table_ptr -> tag_addr (proc_def.proc_num); 149 150 do while (tag_loc < 0); 151 152 tag_loc = cobol_$tag_table_ptr -> tag_addr (-tag_loc); 153 end; 154 155 if tag_loc = 0 156 then do; /* ERROR - undefined label */ 157 158 call ioa_ ("Procedure Definition ^a is undefined", proc_def.name); 159 call ioa_ ("and will not appear in the Runtime Symbol Table"); 160 161 token_count = token_count - 1; 162 163 end; 164 else do; 165 166 s_ptr -> runtime_symbol.location = 167 bit (fixed (tag_loc + cobol_$constant_offset, 18), 18); 168 169 if proc_def_ptr -> proc_def.section_name 170 then do; 171 172 s_ptr -> runtime_symbol.level = "000001"b; 173 s_ptr -> runtime_symbol.father = 174 bit (fixed (262144 + main_off - symb_off, 18), 18); 175 176 sect_off = symb_off; 177 sect_ptr = s_ptr; 178 prev_p = null (); 179 180 end; 181 else if sect_off = 0 182 then s_ptr -> runtime_symbol.father = 183 bit (fixed (262144 + main_off - symb_off, 18), 18); 184 else do; 185 186 s_ptr -> runtime_symbol.level = "000010"b; 187 s_ptr -> runtime_symbol.father = 188 bit (fixed (262144 + sect_off - symb_off, 18), 18); 189 190 if prev_p = null () 191 then sect_ptr -> runtime_symbol.son = 192 bit (fixed (symb_off - sect_off, 18), 18); 193 else prev_p -> runtime_symbol.brother = 194 bit (fixed (symb_off - prev_poff, 18), 18); 195 196 prev_p = s_ptr; 197 198 prev_poff = symb_off; 199 200 end; 201 202 s_ptr -> runtime_symbol.type = "011000"b; 203 /* label constant */ 204 s_ptr -> runtime_symbol.class = "1100"b; 205 /* text-reference */ 206 207 sym_wd_off = sym_wd_off + symbol_size; 208 209 end; 210 211 label_count = label_count + 1; 212 213 end; 214 215 go to token_type (0); 216 217 token_type (9): /* data-name */ 218 dn_ptr = p; /* establish data-name ptr */ 219 name_string = dn_ptr -> data_name.name; 220 221 if name_string = "SYSTEM_STATUS" | name_string = "TALLY" 222 then go to token_type (0); 223 224 name_length = dn_ptr -> data_name.name_size; 225 226 call gen_runtime_nodes; 227 228 symbol_size = symbol_size + 1; /* add 1 for offset field */ 229 230 if dn_ptr -> data_name.display | dn_ptr -> data_name.non_elementary 231 then do; /* non_elementary = structure - make char string so full structure can be printed */ 232 233 /* [4.1-2] */ 234 if data_name.numeric | data_name.numeric_edited 235 then do; 236 237 /*[5.2-1]*/ 238 if data_name.numeric /*[5.2-1]*/ 239 then do; 240 241 242 if data_name.sign_type = "000"b 243 then s_ptr -> runtime_symbol.type = "100011"b; 244 else if data_name.sign_type = "100"b 245 then s_ptr -> runtime_symbol.type = "001001"b; 246 else if data_name.sign_type = "011"b 247 then s_ptr -> runtime_symbol.type = "100100"b; 248 else if data_name.sign_type = "010"b 249 then s_ptr -> runtime_symbol.type = "011101"b; 250 else if data_name.sign_type = "001"b 251 then s_ptr -> runtime_symbol.type = "011110"b; 252 else /* do nothing */ 253 ; 254 255 /*[5.2-1]*/ 256 end; /*[5.2-1]*/ 257 else s_ptr -> runtime_symbol.type = "010101"b; 258 259 s_ptr -> runtime_symbol.size = data_name.places_left + data_name.places_right; 260 261 temp_scale = data_name.places_right; 262 s_ptr -> runtime_symbol.scale = unspec (temp_scale); 263 264 end; 265 266 else do; 267 268 s_ptr -> runtime_symbol.type = "010101"b; 269 s_ptr -> runtime_symbol.size = dn_ptr -> data_name.item_length; 270 271 end; 272 273 /*[5.2-1]*/ 274 s_ptr -> runtime_symbol.aligned = "0"b; 275 /*[5.2-1]*/ 276 s_ptr -> runtime_symbol.packed = "1"b; 277 278 s_ptr -> runtime_symbol.offset = dn_ptr -> data_name.offset; 279 280 end; 281 else if dn_ptr -> data_name.usage_index 282 then do; 283 284 s_ptr -> runtime_symbol.aligned = "0"b; 285 s_ptr -> runtime_symbol.packed = "1"b; 286 s_ptr -> runtime_symbol.type = "000001"b; 287 /* fixed bin */ 288 s_ptr -> runtime_symbol.size = 17; /* precision = 17 */ 289 s_ptr -> runtime_symbol.offset = dn_ptr -> data_name.offset + 4; 290 291 end; 292 293 /* /* next two blocks are redundant in that both support comp-5 and comp-8. 294*/* With the current arrangement, comp-8 is described as packed decimal 295*/* and comp-5 as bit string. For both bitstring, eliminate the following block; 296*/* for both packed decimal, change following test to ascii_packed_dec 297*/* instead of ascii_packed_dec_h and elminate second block; similarly 298*/* change array_units test. */ 299 /* else if dn_ptr->data_name.ascii_packed_dec_h /* COMP-8 */ 300 /* then do; 301*/* s_ptr->runtime_symbol.aligned = "0"b; 302*/* s_ptr->runtime_symbol.packed = "1"b; 303*/* s_ptr->runtime_symbol.units = "11"b; /* half */ 304 /* s_ptr->runtime_symbol.type = "011111"b; /* packed decimal */ 305 /* packed_dec_size = dn_ptr->data_name.places_left 306*/* + dn_ptr->data_name.places_right; 307*/* if dn_ptr->data_name.item_signed 308*/* then packed_dec_size = packed_dec_size + 1; 309*/* temp_off = 9*data_name.offset+1; 310*/* if data_name.ascii_packed_dec_h then do; /* COMP-8 */ 311 /* if data_name.bit_offset ^= ""b then do; 312*/* s_ptr->runtime_symbol.offset = temp_off+4; 313*/* s_ptr->runtime_symbol.size = packed_dec_size; 314*/* end; 315*/* else do; 316*/* s_ptr->runtime_symbol.offset = temp_off; 317*/* s_ptr->runtime_symbol.size = packed_dec_size; 318*/* end; 319*/* end; 320*/* else do; /* COMP-5 */ 321 /* if temp_mod = 0 then do; 322*/* s_ptr->runtime_symbol.offset = temp_off; 323*/* s_ptr->runtime_symbol.size = packed_dec_size; 324*/* end; 325*/* else do; /* odd length */ 326 /* s_ptr->runtime_symbol.offset = temp_off+4; 327*/* s_ptr->runtime_symbol.size = packed_dec_size; 328*/* end; 329*/* end; 330*/* end; 331*/* else if dn_ptr->data_name.ascii_packed_dec /* COMP-5 */ 332 /* then do; 333*/* s_ptr->runtime_symbol.aligned = "0"b; 334*/* s_ptr->runtime_symbol.packed = "1"b; 335*/* s_ptr->runtime_symbol.units = "01"b; /* bits */ 336 /* s_ptr->runtime_symbol.type = "010011"b; /* bit string */ 337 /* packed_dec_size = dn_ptr->data_name.places_left 338*/* + dn_ptr->data_name.places_right; 339*/* if dn_ptr->data_name.item_signed 340*/* then packed_dec_size = packed_dec_size + 1; 341*/* temp_off = 9*data_name.offset+1; 342*/* temp_size = 9*divide(packed_dec_size,2,35,0); 343*/* temp_mod = mod(packed_dec_size,2); 344*/* if data_name.ascii_packed_dec_h then do; /* COMP-8 */ 345 /* temp_size = temp_size+temp_mod*4; 346*/* if data_name.bit_offset ^= ""b then do; 347*/* s_ptr->runtime_symbol.offset = temp_off+4; 348*/* s_ptr->runtime_symbol.size = temp_size; 349*/* end; 350*/* else do; 351*/* s_ptr->runtime_symbol.offset = temp_off; 352*/* if temp_mod = 0 then s_ptr->runtime_symbol.size = temp_size-1; 353*/* else s_ptr->runtime_symbol.size = temp_size; 354*/* end; 355*/* end; 356*/* else do; /* COMP-5 */ 357 /* if temp_mod = 0 then do; 358*/* s_ptr->runtime_symbol.offset = temp_off; 359*/* s_ptr->runtime_symbol.size = temp_size-1; 360*/* end; 361*/* else do; /* odd length */ 362 /* s_ptr->runtime_symbol.offset = temp_off+4; 363*/* s_ptr->runtime_symbol.size = temp_size+4; 364*/* end; 365*/* end; 366*/* end; 367*/**/ 368 else if dn_ptr -> data_name.ascii_packed_dec 369 then do; /* packed decimal */ 370 371 temp_scale = data_name.places_right; 372 s_ptr -> runtime_symbol.scale = unspec (temp_scale); 373 374 s_ptr -> runtime_symbol.aligned = "0"b; 375 s_ptr -> runtime_symbol.packed = "1"b; 376 s_ptr -> runtime_symbol.use_digit = "1"b; 377 s_ptr -> runtime_symbol.units = "11"b; 378 379 if data_name.item_signed 380 then do; 381 382 if data_name.ascii_packed_dec_h 383 /*[5.2-1]*/ 384 then if dn_ptr -> data_name.sync 385 /*[5.2-1]*/ 386 then s_ptr -> runtime_symbol.type = "101011"b; 387 /* 43 */ 388 /*[5.2-1]*/ 389 else s_ptr -> runtime_symbol.type = "101001"b; 390 /* 41 */ 391 else s_ptr -> runtime_symbol.type = "100111"b; 392 393 end; 394 else if data_name.ascii_packed_dec_h 395 /*[5.2-1]*/ 396 then if dn_ptr -> data_name.sync /*[5.2-1]*/ 397 then s_ptr -> runtime_symbol.type = "101000"b; 398 /* 40 */ 399 /*[5.21]*/ 400 else s_ptr -> runtime_symbol.type = "100110"b; 401 /* 38 */ 402 else s_ptr -> runtime_symbol.type = "101000"b; 403 /* New data type 40*/ 404 405 s_ptr -> runtime_symbol.size = data_name.places_left + data_name.places_right; 406 s_ptr -> runtime_symbol.offset = 2 * data_name.offset; 407 /* in half-bytes */ 408 409 if ^data_name.ascii_packed_dec_h 410 then do; /* COMP-5 */ 411 412 if mod (s_ptr -> runtime_symbol.size, 2) = 1 413 then if ^data_name.item_signed 414 then s_ptr -> runtime_symbol.offset = s_ptr -> runtime_symbol.offset + 1; 415 else ; 416 else if data_name.item_signed 417 then s_ptr -> runtime_symbol.offset = s_ptr -> runtime_symbol.offset + 1; 418 419 end; 420 else if data_name.bit_offset ^= ""b 421 then s_ptr -> runtime_symbol.offset = s_ptr -> runtime_symbol.offset + 1; 422 end; 423 else if dn_ptr -> data_name.bin_18 424 then do; 425 426 s_ptr -> runtime_symbol.aligned = "0"b; 427 /*[5.2-1]*/ 428 if dn_ptr -> data_name.sync /*[5.2-1]*/ 429 then s_ptr -> runtime_symbol.packed = "0"b; 430 /*[5.2-1]*/ 431 else s_ptr -> runtime_symbol.packed = "1"b; 432 s_ptr -> runtime_symbol.type = "000001"b; 433 /* fixed bin */ 434 s_ptr -> runtime_symbol.size = 17; /* precision = 17 */ 435 s_ptr -> runtime_symbol.offset = dn_ptr -> data_name.offset; 436 437 end; 438 else if dn_ptr -> data_name.bin_36 439 then do; 440 441 s_ptr -> runtime_symbol.aligned = "1"b; 442 s_ptr -> runtime_symbol.packed = "0"b; 443 s_ptr -> runtime_symbol.type = "000001"b; 444 /* fixed bin */ 445 s_ptr -> runtime_symbol.size = 35; /* precision = 35 */ 446 s_ptr -> runtime_symbol.offset = dn_ptr -> data_name.offset; 447 448 end; 449 450 if dn_ptr -> data_name.working_storage | dn_ptr -> data_name.file_section 451 | dn_ptr -> data_name.communication_section 452 /* 10/01/77 */ 453 then do; 454 455 s_ptr -> runtime_symbol.class = "0011"b; 456 /* based */ 457 s_ptr -> runtime_symbol.location = bit (fixed (262144 + data_ptr_off - symb_off, 18), 18); 458 459 end; 460 else if dn_ptr -> data_name.constant_section 461 then do; 462 463 s_ptr -> runtime_symbol.class = "1100"b; 464 /* text reference */ 465 s_ptr -> runtime_symbol.location = 466 bit (fixed (cobol_$constant_offset - divide (dn_ptr -> data_name.offset + 3, 4, 18, 0), 18), 467 18); 468 s_ptr -> runtime_symbol.offset = mod (dn_ptr -> data_name.offset, 4); 469 470 end; 471 else if dn_ptr -> data_name.linkage_section 472 then do; /* parameter */ 473 474 s_ptr -> runtime_symbol.class = "1001"b; 475 /* parameter */ 476 s_ptr -> runtime_symbol.location = bit (fixed (dn_ptr -> data_name.linkage, 18), 18); 477 478 end; 479 480 if dn_ptr -> data_name.level_77 | dn_ptr -> data_name.level = 66 481 | (dn_ptr -> data_name.level_01 & dn_ptr -> data_name.elementary) 482 then s_ptr -> runtime_symbol.level = (6)"0"b; 483 else s_ptr -> runtime_symbol.level = bit (fixed (dn_ptr -> data_name.level, 6), 6); 484 485 if fixed (s_ptr -> runtime_symbol.level, 7) <= 1 486 then s_ptr -> runtime_symbol.father = bit (fixed (262144 + main_off - symb_off, 18), 18); 487 488 if dn_ptr -> data_name.occurs_ptr = 0 489 then s_ptr -> runtime_symbol.ndims = "0"b; 490 else do; /* process array info */ 491 492 occurs_ptr = addrel (dn_ptr, divide (dn_ptr -> data_name.occurs_ptr, 4, 15, 0)); 493 494 s_ptr -> runtime_symbol.ndims = bit (fixed (occurs_ptr -> occurs.dimensions, 6), 6); 495 s_ptr -> runtime_symbol.virtual_org = 0; 496 497 do j = 1 to occurs_ptr -> occurs.dimensions; 498 499 s_ptr -> runtime_symbol.bounds.lower (j) = max (occurs_ptr -> occurs.level.min (j), 1); 500 s_ptr -> runtime_symbol.bounds.upper (j) = occurs_ptr -> occurs.level.max (j); 501 502 if dn_ptr -> data_name.ascii_packed_dec 503 then do; /* packed decimal */ 504 505 s_ptr -> runtime_symbol.bounds.multiplier (j) = 506 occurs_ptr -> occurs.level.struc_length (j); 507 s_ptr -> runtime_symbol.array_units = s_ptr -> runtime_symbol.units; 508 end; 509 else s_ptr -> runtime_symbol.bounds.multiplier (j) = 510 divide (occurs_ptr -> occurs.level.struc_length (j) + 1, 2, 35, 0); 511 512 s_ptr -> runtime_symbol.virtual_org = 513 s_ptr -> runtime_symbol.virtual_org + s_ptr -> runtime_symbol.bounds.multiplier (j); 514 end; 515 516 symbol_size = symbol_size + 1 + 3 * (occurs_ptr -> occurs.dimensions); 517 518 end; 519 520 if dn_ptr -> data_name.non_elementary | (dn_ptr -> data_name.level > 1 & dn_ptr -> data_name.level <= 49) 521 then do; /* structure or structure-member */ 522 523 /* For each structure or structure-member, we will set the 524* father,son and brother fields of the runtime_symbol node. */ 525 526 if dn_ptr -> data_name.level_01 527 then do; /* structure */ 528 529 prev_s = s_ptr; 530 prev_level = 1; 531 532 end; 533 534 else do; /* structure-member */ 535 536 /* Backup chain to prev brother if level < prev_level */ 537 538 do while (fixed (s_ptr -> runtime_symbol.level, 17) < prev_level); 539 540 prev_soff = prev_soff + fixed (prev_s -> runtime_symbol.father, 18) - 262144; 541 prev_s = addrel (prev_s, prev_s -> runtime_symbol.father); 542 prev_level = fixed (prev_s -> runtime_symbol.level, 18); 543 end; 544 545 if fixed (s_ptr -> runtime_symbol.level, 17) > prev_level 546 then do; /* processing a son */ 547 548 prev_s -> runtime_symbol.son = bit (fixed (symb_off - prev_soff, 18), 18); 549 s_ptr -> runtime_symbol.father = 550 bit (fixed (262144 + prev_soff - symb_off, 18), 18); 551 prev_level = fixed (s_ptr -> runtime_symbol.level, 18); 552 553 end; 554 else do; /* level = prev_level, processing a brother */ 555 556 prev_s -> runtime_symbol.brother = 557 bit (fixed (symb_off - prev_soff, 18), 18); 558 s_ptr -> runtime_symbol.father = 559 bit ( 560 fixed (262144 + fixed (prev_s -> runtime_symbol.father, 18) 561 + prev_soff - symb_off, 18), 18); 562 563 end; 564 565 prev_s = s_ptr; 566 567 end; 568 569 prev_soff = symb_off; 570 571 end; 572 573 sym_wd_off = sym_wd_off + symbol_size; 574 575 go to token_type (0); 576 577 token_type (10): /* Index-Name */ 578 ind_ptr = p; 579 name_string = ind_ptr -> index_name.name; 580 name_length = ind_ptr -> index_name.name_size; 581 582 call gen_runtime_nodes; 583 584 symbol_size = symbol_size + 1; 585 s_ptr -> runtime_symbol.offset = ind_ptr -> index_name.offset + 4; 586 /* use ocur. no. only */ 587 s_ptr -> runtime_symbol.class = "0011"b; /* based */ 588 s_ptr -> runtime_symbol.type = "000001"b; /* fixed bin */ 589 s_ptr -> runtime_symbol.size = 35; /* precision = 35 */ 590 s_ptr -> runtime_symbol.location = bit (fixed (262144 + data_ptr_off - symb_off, 18), 18); 591 s_ptr -> runtime_symbol.father = bit (fixed (262144 + main_off - symb_off, 18), 18); 592 sym_wd_off = sym_wd_off + symbol_size; 593 594 go to token_type (0); 595 596 token_type (0): 597 token_type (1): 598 token_type (2): 599 token_type (3): 600 token_type (4): 601 token_type (5): 602 token_type (6): 603 token_type (8): 604 token_type (11): 605 token_type (12): 606 token_type (13): 607 token_type (14): 608 token_type (15): 609 token_type (16): 610 token_type (17): 611 token_type (19): 612 token_type (20): 613 token_type (40): 614 len_ptr = addrel (p, divide (len + 11, 8, 35, 0) * 2); 615 616 end; 617 618 /* Sort tokens alphabeticly by size and form token and symbol chains for blocks */ 619 620 621 call sort_tokens; 622 623 first = 1; 624 token_size = 2; 625 finished = "0"b; 626 prev_s = null; 627 628 do i = 0 to 5 while (^finished); 629 630 prev_t = null (); 631 632 if i < 5 633 then first_symbol = "1"b; 634 635 do j = first to token_count while (fixed (token_list (j) -> runtime_token.size, 9) < token_size); 636 637 t_ptr = token_list (j); 638 t_off = fixed (rel (t_ptr), 18) - sbh_off; 639 640 if prev_t = null () 641 then do; /* first token of this size...set block.token to point to it */ 642 643 644 next_off = t_off - main_off; 645 646 if next_off > 0 647 then main_blk_ptr -> runtime_block.token (i) = bit (next_off, 18); 648 else main_blk_ptr -> runtime_block.token (i) = bit (fixed (262144 + next_off, 18), 18); 649 650 root_blk_ptr -> runtime_block.token (i) = bit (fixed (t_off - root_off, 18), 18); 651 652 end; 653 654 else do; /* set token.next of prev token to point to this token */ 655 656 next_off = t_off - prev_toff; 657 658 if next_off > 0 659 then prev_t -> runtime_token.next = bit (next_off, 18); 660 else prev_t -> runtime_token.next = bit (fixed (262144 + next_off, 18), 18); 661 end; 662 663 prev_t = t_ptr; 664 prev_toff = t_off; 665 666 s_ptr = t_ptr; 667 next_offset = fixed (t_ptr -> runtime_token.dcl, 18); 668 669 /* the following loop examines all symbols with the same name */ 670 671 672 do while (next_offset ^= 0); 673 674 s_ptr = addrel (s_ptr, next_offset); 675 676 if fixed (s_ptr -> runtime_symbol.level, 7) <= 1 & s_ptr ^= ext_ent_ptr 677 then do; /* link all level 0 & 1 symbols */ 678 679 symb_off = fixed (rel (s_ptr), 18) - sbh_off; 680 681 if first_symbol 682 then do; 683 684 /* this is the first symbol of this size, so have 685* runtime_block.chain(i) point to this symbol. 686* Also, if this is the very first symbol processed, have 687* runtime_block.start point to the symbol. */ 688 689 first_symbol = "0"b; 690 691 next_off = symb_off - main_off; 692 693 if main_blk_ptr -> runtime_block.start = "0"b 694 then if next_off > 0 695 then main_blk_ptr -> runtime_block.start = bit (next_off, 18); 696 else main_blk_ptr -> runtime_block.start = 697 bit (fixed (262144 + next_off, 18), 18); 698 699 if i > 0 & i < 5 700 then do; /* set main_block.chain to point to this symbol */ 701 702 if next_off > 0 703 then main_blk_ptr -> runtime_block.chain (i) = bit (next_off, 18); 704 else main_blk_ptr -> runtime_block.chain (i) = 705 bit (fixed (262144 + next_off, 18), 18); 706 707 end; 708 end; 709 710 if prev_s ^= null 711 then do; /* set prev symbol.brother to point to this symbol */ 712 713 /* chain this level 1 symbol to other level 1 symbols in this block */ 714 715 next_off = symb_off - prev_soff; 716 717 if next_off > 0 718 then prev_s -> runtime_symbol.brother = bit (next_off, 18); 719 else prev_s -> runtime_symbol.brother = 720 bit (fixed (262144 + next_off, 18), 18); 721 722 end; 723 724 prev_s = s_ptr; 725 prev_soff = symb_off; 726 727 end; 728 729 /* get the next symbol, or exzit the loop */ 730 731 if s_ptr -> runtime_symbol.next 732 then next_offset = fixed (s_ptr -> runtime_symbol.next, 14) - 16384; 733 else next_offset = 0; 734 735 end; 736 737 end; 738 739 if prev_t ^= null 740 then prev_t -> runtime_token.next = (18)"0"b;/* finish the list */ 741 742 token_size = 2 * token_size; 743 finished = j > token_count; 744 first = j; 745 end; 746 747 748 /* Generate relocation bits for runtime symbol table */ 749 750 call cobol_reloc (null (), 2 * (sym_wd_off - starting_wd_off), 4); 751 752 /* Build Statement Map */ 753 754 psb_ptr -> pl1_symbol_block.flags.map = "1"b; 755 psb_ptr -> pl1_symbol_block.map.first = bit (fixed (sym_wd_off, 18), 18); 756 root_blk_ptr -> runtime_block.map.first = bit (fixed (sym_wd_off - root_off, 18), 18); 757 main_blk_ptr -> runtime_block.map.first = bit (fixed (sym_wd_off - main_off, 18), 18); 758 759 prev_line_num = 0; 760 prev_file_num = 0; 761 762 /*[5.1-1]*/ 763 statement_no = 1; 764 765 /*[5.1-1]*/ 766 do i = 1 by 1 to map_data_table.no_source_stmts; 767 768 /*[5.1-1]*/ 769 if map_data_table.label (i) /*[5.1-1]*/ 770 then do; 771 statement_no = 1; 772 773 /*[5.2-1]*/ 774 eln_index = map_data_table.line_no (i); 775 /*[5.2-1]*/ 776 if eln_index > 0 777 then line_num = eln_tab.lno (eln_index); 778 779 /*[5.1-1]*/ 780 do while (map_data_table.label (i)); 781 782 /*[5.1-1]*/ 783 i = i + 1; 784 785 /*[5.1-1]*/ 786 end; /*[5.1-1]*/ 787 end; /*[5.2-1]*/ 788 else do; 789 eln_index = map_data_table.line_no (i); 790 /*[5.2-1]*/ 791 if eln_index > 0 792 then line_num = eln_tab.lno (eln_index); 793 /*[5.2-1]*/ 794 end; 795 796 /*[5.1-1]*/ 797 if i <= map_data_table.no_source_stmts /*[5.2-1]*/ 798 then do; /*eln_index = map_data_table.line_no(i);*/ 799 800 /*[5.1-1]*/ 801 if eln_index > 0 /*[5.1-1]*/ 802 then do; 803 804 /*[5.2-1]*/ 805 /*line_num = eln_tab.lno(eln_index);*/ 806 /*[5.1-1]*/ 807 file_num = eln_tab.fno (eln_index); 808 809 /*[5.1-1]*/ 810 p = addrel (sym_base_ptr, sym_wd_off); 811 812 /*[5.1-1]*/ 813 p -> statement_map.location = 814 /*[5.1-1]*/ 815 bit (fixed (map_data_table.text_addr (i) + cobol_$constant_offset, 18), 18); 816 817 /*[5.1-1]*/ 818 p -> statement_map.file = bit (file_num, 8); 819 /*[5.1-1]*/ 820 p -> statement_map.line = bit (line_num, 14); 821 /*[5.1-1]*/ 822 p -> statement_map.statement = bit (statement_no, 5); 823 824 /*[5.1-1]*/ 825 p -> statement_map.start = 826 bit (fixed (statement_info.start (eln_index) + map_data_table.col (i) - 1, 18), 827 18); 828 829 /*[5.1-1]*/ 830 if i = map_data_table.no_source_stmts 831 /*[5.1-2]*/ 832 then do; 833 span = fixed_common.cobol_cln - eln_index; 834 /*[5.1-1]*/ 835 next_eln_index = 0; 836 /*[5.1-1]*/ 837 end; /*[5.1-1]*/ 838 else do; 839 next_eln_index = map_data_table.line_no (i + 1); 840 841 /*[5.1-1]*/ 842 do j = eln_index by 1 to next_eln_index - 1 /*[5.1-1]*/ 843 while (eln_tab.fno (j) = file_num); 844 /*[5.1-1]*/ 845 end; 846 847 /*[5.1-1]*/ 848 span = j - eln_index; 849 /*[5.1-1]*/ 850 end; 851 852 /*[5.1-1]*/ 853 if span = 0 /*[5.1-1]*/ 854 then do; 855 statement_no = statement_no + 1; 856 /*[5.1-1]*/ 857 new_length = map_data_table.col (i + 1) - map_data_table.col (i); 858 /*[5.1-1]*/ 859 end; /*[5.1-1]*/ 860 else do; 861 statement_no = 1; 862 863 864 /*[5.1-1]*/ 865 new_length = statement_info.length (eln_index) - map_data_table.col (i) + 1; 866 867 /*[5.1-1]*/ 868 if span > 1 /*[5.1-1]*/ 869 then do j = eln_index + 1 by 1 to eln_index + span - 1; 870 871 /*[5.1-1]*/ 872 new_length = new_length + statement_info.length (j) + 1; 873 874 /*[5.1-1]*/ 875 end; 876 877 /*[5.1-1]*/ 878 if next_eln_index > 0 879 /*[5.1-1]*/ 880 then if eln_index + span = next_eln_index 881 /*[5.1-1]*/ 882 then if file_num = eln_tab.fno (next_eln_index) 883 /*[5.1-1]*/ 884 then new_length = new_length + map_data_table.col (i + 1); 885 886 /*[5.1-1]*/ 887 end; 888 889 /*[5.1-1]*/ 890 p -> statement_map.length = bit (fixed (new_length, 9), 9); 891 892 /*[5.1-1]*/ 893 call cobol_reloc (addr (stmt_map_reloc_bits), 4, 4); 894 895 /*[5.1-1]*/ 896 sym_wd_off = sym_wd_off + 2; 897 898 /*[5.1-1]*/ 899 end; 900 901 /*[5.1-1]*/ 902 end; 903 904 /*[5.1-1]*/ 905 end; 906 907 main_blk_ptr -> runtime_block.map.last = bit (fixed (sym_wd_off - main_off, 18), 18); 908 909 /* Build dummy last statement-map entry */ 910 911 p = addrel (sym_base_ptr, sym_wd_off); 912 p -> statement_map.location = bit (fixed (cobol_$non_source_offset + cobol_$constant_offset, 18), 18); 913 string (p -> statement_map.source_id) = (27)"1"b; 914 string (p -> statement_map.source_info) = (26)"0"b; 915 916 call cobol_reloc (addr (stmt_map_reloc_bits), 4, 4); 917 918 sym_wd_off = sym_wd_off + 2; 919 psb_ptr -> pl1_symbol_block.map.last = bit (fixed (sym_wd_off, 18), 18); 920 root_blk_ptr -> runtime_block.map.last = bit (fixed (sym_wd_off - root_off, 18), 18); 921 922 /* Finish Up */ 923 924 sbh_ptr -> symbol_block_header.default_truncate = bit (fixed (sym_wd_off, 18), 18); 925 926 return; 927 928 /* */ 929 gen_runtime_block: 930 proc (father_off) returns (ptr); 931 932 dcl father_off fixed bin (18); 933 dcl p ptr; 934 935 p = addrel (sym_base_ptr, sym_wd_off); /* get ptr for runtime_block area */ 936 substr (p -> bits, 1, 360) = "0"b; /* clear runtime_block area */ 937 p -> runtime_block.flag = "1"b; 938 p -> runtime_block.standard = "1"b; 939 p -> runtime_block.type = "000011"b; 940 p -> runtime_block.father = bit (fixed (262144 + father_off - sym_wd_off, 18), 18); 941 p -> runtime_block.header = bit (fixed (262144 - sym_wd_off, 18), 18); 942 943 if father_off ^= 0 944 then do; /* Main Block */ 945 946 p -> runtime_block.name = bit (fixed (262144 + name_off - sym_wd_off, 18), 18); 947 root_blk_ptr -> runtime_block.son = bit (fixed (sym_wd_off - root_off, 18), 18); 948 end; 949 sym_wd_off = sym_wd_off + 10; 950 951 return (p); 952 953 end gen_runtime_block; 954 955 956 gen_runtime_nodes: 957 proc; 958 959 dcl found bit (1) aligned; 960 dcl name char (32) aligned based (addr (name_array)); 961 dcl name_array (8) bit (36) aligned; 962 dcl tok_offset fixed bin; 963 dcl mask (3) bit (36) aligned static init ("777000000000"b3, "777777000000"b3, "777777777000"b3); 964 dcl hash_index fixed bin; 965 dcl mod_2_sum bit (36) aligned; 966 dcl (j, k) fixed bin; 967 968 /* find or generate runtime token node */ 969 970 /* copy the name for hashing, translating if necessary */ 971 972 if translate_it 973 then substr (name, 1, name_length) = translate (substr (name_string, 1, name_length), "_", "-"); 974 else substr (name, 1, name_length) = substr (name_string, 1, name_length); 975 976 /* develop the hash_index */ 977 978 if name_length = 0 979 then hash_index = 0; 980 981 else if name_length = 1 982 then hash_index = binary (unspec (substr (name, 1, 1)) & "177"b3, 9); 983 984 else do; 985 mod_2_sum = "0"b; 986 987 j = divide (name_length, 4, 17, 0); 988 k = name_length - 4 * j; 989 990 if k ^= 0 991 then do; 992 j = j + 1; 993 name_array (j) = name_array (j) & mask (k); 994 end; 995 996 do i = 1 to j; 997 998 mod_2_sum = bool (mod_2_sum, name_array (i), "0110"b); 999 /* XOR */ 1000 end; 1001 1002 hash_index = mod (binary (mod_2_sum, 35), dim (hash_table, 1)); 1003 1004 end; 1005 1006 /* search for the runtime_token */ 1007 1008 tok_offset = hash_table (hash_index); 1009 found = "0"b; 1010 1011 do while (^found & tok_offset > 0); 1012 1013 t_ptr = addrel (sym_base_ptr, tok_offset); 1014 1015 if fixed (t_ptr -> runtime_token.size, 9) = name_length 1016 & t_ptr -> runtime_token.string = substr (name, 1, name_length) 1017 then found = "1"b; 1018 else tok_offset = fixed (t_ptr -> runtime_token.next, 18); 1019 end; 1020 1021 if found 1022 then name_off = tok_offset + 1; 1023 1024 else do; 1025 1026 /* generate the node */ 1027 1028 tok_offset = sym_wd_off; 1029 t_ptr = addrel (sym_base_ptr, tok_offset); 1030 token_count = token_count + 1; 1031 token_list (token_count) = t_ptr; 1032 name_off = tok_offset + 1; 1033 token_size = 2 + divide (name_length, 4, 18, 0); 1034 substr (t_ptr -> bits, 1, 36 * token_size) = "0"b; 1035 /* clear token */ 1036 t_ptr -> runtime_token.size = bin (name_length, 9); 1037 t_ptr -> runtime_token.string = substr (name, 1, name_length); 1038 sym_wd_off = sym_wd_off + token_size; 1039 t_ptr -> runtime_token.next = bit (hash_table (hash_index), 18); 1040 hash_table (hash_index) = tok_offset; 1041 1042 end; 1043 1044 /* start generating runtime symbol node...node will be completed by caller */ 1045 1046 s_ptr = addrel (sym_base_ptr, sym_wd_off); 1047 symb_off = sym_wd_off; 1048 substr (s_ptr -> bits, 1, 180) = simple_symbol; 1049 s_ptr -> runtime_symbol.simple = ^translate_it; 1050 s_ptr -> runtime_symbol.name = bit (fixed (262144 + name_off - symb_off, 18), 18); 1051 1052 /* if this token already has a symbol, chain the new symbol to the old one */ 1053 1054 if t_ptr -> runtime_token.dcl 1055 then s_ptr -> runtime_symbol.next = 1056 bit (fixed (tok_offset + fixed (t_ptr -> runtime_token.dcl, 18) - symb_off + 16384, 14), 14); 1057 1058 t_ptr -> runtime_token.dcl = bit (fixed (symb_off - tok_offset, 18), 18); 1059 1060 symbol_size = 5; 1061 1062 end gen_runtime_nodes; 1063 1064 sort_tokens: 1065 proc; 1066 1067 /* This routine sorts the array of ptrs to runtime_tokens. It does a Shell sort alphabetizing 1068* by size on the basis of the string in the token. */ 1069 1070 dcl (d, i, j, k) fixed bin; 1071 dcl (p, p1, p2) ptr; 1072 1073 d = token_count; 1074 1075 down: 1076 d = 2 * divide (d, 4, 15, 0) + 1; 1077 1078 do i = 1 to token_count - d; 1079 1080 k = i + d; 1081 p2 = token_list (k); 1082 1083 up: 1084 j = k - d; 1085 p1 = token_list (j); 1086 1087 if p1 -> runtime_token.size > p2 -> runtime_token.size 1088 then go to interchange; 1089 1090 if p1 -> runtime_token.size < p2 -> runtime_token.size 1091 then go to ok; 1092 1093 if p1 -> runtime_token.string <= p2 -> runtime_token.string 1094 then go to ok; 1095 1096 interchange: 1097 p = token_list (j); 1098 token_list (j) = token_list (k); 1099 token_list (k) = p; 1100 1101 if j > d 1102 then do; 1103 k = j; 1104 go to up; 1105 end; 1106 ok: 1107 end; 1108 1109 if d > 1 1110 then go to down; 1111 1112 end sort_tokens; 1113 1114 1115 1116 /* temp dcls */ 1117 dcl span fixed bin; 1118 dcl temp_scale fixed bin (7) unal; 1119 dcl prev_stmt_length fixed bin; 1120 dcl (k, next_eln_index, new_length) 1121 fixed bin; 1122 dcl (temp_off, temp_size, temp_mod) 1123 fixed bin; 1124 1125 dcl p ptr; 1126 dcl sbh_ptr ptr defined (sym_ptr); 1127 dcl psb_ptr ptr; 1128 dcl root_blk_ptr ptr; 1129 dcl main_blk_ptr ptr; 1130 dcl s_ptr ptr; 1131 dcl t_ptr ptr; 1132 dcl sect_ptr ptr; 1133 dcl prev_p ptr; 1134 dcl prev_s ptr; 1135 dcl prev_t ptr; 1136 dcl dn_ptr ptr; 1137 dcl len_ptr ptr; 1138 dcl ext_ent_ptr ptr; 1139 dcl token_list (3000) ptr; 1140 1141 dcl hash_table (0:210) fixed bin (18); 1142 1143 dcl next_offset fixed bin (18); 1144 dcl starting_wd_off fixed bin; 1145 dcl token_count fixed bin; 1146 dcl (i, j) fixed bin; 1147 dcl name_length fixed bin (9); 1148 dcl token_size fixed bin (18); 1149 dcl symbol_size fixed bin; 1150 dcl name_off fixed bin (18); 1151 dcl segname_off fixed bin (18); 1152 dcl sbh_off fixed bin (18); 1153 dcl psb_off fixed bin (18); 1154 dcl root_off fixed bin (18); 1155 dcl main_off fixed bin (18); 1156 dcl data_ptr_off fixed bin (18); 1157 dcl p_off fixed bin (18); 1158 dcl symb_off fixed bin (18); 1159 dcl next_off fixed bin (18); 1160 dcl sect_off fixed bin (18); 1161 dcl prev_poff fixed bin (18); 1162 dcl t_off fixed bin; 1163 dcl prev_soff fixed bin (18); 1164 dcl prev_toff fixed bin; 1165 dcl first fixed bin; 1166 dcl prev_level fixed bin; 1167 dcl prev_line_num fixed bin (14); 1168 dcl line_num fixed bin (14); 1169 dcl file_num fixed bin (8); 1170 dcl prev_file_num fixed bin (8); 1171 dcl statement_no fixed bin (5); 1172 dcl label_count fixed bin; 1173 dcl tag_loc fixed bin; 1174 dcl packed_dec_size fixed bin; 1175 1176 dcl first_symbol bit (1) aligned; 1177 dcl translate_it bit (1); 1178 dcl finished bit (1); 1179 dcl name_string char (32); 1180 1181 dcl len fixed bin based (len_ptr); 1182 dcl ident_sw bit (1); 1183 dcl prev_ident_s ptr; 1184 dcl charn char (n) based; 1185 dcl bits bit (3600) based; 1186 1187 dcl 1 name_table_entry based, 1188 2 size fixed bin (15), 1189 2 line fixed bin (15), 1190 2 column fixed bin (15), 1191 2 type fixed bin (15); 1192 1193 dcl 1 map_data_table aligned based (map_data_ptr), 1194 2 no_source_stmts fixed bin aligned, 1195 2 data (0 refer (map_data_table.no_source_stmts)), 1196 3 line_no fixed bin unaligned, 1197 3 text_addr fixed bin unaligned, 1198 3 col fixed bin unaligned, 1199 3 label bit unaligned; 1200 1201 /*[4.2-1]*/ 1202 declare 1 DEF aligned based (cobol_$tag_table_ptr), 1203 /*[4.2-1]*/ 1204 2 tag_max fixed bin, /*[4.2-1]*/ 1205 2 TAG (32767), /*[4.2-1]*/ 1206 3 tag_addr fixed bin (17) unal, /*[4.2-1]*/ 1207 3 tag_no fixed bin (17) unal; 1208 1209 dcl stmt_map_reloc_bits (4) bit (5) static aligned init ("10000"b, ""b, ""b, ""b); 1210 dcl simple_symbol bit (36) static aligned init ("101010000000000000000000101000000000"b); 1211 1212 dcl cobol_reloc entry (ptr, fixed bin, fixed bin); 1213 dcl ioa_ entry options (variable); 1214 1215 dcl addr builtin; 1216 dcl addrel builtin; 1217 dcl bit builtin; 1218 dcl binary builtin; 1219 dcl bool builtin; 1220 dcl dim builtin; 1221 dcl divide builtin; 1222 dcl fixed builtin; 1223 dcl index builtin; 1224 dcl max builtin; 1225 dcl mod builtin; 1226 dcl null builtin; 1227 dcl pointer builtin; 1228 dcl rel builtin; 1229 dcl string builtin; 1230 dcl substr builtin; 1231 dcl translate builtin; 1232 dcl unspec builtin; 1233 1234 1 1 /* BEGIN INCLUDE FILE ... runtime_symbol.incl.pl1 ... Modified 07/79 */ 1 2 1 3 dcl 1 runtime_symbol aligned based, 1 4 2 flag unal bit(1), /* always "1"b for Version II */ 1 5 2 use_digit unal bit(1), /* if "1"b and units are half words units are really digits */ 1 6 2 array_units unal bit(2), 1 7 2 units unal bit(2), /* addressing units */ 1 8 2 type unal bit(6), /* data type */ 1 9 2 level unal bit(6), /* structure level */ 1 10 2 ndims unal bit(6), /* number of dimensions */ 1 11 2 bits unal, 1 12 3 aligned bit(1), 1 13 3 packed bit(1), 1 14 3 simple bit(1), 1 15 2 skip unal bit(1), 1 16 2 scale unal bit(8), /* arithmetic scale factor */ 1 17 2 name unal bit(18), /* rel ptr to acc name */ 1 18 2 brother unal bit(18), /* rel ptr to brother entry */ 1 19 2 father unal bit(18), /* rel ptr to father entry */ 1 20 2 son unal bit(18), /* rel ptr to son entry */ 1 21 2 address unal, 1 22 3 location bit(18), /* location in storage class */ 1 23 3 class bit(4), /* storage class */ 1 24 3 next bit(14), /* rel ptr to next of same class */ 1 25 2 size fixed bin(35), /* encoded string|arith size */ 1 26 2 offset fixed bin(35), /* encoded offset from address */ 1 27 2 virtual_org fixed bin(35), 1 28 2 bounds(1), 1 29 3 lower fixed bin(35), /* encoded lower bound */ 1 30 3 upper fixed bin(35), /* encoded upper bound */ 1 31 3 multiplier fixed bin(35); /* encoded multiplier */ 1 32 1 33 dcl 1 runtime_bound based, 1 34 2 lower fixed bin(35), 1 35 2 upper fixed bin(35), 1 36 2 multiplier fixed bin(35); 1 37 1 38 dcl 1 runtime_block aligned based, 1 39 2 flag unal bit(1), /* always "1"b for Version II */ 1 40 2 quick unal bit(1), /* "1"b if quick block */ 1 41 2 fortran unal bit(1), /* "1"b if fortran program */ 1 42 2 standard unal bit(1), /* "1"b if program has std obj segment */ 1 43 2 owner_flag unal bit(1), /* "1"b if block has valid owner field */ 1 44 2 skip unal bit(1), 1 45 2 type unal bit(6), /* = 0 for a block node */ 1 46 2 number unal bit(6), /* begin block number */ 1 47 2 start unal bit(18), /* rel ptr to start of symbols */ 1 48 2 name unal bit(18), /* rel ptr to name of proc */ 1 49 2 brother unal bit(18), /* rel ptr to brother block */ 1 50 2 father unal bit(18), /* rel ptr to father block */ 1 51 2 son unal bit(18), /* rel ptr to son block */ 1 52 2 map unal, 1 53 3 first bit(18), /* rel ptr to first word of map */ 1 54 3 last bit(18), /* rel ptr to last word of map */ 1 55 2 entry_info unal bit(18), /* info about entry of quick block */ 1 56 2 header unal bit(18), /* rel ptr to symbol header */ 1 57 2 chain(4) unal bit(18), /* chain(i) is rel ptr to first symbol 1 58* on start list with length >= 2**i */ 1 59 2 token(0:5) unal bit(18), /* token(i) is rel ptr to first token 1 60* on list with length >= 2 ** i */ 1 61 2 owner unal bit(18); /* rel ptr to owner block */ 1 62 1 63 dcl 1 runtime_token aligned based, 1 64 2 next unal bit(18), /* rel ptr to next token */ 1 65 2 dcl unal bit(18), /* rel ptr to first dcl of this token */ 1 66 2 name, /* ACC */ 1 67 3 size unal unsigned fixed bin (9), /* number of chars in token */ 1 68 3 string unal char(n refer(runtime_token.size)); 1 69 1 70 dcl 1 encoded_value aligned based, 1 71 2 flag bit (2) unal, 1 72 2 code bit (4) unal, 1 73 2 n1 bit (6) unal, 1 74 2 n2 bit (6) unal, 1 75 2 n3 bit (18) unal; 1 76 1 77 /* END INCLUDE FILE ... runtime_symbol.incl.pl1 */ 1235 2 1 2 2 /* BEGIN INCLUDE FILE ... cobol_entry_seq.incl.pl1 */ 2 3 /* Created May 22, 1976 by BC. */ 2 4 2 5 declare parm_desc_ptr ptr; 2 6 2 7 declare 1 parm_desc aligned based(parm_desc_ptr), 2 8 2 n_args fixed bin unaligned, 2 9 2 descriptor_relp (0 refer(parm_desc.n_args)) bit(18) unaligned; 2 10 2 11 2 12 dcl text_ptr ptr; 2 13 2 14 dcl 1 entry_seq aligned based(text_ptr), 2 15 2 descr_relp_offset bit(18) unaligned, 2 16 2 reserved bit(18) unaligned, 2 17 2 def_relp bit(18) unaligned, /* set to offset of definition section */ 2 18 2 flags unaligned, 2 19 3 basic_indicator bit(1) unaligned, 2 20 3 revision_1 bit(1) unaligned, 2 21 3 has_descriptors bit(1) unaligned, 2 22 3 variable bit(1) unaligned, 2 23 3 function bit(1) unaligned, 2 24 3 pad bit(13) unaligned, 2 25 2 eax7 bit(36) aligned, /* addr field set to max stack size mod 16 */ 2 26 2 epp2 bit(36) aligned, /* preset */ 2 27 2 tsp2 bit(36) aligned, /* preset */ 2 28 2 zero_fill bit(18) unaligned, /* preset */ 2 29 2 trace_cntrl_relp bit(18) unaligned, /* set to 6 + length of internal static (32) */ 2 30 2 link_relp bit(18) unaligned, 2 31 2 block_relp bit(18) unaligned; 2 32 2 33 2 34 /* END INCLUDE FILE ... cobol_entry_seq.incl.pl1 */ 2 35 1236 3 1 dcl 1 statement_map aligned based, 3 2 2 location bit(18) unaligned, 3 3 2 source_id unaligned, 3 4 3 file bit(8), 3 5 3 line bit(14), 3 6 3 statement bit(5), 3 7 2 source_info unaligned, 3 8 3 start bit(18), 3 9 3 length bit(9); 1237 4 1 4 2 /* BEGIN INCLUDE FILE ... cobol_eln_table.incl.pl1 */ 4 3 4 4 dcl 1 eln_tab(20000) based( cobol_$eln_ptr), 4 5 2 fno fixed bin(17) unaligned, 4 6 2 lno fixed bin(17) unaligned; 4 7 4 8 dcl eln_index fixed bin; 4 9 4 10 dcl 1 statement_info(20000) based( cobol_$statement_info_ptr), 4 11 2 start fixed bin(24) unaligned, 4 12 2 length fixed bin(8) unaligned; 4 13 4 14 /* END INCLUDE FILE ... cobol_eln_table.incl.pl1 */ 4 15 1238 5 1 5 2 /* BEGIN INCLUDE FILE ... cobol_.incl.pl1 */ 5 3 /* last modified Feb 4, 1977 by ORN */ 5 4 5 5 /* This file defines all external data used in the generator phase of Multics Cobol */ 5 6 5 7 /* POINTERS */ 5 8 dcl cobol_$text_base_ptr ptr ext; 5 9 dcl text_base_ptr ptr defined (cobol_$text_base_ptr); 5 10 dcl cobol_$con_end_ptr ptr ext; 5 11 dcl con_end_ptr ptr defined (cobol_$con_end_ptr); 5 12 dcl cobol_$def_base_ptr ptr ext; 5 13 dcl def_base_ptr ptr defined (cobol_$def_base_ptr); 5 14 dcl cobol_$link_base_ptr ptr ext; 5 15 dcl link_base_ptr ptr defined (cobol_$link_base_ptr); 5 16 dcl cobol_$sym_base_ptr ptr ext; 5 17 dcl sym_base_ptr ptr defined (cobol_$sym_base_ptr); 5 18 dcl cobol_$reloc_text_base_ptr ptr ext; 5 19 dcl reloc_text_base_ptr ptr defined (cobol_$reloc_text_base_ptr); 5 20 dcl cobol_$reloc_def_base_ptr ptr ext; 5 21 dcl reloc_def_base_ptr ptr defined (cobol_$reloc_def_base_ptr); 5 22 dcl cobol_$reloc_link_base_ptr ptr ext; 5 23 dcl reloc_link_base_ptr ptr defined (cobol_$reloc_link_base_ptr); 5 24 dcl cobol_$reloc_sym_base_ptr ptr ext; 5 25 dcl reloc_sym_base_ptr ptr defined (cobol_$reloc_sym_base_ptr); 5 26 dcl cobol_$reloc_work_base_ptr ptr ext; 5 27 dcl reloc_work_base_ptr ptr defined (cobol_$reloc_work_base_ptr); 5 28 dcl cobol_$pd_map_ptr ptr ext; 5 29 dcl pd_map_ptr ptr defined (cobol_$pd_map_ptr); 5 30 dcl cobol_$fixup_ptr ptr ext; 5 31 dcl fixup_ptr ptr defined (cobol_$fixup_ptr); 5 32 dcl cobol_$initval_base_ptr ptr ext; 5 33 dcl initval_base_ptr ptr defined (cobol_$initval_base_ptr); 5 34 dcl cobol_$initval_file_ptr ptr ext; 5 35 dcl initval_file_ptr ptr defined (cobol_$initval_file_ptr); 5 36 dcl cobol_$perform_list_ptr ptr ext; 5 37 dcl perform_list_ptr ptr defined (cobol_$perform_list_ptr); 5 38 dcl cobol_$alter_list_ptr ptr ext; 5 39 dcl alter_list_ptr ptr defined (cobol_$alter_list_ptr); 5 40 dcl cobol_$seg_init_list_ptr ptr ext; 5 41 dcl seg_init_list_ptr ptr defined (cobol_$seg_init_list_ptr); 5 42 dcl cobol_$temp_token_area_ptr ptr ext; 5 43 dcl temp_token_area_ptr ptr defined (cobol_$temp_token_area_ptr); 5 44 dcl cobol_$temp_token_ptr ptr ext; 5 45 dcl temp_token_ptr ptr defined (cobol_$temp_token_ptr); 5 46 dcl cobol_$token_block1_ptr ptr ext; 5 47 dcl token_block1_ptr ptr defined (cobol_$token_block1_ptr); 5 48 dcl cobol_$token_block2_ptr ptr ext; 5 49 dcl token_block2_ptr ptr defined (cobol_$token_block2_ptr); 5 50 dcl cobol_$minpral5_ptr ptr ext; 5 51 dcl minpral5_ptr ptr defined (cobol_$minpral5_ptr); 5 52 dcl cobol_$tag_table_ptr ptr ext; 5 53 dcl tag_table_ptr ptr defined (cobol_$tag_table_ptr); 5 54 dcl cobol_$map_data_ptr ptr ext; 5 55 dcl map_data_ptr ptr defined (cobol_$map_data_ptr); 5 56 dcl cobol_$ptr_status_ptr ptr ext; 5 57 dcl ptr_status_ptr ptr defined (cobol_$ptr_status_ptr); 5 58 dcl cobol_$reg_status_ptr ptr ext; 5 59 dcl reg_status_ptr ptr defined (cobol_$reg_status_ptr); 5 60 dcl cobol_$misc_base_ptr ptr ext; 5 61 dcl misc_base_ptr ptr defined (cobol_$misc_base_ptr); 5 62 dcl cobol_$misc_end_ptr ptr ext; 5 63 dcl misc_end_ptr ptr defined (cobol_$misc_end_ptr); 5 64 dcl cobol_$list_ptr ptr ext; 5 65 dcl list_ptr ptr defined (cobol_$list_ptr); 5 66 dcl cobol_$allo1_ptr ptr ext; 5 67 dcl allo1_ptr ptr defined (cobol_$allo1_ptr); 5 68 dcl cobol_$eln_ptr ptr ext; 5 69 dcl eln_ptr ptr defined (cobol_$eln_ptr); 5 70 dcl cobol_$diag_ptr ptr ext; 5 71 dcl diag_ptr ptr defined (cobol_$diag_ptr); 5 72 dcl cobol_$xref_token_ptr ptr ext; 5 73 dcl xref_token_ptr ptr defined (cobol_$xref_token_ptr); 5 74 dcl cobol_$xref_chain_ptr ptr ext; 5 75 dcl xref_chain_ptr ptr defined (cobol_$xref_chain_ptr); 5 76 dcl cobol_$statement_info_ptr ptr ext; 5 77 dcl statement_info_ptr ptr defined (cobol_$statement_info_ptr); 5 78 dcl cobol_$reswd_ptr ptr ext; 5 79 dcl reswd_ptr ptr defined (cobol_$reswd_ptr); 5 80 dcl cobol_$op_con_ptr ptr ext; 5 81 dcl op_con_ptr ptr defined (cobol_$op_con_ptr); 5 82 dcl cobol_$ntbuf_ptr ptr ext; 5 83 dcl ntbuf_ptr ptr defined (cobol_$ntbuf_ptr); 5 84 dcl cobol_$main_pcs_ptr ptr ext; 5 85 dcl main_pcs_ptr ptr defined (cobol_$main_pcs_ptr); 5 86 dcl cobol_$include_info_ptr ptr ext; 5 87 dcl include_info_ptr ptr defined (cobol_$include_info_ptr); 5 88 5 89 /* FIXED BIN */ 5 90 dcl cobol_$text_wd_off fixed bin ext; 5 91 dcl text_wd_off fixed bin defined (cobol_$text_wd_off); 5 92 dcl cobol_$con_wd_off fixed bin ext; 5 93 dcl con_wd_off fixed bin defined (cobol_$con_wd_off); 5 94 dcl cobol_$def_wd_off fixed bin ext; 5 95 dcl def_wd_off fixed bin defined (cobol_$def_wd_off); 5 96 dcl cobol_$def_max fixed bin ext; 5 97 dcl def_max fixed bin defined (cobol_$def_max); 5 98 dcl cobol_$link_wd_off fixed bin ext; 5 99 dcl link_wd_off fixed bin defined (cobol_$link_wd_off); 5 100 dcl cobol_$link_max fixed bin ext; 5 101 dcl link_max fixed bin defined (cobol_$link_max); 5 102 dcl cobol_$sym_wd_off fixed bin ext; 5 103 dcl sym_wd_off fixed bin defined (cobol_$sym_wd_off); 5 104 dcl cobol_$sym_max fixed bin ext; 5 105 dcl sym_max fixed bin defined (cobol_$sym_max); 5 106 dcl cobol_$reloc_text_max fixed bin(24) ext; 5 107 dcl reloc_text_max fixed bin(24) defined (cobol_$reloc_text_max); 5 108 dcl cobol_$reloc_def_max fixed bin(24) ext; 5 109 dcl reloc_def_max fixed bin(24) defined (cobol_$reloc_def_max); 5 110 dcl cobol_$reloc_link_max fixed bin(24) ext; 5 111 dcl reloc_link_max fixed bin(24) defined (cobol_$reloc_link_max); 5 112 dcl cobol_$reloc_sym_max fixed bin(24) ext; 5 113 dcl reloc_sym_max fixed bin(24) defined (cobol_$reloc_sym_max); 5 114 dcl cobol_$reloc_work_max fixed bin(24) ext; 5 115 dcl reloc_work_max fixed bin(24) defined (cobol_$reloc_work_max); 5 116 dcl cobol_$pd_map_index fixed bin ext; 5 117 dcl pd_map_index fixed bin defined (cobol_$pd_map_index); 5 118 dcl cobol_$cobol_data_wd_off fixed bin ext; 5 119 dcl cobol_data_wd_off fixed bin defined (cobol_$cobol_data_wd_off); 5 120 dcl cobol_$stack_off fixed bin ext; 5 121 dcl stack_off fixed bin defined (cobol_$stack_off); 5 122 dcl cobol_$max_stack_off fixed bin ext; 5 123 dcl max_stack_off fixed bin defined (cobol_$max_stack_off); 5 124 dcl cobol_$init_stack_off fixed bin ext; 5 125 dcl init_stack_off fixed bin defined (cobol_$init_stack_off); 5 126 dcl cobol_$pd_map_sw fixed bin ext; 5 127 dcl pd_map_sw fixed bin defined (cobol_$pd_map_sw); 5 128 dcl cobol_$next_tag fixed bin ext; 5 129 dcl next_tag fixed bin defined (cobol_$next_tag); 5 130 dcl cobol_$data_init_flag fixed bin ext; 5 131 dcl data_init_flag fixed bin defined (cobol_$data_init_flag); 5 132 dcl cobol_$seg_init_flag fixed bin ext; 5 133 dcl seg_init_flag fixed bin defined (cobol_$seg_init_flag); 5 134 dcl cobol_$alter_flag fixed bin ext; 5 135 dcl alter_flag fixed bin defined (cobol_$alter_flag); 5 136 dcl cobol_$sect_eop_flag fixed bin ext; 5 137 dcl sect_eop_flag fixed bin defined (cobol_$sect_eop_flag); 5 138 dcl cobol_$para_eop_flag fixed bin ext; 5 139 dcl para_eop_flag fixed bin defined (cobol_$para_eop_flag); 5 140 dcl cobol_$priority_no fixed bin ext; 5 141 dcl priority_no fixed bin defined (cobol_$priority_no); 5 142 dcl cobol_$compile_count fixed bin ext; 5 143 dcl compile_count fixed bin defined (cobol_$compile_count); 5 144 dcl cobol_$ptr_assumption_ind fixed bin ext; 5 145 dcl ptr_assumption_ind fixed bin defined (cobol_$ptr_assumption_ind); 5 146 dcl cobol_$reg_assumption_ind fixed bin ext; 5 147 dcl reg_assumption_ind fixed bin defined (cobol_$reg_assumption_ind); 5 148 dcl cobol_$perform_para_index fixed bin ext; 5 149 dcl perform_para_index fixed bin defined (cobol_$perform_para_index); 5 150 dcl cobol_$perform_sect_index fixed bin ext; 5 151 dcl perform_sect_index fixed bin defined (cobol_$perform_sect_index); 5 152 dcl cobol_$alter_index fixed bin ext; 5 153 dcl alter_index fixed bin defined (cobol_$alter_index); 5 154 dcl cobol_$list_off fixed bin ext; 5 155 dcl list_off fixed bin defined (cobol_$list_off); 5 156 dcl cobol_$constant_offset fixed bin ext; 5 157 dcl constant_offset fixed bin defined (cobol_$constant_offset); 5 158 dcl cobol_$misc_max fixed bin ext; 5 159 dcl misc_max fixed bin defined (cobol_$misc_max); 5 160 dcl cobol_$pd_map_max fixed bin ext; 5 161 dcl pd_map_max fixed bin defined (cobol_$pd_map_max); 5 162 dcl cobol_$map_data_max fixed bin ext; 5 163 dcl map_data_max fixed bin defined (cobol_$map_data_max); 5 164 dcl cobol_$fixup_max fixed bin ext; 5 165 dcl fixup_max fixed bin defined (cobol_$fixup_max); 5 166 dcl cobol_$tag_table_max fixed bin ext; 5 167 dcl tag_table_max fixed bin defined (cobol_$tag_table_max); 5 168 dcl cobol_$temp_token_max fixed bin ext; 5 169 dcl temp_token_max fixed bin defined (cobol_$temp_token_max); 5 170 dcl cobol_$allo1_max fixed bin ext; 5 171 dcl allo1_max fixed bin defined (cobol_$allo1_max); 5 172 dcl cobol_$eln_max fixed bin ext; 5 173 dcl eln_max fixed bin defined (cobol_$eln_max); 5 174 dcl cobol_$debug_enable fixed bin ext; 5 175 dcl debug_enable fixed bin defined (cobol_$debug_enable); 5 176 dcl cobol_$non_source_offset fixed bin ext; 5 177 dcl non_source_offset fixed bin defined (cobol_$non_source_offset); 5 178 dcl cobol_$initval_flag fixed bin ext; 5 179 dcl initval_flag fixed bin defined (cobol_$initval_flag); 5 180 dcl cobol_$date_compiled_sw fixed bin ext; 5 181 dcl date_compiled_sw fixed bin defined (cobol_$date_compiled_sw); 5 182 dcl cobol_$include_cnt fixed bin ext; 5 183 dcl include_cnt fixed bin defined (cobol_$include_cnt); 5 184 dcl cobol_$fs_charcnt fixed bin ext; 5 185 dcl fs_charcnt fixed bin defined (cobol_$fs_charcnt); 5 186 dcl cobol_$ws_charcnt fixed bin ext; 5 187 dcl ws_charcnt fixed bin defined (cobol_$ws_charcnt); 5 188 dcl cobol_$coms_charcnt fixed bin ext; 5 189 dcl coms_charcnt fixed bin defined (cobol_$coms_charcnt); 5 190 dcl cobol_$ls_charcnt fixed bin ext; 5 191 dcl ls_charcnt fixed bin defined (cobol_$ls_charcnt); 5 192 dcl cobol_$cons_charcnt fixed bin ext; 5 193 dcl cons_charcnt fixed bin defined (cobol_$cons_charcnt); 5 194 dcl cobol_$value_cnt fixed bin ext; 5 195 dcl value_cnt fixed bin defined (cobol_$value_cnt); 5 196 dcl cobol_$cd_cnt fixed bin ext; 5 197 dcl cd_cnt fixed bin defined (cobol_$cd_cnt); 5 198 dcl cobol_$fs_wdoff fixed bin ext; 5 199 dcl fs_wdoff fixed bin defined (cobol_$fs_wdoff); 5 200 dcl cobol_$ws_wdoff fixed bin ext; 5 201 dcl ws_wdoff fixed bin defined (cobol_$ws_wdoff); 5 202 dcl cobol_$coms_wdoff fixed bin ext; 5 203 dcl coms_wdoff fixed bin defined (cobol_$coms_wdoff); 5 204 5 205 /* CHARACTER */ 5 206 dcl cobol_$scratch_dir char (168) aligned ext; 5 207 dcl scratch_dir char (168) aligned defined (cobol_$scratch_dir); /* -42- */ 5 208 dcl cobol_$obj_seg_name char (32) aligned ext; 5 209 dcl obj_seg_name char (32) aligned defined (cobol_$obj_seg_name); /* -8- */ 5 210 5 211 /* BIT */ 5 212 dcl cobol_$xref_bypass bit(1) aligned ext; 5 213 dcl xref_bypass bit(1) aligned defined (cobol_$xref_bypass); /* -1- */ 5 214 dcl cobol_$same_sort_merge_proc bit(1) aligned ext; 5 215 dcl same_sort_merge_proc bit(1) aligned defined (cobol_$same_sort_merge_proc); /* -1- */ 5 216 5 217 5 218 /* END INCLUDE FILE ... cobol_incl.pl1*/ 5 219 5 220 1239 6 1 6 2 /* BEGIN INCLUDE FILE ... cobol_fixed_common.incl.pl1 */ 6 3 /* Modified on 10/27/82 by FCH, [5.1-1], cobol_cln added to save last line num, BUG543(phx13643) */ 6 4 /* Modified on 07/31/80 by FCH, [4.3-1], use_reporting field added for Report Writer */ 6 5 /* Modified on 03/30/79 by FCH, [4.1-1], -card option added */ 6 6 /* Modified on 03/30/79 by FCH, [4.0-2], -svNM option added */ 6 7 /* Modified on 03/02/79 by FCH, [4.0-1], -levNM option added */ 6 8 /* Modified by RAL on 10/13/78, [4.0-0], Added option exp from fil2. */ 6 9 /* Modified by BC on 06/20/77, descriptor added. */ 6 10 /* Modified by BC on 06/02/77, init_cd_seg, init_cd_offset added. */ 6 11 /* Modified by BC on 1/21/77, options.profile added. */ 6 12 /* Modified by FCH on 7/6/76, sysin_fno & sysout_fno deleted, accept_device & display_device added */ 6 13 /* Modified by FCH on 5/20/77, comp_level added */ 6 14 6 15 6 16 /* THE SIZE OF THIS STRUCTURE IN BYTES, (EXCLUDING VARIABLE 6 17* LENGTH ENTITIES), FOR EACH HARDWARE IMPLEMENTATION IS: 6 18* 6 19* HARDWARE | SIZE (BYTES) 6 20* --------------------------------- 6 21* 645/6180 | 464 6 22* P7 | 396 6 23* --------------------------------- 6 24* */ 6 25 6 26 dcl 1 fixed_common based ( cobol_com_ptr), 6 27 2 prog_name char (30), 6 28 2 compiler_rev_no char (25), 6 29 2 phase_name char (6), 6 30 2 currency char (1), 6 31 2 fatal_no fixed bin, 6 32 2 warn_no fixed bin, 6 33 2 proc_counter fixed bin, 6 34 2 spec_tag_counter fixed bin, 6 35 2 file_count fixed bin, 6 36 2 filedescr_offsets (20) char (5), 6 37 2 perf_alter_info char (5), 6 38 2 another_perform_info char (5), 6 39 2 sort_in_info char (5), 6 40 2 odo_info char (5), 6 41 2 size_seg fixed bin, 6 42 2 size_offset fixed bin(24), 6 43 2 size_perform_info char (5), 6 44 2 rename_info char (5), 6 45 2 report_names char (5), 6 46 2 rw_buf_seg fixed bin, 6 47 2 rw_buf_offset fixed bin(24), 6 48 2 rw_buf_length fixed bin(24), 6 49 2 file_keys char (5), 6 50 2 search_keys char (5), 6 51 2 dd_seg_size fixed bin(24), 6 52 2 pd_seg_size fixed bin(24), 6 53 2 seg_limit fixed bin , 6 54 2 number_of_dd_segs fixed bin, 6 55 2 seg_info char (5), 6 56 2 number_of_ls_pointers fixed bin, 6 57 2 link_sec_seg fixed bin, 6 58 2 link_sec_offset fixed bin(24), 6 59 2 sra_clauses fixed bin, 6 60 2 fix_up_info char (5), 6 61 2 linage_info char (5), 6 62 2 first_dd_item char (5), 6 63 2 sort_out_info char (5), 6 64 2 db_info char (5), 6 65 2 realm_info char (5), 6 66 2 rc_realm_info char (5), 6 67 2 last_file_key char (5), 6 68 2 prog_coll_seq fixed bin, 6 69 2 init_cd_seg fixed bin, 6 70 2 init_cd_offset fixed bin(24), 6 71 2 input_error_exit fixed bin, 6 72 2 output_error_exit fixed bin, 6 73 2 i_o_error_exit fixed bin, 6 74 2 extend_error_exit fixed bin, 6 75 2 dummy15 fixed bin, 6 76 2 options, 6 77 3 cu bit (1), 6 78 3 st bit (1), 6 79 3 wn bit (1), 6 80 3 obs bit (1), 6 81 3 dm bit (1), 6 82 3 xrl bit (1), 6 83 3 xrn bit (1), 6 84 3 src bit (1), 6 85 3 obj bit (1), 6 86 3 exs bit (1), 6 87 3 sck bit (1), 6 88 3 rno bit (1), 6 89 3 u_l bit (1), 6 90 3 cnv bit (1), 6 91 3 cos bit (1), 6 92 3 fmt bit (1), 6 93 3 profile bit(1), 6 94 3 nw bit (1), 6 95 3 exp bit (1), /* [4.0-0] */ 6 96 3 card bit (1), /*[4.1-1]*/ 6 97 3 fil2 bit (5), 6 98 3 m_map bit (1), 6 99 3 m_bf bit (1), 6 100 3 m_fat bit (1), 6 101 3 m_wn bit (1), 6 102 3 m_obs bit(1), 6 103 3 pd bit(1), 6 104 3 oc bit(1), 6 105 2 supervisor bit (1), 6 106 2 dec_comma bit (1), 6 107 2 init_cd bit (1), 6 108 2 corr bit (1), 6 109 2 initl bit (1), 6 110 2 debug bit (1), 6 111 2 report bit (1), 6 112 2 sync_in_prog bit (1), 6 113 2 pd_section bit (1), 6 114 2 list_switch bit (1), 6 115 2 alpha_cond bit (1), 6 116 2 num_cond bit (1), 6 117 2 spec_sysin bit (1), 6 118 2 spec_sysout bit (1), 6 119 2 cpl_files bit (1), 6 120 2 obj_dec_comma bit (1), 6 121 2 default_sign_type bit (3), 6 122 2 use_debug bit(1), 6 123 2 syntax_trace bit(1), 6 124 2 comp_defaults, 6 125 3 comp bit(1), 6 126 3 comp_1 bit(1), 6 127 3 comp_2 bit(1), 6 128 3 comp_3 bit(1), 6 129 3 comp_4 bit(1), 6 130 3 comp_5 bit(1), 6 131 3 comp_6 bit(1), 6 132 3 comp_7 bit(1), 6 133 3 comp_8 bit(1), 6 134 2 disp_defaults, 6 135 3 disp bit(1), 6 136 3 disp_1 bit(1), 6 137 3 disp_2 bit(1), 6 138 3 disp_3 bit(1), 6 139 3 disp_4 bit(1), 6 140 3 disp_5 bit(1), 6 141 3 disp_6 bit(1), 6 142 3 disp_7 bit(1), 6 143 2 descriptor bit(2), 6 144 2 levsv bit(3), /*[4.0-1]*/ 6 145 2 use_reporting bit(1), /*[4.3-1]*/ 6 146 2 cd bit(1), /*[4.4-1]*/ 6 147 2 dummy17 bit(3), 6 148 2 lvl_rstr bit(32), 6 149 2 inst_rstr bit(32), 6 150 2 comp_level char(1), 6 151 2 dummy18 char(30), 6 152 2 object_sign char (1), 6 153 2 last_print_rec char (5), 6 154 2 coll_seq_info char (5), 6 155 2 sys_status_seg fixed bin, 6 156 2 sys_status_offset fixed bin(24), 6 157 2 compiler_id fixed bin, 6 158 2 date_comp_ln fixed bin, 6 159 2 compile_mode bit(36), 6 160 2 default_temp fixed bin, 6 161 2 accept_device fixed bin, 6 162 2 display_device fixed bin, 6 163 2 cobol_cln fixed bin, /*[5.1-1]*/ 6 164 2 alphabet_offset fixed bin; 6 165 6 166 6 167 6 168 /* END INCLUDE FILE ... cobol_fixed_common.incl.pl1 */ 6 169 1240 7 1 7 2 /* BEGIN INCLUDE FILE ... cobol_sbh.incl.pl1 */ 7 3 /* Created by GM; Last modified July 17, 1974 by ORN */ 7 4 7 5 dcl sym_ptr ptr; 7 6 dcl 1 symbol_block_header aligned based(sym_ptr), 7 7 2 decl_vers fixed bin , 7 8 2 identifier char(8) aligned, 7 9 2 gen_version_number fixed bin, 7 10 2 gen_creation_time fixed bin(71), 7 11 2 object_creation_time fixed bin(71), 7 12 2 generator char(8) aligned, 7 13 2 gen_version_name_relp bit(18) unaligned, 7 14 2 gen_version_name_length bit(18) unaligned, 7 15 2 userid_relp bit(18) unaligned, 7 16 2 userid_length bit(18) unaligned, 7 17 2 comment_relp bit(18) unaligned, 7 18 2 comment_length bit(18) unaligned, 7 19 2 text_boundary bit(18) unaligned, 7 20 2 stat_boundary bit(18) unaligned, 7 21 2 source_map_relp bit(18) unaligned, 7 22 2 area_relp bit(18) unaligned, 7 23 2 section_relp bit(18) unaligned, 7 24 2 block_size bit(18) unaligned, 7 25 2 next_block_thread bit(18) unaligned, 7 26 2 text_relocation_relp bit(18) unaligned, 7 27 2 def_relocation_relp bit(18) unaligned, 7 28 2 link_relocation_relp bit(18) unaligned, 7 29 2 symbol_relocation_relp bit(18) unaligned, 7 30 2 default_truncate bit(18) unaligned, 7 31 2 optional_truncate bit(18) unaligned; 7 32 7 33 /* END INCLUDE FILE ... cobol_sbh.incl.pl1 */ 7 34 1241 8 1 dcl 1 pl1_symbol_block aligned based, 8 2 2 version fixed bin, 8 3 2 identifier char(8), /* must be "pl1info" */ 8 4 2 flags, 8 5 3 profile bit(1) unal, 8 6 3 table bit(1) unal, 8 7 3 map bit(1) unal, 8 8 3 flow bit(1) unal, 8 9 3 io bit(1) unal, 8 10 3 table_removed bit(1) unal, 8 11 3 long_profile bit(1) unal, 8 12 3 pad bit(29) unal, 8 13 2 greatest_severity fixed bin, 8 14 2 root unal bit(18), 8 15 2 profile unal bit(18), 8 16 2 map unal, 8 17 3 first bit(18), 8 18 3 last bit(18), 8 19 2 segname unaligned, 8 20 3 offset bit(18), 8 21 3 size bit(18); 1242 9 1 9 2 /* BEGIN INCLUDE FILE ... cobol_ext_.incl.pl1 */ 9 3 /* Last modified on 06/17/76 by ORN */ 9 4 /* Last modified on 12/28/76 by FCH */ 9 5 /* Last modified on 12/01/80 by FCH */ 9 6 9 7 /* <<< SHARED EXTERNALS INCLUDE FILE >>> */ 9 8 9 9 9 10 dcl cobol_ext_$cobol_afp ptr ext; 9 11 dcl cobol_afp ptr defined ( cobol_ext_$cobol_afp); 9 12 dcl cobol_ext_$cobol_analin_fileno ptr ext; 9 13 dcl cobol_analin_fileno ptr defined ( cobol_ext_$cobol_analin_fileno); 9 14 dcl cobol_ext_$report_first_token ptr ext; 9 15 dcl report_first_token ptr defined( cobol_ext_$report_first_token); 9 16 dcl cobol_ext_$report_last_token ptr ext; 9 17 dcl report_last_token ptr defined ( cobol_ext_$report_last_token); 9 18 dcl cobol_ext_$cobol_eltp ptr ext; 9 19 dcl cobol_eltp ptr defined ( cobol_ext_$cobol_eltp); 9 20 dcl cobol_ext_$cobol_cmfp ptr ext; 9 21 dcl cobol_cmfp ptr defined ( cobol_ext_$cobol_cmfp); 9 22 dcl cobol_ext_$cobol_com_fileno ptr ext; 9 23 dcl cobol_com_fileno ptr defined ( cobol_ext_$cobol_com_fileno); 9 24 dcl cobol_ext_$cobol_com_ptr ptr ext; 9 25 dcl cobol_com_ptr ptr defined ( cobol_ext_$cobol_com_ptr); 9 26 dcl cobol_ext_$cobol_dfp ptr ext; 9 27 dcl cobol_dfp ptr defined ( cobol_ext_$cobol_dfp); 9 28 dcl cobol_ext_$cobol_hfp ptr ext; 9 29 dcl cobol_hfp ptr defined ( cobol_ext_$cobol_hfp); 9 30 dcl cobol_ext_$cobol_m1fp ptr ext; 9 31 dcl cobol_m1fp ptr defined ( cobol_ext_$cobol_m1fp); 9 32 dcl cobol_ext_$cobol_m2fp ptr ext; 9 33 dcl cobol_m2fp ptr defined ( cobol_ext_$cobol_m2fp); 9 34 dcl cobol_ext_$cobol_min1_fileno ptr ext; 9 35 dcl cobol_min1_fileno ptr defined ( cobol_ext_$cobol_min1_fileno); 9 36 dcl cobol_ext_$cobol_min2_fileno_ptr ptr ext; 9 37 dcl cobol_min2_fileno_ptr ptr defined ( cobol_ext_$cobol_min2_fileno_ptr); 9 38 dcl cobol_ext_$cobol_name_fileno ptr ext; 9 39 dcl cobol_name_fileno ptr defined ( cobol_ext_$cobol_name_fileno); 9 40 dcl cobol_ext_$cobol_name_fileno_ptr ptr ext; 9 41 dcl cobol_name_fileno_ptr ptr defined ( cobol_ext_$cobol_name_fileno_ptr); 9 42 dcl cobol_ext_$cobol_ntfp ptr ext; 9 43 dcl cobol_ntfp ptr defined ( cobol_ext_$cobol_ntfp); 9 44 dcl cobol_ext_$cobol_pdofp ptr ext; 9 45 dcl cobol_pdofp ptr defined ( cobol_ext_$cobol_pdofp); 9 46 dcl cobol_ext_$cobol_pfp ptr ext; 9 47 dcl cobol_pfp ptr defined ( cobol_ext_$cobol_pfp); 9 48 dcl cobol_ext_$cobol_rm2fp ptr ext; 9 49 dcl cobol_rm2fp ptr defined ( cobol_ext_$cobol_rm2fp); 9 50 dcl cobol_ext_$cobol_rmin2fp ptr ext; 9 51 dcl cobol_rmin2fp ptr defined ( cobol_ext_$cobol_rmin2fp); 9 52 dcl cobol_ext_$cobol_curr_in ptr ext; 9 53 dcl cobol_curr_in ptr defined ( cobol_ext_$cobol_curr_in); 9 54 dcl cobol_ext_$cobol_curr_out ptr ext; 9 55 dcl cobol_curr_out ptr defined ( cobol_ext_$cobol_curr_out); 9 56 dcl cobol_ext_$cobol_sfp ptr ext; 9 57 dcl cobol_sfp ptr defined ( cobol_ext_$cobol_sfp); 9 58 dcl cobol_ext_$cobol_w1p ptr ext; 9 59 dcl cobol_w1p ptr defined ( cobol_ext_$cobol_w1p); 9 60 dcl cobol_ext_$cobol_w2p ptr ext; 9 61 dcl cobol_w2p ptr defined ( cobol_ext_$cobol_w2p); 9 62 dcl cobol_ext_$cobol_w3p ptr ext; 9 63 dcl cobol_w3p ptr defined ( cobol_ext_$cobol_w3p); 9 64 dcl cobol_ext_$cobol_w5p ptr ext; 9 65 dcl cobol_w5p ptr defined ( cobol_ext_$cobol_w5p); 9 66 dcl cobol_ext_$cobol_w6p ptr ext; 9 67 dcl cobol_w6p ptr defined ( cobol_ext_$cobol_w6p); 9 68 dcl cobol_ext_$cobol_w7p ptr ext; 9 69 dcl cobol_w7p ptr defined ( cobol_ext_$cobol_w7p); 9 70 dcl cobol_ext_$cobol_x3fp ptr ext; 9 71 dcl cobol_x3fp ptr defined ( cobol_ext_$cobol_x3fp); 9 72 dcl cobol_ext_$cobol_rwdd ptr ext; 9 73 dcl cobol_rwdd ptr defined(cobol_ext_$cobol_rwdd); 9 74 dcl cobol_ext_$cobol_rwpd ptr ext; 9 75 dcl cobol_rwpd ptr defined(cobol_ext_$cobol_rwpd); 9 76 9 77 9 78 dcl cobol_ext_$cobol_fileno1 fixed bin(24)ext; 9 79 dcl cobol_fileno1 fixed bin(24)defined ( cobol_ext_$cobol_fileno1); 9 80 dcl cobol_ext_$cobol_options_len fixed bin(24)ext; 9 81 dcl cobol_options_len fixed bin(24)defined ( cobol_ext_$cobol_options_len); 9 82 dcl cobol_ext_$cobol_pdout_fileno fixed bin(24)ext; 9 83 dcl cobol_pdout_fileno fixed bin(24)defined ( cobol_ext_$cobol_pdout_fileno); 9 84 dcl cobol_ext_$cobol_print_fileno fixed bin(24)ext; 9 85 dcl cobol_print_fileno fixed bin(24)defined ( cobol_ext_$cobol_print_fileno); 9 86 dcl cobol_ext_$cobol_rmin2_fileno fixed bin(24)ext; 9 87 dcl cobol_rmin2_fileno fixed bin(24)defined ( cobol_ext_$cobol_rmin2_fileno); 9 88 dcl cobol_ext_$cobol_x1_fileno fixed bin(24)ext; 9 89 dcl cobol_x1_fileno fixed bin(24)defined ( cobol_ext_$cobol_x1_fileno); 9 90 dcl cobol_ext_$cobol_x2_fileno fixed bin(24)ext; 9 91 dcl cobol_x2_fileno fixed bin(24)defined ( cobol_ext_$cobol_x2_fileno); 9 92 dcl cobol_ext_$cobol_x3_fileno fixed bin(24)ext; 9 93 dcl cobol_x3_fileno fixed bin(24)defined ( cobol_ext_$cobol_x3_fileno); 9 94 9 95 dcl cobol_ext_$cobol_lpr char (5) ext; 9 96 dcl cobol_lpr char (5) defined ( cobol_ext_$cobol_lpr); /* -2- */ 9 97 dcl cobol_ext_$cobol_options char (120) ext; 9 98 dcl cobol_options char (120) defined ( cobol_ext_$cobol_options); /* -30- */ 9 99 9 100 dcl cobol_ext_$cobol_xlast8 bit (1) ext; 9 101 dcl cobol_xlast8 bit (1) defined ( cobol_ext_$cobol_xlast8); /* -1- */ 9 102 dcl cobol_ext_$report_exists bit (1) ext; 9 103 dcl report_exists bit (1) defined ( cobol_ext_$report_exists); 9 104 9 105 9 106 /* <<< END OF SHARED EXTERNALS INCLUDE FILE >>> */ 9 107 /* END INCLUDE FILE ... cobol_ext_.incl.pl1 */ 9 108 1243 10 1 10 2 /* BEGIN INCLUDE FILE ... cobol_type7.incl.pl1 */ 10 3 /* Last modified on 11/19/76 by ORN */ 10 4 10 5 /* 10 6*A type 7 procedure definition token is entered into the name table and into 10 7*the procedure division minpral file by the lexical analysis phase for each 10 8*procedure definition found in the source program. 10 9**/ 10 10 10 11 dcl proc_def_ptr ptr; 10 12 10 13 /* BEGIN DECLARATION OF TYPE7 (PROCEDURE DEFINITION) TOKEN */ 10 14 dcl 1 proc_def based (proc_def_ptr), 11 1 11 2 /* begin include file ... cobol_TYPE7.incl.pl1 */ 11 3 /* Last modified on 11/17/76 by ORN */ 11 4 /* Last modified on 12/28/76 by FCH */ 11 5 11 6 /* header */ 11 7 2 size fixed bin, 11 8 2 line fixed bin, 11 9 2 column fixed bin, 11 10 2 type fixed bin, 11 11 /* body */ 11 12 2 string_ptr ptr, 11 13 2 prev_rec ptr, 11 14 2 searched bit (1), 11 15 2 duplicate bit (1), 11 16 2 filler1 bit (1), 11 17 2 debug_ind bit (1), 11 18 2 section_name bit (1), 11 19 2 declarative_proc bit (1), 11 20 2 filler2 bit (1), 11 21 2 alterable bit (1), 11 22 2 priority char (2), 11 23 2 sort_range bit (1), 11 24 2 input_range bit (1), 11 25 2 output_range bit (1), 11 26 2 merge_range bit(1), 11 27 2 filler3 bit (5), 11 28 2 section_num fixed bin, 11 29 2 proc_num fixed bin, 11 30 2 def_line fixed bin, 11 31 2 name_size fixed bin, 11 32 2 name char(0 refer(proc_def.name_size)); 11 33 11 34 11 35 11 36 /* end include file ... cobol_TYPE7.incl.pl1 */ 11 37 10 15 10 16 /* END DECLARATION OF TYPE7 (PROCEDURE DEFINITION) TOKEN */ 10 17 10 18 /* END INCLUDE FILE ... cobol_type7.incl.pl1 */ 10 19 1244 12 1 12 2 /* BEGIN INCLUDE FILE ... cobol_type9.incl.pl1 */ 12 3 /* Last modified on 11/19/76 by ORN */ 12 4 12 5 /* 12 6*A type 9 data name token is entered into the name table by the data 12 7*division syntax phase for each data name described in the data division. 12 8*The replacement phase subsequently replaces type 8 user word references 12 9*to data names in the procedure division minpral file with the corresponding 12 10*type 9 tokens from the name table. 12 11**/ 12 12 12 13 /* dcl dn_ptr ptr; */ 12 14 12 15 /* BEGIN DECLARATION OF TYPE9 (DATA NAME) TOKEN */ 12 16 dcl 1 data_name based (dn_ptr), 13 1 13 2 /* begin include file ... cobol_TYPE9.incl.pl1 */ 13 3 /* Last modified on 06/19/77 by ORN */ 13 4 /* Last modified on 12/28/76 by FCH */ 13 5 13 6 /* header */ 13 7 2 size fixed bin, 13 8 2 line fixed bin, 13 9 2 column fixed bin, 13 10 2 type fixed bin, 13 11 /* body */ 13 12 2 string_ptr ptr, 13 13 2 prev_rec ptr, 13 14 2 searched bit (1), 13 15 2 duplicate bit (1), 13 16 2 saved bit (1), 13 17 2 debug_ind bit (1), 13 18 2 filler2 bit (3), 13 19 2 used_as_sub bit (1), 13 20 2 def_line fixed bin, 13 21 2 level fixed bin, 13 22 2 linkage fixed bin, 13 23 2 file_num fixed bin, 13 24 2 size_rtn fixed bin, 13 25 2 item_length fixed bin(24), 13 26 2 places_left fixed bin, 13 27 2 places_right fixed bin, 13 28 /* description */ 13 29 2 file_section bit (1), 13 30 2 working_storage bit (1), 13 31 2 constant_section bit (1), 13 32 2 linkage_section bit (1), 13 33 2 communication_section bit (1), 13 34 2 report_section bit (1), 13 35 2 level_77 bit (1), 13 36 2 level_01 bit (1), 13 37 2 non_elementary bit (1), 13 38 2 elementary bit (1), 13 39 2 filler_item bit (1), 13 40 2 s_of_rdf bit (1), 13 41 2 o_of_rdf bit (1), 13 42 2 bin_18 bit (1), 13 43 2 bin_36 bit (1), 13 44 2 pic_has_l bit (1), 13 45 2 pic_is_do bit (1), 13 46 2 numeric bit (1), 13 47 2 numeric_edited bit (1), 13 48 2 alphanum bit (1), 13 49 2 alphanum_edited bit (1), 13 50 2 alphabetic bit (1), 13 51 2 alphabetic_edited bit (1), 13 52 2 pic_has_p bit (1), 13 53 2 pic_has_ast bit (1), 13 54 2 item_signed bit(1), 13 55 2 sign_separate bit (1), 13 56 2 display bit (1), 13 57 2 comp bit (1), 13 58 2 ascii_packed_dec_h bit (1), /* as of 8/16/76 this field used for comp8. */ 13 59 2 ascii_packed_dec bit (1), 13 60 2 ebcdic_packed_dec bit (1), 13 61 2 bin_16 bit (1), 13 62 2 bin_32 bit (1), 13 63 2 usage_index bit (1), 13 64 2 just_right bit (1), 13 65 2 compare_argument bit (1), 13 66 2 sync bit (1), 13 67 2 temporary bit (1), 13 68 2 bwz bit (1), 13 69 2 variable_length bit (1), 13 70 2 subscripted bit (1), 13 71 2 occurs_do bit (1), 13 72 2 key_a bit (1), 13 73 2 key_d bit (1), 13 74 2 indexed_by bit (1), 13 75 2 value_numeric bit (1), 13 76 2 value_non_numeric bit (1), 13 77 2 value_signed bit (1), 13 78 2 sign_type bit (3), 13 79 2 pic_integer bit (1), 13 80 2 ast_when_zero bit (1), 13 81 2 label_record bit (1), 13 82 2 sign_clause_occurred bit (1), 13 83 2 okey_dn bit (1), 13 84 2 subject_of_keyis bit (1), 13 85 2 exp_redefining bit (1), 13 86 2 sync_in_rec bit (1), 13 87 2 rounded bit (1), 13 88 2 ad_bit bit (1), 13 89 2 debug_all bit (1), 13 90 2 overlap bit (1), 13 91 2 sum_counter bit (1), 13 92 2 exp_occurs bit (1), 13 93 2 linage_counter bit (1), 13 94 2 rnm_01 bit (1), 13 95 2 aligned bit (1), 13 96 2 not_user_writable bit (1), 13 97 2 database_key bit (1), 13 98 2 database_data_item bit (1), 13 99 2 seg_num fixed bin, 13 100 2 offset fixed bin(24), 13 101 2 initial_ptr fixed bin, 13 102 2 edit_ptr fixed bin, 13 103 2 occurs_ptr fixed bin, 13 104 2 do_rec char(5), 13 105 2 bitt bit (1), 13 106 2 byte bit (1), 13 107 2 half_word bit (1), 13 108 2 word bit (1), 13 109 2 double_word bit (1), 13 110 2 half_byte bit (1), 13 111 2 filler5 bit (1), 13 112 2 bit_offset bit (4), 13 113 2 son_cnt bit (16), 13 114 2 max_red_size fixed bin(24), 13 115 2 name_size fixed bin, 13 116 2 name char(0 refer(data_name.name_size)); 13 117 13 118 13 119 13 120 /* end include file ... cobol_TYPE9.incl.pl1 */ 13 121 12 17 12 18 /* END DECLARATION OF TYPE9 (DATA NAME) TOKEN */ 12 19 12 20 /* END INCLUDE FILE ... cobol_type9.incl.pl1 */ 12 21 1245 14 1 14 2 /* BEGIN INCLUDE FILE ... cobol_type10.incl.pl1 */ 14 3 /* Last modified on 11/19/76 by ORN */ 14 4 /* 14 5*A type 10 index name token is entered into the name table by the data 14 6*division syntax phase for each index name appearing in the data division. 14 7*An index name is declared in the indexed by phrase of an occurs clause. 14 8*maintain the binary byte offset, within the array, corresponding to the 14 9*current setting of the index name. The right-most two bytes contain the 14 10*binary occurrence number to which the index name is set. 14 11*When the replacement phase processes the procedure division minpral file, 14 12*each reference to an index name is replaced with the type 10 token created 14 13*for that index name. 14 14**/ 14 15 14 16 dcl ind_ptr ptr; 14 17 14 18 /* BEGIN DECLARATION OF TYPE10 (INDEX NAME) TOKEN */ 14 19 dcl 1 index_name based (ind_ptr), 15 1 15 2 /* begin include file ... cobol_TYPE10.incl.pl1 15 3*/* Last modified on 01/25/77 by ORN */ 15 4 15 5 /* header */ 15 6 2 size fixed bin, 15 7 2 line fixed bin, 15 8 2 column fixed bin, 15 9 2 type fixed bin, 15 10 /* body */ 15 11 2 string_ptr ptr, 15 12 2 prev_rec ptr, 15 13 2 searched bit(1), 15 14 2 duplicate bit(1), 15 15 2 saved bit(1), 15 16 2 debug_ind bit(1), 15 17 2 filler1 bit(3), 15 18 2 subscript bit(1), 15 19 2 def_line fixed bin, 15 20 2 level fixed bin, 15 21 2 seg_num fixed bin, 15 22 2 offset fixed bin(24), 15 23 2 index_no fixed bin, 15 24 2 min fixed bin, 15 25 2 max fixed bin, 15 26 2 struc_length fixed bin, 15 27 2 cswd_seg fixed bin, 15 28 2 cswd_offset fixed bin(24), 15 29 2 name_size fixed bin, 15 30 2 name char(0 refer(index_name.name_size)); 15 31 15 32 15 33 15 34 /* end include file ... cobol_TYPE10.incl.pl1 */ 15 35 14 20 14 21 /* END DECLARATION OF TYPE10 (INDEX NAME) TOKEN */ 14 22 14 23 /* END INCLUDE FILE ... cobol_type10.incl.pl1 */ 14 24 1246 16 1 16 2 /* BEGIN INCLUDE FILE ... cobol_occurs_ext.incl.pl1 */ 16 3 /* Last modified on 01/19/77 by ORN */ 16 4 16 5 /* 16 6*An occurs extension is included in a type 9 data name token when the data 16 7*name is described with an occurs clause or is subordinate to an item 16 8*described with an occurs clause. 16 9**/ 16 10 16 11 /* ***STRUCTURE SIZE INFORMATION*** */ 16 12 /* THE SIZE OF THIS STRUCTURE IN BYTES, (EXCLUDING VARIABLE 16 13* LENGTH ENTITIES), FOR EACH HARDWARE IMPLEMENTATION IS: 16 14* 16 15* HARDWARE | SIZE (BYTES) 16 16* --------------------------------- 16 17* 6180 | 12 + 24 * dimensions 16 18* P7 | 6 + 14 * dimensions 16 19* --------------------------------- 16 20**/ 16 21 16 22 /* THE OCCURS EXTENSION STRUCTURE */ 16 23 16 24 dcl occurs_ptr ptr; 16 25 16 26 dcl 1 occurs based (occurs_ptr), 16 27 2 keyed fixed bin, 16 28 2 key_number fixed bin, 16 29 2 dimensions fixed bin, 16 30 2 level (occurs.dimensions), 16 31 3 index_no fixed bin, 16 32 3 min fixed bin, 16 33 3 max fixed bin, 16 34 3 struc_length fixed bin, 16 35 3 cswd_seg fixed bin, 16 36 3 cswd_offset fixed bin(24); 16 37 16 38 16 39 16 40 /* END INCLUDE FILE ... cobol_occurs_ext.incl.pl1 */ 16 41 1247 1248 1249 end cobol_mst; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 05/24/89 0830.4 cobol_mst.pl1 >spec>install>MR12.3-1048>cobol_mst.pl1 1235 1 11/26/79 1320.6 runtime_symbol.incl.pl1 >ldd>include>runtime_symbol.incl.pl1 1236 2 11/11/82 1712.7 cobol_entry_seq.incl.pl1 >ldd>include>cobol_entry_seq.incl.pl1 1237 3 05/06/74 1751.6 statement_map.incl.pl1 >ldd>include>statement_map.incl.pl1 1238 4 03/27/82 0439.7 cobol_eln_table.incl.pl1 >ldd>include>cobol_eln_table.incl.pl1 1239 5 11/11/82 1712.7 cobol_.incl.pl1 >ldd>include>cobol_.incl.pl1 1240 6 11/11/82 1712.8 cobol_fixed_common.incl.pl1 >ldd>include>cobol_fixed_common.incl.pl1 1241 7 11/11/82 1712.7 cobol_sbh.incl.pl1 >ldd>include>cobol_sbh.incl.pl1 1242 8 03/10/77 1345.4 pl1_symbol_block.incl.pl1 >ldd>include>pl1_symbol_block.incl.pl1 1243 9 03/27/82 0431.3 cobol_ext_.incl.pl1 >ldd>include>cobol_ext_.incl.pl1 1244 10 03/27/82 0439.9 cobol_type7.incl.pl1 >ldd>include>cobol_type7.incl.pl1 10-15 11 11/11/82 1712.7 cobol_TYPE7.incl.pl1 >ldd>include>cobol_TYPE7.incl.pl1 1245 12 03/27/82 0439.9 cobol_type9.incl.pl1 >ldd>include>cobol_type9.incl.pl1 12-17 13 11/11/82 1712.7 cobol_TYPE9.incl.pl1 >ldd>include>cobol_TYPE9.incl.pl1 1246 14 03/27/82 0439.8 cobol_type10.incl.pl1 >ldd>include>cobol_type10.incl.pl1 14-20 15 11/11/82 1712.7 cobol_TYPE10.incl.pl1 >ldd>include>cobol_TYPE10.incl.pl1 1247 16 11/11/82 1712.7 cobol_occurs_ext.incl.pl1 >ldd>include>cobol_occurs_ext.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. DEF based structure level 1 dcl 1202 TAG 1 based structure array level 2 dcl 1202 addr builtin function dcl 1215 ref 893 893 916 916 972 974 981 1015 1037 addrel builtin function dcl 1216 ref 53 492 541 596 674 810 911 935 1013 1029 1046 address 3 based structure level 2 packed packed unaligned dcl 1-3 aligned 0(24) based bit(1) level 3 packed packed unaligned dcl 1-3 set ref 274* 284* 374* 426* 441* area_relp 16(18) based bit(18) level 2 packed packed unaligned dcl 7-6 ref 52 array_units 0(02) based bit(2) level 2 packed packed unaligned dcl 1-3 set ref 507* ascii_packed_dec 21(30) based bit(1) level 2 packed packed unaligned dcl 12-16 ref 368 502 ascii_packed_dec_h 21(29) based bit(1) level 2 packed packed unaligned dcl 12-16 ref 382 394 409 bin_18 21(13) based bit(1) level 2 packed packed unaligned dcl 12-16 ref 423 bin_36 21(14) based bit(1) level 2 packed packed unaligned dcl 12-16 ref 438 binary builtin function dcl 1218 ref 981 1002 bit builtin function dcl 1217 ref 65 75 79 80 104 119 166 173 181 187 190 193 457 465 476 483 485 494 548 549 556 558 590 591 646 648 650 658 660 693 696 702 704 717 719 755 756 757 813 818 820 822 825 890 907 912 919 920 924 940 941 946 947 1039 1050 1054 1058 bit_offset 31(16) based bit(4) level 2 packed packed unaligned dcl 12-16 ref 420 bits based bit(3600) packed unaligned dcl 1185 in procedure "cobol_mst" set ref 936* 1034* 1048* bits 0(24) based structure level 2 in structure "runtime_symbol" packed packed unaligned dcl 1-3 in procedure "cobol_mst" block_relp 6(18) based bit(18) level 2 packed packed unaligned dcl 2-14 set ref 104* bool builtin function dcl 1219 ref 998 bounds 7 based structure array level 2 dcl 1-3 brother 1(18) based bit(18) level 2 packed packed unaligned dcl 1-3 set ref 193* 556* 717* 719* chain 5 based bit(18) array level 2 packed packed unaligned dcl 1-38 set ref 97* 702* 704* class 3(18) based bit(4) level 3 packed packed unaligned dcl 1-3 set ref 81* 118* 204* 455* 463* 474* 587* cobol_$constant_offset 000036 external static fixed bin(17,0) dcl 5-156 ref 80 166 465 813 912 cobol_$eln_ptr 000030 external static pointer dcl 5-68 ref 776 791 807 842 878 cobol_$map_data_ptr 000026 external static pointer dcl 5-54 ref 766 766 769 769 774 774 780 780 789 789 797 797 813 813 825 825 830 830 839 839 857 857 857 857 865 865 878 878 cobol_$non_source_offset 000040 external static fixed bin(17,0) dcl 5-176 ref 912 cobol_$statement_info_ptr 000032 external static pointer dcl 5-76 ref 825 865 872 cobol_$sym_base_ptr 000022 external static pointer dcl 5-16 ref 50 50 810 810 911 911 935 935 1013 1013 1029 1029 1046 1046 cobol_$sym_wd_off 000034 external static fixed bin(17,0) dcl 5-102 set ref 57 57 64 64 83* 83 83 83 102 102 121* 121 121 121 207* 207 207 207 573* 573 573 573 592* 592 592 592 750 750 755 755 756 756 757 757 810 810 896* 896 896 896 907 907 911 911 918* 918 918 918 919 919 920 920 924 924 935 935 940 940 941 941 946 946 947 947 949* 949 949 949 1028 1028 1038* 1038 1038 1038 1046 1046 1047 1047 cobol_$tag_table_ptr 000024 external static pointer dcl 5-52 ref 148 152 cobol_$text_base_ptr 000020 external static pointer dcl 5-8 ref 103 cobol_cln 162 based fixed bin(17,0) level 2 dcl 6-26 ref 833 cobol_com_ptr defined pointer dcl 9-25 ref 70 137 833 cobol_ext_$cobol_com_ptr 000042 external static pointer dcl 9-24 ref 70 70 137 137 833 833 cobol_ext_$cobol_ntfp 000044 external static pointer dcl 9-42 ref 126 126 cobol_ntfp defined pointer dcl 9-43 ref 126 cobol_reloc 000014 constant entry external dcl 1212 ref 750 893 916 col 2 based fixed bin(17,0) array level 3 packed packed unaligned dcl 1193 ref 825 857 857 865 878 communication_section 21(04) based bit(1) level 2 packed packed unaligned dcl 12-16 ref 450 constant_section 21(02) based bit(1) level 2 packed packed unaligned dcl 12-16 ref 460 d 014400 automatic fixed bin(17,0) dcl 1070 set ref 1073* 1075* 1075 1078 1080 1083 1101 1109 data 1 based structure array level 2 dcl 1193 data_name based structure level 1 unaligned dcl 12-16 data_ptr_off 014256 automatic fixed bin(18,0) dcl 1156 set ref 114* 119 457 590 dcl 0(18) based bit(18) level 2 packed packed unaligned dcl 1-63 set ref 667 1054 1054 1058* default_truncate 22(18) based bit(18) level 2 packed packed unaligned dcl 7-6 set ref 924* dim builtin function dcl 1220 ref 1002 dimensions 2 based fixed bin(17,0) level 2 dcl 16-26 ref 494 497 516 display 21(27) based bit(1) level 2 packed packed unaligned dcl 12-16 ref 230 divide builtin function dcl 1221 ref 94 465 492 509 596 987 1033 1075 dn_ptr 000130 automatic pointer dcl 1136 set ref 217* 219 224 230 230 234 234 238 242 244 246 248 250 259 259 261 269 278 281 289 368 371 379 382 382 394 394 405 405 406 409 412 416 420 423 428 435 438 446 450 450 450 460 465 468 471 476 480 480 480 480 483 488 492 492 502 520 520 520 526 elementary 21(09) based bit(1) level 2 packed packed unaligned dcl 12-16 ref 480 eln_index 014314 automatic fixed bin(17,0) dcl 4-8 set ref 774* 776 776 789* 791 791 801 807 825 833 842 848 865 868 868 878 eln_tab based structure array level 1 packed packed unaligned dcl 4-4 entry_seq based structure level 1 dcl 2-14 ext_ent_ptr 000134 automatic pointer dcl 1138 set ref 76* 676 father 2 based bit(18) level 2 in structure "runtime_symbol" packed packed unaligned dcl 1-3 in procedure "cobol_mst" set ref 79* 119* 173* 181* 187* 485* 540 541 549* 558* 558 591* father 2 based bit(18) level 2 in structure "runtime_block" packed packed unaligned dcl 1-38 in procedure "cobol_mst" set ref 940* father_off parameter fixed bin(18,0) dcl 932 ref 929 940 943 file 0(18) based bit(8) level 3 packed packed unaligned dcl 3-1 set ref 818* file_num 014272 automatic fixed bin(8,0) dcl 1169 set ref 807* 818 842 878 file_section 21 based bit(1) level 2 packed packed unaligned dcl 12-16 ref 450 finished 014301 automatic bit(1) packed unaligned dcl 1178 set ref 625* 628 743* first 3 based bit(18) level 3 in structure "runtime_block" packed packed unaligned dcl 1-38 in procedure "cobol_mst" set ref 756* 757* first 014266 automatic fixed bin(17,0) dcl 1165 in procedure "cobol_mst" set ref 623* 635 744* first 6 based bit(18) level 3 in structure "pl1_symbol_block" packed packed unaligned dcl 8-1 in procedure "cobol_mst" set ref 755* first_symbol 014277 automatic bit(1) dcl 1176 set ref 632* 681 689* fixed builtin function dcl 1222 ref 51 52 75 79 80 119 166 173 181 187 190 193 457 465 476 483 485 485 494 538 540 542 545 548 549 551 556 558 558 590 591 635 638 648 650 660 667 676 679 696 704 719 731 755 756 757 813 825 890 907 912 919 920 924 940 941 946 947 1015 1018 1050 1054 1054 1058 fixed_common based structure level 1 unaligned dcl 6-26 flag based bit(1) level 2 packed packed unaligned dcl 1-38 set ref 937* flags 3 based structure level 2 dcl 8-1 fno based fixed bin(17,0) array level 2 packed packed unaligned dcl 4-4 ref 807 842 878 found 014352 automatic bit(1) dcl 959 set ref 1009* 1011 1015* 1021 hash_index 014364 automatic fixed bin(17,0) dcl 964 set ref 978* 981* 1002* 1008 1039 1040 hash_table 013716 automatic fixed bin(18,0) array dcl 1141 set ref 60* 1002 1008 1039 1040* header 4(18) based bit(18) level 2 packed packed unaligned dcl 1-38 set ref 941* i 014401 automatic fixed bin(17,0) dcl 1070 in procedure "sort_tokens" set ref 1078* 1080* i 014244 automatic fixed bin(17,0) dcl 1146 in procedure "cobol_mst" set ref 628* 632 646 648 650 699 699 702 704* 766* 769 774 780 783* 783 789 797 813 825 830 839 857 857 865 878* 996* 998* ind_ptr 014322 automatic pointer dcl 14-16 set ref 577* 579 580 585 index builtin function dcl 1223 ref 71 index_name based structure level 1 unaligned dcl 14-19 ioa_ 000016 constant entry external dcl 1213 ref 158 159 item_length 16 based fixed bin(24,0) level 2 dcl 12-16 ref 269 item_signed 21(25) based bit(1) level 2 packed packed unaligned dcl 12-16 ref 379 412 416 j 014366 automatic fixed bin(17,0) dcl 966 in procedure "gen_runtime_nodes" set ref 987* 988 992* 992 993 993 996 j 014245 automatic fixed bin(17,0) dcl 1146 in procedure "cobol_mst" set ref 89* 93* 93 97 497* 499 499 500 500 505 505 509 509 512* 635* 635* 637* 743 744 842* 842* 848 868* 872* j 014402 automatic fixed bin(17,0) dcl 1070 in procedure "sort_tokens" set ref 1083* 1085 1096 1098 1101 1103 k 014367 automatic fixed bin(17,0) dcl 966 in procedure "gen_runtime_nodes" set ref 988* 990 993 k 014403 automatic fixed bin(17,0) dcl 1070 in procedure "sort_tokens" set ref 1080* 1081 1083 1098 1099 1103* label 2(18) based bit(1) array level 3 packed packed unaligned dcl 1193 ref 769 780 label_count 014275 automatic fixed bin(17,0) dcl 1172 set ref 56* 137 211* 211 last 3(18) based bit(18) level 3 in structure "runtime_block" packed packed unaligned dcl 1-38 in procedure "cobol_mst" set ref 907* 920* last 6(18) based bit(18) level 3 in structure "pl1_symbol_block" packed packed unaligned dcl 8-1 in procedure "cobol_mst" set ref 919* len based fixed bin(17,0) dcl 1181 ref 128 596 len_ptr 000132 automatic pointer dcl 1137 set ref 126* 128 130 596* 596 length 1(27) based bit(9) level 3 in structure "statement_map" packed packed unaligned dcl 3-1 in procedure "cobol_mst" set ref 890* length 0(25) based fixed bin(8,0) array level 2 in structure "statement_info" packed packed unaligned dcl 4-10 in procedure "cobol_mst" ref 865 872 level 3 based structure array level 2 in structure "occurs" unaligned dcl 16-26 in procedure "cobol_mst" level 12 based fixed bin(17,0) level 2 in structure "data_name" dcl 12-16 in procedure "cobol_mst" ref 480 483 520 520 level 0(12) based bit(6) level 2 in structure "runtime_symbol" packed packed unaligned dcl 1-3 in procedure "cobol_mst" set ref 172* 186* 480* 483* 485 538 542 545 551 676 level_01 21(07) based bit(1) level 2 packed packed unaligned dcl 12-16 ref 480 526 level_77 21(06) based bit(1) level 2 packed packed unaligned dcl 12-16 ref 480 line 0(26) based bit(14) level 3 packed packed unaligned dcl 3-1 set ref 820* line_no 1 based fixed bin(17,0) array level 3 packed packed unaligned dcl 1193 ref 774 789 839 line_num 014271 automatic fixed bin(14,0) dcl 1168 set ref 776* 791* 820 linkage 13 based fixed bin(17,0) level 2 dcl 12-16 ref 476 linkage_section 21(03) based bit(1) level 2 packed packed unaligned dcl 12-16 ref 471 lno 0(18) based fixed bin(17,0) array level 2 packed packed unaligned dcl 4-4 ref 776 791 location 3 based bit(18) level 3 in structure "runtime_symbol" packed packed unaligned dcl 1-3 in procedure "cobol_mst" set ref 80* 115* 166* 457* 465* 476* 590* location based bit(18) level 2 in structure "statement_map" packed packed unaligned dcl 3-1 in procedure "cobol_mst" set ref 813* 912* lower 7 based fixed bin(35,0) array level 3 dcl 1-3 set ref 499* main_blk_ptr 000112 automatic pointer dcl 1129 set ref 105* 646 648 693 693 696 702 704 757 907 main_off 014255 automatic fixed bin(18,0) dcl 1155 set ref 102* 104 119 173 181 485 591 644 691 757 907 map 3(02) based bit(1) level 3 in structure "pl1_symbol_block" packed packed unaligned dcl 8-1 in procedure "cobol_mst" set ref 754* map 6 based structure level 2 in structure "pl1_symbol_block" packed packed unaligned dcl 8-1 in procedure "cobol_mst" map 3 based structure level 2 in structure "runtime_block" packed packed unaligned dcl 1-38 in procedure "cobol_mst" map_data_ptr defined pointer dcl 5-55 ref 766 769 774 780 789 797 813 825 830 839 857 857 865 878 map_data_table based structure level 1 dcl 1193 mask 000051 constant bit(36) initial array dcl 963 ref 993 max 5 based fixed bin(17,0) array level 3 in structure "occurs" dcl 16-26 in procedure "cobol_mst" ref 500 max builtin function dcl 1224 in procedure "cobol_mst" ref 499 min 4 based fixed bin(17,0) array level 3 dcl 16-26 ref 499 mod builtin function dcl 1225 ref 412 468 1002 mod_2_sum 014365 automatic bit(36) dcl 965 set ref 985* 998* 998 1002 multiplier 11 based fixed bin(35,0) array level 3 dcl 1-3 set ref 505* 509* 512 name 1 based structure level 2 in structure "runtime_token" dcl 1-63 in procedure "cobol_mst" name 15 based char level 2 in structure "proc_def" packed packed unaligned dcl 10-14 in procedure "cobol_mst" set ref 140 158* name 24 based char level 2 in structure "index_name" packed packed unaligned dcl 14-19 in procedure "cobol_mst" ref 579 name 1 based bit(18) level 2 in structure "runtime_block" packed packed unaligned dcl 1-38 in procedure "cobol_mst" set ref 946* name 1 based bit(18) level 2 in structure "runtime_symbol" packed packed unaligned dcl 1-3 in procedure "cobol_mst" set ref 1050* name 34 based char level 2 in structure "data_name" packed packed unaligned dcl 12-16 in procedure "cobol_mst" ref 219 name based char(32) dcl 960 in procedure "gen_runtime_nodes" set ref 972* 974* 981 1015 1037 name_array 014353 automatic bit(36) array dcl 961 set ref 972 974 981 993* 993 998 1015 1037 name_length 014246 automatic fixed bin(9,0) dcl 1147 set ref 71* 85 91 110* 141* 224* 580* 972 972 974 974 978 981 987 988 1015 1015 1033 1036 1037 name_off 014251 automatic fixed bin(18,0) dcl 1150 set ref 946 1021* 1032* 1050 name_size 23 based fixed bin(17,0) level 2 in structure "index_name" dcl 14-19 in procedure "cobol_mst" ref 579 580 name_size 33 based fixed bin(17,0) level 2 in structure "data_name" dcl 12-16 in procedure "cobol_mst" ref 219 224 name_size 14 based fixed bin(17,0) level 2 in structure "proc_def" dcl 10-14 in procedure "cobol_mst" ref 140 141 158 158 name_string 014302 automatic char(32) packed unaligned dcl 1179 set ref 70* 71 109* 140* 219* 221 221 579* 972 974 name_table_entry based structure level 1 unaligned dcl 1187 ndims 0(18) based bit(6) level 2 packed packed unaligned dcl 1-3 set ref 488* 494* new_length 000103 automatic fixed bin(17,0) dcl 1120 set ref 857* 865* 872* 872 878* 878 890 next 3(22) based bit(14) level 3 in structure "runtime_symbol" packed packed unaligned dcl 1-3 in procedure "cobol_mst" set ref 731 731 1054* next based bit(18) level 2 in structure "runtime_token" packed packed unaligned dcl 1-63 in procedure "cobol_mst" set ref 658* 660* 739* 1018 1039* next_eln_index 000102 automatic fixed bin(17,0) dcl 1120 set ref 835* 839* 842 878 878 878 next_off 014260 automatic fixed bin(18,0) dcl 1159 set ref 644* 646 646 648 656* 658 658 660 691* 693 693 696 702 702 704 715* 717 717 719 next_offset 014241 automatic fixed bin(18,0) dcl 1143 set ref 667* 672 674 731* 733* no_source_stmts based fixed bin(17,0) level 2 dcl 1193 ref 766 797 830 non_elementary 21(08) based bit(1) level 2 packed packed unaligned dcl 12-16 ref 230 520 null builtin function dcl 1226 ref 178 190 626 630 640 710 739 750 750 numeric 21(17) based bit(1) level 2 packed packed unaligned dcl 12-16 ref 234 238 numeric_edited 21(18) based bit(1) level 2 packed packed unaligned dcl 12-16 ref 234 occurs based structure level 1 unaligned dcl 16-26 occurs_ptr 014324 automatic pointer dcl 16-24 in procedure "cobol_mst" set ref 492* 494 497 499 500 505 509 516 occurs_ptr 27 based fixed bin(17,0) level 2 in structure "data_name" dcl 12-16 in procedure "cobol_mst" ref 488 492 offset 24 based fixed bin(24,0) level 2 in structure "data_name" dcl 12-16 in procedure "cobol_mst" ref 278 289 406 435 446 465 468 offset 5 based fixed bin(35,0) level 2 in structure "runtime_symbol" dcl 1-3 in procedure "cobol_mst" set ref 278* 289* 406* 412* 412 416* 416 420* 420 435* 446* 468* 585* offset 14 based fixed bin(24,0) level 2 in structure "index_name" dcl 14-19 in procedure "cobol_mst" ref 585 p 014342 automatic pointer dcl 933 in procedure "gen_runtime_block" set ref 935* 936 937 938 939 940 941 946 951 p 014404 automatic pointer dcl 1071 in procedure "sort_tokens" set ref 1096* 1099 p 000104 automatic pointer dcl 1125 in procedure "cobol_mst" set ref 130* 131 133 217 577 596 810* 813 818 820 822 825 890 911* 912 913 914 p1 014406 automatic pointer dcl 1071 set ref 1085* 1087 1090 1093 p2 014410 automatic pointer dcl 1071 set ref 1081* 1087 1090 1093 packed 0(25) based bit(1) level 3 packed packed unaligned dcl 1-3 set ref 276* 285* 375* 428* 431* 442* pl1_symbol_block based structure level 1 dcl 8-1 places_left 17 based fixed bin(17,0) level 2 dcl 12-16 ref 259 405 places_right 20 based fixed bin(17,0) level 2 dcl 12-16 ref 259 261 371 405 pointer builtin function dcl 1227 ref 126 prev_file_num 014273 automatic fixed bin(8,0) dcl 1170 set ref 760* prev_level 014267 automatic fixed bin(17,0) dcl 1166 set ref 530* 538 542* 545 551* prev_line_num 014270 automatic fixed bin(14,0) dcl 1167 set ref 759* prev_p 000122 automatic pointer dcl 1133 set ref 178* 190 193 196* prev_poff 014262 automatic fixed bin(18,0) dcl 1161 set ref 193 198* prev_s 000124 automatic pointer dcl 1134 set ref 529* 540 541* 541 541 542 548 556 558 565* 626* 710 717 719 724* prev_soff 014264 automatic fixed bin(18,0) dcl 1163 set ref 540* 540 548 549 556 558 569* 715 725* prev_t 000126 automatic pointer dcl 1135 set ref 630* 640 658 660 663* 739 739 prev_toff 014265 automatic fixed bin(17,0) dcl 1164 set ref 656 664* proc_counter 22 based fixed bin(17,0) level 2 dcl 6-26 ref 137 proc_def based structure level 1 unaligned dcl 10-14 proc_def_ptr 014320 automatic pointer dcl 10-11 set ref 133* 140 141 148 158 169 proc_num 12 based fixed bin(17,0) level 2 dcl 10-14 ref 148 prog_name based char(30) level 2 packed packed unaligned dcl 6-26 ref 70 psb_off 014253 automatic fixed bin(18,0) dcl 1153 set ref 52* 53 psb_ptr 000106 automatic pointer dcl 1127 set ref 53* 54 65 754 755 919 rel builtin function dcl 1228 ref 51 638 679 root 5 based bit(18) level 2 packed packed unaligned dcl 8-1 set ref 65* root_blk_ptr 000110 automatic pointer dcl 1128 set ref 66* 75 97 97 650 756 920 947 root_off 014254 automatic fixed bin(18,0) dcl 1154 set ref 64* 65 75 79 105* 650 756 920 947 runtime_block based structure level 1 dcl 1-38 runtime_symbol based structure level 1 dcl 1-3 runtime_token based structure level 1 dcl 1-63 s_ptr 000114 automatic pointer dcl 1130 set ref 76 78 79 80 81 115 117 118 119 145 166 172 173 177 181 186 187 196 202 204 242 244 246 248 250 257 259 262 268 269 274 276 278 284 285 286 288 289 372 374 375 376 377 382 389 391 394 400 402 405 406 412 412 412 416 416 420 420 426 428 431 432 434 435 441 442 443 445 446 455 457 463 465 468 474 476 480 483 485 485 488 494 495 499 500 505 507 507 509 512 512 512 529 538 545 549 551 558 565 585 587 588 589 590 591 666* 674* 674 676 676 679 724 731 731 1046* 1048 1049 1050 1054 sbh_off 014252 automatic fixed bin(18,0) dcl 1152 set ref 51* 638 679 sbh_ptr defined pointer dcl 1126 set ref 50* 51 52 53 924 scale 0(28) based bit(8) level 2 packed packed unaligned dcl 1-3 set ref 262* 372* sect_off 014261 automatic fixed bin(18,0) dcl 1160 set ref 58* 176* 181 187 190 sect_ptr 000120 automatic pointer dcl 1132 set ref 177* 190 section_name 10(04) based bit(1) level 2 packed packed unaligned dcl 10-14 ref 169 sign_type 22(13) based bit(3) level 2 packed packed unaligned dcl 12-16 ref 242 244 246 248 250 simple 0(26) based bit(1) level 3 packed packed unaligned dcl 1-3 set ref 145* 1049* simple_symbol 000054 constant bit(36) initial dcl 1210 ref 1048 size 1 based fixed bin(9,0) level 3 in structure "runtime_token" packed packed unsigned unaligned dcl 1-63 in procedure "cobol_mst" set ref 635 1015 1015 1036* 1037 1087 1087 1090 1090 1093 1093 size 4 based fixed bin(35,0) level 2 in structure "runtime_symbol" dcl 1-3 in procedure "cobol_mst" set ref 259* 269* 288* 405* 412 434* 445* 589* son 2(18) based bit(18) level 2 in structure "runtime_symbol" packed packed unaligned dcl 1-3 in procedure "cobol_mst" set ref 190* 548* son 2(18) based bit(18) level 2 in structure "runtime_block" packed packed unaligned dcl 1-38 in procedure "cobol_mst" set ref 947* source_id 0(18) based structure level 2 packed packed unaligned dcl 3-1 set ref 913* source_info 1(09) based structure level 2 packed packed unaligned dcl 3-1 set ref 914* span 000100 automatic fixed bin(17,0) dcl 1117 set ref 833* 848* 853 868 868 878 standard 0(03) based bit(1) level 2 packed packed unaligned dcl 1-38 set ref 938* start 1(09) based bit(18) level 3 in structure "statement_map" packed packed unaligned dcl 3-1 in procedure "cobol_mst" set ref 825* start 0(18) based bit(18) level 2 in structure "runtime_block" packed packed unaligned dcl 1-38 in procedure "cobol_mst" set ref 75* 97 693 693* 696* start based fixed bin(24,0) array level 2 in structure "statement_info" packed packed unaligned dcl 4-10 in procedure "cobol_mst" ref 825 starting_wd_off 014242 automatic fixed bin(17,0) dcl 1144 set ref 57* 750 statement 1(04) based bit(5) level 3 packed packed unaligned dcl 3-1 set ref 822* statement_info based structure array level 1 packed packed unaligned dcl 4-10 statement_map based structure level 1 dcl 3-1 statement_no 014274 automatic fixed bin(5,0) dcl 1171 set ref 763* 771* 822 855* 855 861* stmt_map_reloc_bits 000010 internal static bit(5) initial array dcl 1209 set ref 893 893 916 916 string 1(09) based char level 3 in structure "runtime_token" packed packed unaligned dcl 1-63 in procedure "cobol_mst" set ref 1015 1037* 1093 1093 string builtin function dcl 1229 in procedure "cobol_mst" set ref 913* 914* struc_length 6 based fixed bin(17,0) array level 3 dcl 16-26 ref 505 509 substr builtin function dcl 1230 set ref 936* 972* 972 974* 974 981 1015 1034* 1037 1048* sym_base_ptr defined pointer dcl 5-17 ref 50 810 911 935 1013 1029 1046 sym_ptr 014316 automatic pointer dcl 7-5 set ref 50* 50 51 51 52 52 53 53 924 924 sym_wd_off defined fixed bin(17,0) dcl 5-103 set ref 57 64 83* 83 102 121* 121 207* 207 573* 573 592* 592 750 755 756 757 810 896* 896 907 911 918* 918 919 920 924 935 940 941 946 947 949* 949 1028 1038* 1038 1046 1047 symb_off 014257 automatic fixed bin(18,0) dcl 1158 set ref 75 79 114 173 176 181 187 190 193 198 457 485 548 549 556 558 569 590 591 679* 691 715 725 1047* 1050 1054 1058 symbol_block_header based structure level 1 dcl 7-6 symbol_size 014250 automatic fixed bin(17,0) dcl 1149 set ref 83 121 146* 207 228* 228 516* 516 573 584* 584 592 1060* sync 22(01) based bit(1) level 2 packed packed unaligned dcl 12-16 ref 382 394 428 t_off 014263 automatic fixed bin(17,0) dcl 1162 set ref 638* 644 650 656 664 t_ptr 000116 automatic pointer dcl 1131 set ref 637* 638 663 666 667 1013* 1015 1015 1018 1029* 1031 1034 1036 1037 1039 1054 1054 1058 table 3(01) based bit(1) level 3 packed packed unaligned dcl 8-1 set ref 54* tag_addr 1 based fixed bin(17,0) array level 3 packed packed unaligned dcl 1202 ref 148 152 tag_loc 014276 automatic fixed bin(17,0) dcl 1173 set ref 148* 150 152* 152 155 166 temp_scale 000101 automatic fixed bin(7,0) packed unaligned dcl 1118 set ref 261* 262 371* 372 text_addr 1(18) based fixed bin(17,0) array level 3 packed packed unaligned dcl 1193 ref 813 text_ptr 014312 automatic pointer dcl 2-12 set ref 103* 104 tok_offset 014363 automatic fixed bin(17,0) dcl 962 set ref 1008* 1011 1013 1018* 1021 1028* 1029 1032 1040 1054 1058 token 7 based bit(18) array level 2 packed packed unaligned dcl 1-38 set ref 646* 648* 650* token_count 014243 automatic fixed bin(17,0) dcl 1145 set ref 55* 161* 161 635 743 1030* 1030 1031 1073 1078 token_list 000136 automatic pointer array dcl 1139 set ref 635 637 1031* 1081 1085 1096 1098* 1098 1099* token_size 014247 automatic fixed bin(18,0) dcl 1148 set ref 88* 91 94* 94 624* 635 742* 742 1033* 1034 1038 translate builtin function dcl 1231 ref 972 translate_it 014300 automatic bit(1) packed unaligned dcl 1177 set ref 59* 125* 972 1049 type 3 based fixed bin(15,0) level 2 in structure "name_table_entry" dcl 1187 in procedure "cobol_mst" ref 131 type 0(06) based bit(6) level 2 in structure "runtime_symbol" packed packed unaligned dcl 1-3 in procedure "cobol_mst" set ref 78* 117* 202* 242* 244* 246* 248* 250* 257* 268* 286* 382* 389* 391* 394* 400* 402* 432* 443* 588* type 0(06) based bit(6) level 2 in structure "runtime_block" packed packed unaligned dcl 1-38 in procedure "cobol_mst" set ref 939* units 0(04) based bit(2) level 2 packed packed unaligned dcl 1-3 set ref 377* 507 unspec builtin function dcl 1232 ref 262 372 981 upper 10 based fixed bin(35,0) array level 3 dcl 1-3 set ref 500* usage_index 21(34) based bit(1) level 2 packed packed unaligned dcl 12-16 ref 281 use_digit 0(01) based bit(1) level 2 packed packed unaligned dcl 1-3 set ref 376* virtual_org 6 based fixed bin(35,0) level 2 dcl 1-3 set ref 495* 512* 512 working_storage 21(01) based bit(1) level 2 packed packed unaligned dcl 12-16 ref 450 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. allo1_max defined fixed bin(17,0) dcl 5-171 allo1_ptr defined pointer dcl 5-67 alter_flag defined fixed bin(17,0) dcl 5-135 alter_index defined fixed bin(17,0) dcl 5-153 alter_list_ptr defined pointer dcl 5-39 cd_cnt defined fixed bin(17,0) dcl 5-197 charn based char packed unaligned dcl 1184 cobol_$allo1_max external static fixed bin(17,0) dcl 5-170 cobol_$allo1_ptr external static pointer dcl 5-66 cobol_$alter_flag external static fixed bin(17,0) dcl 5-134 cobol_$alter_index external static fixed bin(17,0) dcl 5-152 cobol_$alter_list_ptr external static pointer dcl 5-38 cobol_$cd_cnt external static fixed bin(17,0) dcl 5-196 cobol_$cobol_data_wd_off external static fixed bin(17,0) dcl 5-118 cobol_$compile_count external static fixed bin(17,0) dcl 5-142 cobol_$coms_charcnt external static fixed bin(17,0) dcl 5-188 cobol_$coms_wdoff external static fixed bin(17,0) dcl 5-202 cobol_$con_end_ptr external static pointer dcl 5-10 cobol_$con_wd_off external static fixed bin(17,0) dcl 5-92 cobol_$cons_charcnt external static fixed bin(17,0) dcl 5-192 cobol_$data_init_flag external static fixed bin(17,0) dcl 5-130 cobol_$date_compiled_sw external static fixed bin(17,0) dcl 5-180 cobol_$debug_enable external static fixed bin(17,0) dcl 5-174 cobol_$def_base_ptr external static pointer dcl 5-12 cobol_$def_max external static fixed bin(17,0) dcl 5-96 cobol_$def_wd_off external static fixed bin(17,0) dcl 5-94 cobol_$diag_ptr external static pointer dcl 5-70 cobol_$eln_max external static fixed bin(17,0) dcl 5-172 cobol_$fixup_max external static fixed bin(17,0) dcl 5-164 cobol_$fixup_ptr external static pointer dcl 5-30 cobol_$fs_charcnt external static fixed bin(17,0) dcl 5-184 cobol_$fs_wdoff external static fixed bin(17,0) dcl 5-198 cobol_$include_cnt external static fixed bin(17,0) dcl 5-182 cobol_$include_info_ptr external static pointer dcl 5-86 cobol_$init_stack_off external static fixed bin(17,0) dcl 5-124 cobol_$initval_base_ptr external static pointer dcl 5-32 cobol_$initval_file_ptr external static pointer dcl 5-34 cobol_$initval_flag external static fixed bin(17,0) dcl 5-178 cobol_$link_base_ptr external static pointer dcl 5-14 cobol_$link_max external static fixed bin(17,0) dcl 5-100 cobol_$link_wd_off external static fixed bin(17,0) dcl 5-98 cobol_$list_off external static fixed bin(17,0) dcl 5-154 cobol_$list_ptr external static pointer dcl 5-64 cobol_$ls_charcnt external static fixed bin(17,0) dcl 5-190 cobol_$main_pcs_ptr external static pointer dcl 5-84 cobol_$map_data_max external static fixed bin(17,0) dcl 5-162 cobol_$max_stack_off external static fixed bin(17,0) dcl 5-122 cobol_$minpral5_ptr external static pointer dcl 5-50 cobol_$misc_base_ptr external static pointer dcl 5-60 cobol_$misc_end_ptr external static pointer dcl 5-62 cobol_$misc_max external static fixed bin(17,0) dcl 5-158 cobol_$next_tag external static fixed bin(17,0) dcl 5-128 cobol_$ntbuf_ptr external static pointer dcl 5-82 cobol_$obj_seg_name external static char(32) dcl 5-208 cobol_$op_con_ptr external static pointer dcl 5-80 cobol_$para_eop_flag external static fixed bin(17,0) dcl 5-138 cobol_$pd_map_index external static fixed bin(17,0) dcl 5-116 cobol_$pd_map_max external static fixed bin(17,0) dcl 5-160 cobol_$pd_map_ptr external static pointer dcl 5-28 cobol_$pd_map_sw external static fixed bin(17,0) dcl 5-126 cobol_$perform_list_ptr external static pointer dcl 5-36 cobol_$perform_para_index external static fixed bin(17,0) dcl 5-148 cobol_$perform_sect_index external static fixed bin(17,0) dcl 5-150 cobol_$priority_no external static fixed bin(17,0) dcl 5-140 cobol_$ptr_assumption_ind external static fixed bin(17,0) dcl 5-144 cobol_$ptr_status_ptr external static pointer dcl 5-56 cobol_$reg_assumption_ind external static fixed bin(17,0) dcl 5-146 cobol_$reg_status_ptr external static pointer dcl 5-58 cobol_$reloc_def_base_ptr external static pointer dcl 5-20 cobol_$reloc_def_max external static fixed bin(24,0) dcl 5-108 cobol_$reloc_link_base_ptr external static pointer dcl 5-22 cobol_$reloc_link_max external static fixed bin(24,0) dcl 5-110 cobol_$reloc_sym_base_ptr external static pointer dcl 5-24 cobol_$reloc_sym_max external static fixed bin(24,0) dcl 5-112 cobol_$reloc_text_base_ptr external static pointer dcl 5-18 cobol_$reloc_text_max external static fixed bin(24,0) dcl 5-106 cobol_$reloc_work_base_ptr external static pointer dcl 5-26 cobol_$reloc_work_max external static fixed bin(24,0) dcl 5-114 cobol_$reswd_ptr external static pointer dcl 5-78 cobol_$same_sort_merge_proc external static bit(1) dcl 5-214 cobol_$scratch_dir external static char(168) dcl 5-206 cobol_$sect_eop_flag external static fixed bin(17,0) dcl 5-136 cobol_$seg_init_flag external static fixed bin(17,0) dcl 5-132 cobol_$seg_init_list_ptr external static pointer dcl 5-40 cobol_$stack_off external static fixed bin(17,0) dcl 5-120 cobol_$sym_max external static fixed bin(17,0) dcl 5-104 cobol_$tag_table_max external static fixed bin(17,0) dcl 5-166 cobol_$temp_token_area_ptr external static pointer dcl 5-42 cobol_$temp_token_max external static fixed bin(17,0) dcl 5-168 cobol_$temp_token_ptr external static pointer dcl 5-44 cobol_$text_wd_off external static fixed bin(17,0) dcl 5-90 cobol_$token_block1_ptr external static pointer dcl 5-46 cobol_$token_block2_ptr external static pointer dcl 5-48 cobol_$value_cnt external static fixed bin(17,0) dcl 5-194 cobol_$ws_charcnt external static fixed bin(17,0) dcl 5-186 cobol_$ws_wdoff external static fixed bin(17,0) dcl 5-200 cobol_$xref_bypass external static bit(1) dcl 5-212 cobol_$xref_chain_ptr external static pointer dcl 5-74 cobol_$xref_token_ptr external static pointer dcl 5-72 cobol_afp defined pointer dcl 9-11 cobol_analin_fileno defined pointer dcl 9-13 cobol_cmfp defined pointer dcl 9-21 cobol_com_fileno defined pointer dcl 9-23 cobol_curr_in defined pointer dcl 9-53 cobol_curr_out defined pointer dcl 9-55 cobol_data_wd_off defined fixed bin(17,0) dcl 5-119 cobol_dfp defined pointer dcl 9-27 cobol_eltp defined pointer dcl 9-19 cobol_ext_$cobol_afp external static pointer dcl 9-10 cobol_ext_$cobol_analin_fileno external static pointer dcl 9-12 cobol_ext_$cobol_cmfp external static pointer dcl 9-20 cobol_ext_$cobol_com_fileno external static pointer dcl 9-22 cobol_ext_$cobol_curr_in external static pointer dcl 9-52 cobol_ext_$cobol_curr_out external static pointer dcl 9-54 cobol_ext_$cobol_dfp external static pointer dcl 9-26 cobol_ext_$cobol_eltp external static pointer dcl 9-18 cobol_ext_$cobol_fileno1 external static fixed bin(24,0) dcl 9-78 cobol_ext_$cobol_hfp external static pointer dcl 9-28 cobol_ext_$cobol_lpr external static char(5) packed unaligned dcl 9-95 cobol_ext_$cobol_m1fp external static pointer dcl 9-30 cobol_ext_$cobol_m2fp external static pointer dcl 9-32 cobol_ext_$cobol_min1_fileno external static pointer dcl 9-34 cobol_ext_$cobol_min2_fileno_ptr external static pointer dcl 9-36 cobol_ext_$cobol_name_fileno external static pointer dcl 9-38 cobol_ext_$cobol_name_fileno_ptr external static pointer dcl 9-40 cobol_ext_$cobol_options external static char(120) packed unaligned dcl 9-97 cobol_ext_$cobol_options_len external static fixed bin(24,0) dcl 9-80 cobol_ext_$cobol_pdofp external static pointer dcl 9-44 cobol_ext_$cobol_pdout_fileno external static fixed bin(24,0) dcl 9-82 cobol_ext_$cobol_pfp external static pointer dcl 9-46 cobol_ext_$cobol_print_fileno external static fixed bin(24,0) dcl 9-84 cobol_ext_$cobol_rm2fp external static pointer dcl 9-48 cobol_ext_$cobol_rmin2_fileno external static fixed bin(24,0) dcl 9-86 cobol_ext_$cobol_rmin2fp external static pointer dcl 9-50 cobol_ext_$cobol_rwdd external static pointer dcl 9-72 cobol_ext_$cobol_rwpd external static pointer dcl 9-74 cobol_ext_$cobol_sfp external static pointer dcl 9-56 cobol_ext_$cobol_w1p external static pointer dcl 9-58 cobol_ext_$cobol_w2p external static pointer dcl 9-60 cobol_ext_$cobol_w3p external static pointer dcl 9-62 cobol_ext_$cobol_w5p external static pointer dcl 9-64 cobol_ext_$cobol_w6p external static pointer dcl 9-66 cobol_ext_$cobol_w7p external static pointer dcl 9-68 cobol_ext_$cobol_x1_fileno external static fixed bin(24,0) dcl 9-88 cobol_ext_$cobol_x2_fileno external static fixed bin(24,0) dcl 9-90 cobol_ext_$cobol_x3_fileno external static fixed bin(24,0) dcl 9-92 cobol_ext_$cobol_x3fp external static pointer dcl 9-70 cobol_ext_$cobol_xlast8 external static bit(1) packed unaligned dcl 9-100 cobol_ext_$report_exists external static bit(1) packed unaligned dcl 9-102 cobol_ext_$report_first_token external static pointer dcl 9-14 cobol_ext_$report_last_token external static pointer dcl 9-16 cobol_fileno1 defined fixed bin(24,0) dcl 9-79 cobol_hfp defined pointer dcl 9-29 cobol_lpr defined char(5) packed unaligned dcl 9-96 cobol_m1fp defined pointer dcl 9-31 cobol_m2fp defined pointer dcl 9-33 cobol_min1_fileno defined pointer dcl 9-35 cobol_min2_fileno_ptr defined pointer dcl 9-37 cobol_name_fileno defined pointer dcl 9-39 cobol_name_fileno_ptr defined pointer dcl 9-41 cobol_options defined char(120) packed unaligned dcl 9-98 cobol_options_len defined fixed bin(24,0) dcl 9-81 cobol_pdofp defined pointer dcl 9-45 cobol_pdout_fileno defined fixed bin(24,0) dcl 9-83 cobol_pfp defined pointer dcl 9-47 cobol_print_fileno defined fixed bin(24,0) dcl 9-85 cobol_rm2fp defined pointer dcl 9-49 cobol_rmin2_fileno defined fixed bin(24,0) dcl 9-87 cobol_rmin2fp defined pointer dcl 9-51 cobol_rwdd defined pointer dcl 9-73 cobol_rwpd defined pointer dcl 9-75 cobol_sfp defined pointer dcl 9-57 cobol_w1p defined pointer dcl 9-59 cobol_w2p defined pointer dcl 9-61 cobol_w3p defined pointer dcl 9-63 cobol_w5p defined pointer dcl 9-65 cobol_w6p defined pointer dcl 9-67 cobol_w7p defined pointer dcl 9-69 cobol_x1_fileno defined fixed bin(24,0) dcl 9-89 cobol_x2_fileno defined fixed bin(24,0) dcl 9-91 cobol_x3_fileno defined fixed bin(24,0) dcl 9-93 cobol_x3fp defined pointer dcl 9-71 cobol_xlast8 defined bit(1) packed unaligned dcl 9-101 compile_count defined fixed bin(17,0) dcl 5-143 coms_charcnt defined fixed bin(17,0) dcl 5-189 coms_wdoff defined fixed bin(17,0) dcl 5-203 con_end_ptr defined pointer dcl 5-11 con_wd_off defined fixed bin(17,0) dcl 5-93 cons_charcnt defined fixed bin(17,0) dcl 5-193 constant_offset defined fixed bin(17,0) dcl 5-157 data_init_flag defined fixed bin(17,0) dcl 5-131 date_compiled_sw defined fixed bin(17,0) dcl 5-181 debug_enable defined fixed bin(17,0) dcl 5-175 def_base_ptr defined pointer dcl 5-13 def_max defined fixed bin(17,0) dcl 5-97 def_wd_off defined fixed bin(17,0) dcl 5-95 diag_ptr defined pointer dcl 5-71 eln_max defined fixed bin(17,0) dcl 5-173 eln_ptr defined pointer dcl 5-69 encoded_value based structure level 1 dcl 1-70 fixup_max defined fixed bin(17,0) dcl 5-165 fixup_ptr defined pointer dcl 5-31 fs_charcnt defined fixed bin(17,0) dcl 5-185 fs_wdoff defined fixed bin(17,0) dcl 5-199 ident_sw automatic bit(1) packed unaligned dcl 1182 include_cnt defined fixed bin(17,0) dcl 5-183 include_info_ptr defined pointer dcl 5-87 init_stack_off defined fixed bin(17,0) dcl 5-125 initval_base_ptr defined pointer dcl 5-33 initval_file_ptr defined pointer dcl 5-35 initval_flag defined fixed bin(17,0) dcl 5-179 k automatic fixed bin(17,0) dcl 1120 link_base_ptr defined pointer dcl 5-15 link_max defined fixed bin(17,0) dcl 5-101 link_wd_off defined fixed bin(17,0) dcl 5-99 list_off defined fixed bin(17,0) dcl 5-155 list_ptr defined pointer dcl 5-65 ls_charcnt defined fixed bin(17,0) dcl 5-191 main_pcs_ptr defined pointer dcl 5-85 map_data_max defined fixed bin(17,0) dcl 5-163 max_stack_off defined fixed bin(17,0) dcl 5-123 minpral5_ptr defined pointer dcl 5-51 misc_base_ptr defined pointer dcl 5-61 misc_end_ptr defined pointer dcl 5-63 misc_max defined fixed bin(17,0) dcl 5-159 next_tag defined fixed bin(17,0) dcl 5-129 non_source_offset defined fixed bin(17,0) dcl 5-177 ntbuf_ptr defined pointer dcl 5-83 obj_seg_name defined char(32) dcl 5-209 op_con_ptr defined pointer dcl 5-81 p_off automatic fixed bin(18,0) dcl 1157 packed_dec_size automatic fixed bin(17,0) dcl 1174 para_eop_flag defined fixed bin(17,0) dcl 5-139 parm_desc based structure level 1 dcl 2-7 parm_desc_ptr automatic pointer dcl 2-5 pd_map_index defined fixed bin(17,0) dcl 5-117 pd_map_max defined fixed bin(17,0) dcl 5-161 pd_map_ptr defined pointer dcl 5-29 pd_map_sw defined fixed bin(17,0) dcl 5-127 perform_list_ptr defined pointer dcl 5-37 perform_para_index defined fixed bin(17,0) dcl 5-149 perform_sect_index defined fixed bin(17,0) dcl 5-151 prev_ident_s automatic pointer dcl 1183 prev_stmt_length automatic fixed bin(17,0) dcl 1119 priority_no defined fixed bin(17,0) dcl 5-141 ptr_assumption_ind defined fixed bin(17,0) dcl 5-145 ptr_status_ptr defined pointer dcl 5-57 reg_assumption_ind defined fixed bin(17,0) dcl 5-147 reg_status_ptr defined pointer dcl 5-59 reloc_def_base_ptr defined pointer dcl 5-21 reloc_def_max defined fixed bin(24,0) dcl 5-109 reloc_link_base_ptr defined pointer dcl 5-23 reloc_link_max defined fixed bin(24,0) dcl 5-111 reloc_sym_base_ptr defined pointer dcl 5-25 reloc_sym_max defined fixed bin(24,0) dcl 5-113 reloc_text_base_ptr defined pointer dcl 5-19 reloc_text_max defined fixed bin(24,0) dcl 5-107 reloc_work_base_ptr defined pointer dcl 5-27 reloc_work_max defined fixed bin(24,0) dcl 5-115 report_exists defined bit(1) packed unaligned dcl 9-103 report_first_token defined pointer dcl 9-15 report_last_token defined pointer dcl 9-17 reswd_ptr defined pointer dcl 5-79 runtime_bound based structure level 1 unaligned dcl 1-33 same_sort_merge_proc defined bit(1) dcl 5-215 scratch_dir defined char(168) dcl 5-207 sect_eop_flag defined fixed bin(17,0) dcl 5-137 seg_init_flag defined fixed bin(17,0) dcl 5-133 seg_init_list_ptr defined pointer dcl 5-41 segname_off automatic fixed bin(18,0) dcl 1151 stack_off defined fixed bin(17,0) dcl 5-121 statement_info_ptr defined pointer dcl 5-77 sym_max defined fixed bin(17,0) dcl 5-105 tag_table_max defined fixed bin(17,0) dcl 5-167 tag_table_ptr defined pointer dcl 5-53 temp_mod automatic fixed bin(17,0) dcl 1122 temp_off automatic fixed bin(17,0) dcl 1122 temp_size automatic fixed bin(17,0) dcl 1122 temp_token_area_ptr defined pointer dcl 5-43 temp_token_max defined fixed bin(17,0) dcl 5-169 temp_token_ptr defined pointer dcl 5-45 text_base_ptr defined pointer dcl 5-9 text_wd_off defined fixed bin(17,0) dcl 5-91 token_block1_ptr defined pointer dcl 5-47 token_block2_ptr defined pointer dcl 5-49 value_cnt defined fixed bin(17,0) dcl 5-195 ws_charcnt defined fixed bin(17,0) dcl 5-187 ws_wdoff defined fixed bin(17,0) dcl 5-201 xref_bypass defined bit(1) dcl 5-213 xref_chain_ptr defined pointer dcl 5-75 xref_token_ptr defined pointer dcl 5-73 NAMES DECLARED BY EXPLICIT CONTEXT. cobol_mst 000122 constant entry external dcl 38 down 003504 constant label dcl 1075 ref 1109 gen_runtime_block 003117 constant entry internal dcl 929 ref 66 105 gen_runtime_nodes 003210 constant entry internal dcl 956 ref 73 112 143 226 582 interchange 003557 constant label dcl 1096 ref 1087 ok 003573 constant label dcl 1106 ref 1090 1093 sort_tokens 003501 constant entry internal dcl 1064 ref 621 token_type 000000 constant label array(0:40) dcl 133 ref 131 215 221 575 594 up 003526 constant label dcl 1083 ref 1104 NAME DECLARED BY CONTEXT OR IMPLICATION. bin builtin function ref 1036 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 4212 4260 4033 4222 Length 5022 4033 46 526 157 4 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME cobol_mst 6450 external procedure is an external procedure. gen_runtime_block internal procedure shares stack frame of external procedure cobol_mst. gen_runtime_nodes internal procedure shares stack frame of external procedure cobol_mst. sort_tokens internal procedure shares stack frame of external procedure cobol_mst. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 stmt_map_reloc_bits cobol_mst STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME cobol_mst 000100 span cobol_mst 000101 temp_scale cobol_mst 000102 next_eln_index cobol_mst 000103 new_length cobol_mst 000104 p cobol_mst 000106 psb_ptr cobol_mst 000110 root_blk_ptr cobol_mst 000112 main_blk_ptr cobol_mst 000114 s_ptr cobol_mst 000116 t_ptr cobol_mst 000120 sect_ptr cobol_mst 000122 prev_p cobol_mst 000124 prev_s cobol_mst 000126 prev_t cobol_mst 000130 dn_ptr cobol_mst 000132 len_ptr cobol_mst 000134 ext_ent_ptr cobol_mst 000136 token_list cobol_mst 013716 hash_table cobol_mst 014241 next_offset cobol_mst 014242 starting_wd_off cobol_mst 014243 token_count cobol_mst 014244 i cobol_mst 014245 j cobol_mst 014246 name_length cobol_mst 014247 token_size cobol_mst 014250 symbol_size cobol_mst 014251 name_off cobol_mst 014252 sbh_off cobol_mst 014253 psb_off cobol_mst 014254 root_off cobol_mst 014255 main_off cobol_mst 014256 data_ptr_off cobol_mst 014257 symb_off cobol_mst 014260 next_off cobol_mst 014261 sect_off cobol_mst 014262 prev_poff cobol_mst 014263 t_off cobol_mst 014264 prev_soff cobol_mst 014265 prev_toff cobol_mst 014266 first cobol_mst 014267 prev_level cobol_mst 014270 prev_line_num cobol_mst 014271 line_num cobol_mst 014272 file_num cobol_mst 014273 prev_file_num cobol_mst 014274 statement_no cobol_mst 014275 label_count cobol_mst 014276 tag_loc cobol_mst 014277 first_symbol cobol_mst 014300 translate_it cobol_mst 014301 finished cobol_mst 014302 name_string cobol_mst 014312 text_ptr cobol_mst 014314 eln_index cobol_mst 014316 sym_ptr cobol_mst 014320 proc_def_ptr cobol_mst 014322 ind_ptr cobol_mst 014324 occurs_ptr cobol_mst 014342 p gen_runtime_block 014352 found gen_runtime_nodes 014353 name_array gen_runtime_nodes 014363 tok_offset gen_runtime_nodes 014364 hash_index gen_runtime_nodes 014365 mod_2_sum gen_runtime_nodes 014366 j gen_runtime_nodes 014367 k gen_runtime_nodes 014400 d sort_tokens 014401 i sort_tokens 014402 j sort_tokens 014403 k sort_tokens 014404 p sort_tokens 014406 p1 sort_tokens 014410 p2 sort_tokens THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_g_a call_ext_out_desc call_ext_out return_mac mdfx1 ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. cobol_reloc ioa_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. cobol_$constant_offset cobol_$eln_ptr cobol_$map_data_ptr cobol_$non_source_offset cobol_$statement_info_ptr cobol_$sym_base_ptr cobol_$sym_wd_off cobol_$tag_table_ptr cobol_$text_base_ptr cobol_ext_$cobol_com_ptr cobol_ext_$cobol_ntfp LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 38 000121 50 000127 51 000132 52 000135 53 000141 54 000143 55 000145 56 000146 57 000147 58 000151 59 000152 60 000153 64 000164 65 000167 66 000175 70 000200 71 000206 73 000216 75 000217 76 000230 78 000232 79 000234 80 000244 81 000254 83 000260 85 000262 88 000265 89 000267 91 000271 93 000275 94 000277 95 000302 97 000303 102 000311 103 000314 104 000317 105 000325 109 000327 110 000332 112 000334 114 000335 115 000337 117 000342 118 000344 119 000350 121 000360 125 000363 126 000365 128 000371 130 000374 131 000376 133 000401 137 000402 140 000410 141 000415 143 000417 145 000420 146 000422 148 000424 150 000433 152 000436 153 000444 155 000445 158 000446 159 000472 161 000506 163 000510 166 000511 169 000521 172 000525 173 000527 176 000537 177 000541 178 000542 180 000544 181 000545 186 000560 187 000562 190 000571 193 000607 196 000620 198 000621 202 000623 204 000625 207 000631 211 000633 215 000634 217 000635 219 000636 221 000643 224 000653 226 000655 228 000656 230 000657 234 000663 238 000673 242 000675 244 000706 246 000714 248 000722 250 000730 256 000735 257 000736 259 000741 261 000745 262 000750 264 000755 268 000756 269 000761 274 000764 276 000766 278 000770 280 000772 281 000773 284 000776 285 001000 286 001002 288 001005 289 001010 291 001013 368 001014 371 001017 372 001022 374 001027 375 001031 376 001033 377 001035 379 001037 382 001042 389 001054 391 001060 393 001063 394 001064 400 001076 402 001102 405 001105 406 001111 409 001114 412 001117 415 001133 416 001134 419 001143 420 001144 422 001153 423 001154 426 001157 428 001161 431 001167 432 001171 434 001174 435 001177 437 001201 438 001202 441 001205 442 001207 443 001211 445 001214 446 001217 450 001221 455 001224 457 001231 459 001241 460 001242 463 001245 465 001252 468 001266 470 001272 471 001273 474 001276 476 001303 480 001310 483 001325 485 001334 488 001352 492 001357 494 001363 495 001372 497 001374 499 001403 500 001417 502 001421 505 001427 507 001431 508 001436 509 001437 512 001443 514 001447 516 001451 520 001461 526 001472 529 001475 530 001477 532 001501 538 001502 540 001510 541 001520 542 001523 543 001527 545 001530 548 001531 549 001542 551 001553 553 001557 556 001560 558 001571 565 001604 569 001605 573 001607 575 001612 577 001613 579 001614 580 001621 582 001623 584 001624 585 001625 587 001632 588 001636 589 001640 590 001642 591 001652 592 001662 594 001665 596 001666 616 001675 621 001676 623 001677 624 001701 625 001703 626 001704 628 001706 630 001715 632 001717 635 001724 637 001742 638 001743 640 001747 644 001753 646 001756 648 001773 650 002011 652 002027 656 002030 658 002033 660 002043 663 002052 664 002053 666 002055 667 002056 672 002061 674 002064 676 002067 679 002100 681 002104 689 002106 691 002107 693 002111 696 002125 699 002135 702 002141 704 002157 710 002175 715 002201 717 002204 719 002214 724 002224 725 002225 731 002227 733 002237 735 002240 737 002241 739 002243 742 002251 743 002254 744 002260 745 002261 750 002263 754 002306 755 002311 756 002317 757 002327 759 002337 760 002340 763 002341 766 002343 769 002353 771 002362 774 002364 776 002371 780 002403 783 002413 786 002414 787 002415 789 002416 791 002422 797 002434 801 002441 807 002443 810 002454 813 002461 818 002476 820 002506 822 002520 825 002530 830 002556 833 002562 835 002567 837 002570 839 002571 842 002574 845 002616 848 002620 853 002623 855 002624 857 002625 859 002642 861 002643 865 002645 868 002673 872 002707 875 002723 878 002725 890 002756 893 002764 896 003004 905 003007 907 003011 911 003023 912 003030 913 003037 914 003042 916 003044 918 003063 919 003066 920 003077 924 003110 926 003116 929 003117 935 003121 936 003127 937 003132 938 003134 939 003136 940 003140 941 003150 943 003160 946 003162 947 003172 949 003203 951 003206 956 003210 972 003211 974 003221 978 003225 981 003231 985 003241 987 003242 988 003244 990 003251 992 003252 993 003253 996 003257 998 003267 1000 003271 1002 003273 1008 003300 1009 003303 1011 003304 1013 003310 1015 003315 1018 003332 1019 003335 1021 003336 1028 003344 1029 003347 1030 003353 1031 003354 1032 003357 1033 003362 1034 003366 1036 003372 1037 003375 1038 003403 1039 003406 1040 003414 1046 003416 1047 003424 1048 003425 1049 003430 1050 003436 1054 003446 1058 003465 1060 003476 1062 003500 1064 003501 1073 003502 1075 003504 1078 003511 1080 003521 1081 003523 1083 003526 1085 003531 1087 003534 1090 003547 1093 003550 1096 003557 1098 003560 1099 003565 1101 003566 1103 003571 1104 003572 1106 003573 1109 003575 1112 003600 ----------------------------------------------------------- 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