COMPILATION LISTING OF SEGMENT cobol_report_writer 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 1014.0 mst Wed Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) BULL HN Information Systems Inc., 1989 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1981 * 6* * * 7* *********************************************************** */ 8 9 10 11 12 /****^ HISTORY COMMENTS: 13* 1) change(89-04-23,Zimmerman), approve(89-04-23,MCR8060), 14* audit(89-05-05,RWaters), install(89-05-24,MR12.3-1048): 15* MCR8060 cobol_report_writer.pl1 Reformatted code to new Cobol standard. 16* END HISTORY COMMENTS */ 17 18 19 /* Modified on 10/22/82 by FCH, [5.1-3], test for PIC clauses, phx13531 */ 20 /* Modified on 12/28/81 by FCH, [5.1-2], illegal syntax in report description sometimes causes abort, phx12123(BUG523) */ 21 /* Modified on 12/23/81 by FCH, [5.1-1], wrong file selected for writing report, phx12125(BUG524) */ 22 /* Modified on 08/17/81 by FCH, [5.0-1], reset clause improperly searched for in reset clause chain, BUG507(phx11578) */ 23 /* Modified on 06/29/81 by FCH, [4.4-1], control final without other footing groups caused abort, BUG479(TR09695) */ 24 /* Modified since Version 4.4 */ 25 26 27 28 29 30 31 /* format: style3 */ 32 cobol_report_writer: 33 proc; 34 35 /* This program prepares the description of the reports defined by the Report Section. 36* The source code which comprises the report is produced from these descriptions by 37* cobol_generate_report.pl1. The following trace codes are used: 38* 39* -tracerw(10000): report table (produced by cobol_report_writer) 40* 41* 42**/ 43 44 declare cobol_rw entry (ptr); 45 declare cobol_class_table_ entry (ptr); 46 declare cobol_c_list entry (ptr); 47 declare cobol_syntax_trace_$trace 48 entry (ptr, fixed bin (24)); 49 declare cobol_syntax_trace_$initialize_phase 50 entry (ptr, fixed bin (24)); 51 declare cobol_generate_report 52 entry (ptr, fixed bin, bit (1)); 53 declare cobol_swf_get entry (ptr, bit (32), ptr, fixed bin); 54 declare cobol_io_$cobol_msf_start 55 entry (ptr, ptr); 56 declare cobol_io_$cobol_save_pos 57 entry (ptr, ptr); 58 declare cobol_display_report$display_report_tables 59 entry (ptr); 60 declare cobol_syntax_trace_$trace_loc 61 entry returns (ptr); 62 63 declare (addr, string, substr, fixed, size, index, mod, null) 64 builtin; 65 66 67 report_SIZE = size (report); 68 69 sum_ctr_ctr = 0; 70 user_word_size = 40; 71 non_term_node_SIZE = size (non_term_node); 72 term_node_SIZE = size (term_node); 73 74 reset_clause_SIZE = size (reset_clause); 75 sum_SIZE = size (sum); 76 reset_chain_entry_SIZE = size (reset_chain_entry); 77 chain_entry_SIZE = size (chain_entry); 78 ident_SIZE = size (ident); 79 80 list_def_SIZE = size (list_def); 81 list_link_SIZE = size (list_link); 82 root_SIZE = size (root); 83 ST.entry.level (0), rep_num = 0; 84 85 integer_spec_size = 36 * size (integer_spec); 86 non_term_node_line_size = 36 * size (non_term_node_line); 87 term_node_line_size = 36 * size (term_node_line); 88 89 rt_ptr, tn_ptr, ntn_ptr = null (); 90 q_ptr = null (); 91 prev_token_ptr = null (); 92 current_report_loc = null (); 93 list_def_ptr, list_link_ptr = null (); 94 95 96 rwfp1 = cobol_m1fp; 97 rwfp2 = cobol_m2fp; 98 call cobol_io_$cobol_msf_start (rwfp1, report_first_token); 99 ae_addr = addr (ae); 100 101 NODE_line_ptr = addr (NODE.line); 102 103 alloc_area.aa_loc = cobol$alloc (1024); 104 alloc_area.aa_size = 1; 105 alloc_area.aa_cap = 1024; 106 107 stk_lev = 1; 108 token_count = 0; 109 110 call cobol_rw (pointer_to_internal); 111 call cobol_class_table_ (class_tab_ptr); 112 113 /* initialize diag item */ 114 115 dg_ptr = addr (diag_item); 116 diag_item.size = 28; 117 diag_item.type = 5; 118 diag_item.run = 4; 119 120 diag_item.module = 0; 121 122 success = S; 123 fail = F; 124 DIAG_NUM = 0; 125 126 trace_ptr = addr (interp); 127 tbit = fixed_common.syntax_trace; 128 129 if tbit 130 then call cobol_syntax_trace_$initialize_phase (trace_ptr, 5); 131 trace_env_ptr = cobol_syntax_trace_$trace_loc (); 132 current_line = 1; 133 rwfp = rwfp1; 134 call scan; 135 136 go to new_inst; 137 138 139 /* */ 140 /* syntax interpreter */ 141 /* */ 142 143 declare (success, fail) label; 144 145 declare 1 cl_token, 146 2 line fixed bin, 147 2 column fixed bin; 148 149 150 151 dcl 1 diag_item, 152 2 size fixed bin, 153 2 line fixed bin, 154 2 column fixed bin, 155 2 type fixed bin, 156 2 run fixed bin, 157 2 number fixed bin, 158 2 module fixed bin; 159 160 declare 1 syntax_table (0:10000) based (pointer_to_internal), 161 2 b1 fixed bin, 162 2 b2 fixed bin, 163 2 b3 fixed bin, 164 2 b4 fixed bin, 165 2 b5 fixed bin; 166 167 declare 1 syntax_line based (syntax_line_ptr), 168 2 s_bit char (1), 169 2 o_bit char (1), 170 2 t_type fixed bin, 171 2 t_field fixed bin, 172 2 s_exit fixed bin, 173 2 a_num fixed bin; 174 175 declare 1 c_t based (class_tab_ptr), 176 2 filler char (20), 177 2 ct (1024) fixed bin (18) unal unsigned; 178 declare CT (0:8191) fixed bin based (class_tab_ptr); 179 declare cd (256) fixed bin (9) unal unsigned based; 180 181 declare (rwfp, rwfp1, rwfp2) 182 ptr; 183 184 185 declare 1 header based (addr_record), 186 2 size fixed bin, 187 2 line fixed bin, 188 2 column fixed bin, 189 2 type fixed bin; 190 191 192 declare 1 interp, 193 2 current_line fixed bin (24), 194 2 phase fixed bin (24), 195 2 addr_record ptr, 196 2 pointer_to_internal 197 ptr, 198 2 directory_ptr ptr, 199 2 source_ptr ptr; 200 201 declare 1 trace based (trace_env_ptr), 202 2 curr_first fixed bin, 203 2 curr_last fixed bin, 204 2 phase, 205 3 first (5) fixed bin, 206 3 last (5) fixed bin; 207 208 declare 1 intrp_stack (128), 209 2 ret_loc fixed bin, 210 2 recov_loc fixed bin; 211 212 declare (DIAG_NUM, tln, act_num, stk_lev, status, token_count) 213 fixed bin; 214 declare trace_env_ptr ptr; 215 216 declare tm1 fixed bin (24) init (1); 217 declare tm2 fixed bin (24) init (2); 218 declare tm3 fixed bin (24) init (3); 219 declare tm4 fixed bin (24) init (4); 220 declare tm5 fixed bin (24) init (5); 221 222 declare (tbit, ch_bit) bit (1), 223 st bit (32); 224 225 226 F: /*failure */ 227 if tbit 228 then call cobol_syntax_trace_$trace (trace_ptr, tm2); 229 230 /* next syntax instruction */ 231 next_inst: 232 current_line = current_line + 1; 233 234 new_inst: /* new syntax instruction */ 235 syntax_line_ptr = addr (syntax_table (current_line)); 236 237 go to test (syntax_line.t_type); 238 239 test (0): /* reserved word test */ 240 /* r= son= a= */ 241 /* r= sn= m= */ 242 if reserved_word.type ^= 1 243 then go to fail; 244 245 if reserved_word.key ^= syntax_line.t_field 246 then go to fail; 247 248 S: /* success */ 249 if tbit 250 then call cobol_syntax_trace_$trace (trace_ptr, tm1); 251 252 ucon: 253 if syntax_line.o_bit ^= " " 254 then do; 255 if syntax_line.o_bit > fixed_common.comp_level 256 then call diag (syntax_line.a_num); 257 go to ret; 258 end; 259 260 go to action (syntax_line.a_num); 261 262 test (1): /* check routine test */ 263 /* c= son= a= */ 264 /* c= sn= m= */ 265 go to check (syntax_line.t_field); 266 267 test (2): /* unconditional branch */ 268 /* son= a= d= */ 269 /* sn= m= */ 270 DIAG_NUM = syntax_line.t_field; 271 act_num = syntax_line.a_num; 272 273 if syntax_line.o_bit ^= " " 274 then do; 275 if syntax_line.o_bit > fixed_common.comp_level 276 then do; 277 diag_item.module = syntax_line.a_num; 278 call diag (DIAG_NUM); 279 end; 280 281 DIAG_NUM = 0; 282 act_num = 0; 283 end; 284 285 if tbit 286 then call cobol_syntax_trace_$trace (trace_ptr, tm1); 287 /* execute action routine */ 288 go to action (act_num); /* syntax procedure */ 289 /* s= son= a= */ 290 /* s= sn= m= */ 291 test (3): 292 stk_lev = stk_lev + 1; 293 if tbit 294 then call cobol_syntax_trace_$trace (trace_ptr, tm3); 295 296 if stk_lev > 128 297 then do; 298 diag_item.number = 183; 299 diag_item.column = header.column; 300 diag_item.line = header.line; 301 302 call cobol_c_list (dg_ptr); 303 304 return; 305 end; 306 307 intrp_stack.ret_loc (stk_lev) = current_line; 308 intrp_stack.recov_loc (stk_lev) = 0; 309 current_line = syntax_line.t_field; 310 311 go to new_inst; 312 313 test (4): /* class test */ 314 /* k = son = a = */ 315 /* k = sn = m = */ 316 call class_test; 317 318 if res = "0"b 319 then go to fail; 320 321 go to success; 322 323 test (5): /* class dispatch */ 324 /* K = n = */ 325 call class_test; 326 327 328 329 if res = "0"b 330 then do; 331 if tbit 332 then call cobol_syntax_trace_$trace (trace_ptr, tm2); 333 334 current_line = syntax_line.s_exit; 335 336 go to new_inst; 337 338 end; 339 340 if tbit 341 then call cobol_syntax_trace_$trace (trace_ptr, tm1); 342 343 current_line = current_line + cl_off; 344 345 go to new_inst; /* action routines return here */ 346 ret: 347 action (0): 348 if DIAG_NUM ^= 0 349 then call diag (DIAG_NUM); 350 351 if syntax_line.s_bit = "s" 352 then call scan; 353 354 current_line = syntax_line.s_exit; 355 356 go to new_inst; 357 358 action (1): /* exit true from syntax procedure */ 359 current_line = intrp_stack.ret_loc (stk_lev); 360 361 if tbit 362 then call cobol_syntax_trace_$trace (trace_ptr, tm4); 363 364 syntax_line_ptr = addr (syntax_table (current_line)); 365 stk_lev = stk_lev - 1; 366 367 go to ucon; 368 369 action (2): /* exit false from syntax procedure */ 370 current_line = intrp_stack.ret_loc (stk_lev); 371 372 if tbit 373 then call cobol_syntax_trace_$trace (trace_ptr, tm5); 374 375 stk_lev = stk_lev - 1; 376 377 go to next_inst; 378 379 recov_loc: 380 action (3): /* establish recovery routine */ 381 /* n = RECOV_LOC a = recov_loc */ 382 intrp_stack.recov_loc (stk_lev) = syntax_line.s_exit; 383 384 go to next_inst; 385 386 recvy: 387 action (4): 388 call recovery; 389 390 go to ret; 391 392 class_test: 393 proc; 394 395 res = "0"b; 396 397 398 399 if reserved_word.type ^= 1 400 then return; 401 402 cl_off = c_t.ct (reserved_word.key); 403 404 if cl_off = 0 405 then return; 406 407 cl_off = addr (CT (cl_off)) -> cd (syntax_line.t_field); 408 409 410 if cl_off = 0 411 then return; 412 413 res = "1"b; 414 cl_token.line = header.line; 415 cl_token.column = header.column; 416 end; 417 418 recovery: 419 proc; /* error recovery routine */ 420 421 422 success = S1; 423 fail = F1; 424 call diag (45); 425 426 do while ("1"b); 427 428 do i = stk_lev by -1 to 1; 429 430 res = "0"b; 431 rl = intrp_stack.recov_loc (i); 432 433 if rl ^= 0 434 then do; 435 syntax_line_ptr = addr (syntax_table (rl)); 436 437 go to RC (syntax_line.t_type); 438 439 RC (0): /* r = */ 440 if reserved_word.type = 1 441 then if reserved_word.key = syntax_line.t_field 442 then res = "1"b; 443 444 go to RC0; 445 446 RC (1): /* c = */ 447 go to check (syntax_line.t_field); 448 449 RC (4): /* k = */ 450 RC (5): /* K = */ 451 call class_test; 452 453 go to RC0; 454 455 S1: 456 res = "1"b; 457 F1: 458 RC (2): 459 RC (3): 460 RC0: 461 end; 462 463 if res 464 then do; 465 syntax_line_ptr = addr (syntax_table (rl)); 466 success = S; 467 fail = F; 468 stk_lev = i; 469 470 return; 471 end; 472 473 474 end; 475 476 call scan; 477 478 end; 479 end; 480 481 482 diag: 483 proc (diag_num); 484 485 declare diag_num fixed bin; 486 487 diag_item.number = diag_num; 488 diag_item.column = header.column; 489 diag_item.line = header.line; 490 491 call cobol_c_list (dg_ptr); 492 493 diag_item.module = 0; 494 end diag; 495 496 DIAG: 497 proc (diag_num, line, column); 498 499 declare (diag_num, line, column) 500 fixed bin; 501 502 diag_item.number = diag_num; 503 diag_item.line = line; 504 diag_item.column = column; 505 506 call cobol_c_list (dg_ptr); 507 508 diag_item.module = 0; 509 510 end; /* get the next token */ 511 scan: 512 proc; 513 514 declare st bit (32), 515 rec_size fixed bin; 516 517 call cobol_swf_get (rwfp, st, addr_record, rec_size); 518 token_count = token_count + 1; 519 if substr (st, 17, 16) ^= "0"b 520 then addr_record = addr (eof_token); 521 522 end; 523 524 525 526 declare 1 eof_token, 527 2 (size, line, column, type) 528 fixed bin init (9999); 529 530 531 /* 532* Report Writer Diagnostic Messages 533* 534* 1: a(14), a(56), a(63) 2: 3: 535* 4: 5: 6: 536* 7: a(66) 8: classify_node 9: classify_node 537* 10: classify_node 11: 12: classify_node 538* 13: check_line_clause 14: 15: classify_node 539* 16: classify_node 17: 18: test_for_fields 540* process_present_node 541* 19: check_line_clause 20: check_line_clause 21: 542* 22: 23: 24: check_page 543* 25: 26: form_subseq_fields 27: form_subseq_fields 544* 28: 29: 30: 545* 31: 32: check_page 33: check_page,... 546* 34: check_page 35: check_page 36: 547* 37: 38: 39: 548* 40: 41: process_cf_sum_clause 42: process_cf_sum_clause 549* 43: 44: a(66) 45: 550* 46: process_cf_reset_clause 47: process_control_group 48: 551* 49: 50: process_cf_reset_clause 51: 552* 52: 53: 54: 553* 55: 56: 57: 554* 58: 59: 60: 555* 61: find_use 62: 63: 556* 64: 65: 66: 557* 67: 68: 69: 558* 70: 71: 72: 559* 73: 74: 75: 560* 76: check_field_clause 77: check_field_clause 78: 561* 79: 80: 81: process_control_group 562* 82: process_control_group 83: 84: 563* 85: 86: 87: 564* 88: 89: 90: 565* 91: 92: 93: 566* 94: 95: 96: 567* 97: 98: 99: 568* 100: 101: 102: 569* 103: 104: 105: 570* 106: 571**/ 572 573 declare (i, rl) fixed bin; 574 declare (trace_ptr, dg_ptr, syntax_line_ptr, class_tab_ptr) 575 ptr; 576 declare cl_off fixed bin, 577 class_def_ptr ptr; 578 declare (cssub, line_position) 579 fixed bin; 580 581 582 583 declare (subj_req, line_clause_found) 584 bit (1); 585 declare prev_token_ptr ptr; 586 declare (rd_clnum, rg_cl_num, pg_clnum) 587 fixed bin; 588 declare (lv_line, lv_col) fixed bin; 589 declare (node_ptr, up_entry) 590 ptr; 591 declare (prev_node_ptr, NODE_line_ptr) 592 ptr; 593 declare gch char (32) varying; 594 595 596 declare def_entry_ptr ptr; 597 declare (int_val, def_entry_size) 598 fixed bin; 599 declare (par_1, par_2) fixed bin; 600 declare (ptr_1, ptr_2) ptr; 601 declare (group_type, sum_count, id_count) 602 fixed bin; 603 declare (s_ptr, q_ptr) ptr; 604 declare (sum_first_ptr, sum_last_ptr, sum_reset_ptr) 605 ptr; 606 declare control_ptr ptr; 607 declare (rg_line, rg_column, pg_line, pg_column) 608 fixed bin; 609 declare (rd_line, rd_column) 610 fixed bin; 611 declare cd_lit char (2); 612 declare ae_addr ptr; 613 declare (not_found, found, res) 614 bit (1); 615 declare (ht_ptr, df_ptr, p, q, DF_ptr, HT_ptr, up_ptr) 616 ptr; 617 declare (control_count, group_number, line_number, field_number) 618 fixed bin; 619 620 declare 1 group_bits, 621 2 RH bit (1), /* RH group */ 622 2 PH bit (1), /* PH group */ 623 2 CH bit (1), /* CH group */ 624 2 DE bit (1), /* DE group */ 625 2 CF bit (1), /* CF group */ 626 2 PF bit (1), /* PF group */ 627 2 RF bit (1), /* RF group */ 628 2 BG bit (1); /* body group */ 629 630 declare rg_cl bit (18); 631 declare rg_cl_bits (18) bit (1) unal defined rg_cl; 632 633 declare rd_cl bit (4); 634 declare rd_cl_bits (4) bit (1) unal defined rd_cl; 635 636 declare pg_cl bit (5); 637 declare pg_cl_bits (5) bit (1) defined pg_cl; 638 639 declare rt_cl bit (4); 640 declare rt_cl_bits (4) bit (1) defined rt_cl; 641 642 /* ACTION ROUTINES */ 643 644 action (5): 645 c0s1: 646 cssub = 0; 647 subj_req = "1"b; 648 go to ret; 649 650 action (6): 651 s0: 652 subj_req = "0"b; 653 go to ret; 654 655 action (7): 656 cdecrs1: 657 cssub = cssub - 1; 658 subj_req = "1"b; 659 go to ret; 660 661 action (8): 662 cincrs1: 663 cssub = cssub + 1; 664 subj_req = "1"b; 665 go to ret; 666 667 action (9): 668 cincr: 669 cssub = cssub - 1; 670 go to ret; 671 672 action (10): 673 rep_init: /* initialize report list */ 674 report_list.count = 0; 675 report_list.first, report_list.last = null (); 676 prev_node_ptr, sum_chain_ptr = null (); 677 group_number = 0; 678 go to ret; 679 680 action (11): 681 rep_add: /* add report to list */ 682 report_list.count = report_list.count + 1; /*[5.1-2]*/ 683 if fatal_no ^= fixed_common.fatal_no 684 then report.page.count = 0; /* fatals occurred */ 685 call form_de_table; 686 687 call set_cf_sum_chain; 688 689 if last_root_ptr ^= null () 690 then call form_group_tables; 691 692 if report_list.first = null () 693 then report_list.first, report_list.last = current_report_loc; 694 else report_list.last -> report.rep_next, report_list.last = current_report_loc; 695 696 current_report_loc = null (); 697 go to ret; 698 699 action (12): 700 rg_init: /* initialize for a report group entry */ 701 NODE.nd_tok_line = header.line; 702 NODE.nd_tok_column = header.column; 703 704 rg_cl = "0"b; /* set to non term node */ 705 706 NODE.nd_name_ptr = null (); 707 708 NODE.nd_level, NODE.next_group.type = 0; 709 NODE.line.value = 0; 710 NODE.line.type, NODE.column.type = 0; 711 712 addr (NODE.usage_disp) -> bit12 = "0"b; 713 714 NODE.nd_loc, NODE.picture = null (); /*[5.1-2]*/ 715 NODE.control_name_ptr, NODE.rep_sum_ptr, NODE.rep_group_ptr = null (); 716 /*[5.1-2]*/ 717 NODE.column.type, NODE.node_type = 0; 718 719 720 par_1, group_type = 0; 721 ptr_1, ptr_2 = null (); 722 723 go to ret; 724 725 action (13): 726 rg_clnum: /* rg clauses */ 727 rg_cl_num = cl_off; /* clause number */ 728 rg_line = header.line; 729 rg_column = header.column; 730 go to ret; 731 732 733 action (14): 734 rg_clause: /* process report group clause */ 735 if rg_cl_bits (rg_cl_num) 736 then do; 737 call DIAG (1, rg_line, rg_column); /* clause previously defined */ 738 739 go to ret; 740 end; 741 742 rg_cl_bits (rg_cl_num) = "1"b; /* dispatch on clause type */ 743 744 go to RG (rg_cl_num); 745 746 RG (0): /* illegal */ 747 go to RG0; 748 749 RG (1): /* . */ 750 go to RG0; 751 752 RG (2): /* LINE clause */ 753 NODE.line.type = par_1; 754 NODE.line.value = par_2; 755 go to RG0; 756 757 RG (3): /* NEXT GROUP clause */ 758 NODE.next_group.type = par_1; 759 NODE.next_group.value = par_2; 760 go to RG0; 761 762 RG (4): /*TYPE clause */ 763 group_type = par_1; 764 go to RG0; 765 766 RG (5): /* USAGE clause */ 767 NODE.usage_disp = "1"b; 768 go to RG0; 769 770 RG (6): /* PRESENT clause */ 771 go to RG0; 772 773 RG (7): /* BLANK WHEN ZERO clause */ 774 NODE.blank_zero = "1"b; 775 go to RG0; 776 777 RG (8): /* GROUP INDICATE clause */ 778 NODE.group_ind = "1"b; 779 go to RG0; 780 781 RG (9): /* JUSTIFIED clause */ 782 NODE.just_right = "1"b; 783 go to RG0; 784 785 RG (10): /* COLUMN clause */ 786 NODE.column.type = par_1; 787 NODE.column.value = par_2; 788 go to RG0; 789 790 RG (11): /* PICTURE clause */ 791 NODE.picture = addr_record; 792 go to RG0; 793 794 RG (12): /* SOURCE clause */ 795 NODE.data_type = 1; /* type */ 796 NODE.nd_loc = ident_ptr; 797 go to RG0; 798 799 RG (13): /* VALUE clause */ 800 NODE.data_type = 2; /* type */ 801 NODE.nd_loc = list_def_ptr; 802 go to RG0; 803 804 RG (14): /* SUM clause */ 805 NODE.data_type = 3; /* type */ 806 807 /* allocate space for a sum counter */ 808 809 call get_space (size (sum_counter), sum_counter_ptr); 810 811 812 sum_counter.sct_reset_loc = reset_clause_ptr; /* reset clause loc */ 813 sum_counter.sct_size = sum_counter_size; /* sum clause count */ 814 815 do i = sum_counter_size by -1 to 1; 816 817 sum_counter.sct_loc (i) = sum_counter_lifo_ptr -> list_link.loc; 818 sum_counter_lifo_ptr = sum_counter_lifo_ptr -> list_link.next; 819 820 end; 821 822 NODE.nd_loc = sum_counter_ptr; 823 824 go to RG0; 825 826 RG (15): /* sign clause */ 827 go to RG0; 828 829 RG0: 830 go to ret; 831 832 action (15): 833 rg_line_1: 834 par_2 = int_val; 835 if int_val > 999 836 then call DIAG (24, cl_token.line, cl_token.column); 837 go to ret; 838 839 action (16): 840 rg_line_2: 841 par_1 = 1; /* integer */ 842 go to ret; 843 844 action (17): 845 rg_line_3: 846 par_1 = 2; /* PLUS integer */ 847 go to rg_line_1; 848 849 action (18): 850 rg_line_4: 851 par_1 = 3; /* PAGE integer */ 852 go to ret; 853 854 action (19): 855 rg_group_1: 856 par_1 = 3; /* PLUS integer */ 857 go to ret; 858 859 action (20): 860 rg_group_2: 861 par_1 = 1; /* NEXT PAGE */ 862 go to ret; 863 864 action (21): 865 rg_group_3: 866 par_1 = 2; /* integer */ 867 go to ret; 868 869 action (22): 870 rg_group_4: 871 par_2 = int_val; 872 if int_val > 999 873 then call DIAG (24, cl_token.line, cl_token.column); 874 go to ret; 875 876 action (23): 877 rg_type_1: 878 par_1 = cl_off; /* rh,ph,ch,de,cf,pf,rf */ 879 go to ret; 880 881 action (24): 882 rg_type_2: 883 par_1 = 1; /* REPORT HEADING */ 884 go to ret; 885 886 action (25): 887 rg_type_3: 888 par_1 = 7; /* REPORT FOOTING */ 889 go to ret; 890 891 action (26): 892 rg_type_4: 893 par_1 = 3; /* CONTROL HEADING */ 894 go to ret; 895 896 action (27): 897 rg_type_5: 898 par_1 = 5; /* CONTROL FOOTING */ 899 go to ret; 900 901 action (28): 902 rg_type_6: 903 NODE.control_name_ptr = null (); /* CONTROL FINAL */ 904 go to ret; 905 906 action (29): 907 rg_type_7: 908 par_1 = 2; /* PAGE HEADING */ 909 go to ret; 910 911 action (30): 912 rg_type_8: 913 par_1 = 6; /* PAGE FOOTING */ 914 go to ret; 915 916 action (31): 917 rg_pres_1: 918 par_1 = token_count; 919 ptr_1 = addr_record; 920 go to ret; 921 922 action (32): 923 rg_pres_2: 924 ptr_2 = prev_token_ptr; 925 go to ret; 926 927 action (33): 928 rg_col_1: 929 par_1 = 2; /* PLUS integer */ 930 go to ret; 931 932 action (34): 933 rg_col_2: 934 par_1 = 1; /* integer */ 935 go to ret; 936 937 action (35): 938 rg_col_3: 939 par_2 = int_val; 940 if int_val > 999 941 then call DIAG (24, cl_token.line, cl_token.column); 942 go to ret; 943 944 action (36): 945 q_name_1: /* count comps in qual name */ 946 qual_name_size = 0; 947 948 go to ret; 949 950 action (37): 951 q_name_2: /* allocate space for qual name */ 952 call get_space (size (qual_name), qual_name_ptr); 953 954 qual_name.qn_size = qual_name_size; 955 956 do i = 1 by 1 to qual_name_size; /* fill table */ 957 958 qual_name.qn_loc (i) = QUAL_NAME.QN_loc (i); 959 960 end; 961 962 go to ret; 963 964 action (38): 965 id_1: 966 call get_space (ident_SIZE, ident_ptr); 967 968 ident.id_name_loc = null (); 969 ident.count = 0; 970 971 go to ret; 972 973 action (39): 974 id_2: 975 ident.count = token_count - ident.count + 1; /* compute token count */ 976 ident.last = addr_record; 977 978 go to ret; 979 980 action (40): 981 sum_1: 982 sum_counter_size = 0; 983 sum_ctr_ctr = sum_ctr_ctr + 1; 984 985 if NODE.nd_name_ptr = null () 986 then call form_sum_name; 987 988 reset_clause_ptr, sum_counter_lifo_ptr = null (); 989 990 go to ret; 991 992 action (41): 993 sum_2: 994 sum_counter_size = sum_counter_size + 1; /* sum clause count */ 995 996 call get_space (list_link_SIZE, list_link_ptr); 997 998 list_link.loc = sum_clause_ptr; 999 list_link.next = sum_counter_lifo_ptr; 1000 1001 sum_counter_lifo_ptr = list_link_ptr; 1002 1003 go to ret; 1004 1005 action (42): 1006 sum_3: 1007 reset_clause.rc_loc = qual_name_ptr; 1008 1009 1010 go to ret; 1011 1012 action (43): 1013 sum_4: 1014 reset_clause.rc_final = "1"b; 1015 1016 go to ret; 1017 1018 action (44): 1019 id_4: /* initialize for subscript parse */ 1020 ident.count = token_count; 1021 ident.first = addr_record; 1022 1023 1024 go to ret; 1025 1026 action (45): 1027 sum_ph_1: 1028 sum_clause_size = 0; 1029 sum_clause_lifo_ptr, upon_clause_ptr = null (); 1030 1031 1032 go to ret; 1033 1034 action (46): 1035 sum_ph_2: 1036 call get_space (size (sum_clause), sum_clause_ptr); 1037 1038 sum_clause.sc_upon_loc = upon_clause_ptr; /* upon_clause */ 1039 sum_clause.sc_size = sum_clause_size; /* ident count */ 1040 1041 do i = sum_clause_size by -1 to 1; 1042 1043 sum_clause.sc_loc (i) = sum_clause_lifo_ptr -> list_link.loc; 1044 sum_clause_lifo_ptr = sum_clause_lifo_ptr -> list_link.next; 1045 1046 end; 1047 1048 1049 go to ret; 1050 1051 action (47): 1052 sum_ph_3: 1053 sum_clause_size = sum_clause_size + 1; 1054 1055 call get_space (list_link_SIZE, list_link_ptr); 1056 1057 list_link.loc = ident_ptr; 1058 list_link.next = sum_clause_lifo_ptr; 1059 1060 sum_clause_lifo_ptr = list_link_ptr; 1061 1062 1063 go to ret; 1064 1065 action (48): 1066 sum_ph_4: 1067 upon_clause_ptr = qual_name_seq_ptr; 1068 1069 1070 go to ret; 1071 1072 action (49): 1073 sign_1: /* TRAILING SEPARATE */ 1074 term_node.sign = 4; 1075 go to ret; 1076 1077 action (50): 1078 sign_2: /* TRAILING */ 1079 term_node.sign = 2; 1080 go to ret; 1081 1082 action (51): 1083 sign_3: /* LEADING SEPARATE */ 1084 term_node.sign = 3; 1085 go to ret; 1086 1087 action (52): 1088 sign_4: /* LEADING */ 1089 term_node.sign = 1; 1090 go to ret; 1091 declare rep_num fixed bin; 1092 action (53): 1093 rd_init: /* RD clause initialization */ 1094 if current_report_loc = null () 1095 then call get_space (report_SIZE, current_report_loc); 1096 /*[5.1-2]*/ 1097 fatal_no = fixed_common.fatal_no; 1098 report.rep_next, report.rep_name_ptr = null (); 1099 report.de, report.ch, report.cf = null (); 1100 report.rh, report.rf, report.ph, report.pf, report.rep_sum_ptr = null (); 1101 report.code = " "; 1102 report.rep_tok_line = header.line; 1103 report.rep_tok_column = header.column; 1104 rep_num = rep_num + 1; 1105 report.rep_num = rep_num; 1106 report.rep_up = null (); 1107 report.rep_type, report.rep_level, report.g_i_count = 0; 1108 report.page.type, report.heading.type, report.footing.type = 0; 1109 report.first_detail.type, report.last_detail.type = 0; 1110 report.heading.count, report.footing.count = 0; 1111 report.page.count = 999; 1112 report.first_detail.count, report.last_detail.count = 0; 1113 report.file_name, report.controls.loc = null (); 1114 string (report.indicators) = "0"b; 1115 de_table_size = 0; 1116 ST.entry.node_ptr (0) = current_report_loc; 1117 rd_cl = "0"b; 1118 go to ret; 1119 1120 action (54): 1121 rd_name: /* report name */ 1122 report.rep_name_ptr = addr_record; 1123 1124 go to ret; 1125 1126 action (55): 1127 rd_cl_num: /* RD clause number */ 1128 rd_clnum = cl_off; 1129 rd_line = header.line; 1130 rd_column = header.column; 1131 1132 go to ret; 1133 1134 action (56): 1135 rd_clause: /* process RD clause */ 1136 if rd_cl_bits (rd_clnum) 1137 then do; 1138 call DIAG (1, rg_line, rg_column); /* clause previously defined */ 1139 go to ret; 1140 end; 1141 1142 rd_cl_bits (rd_clnum) = "1"b; 1143 1144 go to RD (rd_clnum); 1145 1146 RD (0): /* illegal */ 1147 go to RD0; 1148 1149 RD (1): /* . */ 1150 go to RD0; 1151 1152 RD (2): /* CODE clause */ 1153 report.code = cd_lit; 1154 go to RD0; 1155 1156 RD (3): /* CONTROL clause */ 1157 report.controls.loc = qual_name_seq_ptr; 1158 1159 go to RD0; 1160 1161 RD (4): /* PAGE clause */ 1162 call check_page; 1163 go to RD0; 1164 1165 RD0: 1166 go to ret; 1167 1168 action (57): 1169 code: /* code literal */ 1170 cd_lit = alphanum_lit.string; 1171 1172 go to ret; 1173 1174 action (58): 1175 con_2: /* FINAL present */ 1176 report.controls.final = "1"b; 1177 1178 /*[4.4-1]*/ 1179 call form_control_table (qual_name_seq.qns_size); /* form ch_table and cf_table */ 1180 1181 go to ret; 1182 1183 action (59): 1184 con_init: /*[4.4-1]*/ 1185 qual_name_seq_ptr = null (); 1186 go to ret; 1187 1188 action (60): 1189 con_name: 1190 qual_name_seq_size = 0; /* count qual names in a sequence */ 1191 qual_name_seq_lifo_ptr = null (); 1192 1193 go to ret; 1194 1195 action (61): 1196 pg_init: 1197 pg_cl = "0"b; 1198 report.page.type = 1; 1199 go to ret; 1200 1201 action (62): 1202 pg_cl_num: 1203 pg_clnum = cl_off; 1204 pg_line = header.line; 1205 pg_column = header.column; 1206 go to ret; 1207 1208 action (63): 1209 pg_clause: 1210 if pg_cl_bits (pg_clnum) 1211 then do; 1212 call DIAG (1, pg_line, pg_column); 1213 go to ret; 1214 end; 1215 1216 pg_cl_bits (pg_clnum) = "1"b; 1217 1218 go to PG (pg_clnum); 1219 1220 PG (0): /* illegal */ 1221 go to PG0; 1222 1223 1224 1225 1226 1227 PG (1): /* HEADING */ 1228 report.heading.count = int_val; 1229 report.heading.type = 1; 1230 go to PG0; 1231 1232 PG (2): /* FIRST DETAIL */ 1233 report.first_detail.count = int_val; 1234 report.first_detail.type = 1; 1235 go to PG0; 1236 1237 PG (3): /* LAST DETAIL */ 1238 report.last_detail.count = int_val; 1239 report.last_detail.type = 1; 1240 go to PG0; 1241 1242 PG (4): /* FOOTING */ 1243 report.footing.count = int_val; 1244 report.footing.type = 1; 1245 go to PG0; 1246 1247 PG0: 1248 go to ret; 1249 1250 declare 1 ae like integer_spec; 1251 1252 action (64): 1253 ae_init: 1254 ae.count = token_count; 1255 ae.first = addr_record; 1256 go to ret; 1257 1258 action (65): 1259 ae_final: 1260 ae.count = token_count - ae.count; 1261 ae.last = prev_token_ptr; 1262 1263 if token_count = 1 & ae.first -> header.type = 2 1264 then ae.type = 1; 1265 else ae.type = 2; 1266 1267 go to ret; 1268 1269 /* process the report node after the */ 1270 /* clauses have been parsed */ 1271 1272 1273 check_page: 1274 proc; /* establish defaults */ 1275 1276 if report.heading.count = 0 1277 then report.heading.count = 1; 1278 1279 if report.first_detail.count = 0 1280 then report.first_detail.count = report.heading.count; 1281 1282 if report.last_detail.count = 0 & report.footing.count = 0 1283 then report.last_detail.count, report.footing.count = report.page.count; 1284 1285 if report.footing.count ^= 0 & report.last_detail.count = 0 1286 then report.last_detail.count = report.footing.count; 1287 1288 if report.last_detail.count ^= 0 & report.footing.count = 0 1289 then report.footing.count = report.last_detail.count; 1290 1291 if report.heading.count > 999 1292 then call DIAG (24, pg_line, pg_column); 1293 if report.heading.count < 1 1294 then call DIAG (32, pg_line, pg_column); 1295 if report.first_detail.count < report.heading.count 1296 then call DIAG (33, pg_line, pg_column); 1297 if report.last_detail.count < report.first_detail.count 1298 then call DIAG (34, pg_line, pg_column); 1299 if report.footing.count < report.last_detail.count 1300 then call DIAG (35, pg_line, pg_column); 1301 if report.page.count < report.footing.count 1302 then call DIAG (36, pg_line, pg_column); 1303 1304 end; 1305 1306 1307 action (66): 1308 rep_group: /* dispatch on the node type: */ 1309 /* (1)root, (2)non-term, (3)term */ 1310 go to RNT (NODE.node_type); /*[5.1-2]*/ 1311 RNT (0): 1312 go to RNT0; 1313 RNT (1): /* root node */ 1314 root.group_type = group_type; 1315 1316 call set_cf_sum_chain; 1317 1318 go to REP (group_type); /*[5.1-2]*/ 1319 REP (0): 1320 go to REP0; 1321 REP (1): /* RH */ 1322 if report.rh ^= null () 1323 then call DIAG (7, rg_line, rg_column); 1324 report.rh = node_ptr; 1325 1326 go to REP0; 1327 1328 REP (2): /* PH */ 1329 if report.ph ^= null () 1330 then call DIAG (7, rg_line, rg_column); 1331 report.ph = node_ptr; 1332 1333 go to REP0; 1334 1335 REP (6): /* PF */ 1336 if report.pf ^= null 1337 then call DIAG (7, rg_line, rg_column); 1338 report.pf = node_ptr; 1339 1340 go to REP0; 1341 1342 REP (7): /* RF */ 1343 if report.rf ^= null () 1344 then call DIAG (7, rg_line, rg_column); 1345 report.rf = node_ptr; 1346 1347 go to REP0; 1348 1349 REP (3): /* ch chain */ 1350 call process_control_group (report.ch); 1351 1352 1353 go to REP0; 1354 1355 REP (5): /* cf chain */ 1356 call process_control_group (report.cf); 1357 1358 last_control_num = seq_pos; 1359 1360 sum_counter_count = 0; 1361 1362 sum_chain_ptr = null (); 1363 1364 1365 go to REP0; 1366 1367 REP (4): /* de chain */ 1368 de_table_size = de_table_size + 1; 1369 1370 call enter_group_chain (report.de, node_ptr, node_ptr); 1371 1372 go to REP0; 1373 1374 REP0: 1375 if last_root_ptr ^= null () 1376 then call form_group_tables; 1377 1378 last_root_ptr = rt_ptr; 1379 root.nodes.count = 1; 1380 rt_ptr = null (); 1381 1382 1383 go to RNT0; 1384 1385 RNT (2): /* non term node */ 1386 call link_node; 1387 ntn_ptr = null (); 1388 1389 1390 go to RNT0; 1391 1392 RNT (3): /* term node */ 1393 if term_node.data_type = 3 /* sum counter */ 1394 then if last_root_ptr -> root.group_type ^= 5 /* not CF group */ 1395 then call DIAG (44, term_node.tn_tok_line, term_node.tn_tok_column); 1396 1397 else do; /* add new entry to sum counter chain for the CF group */ 1398 1399 call enter_group_chain (sum_chain_ptr, sum_counter_ptr, node_ptr); 1400 1401 1402 sum_counter_count = sum_counter_count + 1; 1403 end; 1404 1405 1406 call link_node; 1407 tn_ptr = null (); 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 go to RNT0; 1419 1420 RNT0: 1421 go to ret; 1422 1423 1424 1425 link_node: 1426 proc; 1427 1428 last_root_ptr -> root.nodes.count = last_root_ptr -> root.nodes.count + 1; 1429 1430 if last_root_ptr -> root.nodes.first = null () 1431 then last_root_ptr -> root.nodes.first, last_root_ptr -> root.nodes.last = node_ptr; 1432 else last_root_ptr -> root.nodes.last -> term_node.tn_next, last_root_ptr -> root.nodes.last = node_ptr; 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 end; 1444 1445 1446 1447 action (67): 1448 id_3: /* name of identifier */ 1449 ident.id_name_loc = qual_name_ptr; 1450 1451 go to ret; 1452 1453 action (68): 1454 q_name_3: 1455 qual_name_size = qual_name_size + 1; /* save comp in qual name */ 1456 1457 QUAL_NAME (qual_name_size) = addr_record; 1458 1459 go to ret; 1460 1461 /* initialize for processing a report */ 1462 1463 1464 action (69): 1465 rep_group_1: 1466 ST.st_depth, sum_counter_count = 0; 1467 last_control_num = 10000; 1468 last_root_ptr = null (); 1469 go to ret; 1470 1471 1472 1473 action (70): 1474 rg_entry_1: 1475 NODE.nd_name_ptr = addr_record; 1476 go to ret; 1477 1478 1479 find_st_depth: 1480 proc; 1481 1482 declare (i, lev) fixed bin; 1483 1484 1485 do i = ST.st_depth by -1 to 1; 1486 1487 lev = ST.entry.level (ST.st_depth); 1488 1489 if NODE.nd_level > lev 1490 then do; 1491 ST.st_depth = i + 1; 1492 return; 1493 end; 1494 else if NODE.nd_level = lev 1495 then do; 1496 ST.st_depth = i; 1497 return; 1498 end; 1499 end; 1500 1501 ST.st_depth = 1; 1502 end; 1503 1504 1505 1506 1507 /* process the report node after all of */ 1508 /* the clauses have been parsed */ 1509 1510 action (71): 1511 rg_entry_2: /* exit from rg_entry */ 1512 if ST.st_depth = 0 1513 then ST.st_depth = 1; 1514 else call find_st_depth; 1515 1516 1517 /* establish the type of the report node */ 1518 /* (1)root, (2)non-term, (3)term. allocate */ 1519 /* space for the node, set node_ptr to point */ 1520 /* to the node */ 1521 1522 1523 call classify_node; 1524 1525 go to NDT (NODE.node_type); /*[5.1-2]*/ 1526 NDT (0): 1527 go to NDT0; 1528 NDT (1): /* root node */ 1529 call def_node (root_SIZE, rt_ptr); 1530 1531 1532 root.rt_type = 3; 1533 root.next_group.type = NODE.next_group.type; 1534 root.line.type = NODE.line.type; 1535 root.next_group.value = NODE.next_group.value; 1536 root.line.value = NODE.line.value; 1537 root.usage_disp = NODE.usage_disp; 1538 1539 root.nodes.count = 0; 1540 root.nodes.first = null (); 1541 1542 1543 group_number = group_number + 1; 1544 root.group_number = group_number; 1545 1546 root.field_table_ptr, root.line_table_ptr = null (); 1547 root.use_proc.use_proc_name_ptr, prev_node_ptr = null (); 1548 root.group_desc.type = 0; 1549 1550 1551 1552 go to NDT0; 1553 1554 NDT (2): /* non terminal node */ 1555 call def_node (non_term_node_SIZE, ntn_ptr); 1556 1557 1558 non_term_node.ntn_type = 1; 1559 addr (non_term_node.line) -> non_term_node_line_bits = non_term_node_line_bits; 1560 1561 1562 1563 go to NDT0; 1564 1565 NDT (3): /* term node */ 1566 call def_node (term_node_SIZE, tn_ptr); 1567 1568 1569 term_node.tn_type = 2; 1570 addr (term_node.line) -> term_node_line_bits = term_node_line_bits; 1571 1572 term_node.data_type = NODE.data_type; 1573 1574 1575 if NODE.data_type = 3 1576 then do; 1577 if report.rep_sum_ptr = null () 1578 then term_node.rep_sum_ptr = null (); 1579 else term_node.rep_sum_ptr = report.rep_sum_ptr; 1580 1581 1582 report.rep_sum_ptr = tn_ptr; 1583 end; 1584 term_node.nd_loc = NODE.nd_loc; 1585 1586 if term_node.group_ind 1587 then do; 1588 report.g_i_count = report.g_i_count + 1; 1589 term_node.g_i_count = report.g_i_count; 1590 end; 1591 else term_node.g_i_count = 0; 1592 1593 term_node.rep_group_ptr = last_root_ptr; 1594 1595 1596 1597 1598 go to NDT0; 1599 1600 NDT0: /* complete the entry */ 1601 if prev_node_ptr ^= null () 1602 then prev_node_ptr -> term_node.tn_next = node_ptr; 1603 1604 node_ptr -> term_node.tn_next = null (); 1605 node_ptr -> term_node.tn_tok_line = NODE.nd_tok_line; 1606 node_ptr -> term_node.tn_tok_column = NODE.nd_tok_column; 1607 node_ptr -> term_node.tn_name_ptr = NODE.nd_name_ptr; 1608 node_ptr -> term_node.tn_level = ST.st_depth; 1609 1610 1611 1612 if ST.st_depth > 0 1613 then node_ptr -> term_node.tn_up = ST.node_ptr (ST.st_depth - 1); 1614 else node_ptr -> term_node.tn_up = null (); 1615 1616 1617 1618 /* maintain up chain, needed to get */ 1619 /* completely qualified sum counter */ 1620 /* names */ 1621 prev_node_ptr = node_ptr; 1622 1623 /* maintain node chain */ 1624 1625 ST.entry.level (ST.st_depth) = NODE.nd_level; 1626 1627 1628 ST.entry.node_ptr (ST.st_depth) = node_ptr; 1629 1630 go to ret; 1631 1632 1633 1634 action (72): 1635 con_name_1: /* add qual name to lifo chain */ 1636 qual_name_seq_size = qual_name_seq_size + 1; /* count of entries in chain */ 1637 call get_space (list_link_SIZE, list_link_ptr); 1638 1639 list_link.loc = qual_name_ptr; /* qual name chain link */ 1640 list_link.next = qual_name_seq_lifo_ptr; 1641 1642 qual_name_seq_lifo_ptr = list_link_ptr; /* head of lifo chain */ 1643 1644 go to ret; 1645 1646 declare qual_name_seq_lifo_ptr 1647 ptr; 1648 1649 action (73): 1650 con_name_2: /* form table describing a sequence */ 1651 /* of qual names */ 1652 call get_space (size (qual_name_seq), qual_name_seq_ptr); 1653 1654 qual_name_seq.qns_size = qual_name_seq_size; /* size of the chain */ 1655 1656 do i = qual_name_seq_size by -1 to 1; 1657 1658 qual_name_seq.qns_loc (i) = qual_name_seq_lifo_ptr -> list_link.loc; 1659 1660 qual_name_seq_lifo_ptr = qual_name_seq_lifo_ptr -> list_link.next; 1661 1662 end; 1663 1664 go to ret; 1665 1666 1667 1668 1669 action (74): 1670 con_1: /* form control tables */ 1671 report.controls.final = "0"b; 1672 1673 /*[4.4-1]*/ 1674 call form_control_table (qual_name_seq.qns_size); /* form ch_table and cf_table */ 1675 1676 go to ret; 1677 1678 1679 1680 1681 1682 1683 1684 1685 action (75): 1686 rg_type_9: /* type clause, control name */ 1687 NODE.control_name_ptr = qual_name_ptr; 1688 1689 go to ret; 1690 1691 1692 action (76): 1693 sum_5: /* alloc space for reset clause descr */ 1694 call get_space (reset_clause_SIZE, reset_clause_ptr); 1695 1696 reset_clause.rc_loc = null (); 1697 reset_clause.rc_final = "0"b; 1698 1699 go to ret; 1700 1701 action (77): 1702 rs_exit: /* exit from report section */ 1703 call process_sum_counters; 1704 call process_report_clauses; 1705 1706 if report_list.first ^= null () 1707 then call cobol_generate_report (report_list.first, trace.phase.first (5), tbit); 1708 1709 call cobol_io_$cobol_msf_start (rwfp, report_first_token); 1710 call scan; /* report section */ 1711 1712 return; 1713 action (78): 1714 go to ret; 1715 1716 1717 1718 1719 action (79): /* DETAIL */ 1720 rg_type_a: 1721 par_1 = 4; 1722 go to ret; 1723 1724 1725 action (80): 1726 pg_set: 1727 report.page.count = int_val; 1728 go to ret; 1729 1730 action (81): 1731 lit_1: 1732 call get_space (list_def_SIZE, list_def_ptr); 1733 1734 list_def.count = 1; 1735 list_def.first = addr_record; 1736 1737 go to ret; 1738 1739 action (82): 1740 lit_2: 1741 list_def.count = 2; 1742 list_def.last = addr_record; 1743 1744 go to ret; 1745 1746 action (83): 1747 con_3: /*[4.4-1]*/ 1748 report.controls.final = "1"b; /*[4.4-1]*/ 1749 call form_control_table (0); 1750 go to ret; 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 /* CHECK ROUTINES */ 1780 1781 1782 1783 1784 check (1): 1785 eof: 1786 if header.type = 9999 1787 then go to success; 1788 go to fail; 1789 1790 1791 1792 1793 check (2): 1794 lev_num: 1795 if header.type ^= 2 1796 then go to fail; 1797 1798 if numeric_lit.sign ^= " " | ^numeric_lit.integral 1799 then go to fail; 1800 1801 NODE.nd_level = fixed (numeric_lit.literal); 1802 1803 if NODE.nd_level = 0 | NODE.nd_level > 49 1804 then go to fail; 1805 1806 lv_line = header.line; 1807 lv_col = header.column; 1808 res = "0"b; 1809 go to success; 1810 1811 1812 1813 1814 check (3): 1815 type2: 1816 if header.type = 2 1817 then go to success; 1818 go to fail; 1819 1820 1821 1822 1823 check (4): 1824 type8: 1825 if header.type = 8 1826 then go to success; 1827 go to fail; 1828 1829 1830 1831 1832 check (5): 1833 code_lit: 1834 if header.type ^= 3 1835 then go to fail; 1836 1837 if alphanum_lit.lit_size > 2 1838 then go to fail; 1839 go to success; 1840 1841 1842 1843 1844 check (6): 1845 pic: 1846 if header.type = 4 1847 then go to success; 1848 go to fail; 1849 1850 1851 1852 1853 check (7): 1854 integer: 1855 if header.type = 1 & reserved_word.key = 180 /* zero */ 1856 then do; 1857 int_val = 0; 1858 go to success; 1859 end; 1860 if header.type ^= 2 1861 then go to fail; 1862 1863 if numeric_lit.sign ^= " " | ^numeric_lit.integral 1864 then go to fail; 1865 1866 int_val = fixed (numeric_lit.literal); 1867 go to success; 1868 1869 1870 check (8): 1871 literal: 1872 if header.type = 2 | header.type = 3 1873 then go to success; 1874 go to fail; 1875 1876 1877 1878 check (9): 1879 type1: 1880 if header.type = 1 1881 then go to success; 1882 go to fail; 1883 1884 1885 1886 1887 check (10): 1888 is_sub_opt: 1889 if subj_req 1890 then go to fail; 1891 go to success; 1892 1893 1894 1895 1896 check (11): 1897 lptopstk: 1898 if cssub >= 0 1899 then go to success; 1900 go to fail; 1901 1902 1903 1904 1905 check (12): 1906 relop: 1907 if header.type ^= 1 1908 then go to fail; 1909 1910 if reserved_word.rel_op 1911 then go to success; 1912 go to fail; 1913 1914 1915 1916 1917 check (13): 1918 type3: 1919 if header.type = 3 1920 then go to success; 1921 go to fail; 1922 1923 1924 1925 1926 check (14): 1927 figconall: 1928 if header.type ^= 1 1929 then go to fail; 1930 1931 if reserved_word.figcon 1932 then go to success; 1933 go to fail; 1934 1935 1936 1937 1938 check (15): 1939 arop: 1940 if header.type ^= 1 1941 then go to fail; 1942 1943 if reserved_word.arith_op 1944 then go to success; 1945 go to fail; 1946 1947 check (16): 1948 nonumlit: 1949 if header.type = 3 1950 then go to success; 1951 go to fail; 1952 1953 check (17): 1954 illeg_ln: 1955 if res 1956 then go to success; 1957 else go to fail; 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 declare AA (1024) fixed bin based (alloc_area.aa_loc); 1988 1989 declare 01 alloc_area, 1990 02 aa_loc ptr, /* aa_location of area */ 1991 02 aa_size fixed bin, /* aa_size of allocated data */ 1992 02 aa_cap fixed bin; /* size of area */ 1993 1994 1995 1996 1997 1998 1999 2000 2001 /* allocate space */ 2002 2003 get_space: 2004 proc (size, loc); 2005 2006 declare sz fixed bin; 2007 declare size fixed bin, 2008 loc ptr; 2009 2010 sz = size + mod (-size, 2); 2011 loc = addr (AA (alloc_area.aa_size)); 2012 alloc_area.aa_size = alloc_area.aa_size + sz; 2013 2014 if alloc_area.aa_size > alloc_area.aa_cap 2015 then do; 2016 2017 alloc_area.aa_loc, loc = cobol$alloc (1024); 2018 alloc_area.aa_size = sz + 1; 2019 end; 2020 2021 end; 2022 2023 2024 2025 2026 2027 2028 2029 2030 /* see if a qual name (defined by FIND_name_ptr) */ 2031 /* appears in a qual name sequence (defined */ 2032 /* by FIND_seq_ptr): */ 2033 /* seq_pos: >0 found once */ 2034 /* =0 not found */ 2035 /* <0 found more than once */ 2036 2037 2038 2039 2040 2041 2042 declare (FIND_ptr, FIND_name_ptr, FIND_seq_ptr) 2043 ptr; 2044 declare (seq_pos, FIND_ctr) fixed bin; 2045 2046 2047 2048 FIND: 2049 proc (p, q); 2050 2051 declare (p, q) ptr; 2052 2053 2054 2055 FIND_name_ptr = p; 2056 FIND_seq_ptr = q; 2057 seq_pos = 0; 2058 2059 2060 do FIND_ctr = 1 by 1 to FIND_seq_ptr -> qual_name.qn_size; 2061 2062 FIND_ptr = FIND_seq_ptr -> qual_name.qn_loc (FIND_ctr); 2063 2064 call COMP; 2065 2066 end; 2067 2068 end; 2069 2070 2071 def_node: 2072 proc (sz, p); 2073 2074 declare sz fixed bin, 2075 p ptr; 2076 2077 if p = null () 2078 then call get_space (sz, p); 2079 2080 node_ptr = p; 2081 end; 2082 2083 2084 2085 2086 2087 2088 COMP: 2089 proc; 2090 2091 declare (i, j) fixed bin; 2092 declare (lp, rp) ptr, 2093 (lsz, rsz, lct) fixed bin; 2094 2095 lct = FIND_name_ptr -> qual_name.qn_size; 2096 i = 1; 2097 2098 lp = FIND_name_ptr -> qual_name.qn_loc (1); 2099 lsz = lp -> user_word.length; 2100 2101 do j = 1 by 1 to FIND_ptr -> qual_name.qn_size; 2102 2103 rp = FIND_ptr -> qual_name.qn_loc (j); 2104 2105 if substr (lp -> user_word.word, 1, lsz) = substr (rp -> user_word.word, 1, rp -> user_word.length) 2106 then do; 2107 i = i + 1; 2108 2109 if i > lct 2110 then do; 2111 if seq_pos = 0 2112 then seq_pos = FIND_ctr; 2113 else seq_pos = -seq_pos; 2114 2115 return; 2116 2117 end; 2118 2119 lp = FIND_name_ptr -> qual_name.qn_loc (i); 2120 lsz = lp -> user_word.length; 2121 2122 end; 2123 end; 2124 end; 2125 2126 2127 2128 declare (last_control_num, sum_counter_count) 2129 fixed bin, 2130 sum_chain_ptr ptr; 2131 2132 set_cf_sum_chain: 2133 proc; 2134 2135 if sum_chain_ptr ^= null () & last_control_num ^= 10000 2136 then do; 2137 2138 call form_name_seq (sum_chain_ptr, sum_counter_count, cf_table.cf_sum_name_seq_ptr (last_control_num)) 2139 ; 2140 2141 cf_table.cf_sum_chain (last_control_num) = sum_chain_ptr; 2142 2143 end; 2144 2145 2146 last_control_num = 10000; 2147 2148 end; 2149 2150 2151 2152 classify_node: 2153 proc; 2154 2155 NODE.node_type = 0; /* 0(illegal)1(root)2(non_term)3(term) */ 2156 2157 if substr (rg_cl, 3, 2) ^= "0"b 2158 then do; 2159 NODE.node_type = 1; /* root node */ 2160 2161 if substr (rg_cl, 6) ^= "0"b 2162 then call DIAG (9, lv_line, lv_col); /* term node clauses illegal */ 2163 2164 if NODE.nd_level ^= 1 2165 then call DIAG (10, lv_line, lv_col); /* should be level 1 */ 2166 2167 if substr (rg_cl, 4, 1) = "0"b 2168 then call DIAG (8, lv_line, lv_col); /* TYPE clause missing */ 2169 2170 return; 2171 end; 2172 2173 if substr (rg_cl, 7) ^= "0"b 2174 then do; 2175 NODE.node_type = 3; /* term node */ 2176 2177 /*[5.1-3]*/ 2178 if substr (rg_cl, 11, 1) = "0"b /*[5.1-3]*/ 2179 then call DIAG (126, lv_line, lv_col); /* PIC clause missing */ 2180 2181 if substr (rg_cl, 12, 3) = "0"b 2182 then call DIAG (16, lv_line, lv_col); /* SOURCE/SUM/VALUE missing */ 2183 2184 if NODE.nd_level = 1 2185 then call DIAG (15, lv_line, lv_col); /* should not be level 1 */ 2186 2187 return; 2188 end; 2189 2190 if NODE.nd_level = 1 2191 then do; 2192 NODE.node_type = 1; /* root.node */ 2193 2194 call DIAG (8, lv_line, lv_col); /* TYPE clause missing */ 2195 2196 if substr (rg_cl, 6, 1) ^= "0"b 2197 then call DIAG (9, lv_line, lv_col); /* PRESENT illegal */ 2198 2199 return; 2200 end; 2201 2202 NODE.node_type = 2; /* non_term_NODE.node */ 2203 2204 end; 2205 2206 2207 2208 2209 2210 /* form the line and field tables for */ 2211 /* a report group */ 2212 2213 declare (ltl, ftl) fixed bin; /* pos in line and field tables */ 2214 2215 declare line_status fixed bin; /* 0(initial)1(abs)2(rel) */ 2216 declare line_value fixed bin; /* line clause parameter */ 2217 2218 declare (lt, lv) fixed bin; 2219 declare (ct, cv) fixed bin; 2220 2221 declare col_clause bit (1), 2222 (last_line_value, TYPE, LINE, SIZE) 2223 fixed bin; 2224 2225 declare col_status fixed bin; /* 0(initial)1(abs)2(rel) */ 2226 declare col_value fixed bin; /* column clause parameter */ 2227 2228 declare line_size fixed bin; /* size of the current line */ 2229 declare line_count fixed bin; /* number of lines in the group */ 2230 declare field_count fixed bin; /* number of fields in the line */ 2231 2232 2233 2234 form_group_tables: 2235 proc; 2236 2237 /* form line and field tables */ 2238 declare ct fixed bin; 2239 2240 2241 ct = last_root_ptr -> root.nodes.count; 2242 line_table_size, field_table_size = ct + 1; 2243 2244 call get_space (size (LINE_table), LINE_table_ptr); 2245 call get_space (size (FIELD_table), FIELD_table_ptr); 2246 2247 LINE_table.LT_size = line_table_size; 2248 FIELD_table.FT_size = field_table_size; 2249 2250 ltl, ftl = 0; 2251 line_status, line_value, line_count = 0; 2252 node_ptr = last_root_ptr; 2253 call lt_reset; 2254 col_clause = "0"b; 2255 TYPE, LINE, SIZE = 0; 2256 2257 call group_node; /* group_node */ 2258 2259 if ct ^= 0 2260 then do; 2261 node_ptr = last_root_ptr -> root.nodes.first; 2262 2263 do while (node_ptr ^= null ()); 2264 2265 call group_node; /* subordinate node */ 2266 2267 node_ptr = node_ptr -> root.rt_next; 2268 2269 end; 2270 end; 2271 2272 if col_clause 2273 then SIZE = SIZE + 1; 2274 2275 last_root_ptr -> root.group_desc.type = TYPE; 2276 last_root_ptr -> root.group_desc.line = LINE; 2277 last_root_ptr -> root.group_desc.size = SIZE; 2278 2279 2280 call set_count_and_size; 2281 2282 last_root_ptr -> root.field_table_ptr = FIELD_table_ptr; 2283 last_root_ptr -> root.line_table_ptr = LINE_table_ptr; 2284 2285 FIELD_table.FT_size = ftl; 2286 LINE_table.LT_size = ltl; 2287 2288 end; 2289 2290 2291 2292 2293 group_node: 2294 proc; 2295 2296 go to GN (node_ptr -> root.rt_type); 2297 2298 GN (0): 2299 go to GN0; 2300 2301 GN (1): /* non_term_node */ 2302 GN (3): /* root node */ 2303 call line_table_entry; 2304 2305 go to GN0; 2306 2307 GN (2): /* term node */ 2308 call line_table_entry; 2309 2310 ct = node_ptr -> term_node.column.type; 2311 2312 if ct ^= 0 2313 then do; 2314 cv = node_ptr -> term_node.column.value; 2315 2316 call check_field_clause; 2317 2318 end; 2319 go to GN0; 2320 2321 GN0: 2322 end; 2323 2324 2325 2326 2327 line_table_entry: 2328 proc; 2329 2330 lt = node_ptr -> root.line.type; 2331 2332 if lt ^= 0 2333 then do; /* LINE clause exists */ 2334 call set_count_and_size; 2335 ltl = ltl + 1; 2336 line_count = line_count + 1; 2337 2338 LINE_table.LT_first_field (ltl), LINE_table.LT_field_count (ltl), LINE_table.LT_line_size (ltl), 2339 LINE_table.LT_line_num (ltl) = 0; 2340 2341 lv = node_ptr -> root.line.value; 2342 2343 call check_line_clause; 2344 call lt_reset; 2345 end; 2346 end; 2347 lt_reset: 2348 proc; 2349 2350 col_status, col_value = 0; 2351 field_count, line_size = 0; 2352 end; 2353 2354 check_line_clause: 2355 proc; 2356 2357 go to CLC (lt); /* 1(i)2(+i)3(PAGE i) */ 2358 2359 CLC (1): /* LINE integer */ 2360 go to LS1 (line_status); 2361 2362 LS1 (0): /* undefined */ 2363 line_status = 1; 2364 call set_line_num (-lv); 2365 TYPE = 1; 2366 LINE = lv; 2367 go to LS10; 2368 2369 LS1 (1): /* abs */ 2370 call line_incr_test (-lv); 2371 SIZE = SIZE + lv - last_line_value; 2372 go to LS10; 2373 2374 LS1 (2): /* rel */ 2375 call dg (19); 2376 go to LS10; 2377 2378 LS10: 2379 col_clause = "0"b; 2380 last_line_value = lv; 2381 2382 go to CLC0; 2383 2384 CLC (2): /* LINE PLUS integer */ 2385 go to LS2 (line_status); 2386 2387 LS2 (0): /* undefined */ 2388 line_status = 2; 2389 TYPE = 2; 2390 LINE = lv; 2391 go to LS20; 2392 2393 LS2 (1): /* abs */ 2394 SIZE = SIZE + lv - last_line_value; 2395 2396 if col_clause 2397 then SIZE = SIZE + 1; 2398 2399 go to LS20; 2400 2401 LS2 (2): /* rel */ 2402 SIZE = SIZE + lv - last_line_value; 2403 2404 if col_clause 2405 then SIZE = SIZE + 1; 2406 2407 go to LS20; 2408 2409 LS20: 2410 col_clause = "0"b; 2411 last_line_value = lv; 2412 call set_line_num (lv); 2413 go to CLC0; 2414 2415 CLC (3): /* LINE integer PAGE */ 2416 go to LS3 (line_status); 2417 2418 LS3 (0): /* undefined */ 2419 call set_line_num (-lv - report.page.count); 2420 line_status = 1; 2421 TYPE = 3; 2422 LINE = lv; 2423 go to LS30; 2424 2425 LS3 (1): /* abs */ 2426 SIZE = SIZE + lv - last_line_value; 2427 2428 go to LS30; 2429 2430 LS3 (2): /* rel */ 2431 call dg (20); 2432 go to LS30; 2433 2434 LS30: 2435 col_clause = "1"b; 2436 last_line_value = lv; 2437 2438 go to CLC0; 2439 2440 CLC0: 2441 end; 2442 2443 dg: 2444 proc (dn); 2445 2446 declare dn fixed bin; 2447 2448 call DIAG (dn, node_ptr -> term_node.tn_tok_line, node_ptr -> term_node.tn_tok_column); 2449 end; 2450 2451 set_count_and_size: 2452 proc; 2453 2454 if ltl ^= 0 2455 then do; 2456 LINE_table.LT_field_count (ltl) = field_count; 2457 LINE_table.LT_line_size (ltl) = line_size; 2458 end; 2459 end; 2460 2461 set_line_num: 2462 proc (s); 2463 2464 declare s fixed bin; 2465 2466 line_value = lv; 2467 LINE_table.LT_line_num (ltl) = s; 2468 end; 2469 2470 line_incr_test: 2471 proc (s); 2472 2473 declare s fixed bin; 2474 2475 if lv <= line_value 2476 then call dg (13); 2477 else call set_line_num (s); 2478 end; 2479 2480 2481 2482 2483 check_field_clause: 2484 proc; 2485 2486 declare p ptr; /*[5.1-3]*/ 2487 /*[5.1-3]*/ 2488 dcl 1 PIC static, /*[5.1-3]*/ 2489 2 size fixed bin init (0), /*[5.1-3]*/ 2490 2 line fixed bin init (0), /*[5.1-3]*/ 2491 2 column fixed bin init (0), /*[5.1-3]*/ 2492 2 type fixed bin init (0), /*[5.1-3]*/ 2493 2 length fixed bin init (1), /*[5.1-3]*/ 2494 2 string char (1) init ("X"); 2495 2496 2497 p = node_ptr -> term_node.picture; /*[5.1-3]*/ 2498 if p = null () 2499 then p = addr (PIC); 2500 pic_string_ptr = addr (p -> picture.string); 2501 pic_string_size = p -> picture.length; 2502 2503 call get_pic_size; 2504 node_ptr -> term_node.non_num = non_num; 2505 go to CFC (ct); /* 1(i)2(+i) */ 2506 2507 CFC (1): /* COLUMN integer */ 2508 go to CS1 (col_status); 2509 2510 CS1 (0): /* undefined */ 2511 col_status = 1; 2512 2513 call first_field; 2514 2515 call set_fields (cv, pic_size, cv - 1); 2516 line_size = cv + pic_size - 1; 2517 col_clause = "1"b; 2518 2519 go to CS10; 2520 2521 CS1 (1): /* abs */ 2522 if cv <= line_size 2523 then call dg (77); 2524 else do; 2525 call subseq_field; 2526 call set_fields (cv, pic_size, cv - line_size - 1); 2527 line_size = cv + pic_size - 1; 2528 col_clause = "1"b; 2529 end; 2530 2531 go to CS10; 2532 2533 CS1 (2): /* rel */ 2534 call dg (76); 2535 go to CS10; 2536 2537 CS10: 2538 go to CFC0; 2539 2540 CFC (2): /* COLUMN PLUS integer */ 2541 go to CS2 (col_status); 2542 2543 CS2 (0): /* undefined */ 2544 col_status = 2; 2545 2546 call first_field; 2547 2548 call set_fields (cv + 1, pic_size, cv); 2549 line_size = cv + pic_size; 2550 2551 go to CS20; 2552 2553 CS2 (1): /* abs */ 2554 col_status = 2; 2555 call subseq_field; 2556 call set_fields (line_size + cv, pic_size, cv); 2557 line_size = line_size + cv + pic_size; 2558 2559 go to CS20; 2560 2561 CS2 (2): /* rel */ 2562 call subseq_field; 2563 call set_fields (line_size + cv, pic_size, cv); 2564 line_size = line_size + cv + pic_size; 2565 go to CS20; 2566 2567 CS20: 2568 col_clause = "1"b; 2569 2570 go to CFC0; 2571 2572 CFC0: 2573 end; 2574 2575 first_field: 2576 proc; 2577 2578 ftl = ftl + 1; 2579 field_count = field_count + 1; 2580 2581 LINE_table.LT_first_field (ltl) = ftl; 2582 end; 2583 2584 subseq_field: 2585 proc; 2586 2587 ftl = ftl + 1; 2588 field_count = field_count + 1; 2589 end; 2590 2591 set_fields: 2592 proc (fp, fs, lf); 2593 2594 declare (fp, fs, lf) fixed bin; 2595 2596 FIELD_table.FT_loc (ftl) = node_ptr; 2597 FIELD_table.FT_field_pos (ftl) = fp; 2598 FIELD_table.FT_field_size (ftl) = fs; 2599 FIELD_table.FT_left_fill_size (ftl) = lf; 2600 end; 2601 2602 2603 2604 2605 2606 2607 declare pic_string char (pic_string_size) based (pic_string_ptr); 2608 2609 declare (pic_loc, pic_size, ch_type, pic_string_size) 2610 fixed bin; 2611 declare (rep_spec_size, left_par_loc, right_par_loc, int_size) 2612 fixed bin; 2613 declare sep_sign bit (1); 2614 declare next_char char (1); 2615 declare pic_string_ptr ptr; 2616 declare (s_exists, non_num) bit (1); 2617 declare pic_chars char (18) init (".SVCDA,X9PZ*B/0+-"""); 2618 2619 2620 2621 2622 2623 2624 2625 2626 get_pic_size: 2627 proc; /* compute size of field described by a picture string */ 2628 2629 pic_size = 0; /* size of field */ 2630 pic_loc = 1; /* picture char being examined */ 2631 s_exists = "0"b; 2632 non_num = "0"b; 2633 do while ("1"b); 2634 2635 ch_type = index (pic_chars, substr (pic_string, pic_loc, 1)); 2636 2637 /* type of picture character */ 2638 go to PIC (ch_type); 2639 2640 2641 2642 2643 PIC (6): /* A */ 2644 PIC (8): /* X */ 2645 PIC (13): /* B */ 2646 non_num = "1"b; 2647 PIC (0): /* unspecified character */ 2648 PIC (1): /* . */ 2649 PIC (7): /* , */ 2650 PIC (9): /* 9 */ 2651 PIC (11): /* Z */ 2652 PIC (12): /* * */ 2653 PIC (14): /* / */ 2654 PIC (15): /* 0 */ 2655 PIC (16): /* + */ 2656 PIC (17): /* - */ 2657 PIC (18): /* $ */ 2658 call rep_spec; 2659 2660 pic_size = pic_size + rep_spec_size; 2661 2662 go to PIC0; 2663 2664 PIC (2): /* S */ 2665 if node_ptr -> term_node.sign > 2 2666 then pic_size = pic_size + 1; 2667 2668 pic_loc = pic_loc + 1; 2669 s_exists = "1"b; 2670 go to PIC0; 2671 2672 PIC (3): /* V */ 2673 pic_loc = pic_loc + 1; 2674 2675 go to PIC0; 2676 2677 PIC (4): /* C */ 2678 next_char = "r"; 2679 2680 call test_next; 2681 2682 go to PIC0; 2683 2684 PIC (5): /* D */ 2685 next_char = "b"; 2686 2687 call test_next; 2688 2689 go to PIC0; 2690 2691 PIC (10): /* P */ 2692 call rep_spec; 2693 2694 go to PIC0; 2695 2696 PIC0: 2697 if pic_loc > pic_string_size 2698 then return; 2699 2700 end; 2701 2702 if ^s_exists 2703 then node_ptr -> term_node.sign = 0; 2704 2705 end; 2706 2707 2708 2709 test_next: 2710 proc; 2711 2712 pic_loc = pic_loc + 1; 2713 2714 if pic_loc > pic_string_size 2715 then do; 2716 pic_size = pic_size + 1; /* ends in C or D */ 2717 return; 2718 end; 2719 2720 if substr (pic_string, pic_loc, 1) = next_char 2721 then do; 2722 pic_size = pic_size + 1; /* CR or DB */ 2723 pic_loc = pic_loc + 1; 2724 end; 2725 else do; 2726 call rep_spec; /* not CR or DB */ 2727 2728 pic_size = pic_size + rep_spec_size; 2729 end; 2730 end; 2731 2732 2733 2734 2735 2736 2737 2738 2739 rep_spec: 2740 proc; 2741 2742 rep_spec_size = 1; /* one repetition */ 2743 pic_loc = pic_loc + 1; 2744 2745 if pic_loc > pic_string_size 2746 then return; /* end of string */ 2747 else if substr (pic_string, pic_loc, 1) ^= "(" 2748 then return; /* not ( */ 2749 2750 left_par_loc = pic_loc; /* loc of ( */ 2751 right_par_loc = index (substr (pic_string, pic_loc + 1), ")"); 2752 /* loc of ) */ 2753 2754 if right_par_loc = 0 2755 then return; /* ) not found */ 2756 2757 right_par_loc = right_par_loc + pic_loc - 1; 2758 int_size = right_par_loc - left_par_loc; 2759 2760 if int_size = 0 2761 then return; /* () found */ 2762 2763 do i = left_par_loc + 1 by 1 to right_par_loc - 1; 2764 2765 if index ("0123456789", substr (pic_string, i, 1)) = 0 2766 then return; 2767 2768 /* non-digit found */ 2769 end; 2770 2771 rep_spec_size = fixed (substr (pic_string, left_par_loc + 1, int_size)); 2772 pic_loc = right_par_loc + 2; 2773 2774 end; 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 form_de_table: 2785 proc; 2786 2787 declare i fixed bin; 2788 2789 2790 call get_space (size (de_table), de_table_ptr); 2791 2792 2793 2794 de_table.det_size = de_table_size; 2795 de_table.det_name_seq_ptr = null (); 2796 de_table.det_subtot_all.count = 0; 2797 2798 if de_table_size = 0 2799 then return; 2800 2801 call form_name_seq (report.de, de_table_size, de_table.det_name_seq_ptr); 2802 2803 i = de_table_size; 2804 sum_ptr = report.de; 2805 2806 do while (sum_ptr ^= null ()); 2807 2808 de_table.det_loc (i) = sum.sum_loc; 2809 de_table.det_subtot.count (i) = 0; 2810 2811 i = i - 1; 2812 sum_ptr = sum.sum_next; 2813 2814 end; 2815 report.de = de_table_ptr; 2816 2817 2818 end; 2819 2820 /* process the sum counters defined */ 2821 /* for all of the reports */ 2822 2823 declare (current_control_level, sum_clause_num, ident_num, de_table_loc, upon_num) 2824 fixed bin; 2825 2826 process_sum_counters: 2827 proc; 2828 2829 current_report_loc = report_list.first; 2830 2831 do while (current_report_loc ^= null ()); 2832 2833 call process_rep_sc; /* process sum counters for a */ 2834 /* particular report */ 2835 current_report_loc = report.rep_next; 2836 2837 end; 2838 end; 2839 2840 process_rep_sc: 2841 proc; 2842 2843 de_table_ptr = report.de; 2844 2845 if report.cf ^= null () 2846 then do; 2847 cf_table_ptr = report.cf; 2848 2849 2850 do current_control_level = 0 by 1 to cf_table.cf_size; 2851 2852 call process_cf_sum_chain; 2853 2854 /* process the sum counter chain */ 2855 /* for a particular CF report group */ 2856 2857 end; 2858 end; 2859 end; 2860 2861 2862 process_cf_sum_chain: 2863 proc; 2864 2865 sum_ptr = cf_table.cf_sum_chain (current_control_level); 2866 2867 do while (sum_ptr ^= null ()); 2868 2869 sum_counter_ptr = sum.sum_loc; 2870 2871 if sum_counter_ptr ^= null () 2872 then call process_cf_sum_counter; 2873 2874 sum_ptr = sum.sum_next; 2875 2876 end; 2877 end; 2878 2879 process_cf_sum_counter: 2880 proc; 2881 2882 if sum_counter.sct_size ^= 0 2883 then do sum_clause_num = 1 by 1 to sum_counter.sct_size; 2884 2885 sum_clause_ptr = sum_counter.sct_loc (sum_clause_num); 2886 2887 2888 if sum_clause.sc_size ^= 0 2889 then call process_cf_sum_clause; 2890 end; 2891 2892 reset_clause_ptr = sum_counter.sct_reset_loc; 2893 2894 if reset_clause_ptr ^= null () 2895 then call process_cf_reset_clause; 2896 else call enter_reset_chain (current_control_level); 2897 end; 2898 2899 process_cf_sum_clause: 2900 proc; 2901 2902 upon_clause_ptr = sum_clause.sc_upon_loc; 2903 2904 if upon_clause_ptr = null () 2905 then do ident_num = 1 by 1 to sum_clause.sc_size; 2906 2907 ident_ptr = sum_clause.sc_loc (ident_num); 2908 2909 call is_sum_counter; 2910 2911 if hit_count = 1 /* sum counter found */ 2912 then if addend_level < current_control_level 2913 then call DIAG (41, report.rep_tok_line, report.rep_tok_column); 2914 else if addend_level = current_control_level 2915 then call enter_chain (addr (cf_table.cf_crossfoot (addend_level)), ident_ptr, sum.sum_qn_ptr); 2916 else call enter_chain (addr (cf_table.cf_rollfwd (addend_level)), ident_ptr, sum.sum_qn_ptr); 2917 2918 2919 else call enter_chain (addr (de_table.det_subtot_all), ident_ptr, sum.sum_qn_ptr); 2920 2921 /* sum_counter not found */ 2922 2923 end; 2924 else do; /* upon clause missing */ 2925 2926 do upon_num = 1 by 1 to upon_clause.upon_size; 2927 2928 qual_name_ptr = upon_clause.upon_loc (upon_num); 2929 2930 call FIND (qual_name_ptr, de_table.det_name_seq_ptr); 2931 2932 if seq_pos = 0 2933 then call DIAG (43, report.rep_tok_line, report.rep_tok_column); 2934 2935 else do; 2936 de_table_loc = seq_pos; 2937 2938 do ident_num = 1 by 1 to sum_clause.sc_size; 2939 2940 ident_ptr = sum_clause.sc_loc (ident_num); 2941 2942 call is_sum_counter; 2943 2944 if hit_count = 1 2945 then call DIAG (42, report.rep_tok_line, report.rep_tok_column); 2946 else call enter_chain (addr (de_table.det_subtot (de_table_loc)), ident_ptr, 2947 sum.sum_qn_ptr); 2948 2949 end; 2950 2951 end; 2952 2953 end; 2954 2955 end; 2956 end; 2957 2958 2959 2960 process_cf_reset_clause: 2961 proc; 2962 2963 2964 2965 /* process reset clause */ 2966 2967 if reset_clause.rc_final 2968 then do; 2969 seq_pos = 0; 2970 2971 call enter_reset_chain (seq_pos); 2972 2973 end; 2974 2975 else do; /*[5.0-1]*/ 2976 call FIND (reset_clause.rc_loc, report.controls.loc); 2977 2978 2979 if seq_pos = 0 2980 then call DIAG (50, report.rep_tok_line, report.rep_tok_column); 2981 else if seq_pos > current_control_level 2982 then call DIAG (46, report.rep_tok_line, report.rep_tok_column); 2983 else call enter_reset_chain (seq_pos); 2984 end; 2985 2986 end; 2987 2988 2989 2990 enter_reset_chain: 2991 proc (pos); 2992 declare pos fixed bin; /* place entry in the reset chain */ 2993 /* seq_pos: control level at which to */ 2994 /* reset */ 2995 2996 call get_space (reset_chain_entry_SIZE, reset_chain_entry_ptr); 2997 2998 reset_chain_entry.loc = sum.sum_qn_ptr; 2999 3000 call add_to_list (reset_chain_entry_ptr, addr (cf_table.cf_reset (pos))); 3001 3002 end; 3003 3004 3005 3006 3007 3008 3009 enter_group_chain: 3010 proc (entry_loc, data_ptr, chain_ptr); 3011 3012 /* add new entry to a group chain(de,sum) */ 3013 /* and initialize the entry */ 3014 3015 3016 declare (entry_loc, data_ptr, chain_ptr) 3017 ptr; 3018 3019 call get_space (sum_SIZE, sum_ptr); /* allocate space for entry */ 3020 3021 sum.sum_next = entry_loc; 3022 sum.sum_loc = data_ptr; 3023 entry_loc = sum_ptr; 3024 3025 call tree_to_qual (chain_ptr, sum.sum_qn_ptr); /* qualif name */ 3026 3027 end; 3028 3029 enter_chain: 3030 proc (list_ptr, ident_ptr, sum_ptr); 3031 3032 declare (list_ptr, ident_ptr, sum_ptr) 3033 ptr; 3034 3035 call get_space (chain_entry_SIZE, chain_entry_ptr); 3036 3037 chain_entry.ce_loc = ident_ptr; 3038 chain_entry.ce_sum_loc = sum_ptr; 3039 3040 call add_to_list (chain_entry_ptr, list_ptr); 3041 3042 end; 3043 3044 3045 form_control_table: 3046 proc (siz); 3047 3048 /* allocate the control tables */ 3049 /* ch_table and cf_table */ 3050 /* initialize the tables */ 3051 3052 /*[4.4-1]*/ 3053 declare (i, siz) fixed bin; 3054 3055 /*[4.4-1]*/ 3056 ch_table_size, cf_table_size = siz; 3057 3058 call get_space (size (ch_table), report.ch); 3059 ch_table_ptr = report.ch; 3060 3061 ch_table.ch_size = ch_table_size; 3062 3063 call get_space (size (cf_table), report.cf); 3064 cf_table_ptr = report.cf; 3065 3066 cf_table.cf_size = cf_table_size; 3067 3068 do i = 0 by 1 to ch_table_size; 3069 3070 ch_table.ch_loc (i), ch_table.ch_sum_name_seq_ptr (i) = null (); 3071 ch_table.ch_sum_chain (i) = null (); 3072 ch_table.ch_crossfoot.count (i), ch_table.ch_rollfwd.count (i), ch_table.ch_reset.count (i) = 0; 3073 3074 cf_table.cf_loc (i), cf_table.cf_sum_name_seq_ptr (i) = null (); 3075 cf_table.cf_sum_chain (i) = null (); 3076 cf_table.cf_crossfoot.count (i), cf_table.cf_rollfwd.count (i), cf_table.cf_reset.count (i) = 0; 3077 3078 end; 3079 3080 end; 3081 3082 form_name_seq: 3083 proc (chain_ptr, chain_size, name_seq_ptr); 3084 3085 /* form a qualified name sequence from a chain */ 3086 /* of qualified names. chain_ptr specifies the */ 3087 /* location of the chain and chain_size */ 3088 /* specifies the size of the chain. The location */ 3089 /* of the qualif name sequence is placed in */ 3090 /* name_seq_ptr */ 3091 3092 declare (chain_ptr, name_seq_ptr) 3093 ptr; 3094 declare chain_size fixed bin; 3095 3096 declare i fixed bin, 3097 p ptr; 3098 3099 3100 3101 3102 3103 3104 qual_name_seq_size = chain_size; 3105 3106 call get_space (size (qual_name_seq), qual_name_seq_ptr); 3107 3108 qual_name_seq.qns_size = qual_name_seq_size; 3109 p = chain_ptr; 3110 3111 3112 do i = qual_name_seq_size by -1 to 1; 3113 3114 qual_name_seq.qns_loc (i) = p -> sum.sum_qn_ptr; 3115 3116 p = p -> sum.sum_next; 3117 3118 end; 3119 3120 name_seq_ptr = qual_name_seq_ptr; 3121 3122 end; 3123 3124 3125 3126 3127 3128 3129 3130 process_control_group: 3131 proc (p); 3132 3133 declare p ptr; 3134 3135 if NODE.control_name_ptr = null () /* FINAL */ 3136 then do; 3137 if ^report.controls.final /* not spec by controls clause */ 3138 then do; 3139 call DIAG (47, root.rt_tok_line, root.rt_tok_column); 3140 3141 /* FINAL not in CONTROL clause */ 3142 3143 return; 3144 3145 end; 3146 3147 seq_pos = 0; 3148 3149 end; 3150 else do; 3151 call FIND (NODE.control_name_ptr, report.controls.loc); 3152 3153 if seq_pos = 0 3154 then do; 3155 call DIAG (50, root.rt_tok_line, root.rt_tok_column); 3156 3157 /* data-name not in CONTROL clause */ 3158 seq_pos = 10000; 3159 return; 3160 3161 end; 3162 else if seq_pos < 0 3163 then do; 3164 call DIAG (82, root.rt_tok_line, root.rt_tok_column); 3165 3166 /* data-name appears more than once in CONTROL clause */ 3167 seq_pos = 10000; 3168 return; 3169 3170 end; 3171 end; 3172 3173 if p -> ch_table.ch_loc (seq_pos) ^= null () /* already defined */ 3174 then do; 3175 call DIAG (81, root.rt_tok_line, root.rt_tok_column); 3176 3177 /* data-name appears more than once in CH/CF group */ 3178 3179 return; 3180 3181 end; 3182 3183 p -> ch_table.ch_loc (seq_pos) = node_ptr; 3184 p -> ch_table.ch_sum_chain (seq_pos) = sum_chain_ptr; 3185 /* control number to seq_pos */ 3186 3187 end; 3188 3189 3190 declare (hit_count, addend_level) 3191 fixed bin; 3192 3193 3194 is_sum_counter: 3195 proc; 3196 3197 /* is the qual name specified by p a sum */ 3198 /* counter in the report specified by q. Set */ 3199 /* hit_count = 0(not found),1(found once),2(found */ 3200 /* more than once). Set addend_level to the level*/ 3201 /* of the CF group containing the sum counter */ 3202 3203 3204 declare i fixed bin; 3205 declare p ptr; 3206 3207 3208 hit_count = 0; 3209 3210 if cf_table.cf_size = 0 | ident.subscripts.count ^= 0 3211 then return; 3212 3213 do i = 1 by 1 to cf_table.cf_size; 3214 3215 p = cf_table.cf_sum_name_seq_ptr (i); 3216 3217 if p ^= null () 3218 then do; 3219 3220 call FIND (ident.id_name_loc, p); 3221 3222 if seq_pos < 0 3223 then do; 3224 hit_count = 2; 3225 3226 return; 3227 3228 end; 3229 3230 else if seq_pos > 0 3231 then do; 3232 hit_count = hit_count + 1; 3233 3234 addend_level = i; 3235 3236 end; 3237 3238 if hit_count = 2 3239 then return; 3240 3241 end; 3242 3243 end; 3244 3245 end; 3246 3247 3248 3249 3250 3251 add_to_list: 3252 proc (p, q); 3253 3254 /* add the item specified by p to */ 3255 /* the list specified by q */ 3256 3257 declare (p, q) ptr; 3258 3259 3260 3261 3262 3263 3264 3265 p -> list_link.next = null (); 3266 3267 if q -> list_def.count = 0 3268 then do; 3269 q -> list_def.count = 1; 3270 q -> list_def.first, q -> list_def.last = p; 3271 end; 3272 else do; 3273 q -> list_def.count = q -> list_def.count + 1; 3274 q -> list_def.last -> list_link.next, q -> list_def.last = p; 3275 end; 3276 3277 end; 3278 3279 tree_to_qual: 3280 proc (p, q); 3281 3282 /* transform a tree node specified by p */ 3283 /* into a qualified name table, store loc of */ 3284 /* the qualified name table in q. Set q = null() */ 3285 /* if no qualif name defined */ 3286 3287 declare (p, q) ptr; 3288 declare r ptr, 3289 i fixed bin; 3290 3291 /* count comps in qualif name */ 3292 3293 r = p; 3294 qual_name_size = 0; 3295 3296 do while (r ^= null ()); 3297 3298 if r -> root.rt_name_ptr ^= null () 3299 then qual_name_size = qual_name_size + 1; 3300 3301 r = r -> root.rt_up; 3302 3303 end; 3304 3305 if qual_name_size = 0 3306 then do; 3307 q = null (); 3308 3309 return; 3310 3311 end; 3312 3313 call get_space (size (qual_name), qual_name_ptr); 3314 3315 qual_name.qn_size = qual_name_size; 3316 3317 r = p; 3318 3319 i = 1; 3320 3321 do while (r ^= null ()); 3322 3323 if r -> root.rt_name_ptr ^= null () 3324 then do; 3325 qual_name.qn_loc (i) = r -> root.rt_name_ptr; 3326 3327 i = i + 1; 3328 3329 end; 3330 3331 r = r -> root.rt_up; 3332 3333 end; 3334 3335 q = qual_name_ptr; 3336 3337 end; 3338 3339 3340 3341 3342 declare program (36) ptr based (directory_ptr); 3343 3344 declare 1 fd_object based (fd_object_ptr), 3345 2 next ptr, 3346 2 loc ptr, 3347 2 rep_loc ptr; 3348 3349 declare fd_object_ptr ptr; 3350 3351 declare 1 use_reporting_object 3352 based (use_reporting_object_ptr), 3353 2 next ptr, 3354 2 loc ptr, 3355 2 proc_loc ptr, 3356 2 suppress bit (1); 3357 3358 declare use_reporting_object_ptr 3359 ptr; 3360 3361 declare 1 use_table based (use_table_ptr), 3362 2 use_size fixed bin, 3363 2 use (use_table_size refer (use_table.use_size)), 3364 3 comp_count fixed bin, 3365 3 usage_count fixed bin, 3366 3 gnl fixed bin, 3367 3 rnl fixed bin, 3368 3 gn_loc ptr, 3369 3 rn_loc ptr, 3370 3 proc_loc ptr, 3371 3 suppress bit (1); 3372 3373 declare use_table_ptr ptr; 3374 declare use_table_size fixed bin; 3375 3376 declare cobol_output_tokens$directory_loc 3377 entry returns (ptr); 3378 3379 declare directory_ptr ptr; 3380 declare TAB_pos fixed bin, 3381 TAB_res bit (1), 3382 TAB_ptr ptr, 3383 TABTAB_pos fixed bin; 3384 declare uwl fixed bin, 3385 uw char (32); 3386 declare (fd_table_ptr, rep_clause_table_ptr, rep_table_ptr, rd_table_ptr) 3387 ptr; 3388 3389 process_report_clauses: 3390 proc; 3391 3392 directory_ptr = cobol_output_tokens$directory_loc (); 3393 3394 3395 if program (24) ^= null () 3396 then call form_fd_table; 3397 rwfp = cobol_m2fp; 3398 call cobol_io_$cobol_save_pos (rwfp2, rwfp2); 3399 call form_use_table; 3400 rwfp = cobol_m1fp; 3401 call cobol_io_$cobol_msf_start (cobol_m2fp, rwfp2); 3402 call tabtab_to_tab (rep_clause_table_ptr, rep_table_ptr); 3403 call are_tab_nams_unique (rep_table_ptr, 38); 3404 3405 if program (22) ^= null () 3406 then call form_name_table (program (22), rd_table_ptr); 3407 3408 call find_rep_names; 3409 3410 use_table_size = 0; 3411 3412 call find_file_and_use; 3413 3414 end; 3415 3416 form_name_table: 3417 proc (chain_ptr, table_ptr); /* construct a name table (table_ptr) */ 3418 /* from a name chain (chain_ptr) */ 3419 3420 declare (chain_ptr, table_ptr) 3421 ptr; 3422 declare i fixed bin; 3423 3424 if chain_ptr = null () 3425 then return; 3426 3427 list_link_ptr = chain_ptr; 3428 qual_name_size = 0; 3429 3430 do while (list_link_ptr ^= null ()); /* find the size of the table */ 3431 3432 qual_name_size = qual_name_size + 1; 3433 list_link_ptr = list_link.next; 3434 3435 end; 3436 3437 call get_space (size (qual_name), qual_name_ptr); /* allocate space for the table */ 3438 qual_name.qn_size = qual_name_size; 3439 list_link_ptr = chain_ptr; 3440 3441 do i = 1 by 1 to qual_name_size; /* initialize the table */ 3442 3443 call get_token (list_link.loc); 3444 qual_name.qn_loc (i) = addr_record; 3445 list_link_ptr = list_link.next; 3446 3447 end; 3448 3449 table_ptr = qual_name_ptr; 3450 3451 end; 3452 3453 are_tab_nams_unique: 3454 proc (table_ptr, diag_num); /* if a non-unique name is found in the */ 3455 /* table (table_ptr) then issue a diagnostic */ 3456 /* (diag_num) */ 3457 declare table_ptr ptr, 3458 diag_num fixed bin; 3459 declare (line, col) fixed bin; 3460 3461 qual_name_ptr = table_ptr; 3462 3463 if qual_name.qn_size < 2 3464 then return; 3465 3466 do TAB_pos = 2 by 1 to qual_name.qn_size; 3467 3468 addr_record = qual_name.qn_loc (TAB_pos); 3469 uwl = user_word.length; 3470 line = user_word.line; 3471 col = user_word.column; 3472 substr (uw, 1, uwl) = user_word.word; 3473 3474 call dup_test; 3475 3476 if TAB_res 3477 then call DIAG (diag_num, line, col); 3478 3479 end; 3480 end; 3481 3482 dup_test: 3483 proc; 3484 3485 declare i fixed bin; 3486 3487 TAB_res = "0"b; 3488 3489 do i = TAB_pos - 1 by -1 to 1; 3490 3491 addr_record = qual_name.qn_loc (i); 3492 3493 if uwl = user_word.length 3494 then if substr (uw, 1, uwl) = user_word.word 3495 then do; 3496 TAB_res = "1"b; 3497 return; 3498 end; 3499 end; 3500 end; 3501 3502 tabtab_to_tab: 3503 proc (tabtab_ptr, tab_ptr); 3504 3505 declare (tabtab_ptr, tab_ptr) 3506 ptr; 3507 declare (i, j, k) fixed bin, 3508 p ptr; 3509 3510 qual_name_size = 0; 3511 qual_name_ptr = tabtab_ptr; 3512 3513 /* compute size of table */ 3514 3515 3516 do i = 1 by 1 to qual_name.qn_size; 3517 3518 3519 p = qual_name.qn_loc (i); 3520 3521 if p ^= null () 3522 then qual_name_size = qual_name_size + p -> qual_name.qn_size; 3523 3524 end; 3525 3526 /* allocate space for table */ 3527 3528 call get_space (size (qual_name), tab_ptr); 3529 tab_ptr -> qual_name.qn_size = qual_name_size; 3530 3531 /* initialize the table */ 3532 3533 k = 1; 3534 do i = 1 by 1 to qual_name.qn_size; 3535 3536 p = qual_name.qn_loc (i); 3537 if p ^= null () 3538 then do j = 1 by 1 to p -> qual_name.qn_size; 3539 3540 tab_ptr -> qual_name.qn_loc (k) = p -> qual_name.qn_loc (j); 3541 k = k + 1; 3542 3543 end; 3544 end; 3545 end; 3546 3547 is_nam_in_tab: 3548 proc (table_ptr); /* is name specified by (uwl,uw) */ 3549 /* in table (table_ptr) */ 3550 declare table_ptr ptr; 3551 declare i fixed bin, 3552 p ptr; 3553 3554 TAB_pos = 0; 3555 qual_name_ptr = table_ptr; 3556 3557 do i = 1 by 1 to qual_name.qn_size; 3558 3559 p = qual_name.qn_loc (i); 3560 3561 /* compare the names */ 3562 3563 if uwl = p -> user_word.length 3564 then if substr (uw, 1, uwl) = p -> user_word.word 3565 then do; 3566 TAB_pos = i; 3567 return; 3568 end; 3569 end; 3570 end; 3571 3572 form_fd_table: 3573 proc; 3574 3575 /* form the fd table */ 3576 3577 call form_name_table (program (24), fd_table_ptr);/* table of pointers to FD names */ 3578 3579 /* table of pointers to report clause descriptors */ 3580 qual_name_size = fd_table_ptr -> qual_name.qn_size; 3581 call get_space (size (qual_name), rep_clause_table_ptr); 3582 rep_clause_table_ptr -> qual_name.qn_size = qual_name_size; 3583 fd_object_ptr = program (24); 3584 3585 do TAB_pos = 1 by 1 to qual_name_size; 3586 3587 if fd_object.rep_loc ^= null () 3588 then call form_rep_table; 3589 else qual_name_ptr = null (); 3590 3591 rep_clause_table_ptr -> qual_name.qn_loc (TAB_pos) = qual_name_ptr; 3592 3593 fd_object_ptr = fd_object.next; 3594 3595 end; 3596 end; 3597 3598 form_rep_table: 3599 proc; 3600 3601 /* form the rd table */ 3602 3603 declare i fixed bin; 3604 3605 call get_token (fd_object.rep_loc); /* position to rep name seq */ 3606 if header.type = 1 3607 then call scan; 3608 3609 qual_name_size = 0; 3610 3611 do while (header.type = 8); /* count the rep names */ 3612 3613 qual_name_size = qual_name_size + 1; 3614 call scan; 3615 3616 end; 3617 3618 if qual_name_size = 0 3619 then return; 3620 3621 call get_space (size (qual_name), qual_name_ptr); /* allocate space */ 3622 qual_name.qn_size = qual_name_size; 3623 3624 call get_token (fd_object.rep_loc); /* position to rep name seq */ 3625 if header.type = 1 3626 then call scan; 3627 3628 do i = 1 by 1 to qual_name_size; 3629 3630 qual_name.qn_loc (i) = addr_record; 3631 call scan; 3632 end; 3633 end; 3634 3635 first_token: 3636 proc (ft); 3637 3638 declare ft ptr; 3639 3640 call cobol_io_$cobol_msf_start (rwfp, ft); 3641 call scan; 3642 end; 3643 3644 get_token: 3645 proc (type_ptr); 3646 3647 declare type_ptr ptr; 3648 3649 call first_token (type_ptr); 3650 if header.type ^= 1 3651 then return; 3652 3653 call scan; 3654 3655 end; 3656 3657 form_use_table: 3658 proc; 3659 3660 /* form the use before reporting table */ 3661 3662 declare i fixed bin; 3663 3664 use_reporting_object_ptr = program (25); 3665 use_table_size = 0; /* get size of table */ 3666 3667 do while (use_reporting_object_ptr ^= null ()); 3668 3669 use_table_size = use_table_size + 1; 3670 use_reporting_object_ptr = use_reporting_object.next; 3671 3672 end; 3673 3674 /* allocate space for table */ 3675 3676 call get_space (size (use_table), use_table_ptr); 3677 use_table.use_size = use_table_size; 3678 3679 use_reporting_object_ptr = program (25); 3680 if use_table_size ^= 0 3681 then do TAB_pos = 1 by 1 to use_table_size; 3682 3683 call get_use_name; 3684 use_table.usage_count (TAB_pos) = 0; 3685 use_table.proc_loc (TAB_pos) = use_reporting_object.proc_loc; 3686 use_table.suppress (TAB_pos) = use_reporting_object.suppress; 3687 3688 use_reporting_object_ptr = use_reporting_object.next; 3689 3690 end; 3691 end; 3692 3693 get_use_name: 3694 proc; 3695 3696 /* find a qualified group name */ 3697 use_table.comp_count (TAB_pos) = 0; 3698 call cobol_io_$cobol_msf_start (rwfp, use_reporting_object.loc); 3699 if header.type = 1 3700 then call scan; 3701 call scan; 3702 if header.type ^= 8 3703 then return; 3704 3705 /* group name */ 3706 3707 use_table.gnl (TAB_pos) = user_word.length; 3708 use_table.gn_loc (TAB_pos) = addr_record; 3709 use_table.comp_count (TAB_pos) = 1; 3710 3711 call scan; 3712 if header.type ^= 1 3713 then return; 3714 3715 if reserved_word.key ^= 101 /* in */ & reserved_word.key ^= 133 3716 /* of */ 3717 then return; 3718 3719 call scan; 3720 if header.type ^= 8 3721 then return; 3722 3723 /* report name */ 3724 3725 use_table.rnl (TAB_pos) = user_word.length; 3726 use_table.rn_loc (TAB_pos) = addr_record; 3727 use_table.comp_count (TAB_pos) = 2; 3728 3729 end; 3730 3731 find_file_and_use: 3732 proc; 3733 3734 declare i fixed bin; 3735 3736 current_report_loc = report_list.first; 3737 3738 do while (current_report_loc ^= null ()); 3739 3740 /* find the report file */ 3741 3742 call find_file; 3743 3744 /* find the use before reporting sections */ 3745 3746 if report.rh ^= null () 3747 then call find_use (report.rh); 3748 if report.rf ^= null () 3749 then call find_use (report.rf); 3750 if report.ph ^= null () 3751 then call find_use (report.ph); 3752 if report.pf ^= null () 3753 then call find_use (report.pf); 3754 de_table_ptr = report.de; 3755 3756 if de_table_ptr ^= null () 3757 then do i = 1 by 1 to de_table.det_size; 3758 3759 if de_table.det_loc (i) ^= null () 3760 then call find_use (de_table.det_loc (i)); 3761 3762 end; 3763 3764 ch_table_ptr = report.ch; 3765 3766 if ch_table_ptr ^= null () 3767 then do i = 0 by 1 to ch_table.ch_size; 3768 3769 if ch_table.ch_loc (i) ^= null () 3770 then call find_use (ch_table.ch_loc (i)); 3771 3772 end; 3773 3774 cf_table_ptr = report.cf; 3775 3776 if cf_table_ptr ^= null () 3777 then do i = 0 by 1 to cf_table.cf_size; 3778 3779 if cf_table.cf_loc (i) ^= null () 3780 then call find_use (cf_table.cf_loc (i)); 3781 3782 end; 3783 current_report_loc = report.rep_next; 3784 end; 3785 end; 3786 find_rep_names: 3787 proc; /* see if names in the reports are clauses */ 3788 /* also appear in an RD clause */ 3789 declare (line, col) fixed bin; 3790 3791 do TABTAB_pos = 1 by 1 to rep_table_ptr -> qual_name.qn_size; 3792 3793 TAB_ptr = rep_table_ptr -> qual_name.qn_loc (TABTAB_pos); 3794 3795 uwl = TAB_ptr -> user_word.length; 3796 substr (uw, 1, uwl) = TAB_ptr -> user_word.word; 3797 line = TAB_ptr -> user_word.line; 3798 col = TAB_ptr -> user_word.column; 3799 3800 call is_nam_in_tab (rd_table_ptr); 3801 3802 if TAB_pos = 0 3803 then call DIAG (37, line, col); 3804 3805 end; 3806 end; 3807 3808 find_use: 3809 proc (p); /* see if a group name appears in the */ 3810 /* use before reporting table */ 3811 declare p ptr; 3812 declare (line, col, use_count) 3813 fixed bin; 3814 3815 if use_table.use_size = 0 3816 then return; 3817 3818 rt_ptr = p; 3819 line = root.rt_tok_line; 3820 col = root.rt_tok_column; 3821 use_count = 0; 3822 if root.rt_name_ptr = null () 3823 then return; 3824 do TAB_pos = 1 by 1 to use_table.use_size; 3825 3826 call compare_use_name; 3827 3828 if TAB_res 3829 then do; 3830 use_count = use_count + 1; 3831 use_table.usage_count (TAB_pos) = use_table.usage_count (TAB_pos) + 1; 3832 3833 if use_count = 1 3834 then do; 3835 root.use_proc.use_proc_name_ptr = use_table.proc_loc (TAB_pos); 3836 root.use_proc.suppress = use_table.suppress (TAB_pos); 3837 end; 3838 else do; 3839 call DIAG (61, line, col); 3840 return; 3841 end; 3842 3843 end; 3844 end; 3845 end; 3846 3847 compare_use_name: 3848 proc; 3849 3850 declare comp_count fixed bin; 3851 3852 TAB_res = "0"b; 3853 comp_count = use_table.comp_count (TAB_pos); 3854 3855 if comp_count = 1 3856 then call comp_group_name; 3857 else if comp_count = 2 3858 then do; 3859 call comp_group_name; 3860 3861 if ^TAB_res 3862 then return; 3863 3864 TAB_res = "0"b; 3865 call comp_rep_name; 3866 end; 3867 end; 3868 3869 comp_group_name: 3870 proc; 3871 3872 declare gnl fixed bin; 3873 3874 gnl = use_table.gnl (TAB_pos) - 1; 3875 3876 if gnl = root.rt_name_ptr -> user_word.length 3877 then if substr (use_table.gn_loc (TAB_pos) -> user_word.word, 2, gnl) = root.rt_name_ptr -> user_word.word 3878 then TAB_res = "1"b; 3879 end; 3880 3881 comp_rep_name: 3882 proc; 3883 3884 declare rnl fixed bin; 3885 3886 rnl = use_table.rnl (TAB_pos); 3887 3888 if rnl = report.rep_name_ptr -> user_word.length 3889 then if substr (use_table.rn_loc (TAB_pos) -> user_word.word, 1, rnl) = report.rep_name_ptr -> user_word.word 3890 then TAB_res = "1"b; 3891 end; 3892 3893 find_file: 3894 proc; 3895 3896 /* find name of file used */ 3897 /* by the report */ 3898 3899 declare i fixed bin, 3900 (p, q) ptr; 3901 3902 uwl = report.rep_name_ptr -> user_word.length; 3903 substr (uw, 1, uwl) = report.rep_name_ptr -> user_word.word; 3904 q = rep_clause_table_ptr; 3905 3906 do i = 1 by 1 to q -> qual_name.qn_size; 3907 3908 p = q -> qual_name.qn_loc (i); /*[5.1-1]*/ 3909 if p ^= null () 3910 then call is_nam_in_tab (p); 3911 else TAB_pos = 0; 3912 3913 if TAB_pos ^= 0 3914 then do; 3915 report.file_name = fd_table_ptr -> qual_name.qn_loc (i); 3916 return; 3917 end; 3918 end; 3919 3920 call DIAG (108, report.rep_tok_line, report.rep_tok_column); 3921 end; 3922 3923 3924 3925 3926 declare ioa_$rsnnl entry options (variable); 3927 3928 form_sum_name: 3929 proc; 3930 3931 declare sum_number char (4), 3932 sum_number_size fixed bin; 3933 3934 call ioa_$rsnnl ("^d", sum_number, sum_number_size, sum_ctr_ctr); 3935 3936 call get_space (user_word_size, user_word_ptr); 3937 3938 user_word_ptr -> user_word.size = user_word_size; 3939 user_word_ptr -> user_word.line = NODE.nd_tok_line; 3940 user_word_ptr -> user_word.column = NODE.nd_tok_column; 3941 user_word_ptr -> user_word.type = 8; 3942 user_word_ptr -> user_word.length = sum_number_size + 4; 3943 user_word_ptr -> user_word.word = "SUM-" || substr (sum_number, 1, sum_number_size); 3944 3945 NODE.nd_name_ptr = user_word_ptr; 3946 3947 end; 3948 3949 3950 3951 3952 3953 3954 3955 declare bit12 bit (12) based; 3956 3957 declare non_term_node_line_bits 3958 bit (non_term_node_line_size) based (NODE_line_ptr); 3959 declare term_node_line_bits bit (term_node_line_size) based (NODE_line_ptr); 3960 declare def_entry_bits bit (def_entry_size) based (def_entry_ptr); 3961 3962 /* report description chain */ 3963 3964 3965 declare 1 report_list like list_def; 3966 3967 3968 3969 3970 3971 3972 3973 3974 declare last_root_ptr ptr; 3975 3976 3977 3978 3979 3980 3981 declare 1 NODE, /* current node data */ 3982 2 nd_name_ptr ptr, 3983 2 control_name_ptr 3984 ptr, 3985 2 nd_tok_line fixed bin, 3986 2 nd_tok_column fixed bin, 3987 2 nd_level fixed bin, 3988 2 node_type fixed bin, 3989 2 next_group, 3990 3 value fixed bin, 3991 3 type fixed bin, 3992 2 line, 3993 3 value fixed bin, 3994 3 type fixed bin, 3995 2 usage_disp bit (1) unal, 3996 2 blank_zero bit (1) unal, 3997 2 group_ind bit (1) unal, 3998 2 just_right bit (1) unal, 3999 2 reset bit (1) unal, 4000 2 non_num bit (1) unal, 4001 2 sign fixed bin (4) unal unsigned, 4002 2 data_type fixed bin (2) unal unsigned, 4003 2 g_i_count fixed bin, 4004 2 rep_sum_ptr ptr, 4005 2 column, 4006 3 value fixed bin, 4007 3 type fixed bin, 4008 2 picture ptr, 4009 2 nd_loc ptr, 4010 2 rep_group_ptr ptr; 4011 4012 declare 1 QUAL_NAME (50), /* temp table, comps of qual name */ 4013 2 QN_loc ptr; 4014 4015 4016 4017 4018 4019 4020 /* structure sizes */ 4021 4022 4023 declare (root_SIZE, non_term_node_SIZE, term_node_SIZE) 4024 fixed bin; 4025 declare (list_def_SIZE, report_SIZE) 4026 fixed bin; 4027 declare list_link_SIZE fixed bin; 4028 declare (ht_entry_SIZE, def_entry_SIZE, fatal_no) 4029 fixed bin; 4030 4031 declare integer_spec_size fixed bin; 4032 declare (non_term_node_line_size, term_node_line_size) 4033 fixed bin; 4034 4035 declare cobol$alloc entry (fixed bin) returns (ptr); 4036 4037 4038 4039 4040 declare 1 ST, 4041 2 st_depth fixed bin, /* current structure depth */ 4042 2 entry (0:50), /* current structure table */ 4043 3 level fixed bin, /* level number */ 4044 3 node_ptr ptr; /* loc of node */ 4045 4046 4047 4048 4049 4050 4051 4052 4053 declare 1 reserved_word based (addr_record), 1 1 1 2 /* begin include file ... cobol_TYPE1.incl.pl1 */ 1 3 /* Last modified on 11/17/76 by ORN */ 1 4 /* Last modified on 12/28/76 by FCH */ 1 5 /* Last modified on 12/16/80 by FCH */ 1 6 1 7 /* header */ 1 8 2 size fixed bin, 1 9 2 line fixed bin, 1 10 2 column fixed bin, 1 11 2 type fixed bin, 1 12 /* body */ 1 13 2 key fixed bin, 1 14 /* procedure division class bits */ 1 15 2 verb bit (1), 1 16 2 arith_op bit (1), 1 17 2 figcon bit (1), 1 18 2 terminator bit (1), 1 19 2 end_dec bit (1), 1 20 2 rel_op bit (1), 1 21 2 imper_verb bit (1), 1 22 2 end_cobol bit (1), 1 23 /* data division class bits */ 1 24 2 section_header bit (1), 1 25 2 fs_ind bit (1), 1 26 2 fd_clause bit (1), 1 27 2 dd_clause bit (1), 1 28 2 cd_input bit (1), 1 29 2 cd_output bit (1), 1 30 2 cset_name bit (1), 1 31 2 ss_division bit (1), 1 32 2 repl_jump_ind bit (4), 1 33 2 ided_recovery bit (1), 1 34 2 report_writer bit (5), 1 35 2 ss_desc_entry bit (1), 1 36 2 jump_index fixed bin, 1 37 2 length fixed bin, 1 38 2 name char(0 refer(reserved_word.length)); 1 39 1 40 1 41 1 42 /* end include file ... cobol_TYPE1.incl.pl1 */ 1 43 4054 4055 4056 declare 1 numeric_lit based (addr_record), 2 1 2 2 /* begin include file ... cobol_TYPE2.incl.pl1 */ 2 3 /* Last modified on 12/28/76 by FCH */ 2 4 2 5 /* header */ 2 6 2 size fixed bin, 2 7 2 line fixed bin, 2 8 2 column fixed bin, 2 9 2 type fixed bin, 2 10 /* body */ 2 11 2 integral bit(1), 2 12 2 floating bit(1), 2 13 2 seg_range bit(1), 2 14 2 filler1 bit(4), 2 15 2 subscript bit(1), 2 16 2 sign char(1), 2 17 2 exp_sign char(1), 2 18 2 exp_places fixed bin, 2 19 2 places_left fixed bin, 2 20 2 places_right fixed bin, 2 21 2 places fixed bin, 2 22 2 literal char(0 refer(numeric_lit.places)); 2 23 2 24 2 25 2 26 /* end include file ... cobol_TYPE2.incl.pl1 */ 2 27 4057 4058 4059 declare 1 alphanum_lit based (addr_record), 3 1 3 2 /* begin include file ... cobol_TYPE3.incl.pl1 */ 3 3 /* Last modified on 11/17/76 by ORN */ 3 4 /* Last modified on 12/28/76 by FCH */ 3 5 3 6 /* header */ 3 7 2 size fixed bin, 3 8 2 line fixed bin, 3 9 2 column fixed bin, 3 10 2 type fixed bin, 3 11 /* body */ 3 12 2 lit_type bit (1), 3 13 2 all_lit bit (1), 3 14 2 filler1 bit (6), 3 15 2 lit_size fixed bin, 3 16 2 string char(0 refer(alphanum_lit.lit_size)); 3 17 3 18 3 19 3 20 /* end include file ... cobol_TYPE3.incl.pl1 */ 3 21 4060 4061 4 1 4 2 /* BEGIN INCLUDE FILE ... cobol_fixed_common.incl.pl1 */ 4 3 /* Modified on 10/27/82 by FCH, [5.1-1], cobol_cln added to save last line num, BUG543(phx13643) */ 4 4 /* Modified on 07/31/80 by FCH, [4.3-1], use_reporting field added for Report Writer */ 4 5 /* Modified on 03/30/79 by FCH, [4.1-1], -card option added */ 4 6 /* Modified on 03/30/79 by FCH, [4.0-2], -svNM option added */ 4 7 /* Modified on 03/02/79 by FCH, [4.0-1], -levNM option added */ 4 8 /* Modified by RAL on 10/13/78, [4.0-0], Added option exp from fil2. */ 4 9 /* Modified by BC on 06/20/77, descriptor added. */ 4 10 /* Modified by BC on 06/02/77, init_cd_seg, init_cd_offset added. */ 4 11 /* Modified by BC on 1/21/77, options.profile added. */ 4 12 /* Modified by FCH on 7/6/76, sysin_fno & sysout_fno deleted, accept_device & display_device added */ 4 13 /* Modified by FCH on 5/20/77, comp_level added */ 4 14 4 15 4 16 /* THE SIZE OF THIS STRUCTURE IN BYTES, (EXCLUDING VARIABLE 4 17* LENGTH ENTITIES), FOR EACH HARDWARE IMPLEMENTATION IS: 4 18* 4 19* HARDWARE | SIZE (BYTES) 4 20* --------------------------------- 4 21* 645/6180 | 464 4 22* P7 | 396 4 23* --------------------------------- 4 24* */ 4 25 4 26 dcl 1 fixed_common based ( cobol_com_ptr), 4 27 2 prog_name char (30), 4 28 2 compiler_rev_no char (25), 4 29 2 phase_name char (6), 4 30 2 currency char (1), 4 31 2 fatal_no fixed bin, 4 32 2 warn_no fixed bin, 4 33 2 proc_counter fixed bin, 4 34 2 spec_tag_counter fixed bin, 4 35 2 file_count fixed bin, 4 36 2 filedescr_offsets (20) char (5), 4 37 2 perf_alter_info char (5), 4 38 2 another_perform_info char (5), 4 39 2 sort_in_info char (5), 4 40 2 odo_info char (5), 4 41 2 size_seg fixed bin, 4 42 2 size_offset fixed bin(24), 4 43 2 size_perform_info char (5), 4 44 2 rename_info char (5), 4 45 2 report_names char (5), 4 46 2 rw_buf_seg fixed bin, 4 47 2 rw_buf_offset fixed bin(24), 4 48 2 rw_buf_length fixed bin(24), 4 49 2 file_keys char (5), 4 50 2 search_keys char (5), 4 51 2 dd_seg_size fixed bin(24), 4 52 2 pd_seg_size fixed bin(24), 4 53 2 seg_limit fixed bin , 4 54 2 number_of_dd_segs fixed bin, 4 55 2 seg_info char (5), 4 56 2 number_of_ls_pointers fixed bin, 4 57 2 link_sec_seg fixed bin, 4 58 2 link_sec_offset fixed bin(24), 4 59 2 sra_clauses fixed bin, 4 60 2 fix_up_info char (5), 4 61 2 linage_info char (5), 4 62 2 first_dd_item char (5), 4 63 2 sort_out_info char (5), 4 64 2 db_info char (5), 4 65 2 realm_info char (5), 4 66 2 rc_realm_info char (5), 4 67 2 last_file_key char (5), 4 68 2 prog_coll_seq fixed bin, 4 69 2 init_cd_seg fixed bin, 4 70 2 init_cd_offset fixed bin(24), 4 71 2 input_error_exit fixed bin, 4 72 2 output_error_exit fixed bin, 4 73 2 i_o_error_exit fixed bin, 4 74 2 extend_error_exit fixed bin, 4 75 2 dummy15 fixed bin, 4 76 2 options, 4 77 3 cu bit (1), 4 78 3 st bit (1), 4 79 3 wn bit (1), 4 80 3 obs bit (1), 4 81 3 dm bit (1), 4 82 3 xrl bit (1), 4 83 3 xrn bit (1), 4 84 3 src bit (1), 4 85 3 obj bit (1), 4 86 3 exs bit (1), 4 87 3 sck bit (1), 4 88 3 rno bit (1), 4 89 3 u_l bit (1), 4 90 3 cnv bit (1), 4 91 3 cos bit (1), 4 92 3 fmt bit (1), 4 93 3 profile bit(1), 4 94 3 nw bit (1), 4 95 3 exp bit (1), /* [4.0-0] */ 4 96 3 card bit (1), /*[4.1-1]*/ 4 97 3 fil2 bit (5), 4 98 3 m_map bit (1), 4 99 3 m_bf bit (1), 4 100 3 m_fat bit (1), 4 101 3 m_wn bit (1), 4 102 3 m_obs bit(1), 4 103 3 pd bit(1), 4 104 3 oc bit(1), 4 105 2 supervisor bit (1), 4 106 2 dec_comma bit (1), 4 107 2 init_cd bit (1), 4 108 2 corr bit (1), 4 109 2 initl bit (1), 4 110 2 debug bit (1), 4 111 2 report bit (1), 4 112 2 sync_in_prog bit (1), 4 113 2 pd_section bit (1), 4 114 2 list_switch bit (1), 4 115 2 alpha_cond bit (1), 4 116 2 num_cond bit (1), 4 117 2 spec_sysin bit (1), 4 118 2 spec_sysout bit (1), 4 119 2 cpl_files bit (1), 4 120 2 obj_dec_comma bit (1), 4 121 2 default_sign_type bit (3), 4 122 2 use_debug bit(1), 4 123 2 syntax_trace bit(1), 4 124 2 comp_defaults, 4 125 3 comp bit(1), 4 126 3 comp_1 bit(1), 4 127 3 comp_2 bit(1), 4 128 3 comp_3 bit(1), 4 129 3 comp_4 bit(1), 4 130 3 comp_5 bit(1), 4 131 3 comp_6 bit(1), 4 132 3 comp_7 bit(1), 4 133 3 comp_8 bit(1), 4 134 2 disp_defaults, 4 135 3 disp bit(1), 4 136 3 disp_1 bit(1), 4 137 3 disp_2 bit(1), 4 138 3 disp_3 bit(1), 4 139 3 disp_4 bit(1), 4 140 3 disp_5 bit(1), 4 141 3 disp_6 bit(1), 4 142 3 disp_7 bit(1), 4 143 2 descriptor bit(2), 4 144 2 levsv bit(3), /*[4.0-1]*/ 4 145 2 use_reporting bit(1), /*[4.3-1]*/ 4 146 2 cd bit(1), /*[4.4-1]*/ 4 147 2 dummy17 bit(3), 4 148 2 lvl_rstr bit(32), 4 149 2 inst_rstr bit(32), 4 150 2 comp_level char(1), 4 151 2 dummy18 char(30), 4 152 2 object_sign char (1), 4 153 2 last_print_rec char (5), 4 154 2 coll_seq_info char (5), 4 155 2 sys_status_seg fixed bin, 4 156 2 sys_status_offset fixed bin(24), 4 157 2 compiler_id fixed bin, 4 158 2 date_comp_ln fixed bin, 4 159 2 compile_mode bit(36), 4 160 2 default_temp fixed bin, 4 161 2 accept_device fixed bin, 4 162 2 display_device fixed bin, 4 163 2 cobol_cln fixed bin, /*[5.1-1]*/ 4 164 2 alphabet_offset fixed bin; 4 165 4 166 4 167 4 168 /* END INCLUDE FILE ... cobol_fixed_common.incl.pl1 */ 4 169 4062 5 1 5 2 /* BEGIN INCLUDE FILE ... cobol_ext_.incl.pl1 */ 5 3 /* Last modified on 06/17/76 by ORN */ 5 4 /* Last modified on 12/28/76 by FCH */ 5 5 /* Last modified on 12/01/80 by FCH */ 5 6 5 7 /* <<< SHARED EXTERNALS INCLUDE FILE >>> */ 5 8 5 9 5 10 dcl cobol_ext_$cobol_afp ptr ext; 5 11 dcl cobol_afp ptr defined ( cobol_ext_$cobol_afp); 5 12 dcl cobol_ext_$cobol_analin_fileno ptr ext; 5 13 dcl cobol_analin_fileno ptr defined ( cobol_ext_$cobol_analin_fileno); 5 14 dcl cobol_ext_$report_first_token ptr ext; 5 15 dcl report_first_token ptr defined( cobol_ext_$report_first_token); 5 16 dcl cobol_ext_$report_last_token ptr ext; 5 17 dcl report_last_token ptr defined ( cobol_ext_$report_last_token); 5 18 dcl cobol_ext_$cobol_eltp ptr ext; 5 19 dcl cobol_eltp ptr defined ( cobol_ext_$cobol_eltp); 5 20 dcl cobol_ext_$cobol_cmfp ptr ext; 5 21 dcl cobol_cmfp ptr defined ( cobol_ext_$cobol_cmfp); 5 22 dcl cobol_ext_$cobol_com_fileno ptr ext; 5 23 dcl cobol_com_fileno ptr defined ( cobol_ext_$cobol_com_fileno); 5 24 dcl cobol_ext_$cobol_com_ptr ptr ext; 5 25 dcl cobol_com_ptr ptr defined ( cobol_ext_$cobol_com_ptr); 5 26 dcl cobol_ext_$cobol_dfp ptr ext; 5 27 dcl cobol_dfp ptr defined ( cobol_ext_$cobol_dfp); 5 28 dcl cobol_ext_$cobol_hfp ptr ext; 5 29 dcl cobol_hfp ptr defined ( cobol_ext_$cobol_hfp); 5 30 dcl cobol_ext_$cobol_m1fp ptr ext; 5 31 dcl cobol_m1fp ptr defined ( cobol_ext_$cobol_m1fp); 5 32 dcl cobol_ext_$cobol_m2fp ptr ext; 5 33 dcl cobol_m2fp ptr defined ( cobol_ext_$cobol_m2fp); 5 34 dcl cobol_ext_$cobol_min1_fileno ptr ext; 5 35 dcl cobol_min1_fileno ptr defined ( cobol_ext_$cobol_min1_fileno); 5 36 dcl cobol_ext_$cobol_min2_fileno_ptr ptr ext; 5 37 dcl cobol_min2_fileno_ptr ptr defined ( cobol_ext_$cobol_min2_fileno_ptr); 5 38 dcl cobol_ext_$cobol_name_fileno ptr ext; 5 39 dcl cobol_name_fileno ptr defined ( cobol_ext_$cobol_name_fileno); 5 40 dcl cobol_ext_$cobol_name_fileno_ptr ptr ext; 5 41 dcl cobol_name_fileno_ptr ptr defined ( cobol_ext_$cobol_name_fileno_ptr); 5 42 dcl cobol_ext_$cobol_ntfp ptr ext; 5 43 dcl cobol_ntfp ptr defined ( cobol_ext_$cobol_ntfp); 5 44 dcl cobol_ext_$cobol_pdofp ptr ext; 5 45 dcl cobol_pdofp ptr defined ( cobol_ext_$cobol_pdofp); 5 46 dcl cobol_ext_$cobol_pfp ptr ext; 5 47 dcl cobol_pfp ptr defined ( cobol_ext_$cobol_pfp); 5 48 dcl cobol_ext_$cobol_rm2fp ptr ext; 5 49 dcl cobol_rm2fp ptr defined ( cobol_ext_$cobol_rm2fp); 5 50 dcl cobol_ext_$cobol_rmin2fp ptr ext; 5 51 dcl cobol_rmin2fp ptr defined ( cobol_ext_$cobol_rmin2fp); 5 52 dcl cobol_ext_$cobol_curr_in ptr ext; 5 53 dcl cobol_curr_in ptr defined ( cobol_ext_$cobol_curr_in); 5 54 dcl cobol_ext_$cobol_curr_out ptr ext; 5 55 dcl cobol_curr_out ptr defined ( cobol_ext_$cobol_curr_out); 5 56 dcl cobol_ext_$cobol_sfp ptr ext; 5 57 dcl cobol_sfp ptr defined ( cobol_ext_$cobol_sfp); 5 58 dcl cobol_ext_$cobol_w1p ptr ext; 5 59 dcl cobol_w1p ptr defined ( cobol_ext_$cobol_w1p); 5 60 dcl cobol_ext_$cobol_w2p ptr ext; 5 61 dcl cobol_w2p ptr defined ( cobol_ext_$cobol_w2p); 5 62 dcl cobol_ext_$cobol_w3p ptr ext; 5 63 dcl cobol_w3p ptr defined ( cobol_ext_$cobol_w3p); 5 64 dcl cobol_ext_$cobol_w5p ptr ext; 5 65 dcl cobol_w5p ptr defined ( cobol_ext_$cobol_w5p); 5 66 dcl cobol_ext_$cobol_w6p ptr ext; 5 67 dcl cobol_w6p ptr defined ( cobol_ext_$cobol_w6p); 5 68 dcl cobol_ext_$cobol_w7p ptr ext; 5 69 dcl cobol_w7p ptr defined ( cobol_ext_$cobol_w7p); 5 70 dcl cobol_ext_$cobol_x3fp ptr ext; 5 71 dcl cobol_x3fp ptr defined ( cobol_ext_$cobol_x3fp); 5 72 dcl cobol_ext_$cobol_rwdd ptr ext; 5 73 dcl cobol_rwdd ptr defined(cobol_ext_$cobol_rwdd); 5 74 dcl cobol_ext_$cobol_rwpd ptr ext; 5 75 dcl cobol_rwpd ptr defined(cobol_ext_$cobol_rwpd); 5 76 5 77 5 78 dcl cobol_ext_$cobol_fileno1 fixed bin(24)ext; 5 79 dcl cobol_fileno1 fixed bin(24)defined ( cobol_ext_$cobol_fileno1); 5 80 dcl cobol_ext_$cobol_options_len fixed bin(24)ext; 5 81 dcl cobol_options_len fixed bin(24)defined ( cobol_ext_$cobol_options_len); 5 82 dcl cobol_ext_$cobol_pdout_fileno fixed bin(24)ext; 5 83 dcl cobol_pdout_fileno fixed bin(24)defined ( cobol_ext_$cobol_pdout_fileno); 5 84 dcl cobol_ext_$cobol_print_fileno fixed bin(24)ext; 5 85 dcl cobol_print_fileno fixed bin(24)defined ( cobol_ext_$cobol_print_fileno); 5 86 dcl cobol_ext_$cobol_rmin2_fileno fixed bin(24)ext; 5 87 dcl cobol_rmin2_fileno fixed bin(24)defined ( cobol_ext_$cobol_rmin2_fileno); 5 88 dcl cobol_ext_$cobol_x1_fileno fixed bin(24)ext; 5 89 dcl cobol_x1_fileno fixed bin(24)defined ( cobol_ext_$cobol_x1_fileno); 5 90 dcl cobol_ext_$cobol_x2_fileno fixed bin(24)ext; 5 91 dcl cobol_x2_fileno fixed bin(24)defined ( cobol_ext_$cobol_x2_fileno); 5 92 dcl cobol_ext_$cobol_x3_fileno fixed bin(24)ext; 5 93 dcl cobol_x3_fileno fixed bin(24)defined ( cobol_ext_$cobol_x3_fileno); 5 94 5 95 dcl cobol_ext_$cobol_lpr char (5) ext; 5 96 dcl cobol_lpr char (5) defined ( cobol_ext_$cobol_lpr); /* -2- */ 5 97 dcl cobol_ext_$cobol_options char (120) ext; 5 98 dcl cobol_options char (120) defined ( cobol_ext_$cobol_options); /* -30- */ 5 99 5 100 dcl cobol_ext_$cobol_xlast8 bit (1) ext; 5 101 dcl cobol_xlast8 bit (1) defined ( cobol_ext_$cobol_xlast8); /* -1- */ 5 102 dcl cobol_ext_$report_exists bit (1) ext; 5 103 dcl report_exists bit (1) defined ( cobol_ext_$report_exists); 5 104 5 105 5 106 /* <<< END OF SHARED EXTERNALS INCLUDE FILE >>> */ 5 107 /* END INCLUDE FILE ... cobol_ext_.incl.pl1 */ 5 108 4063 6 1 6 2 /* begin include file ...cobol_report_writer.incl.pl1 */ 6 3 /* Modified since Version 5.0 */ 6 4 6 5 declare 1 list_link based(list_link_ptr), 6 6 2 next ptr, 6 7 2 loc ptr; 6 8 6 9 6 10 declare list_link_ptr ptr; 6 11 6 12 6 13 6 14 declare 1 list_def based(list_def_ptr), 6 15 2 first ptr, /* first elem */ 6 16 2 last ptr, /* last_elem */ 6 17 2 count fixed bin; /* elem count */ 6 18 6 19 6 20 declare list_def_ptr ptr; 6 21 6 22 6 23 6 24 6 25 declare 1 integer_spec based(integer_spec_ptr), 6 26 2 first ptr, /* first token */ 6 27 2 last ptr, /* last token */ 6 28 2 count fixed bin, /* value */ 6 29 2 type fixed bin; /* 0(missing)1(integer)2(ae) */ 6 30 6 31 declare integer_spec_ptr ptr; 6 32 6 33 /* report description */ 6 34 6 35 declare 1 report based(current_report_loc), 6 36 2 rep_next ptr, 6 37 2 rep_up ptr, /* parent, null() */ 6 38 2 rep_tok_line fixed bin, 6 39 2 rep_tok_column fixed bin, 6 40 2 rep_type fixed bin, /* 0 */ 6 41 2 rep_level fixed bin, /* 0 */ 6 42 2 rep_name_ptr ptr, /* report name */ 6 43 2 code char(32) varying, /* CODE clause */ 6 44 2 page /* PAGE clause */ 6 45 like integer_spec, 6 46 2 heading /* HEADING clause */ 6 47 like integer_spec, 6 48 2 first_detail /* FIRST DETAIL clause */ 6 49 like integer_spec, 6 50 2 last_detail /* LAST DETAIL clause */ 6 51 like integer_spec, 6 52 2 footing /* FOOTING clause */ 6 53 like integer_spec, 6 54 2 file_name ptr, /* report file name */ 6 55 2 rep_sum_ptr ptr, 6 56 2 controls, 6 57 3 loc ptr, 6 58 3 final bit(1), 6 59 2 g_i_count fixed bin, 6 60 2 rh ptr, /* RH group */ 6 61 2 rf ptr, /* RF group */ 6 62 2 ph ptr, /* PH group */ 6 63 2 pf ptr, /* PF group */ 6 64 6 65 2 de ptr, /* DE table */ 6 66 2 ch ptr, /* CH table */ 6 67 2 cf ptr, /* CF table */ 6 68 2 rep_num fixed bin, 6 69 2 indicators, 6 70 3 ng_exists bit(1); /* "1"b if group has NEXT GROUP clause */ 6 71 6 72 6 73 declare current_report_loc ptr; 6 74 6 75 6 76 6 77 6 78 /* root node */ 6 79 6 80 declare 1 root based(rt_ptr), /* report group descr */ 6 81 2 rt_next ptr, 6 82 2 rt_up ptr, /* parent chain */ 6 83 2 rt_tok_line fixed bin, 6 84 2 rt_tok_column fixed bin, 6 85 2 rt_type fixed bin, /* 3 */ 6 86 2 rt_level fixed bin, 6 87 2 rt_name_ptr ptr, /* report group name */ 6 88 2 line, /* LINE clause */ 6 89 3 value fixed bin, 6 90 3 type fixed bin, 6 91 /* 0(missing)1(integer)2(PLUS integer)3(PAGE integer) */ 6 92 6 93 2 next_group, /* NEXT GROUP clause */ 6 94 3 value fixed bin, 6 95 3 type fixed bin, 6 96 /*0(missing)1(NEXT PAGE),2(integer),3(PLUS integer)*/ 6 97 2 use_proc, 6 98 3 use_proc_name_ptr ptr, /* loc of use proc name */ 6 99 3 suppress bit(1), /* SUPPRESS PRINTING */ 6 100 6 101 6 102 2 group_type fixed bin, 6 103 6 104 /* 1(RH), 2(PH), 3(CH), 4(DE), 5(CF), 6(PF), 7(RF) */ 6 105 6 106 2 field_table_ptr ptr, /* field table loc */ 6 107 2 line_table_ptr ptr, /* line table loc */ 6 108 2 group_desc, 6 109 3 type fixed bin, /*0(missing)1(abs)2(rel)3(page)*/ 6 110 3 line fixed bin, /* i1(page,abs),j1(rel)*/ 6 111 3 size fixed bin, /* first line to last line */ 6 112 2 group_number fixed bin, /* group number */ 6 113 2 usage_disp bit(1) unal, 6 114 2 nodes /* report group nodes */ 6 115 like list_def; 6 116 6 117 6 118 declare rt_ptr ptr; 6 119 6 120 6 121 6 122 6 123 /* non_terminal node */ 6 124 6 125 declare 1 non_term_node based(ntn_ptr), /* non-terminal node */ 6 126 2 ntn_next ptr, 6 127 2 ntn_up ptr, /* parent chain */ 6 128 2 ntn_tok_line fixed bin, 6 129 2 ntn_tok_column fixed bin, 6 130 2 ntn_type fixed bin, /* 1 */ 6 131 2 ntn_level fixed bin, /* ntn_level number */ 6 132 2 ntn_name_ptr ptr, /* node name */ 6 133 2 LINE 6 134 like non_term_node_line; 6 135 6 136 6 137 declare ntn_ptr ptr; 6 138 6 139 6 140 6 141 6 142 declare 1 non_term_node_line based, 6 143 2 line, /* LINE clause */ 6 144 3 value fixed bin, 6 145 3 type fixed bin, 6 146 6 147 /* 0(missing)1(integer)2(PLUS integer)3(PAGE integer) */ 6 148 6 149 2 usage_disp bit(1) unal; /* USAGE clause */ 6 150 6 151 6 152 /* terminal node */ 6 153 6 154 6 155 declare 1 term_node based(tn_ptr), /* terminal node */ 6 156 2 tn_next ptr, 6 157 2 tn_up ptr, /* parent ptr */ 6 158 2 tn_tok_line fixed bin, 6 159 2 tn_tok_column fixed bin, 6 160 2 tn_type fixed bin, /* 2 */ 6 161 2 tn_level fixed bin, /* level number */ 6 162 2 tn_name_ptr ptr, /* node tn_name */ 6 163 2 LINE 6 164 like term_node_line; 6 165 6 166 6 167 declare tn_ptr ptr; 6 168 6 169 declare 1 term_node_line based, 6 170 2 line, /* LINE clause */ 6 171 3 value fixed bin, 6 172 3 type fixed bin, 6 173 /* 0(missing)1(integer)2(PLUS integer)3(PAGE integer) */ 6 174 6 175 2 usage_disp bit(1) unal, /* USAGE clause */ 6 176 2 blank_zero bit(1) unal, /* BLANK clause */ 6 177 2 group_ind bit(1) unal, /* GROUP INDICATE clause */ 6 178 2 just_right bit(1) unal, /* JUSTIFIED clause */ 6 179 2 reset bit(1) unal, 6 180 2 non_num bit(1) unal, 6 181 2 sign fixed bin(4) unal unsigned, 6 182 /* 0(missing)1(leading)2(trailing)3(leading sep)4(trailing sep) */ /* SIGN clause */ 6 183 2 data_type fixed bin(2) unal unsigned, 6 184 /* 0(missing)1(SOURCE)2(VALUE)3(SUM) */ 6 185 2 g_i_count fixed bin, /* group indicate number */ 6 186 2 rep_sum_ptr ptr, /* sum counter chain for the report */ 6 187 2 column, /* COLUMN clause */ 6 188 3 value fixed bin, /* lexeme defining integer */ 6 189 3 type fixed bin, 6 190 6 191 /* 0(missing)1(integer)2(PLUS integer) */ 6 192 6 193 2 picture ptr, /* PICTURE clause */ 6 194 2 nd_loc ptr, /* source-sum-value clause */ 6 195 2 rep_group_ptr ptr; /* loc of group node */ 6 196 6 197 6 198 /* CH table */ 6 199 6 200 declare 1 ch_table based(ch_table_ptr), 6 201 2 ch_size fixed bin, 6 202 2 entry(0: ch_table_size refer(ch_table.ch_size)), 6 203 3 ch_loc ptr, /* node defining CH group */ 6 204 3 ch_sum_chain ptr, 6 205 3 ch_crossfoot 6 206 like list_def, 6 207 3 ch_rollfwd 6 208 like list_def, 6 209 3 ch_reset 6 210 like list_def, 6 211 6 212 3 ch_sum_name_seq_ptr ptr; 6 213 6 214 declare ch_table_ptr ptr; 6 215 declare ch_table_size fixed bin; 6 216 6 217 6 218 /* CF table */ 6 219 6 220 declare 1 cf_table based(cf_table_ptr), 6 221 2 cf_size fixed bin, 6 222 2 entry(0:cf_table_size refer(cf_table.cf_size)), 6 223 3 cf_loc ptr, /* node defining CF group */ 6 224 3 cf_sum_chain ptr, /* sum counter chain */ 6 225 3 cf_crossfoot 6 226 like list_def, 6 227 3 cf_rollfwd 6 228 like list_def, 6 229 3 cf_reset 6 230 like list_def, 6 231 3 cf_sum_name_seq_ptr ptr; /* seq of sum ctr names */ 6 232 6 233 declare cf_table_ptr ptr; 6 234 declare cf_table_size fixed bin; 6 235 6 236 6 237 /* de table */ 6 238 6 239 6 240 declare 1 de_table based(de_table_ptr), 6 241 2 det_name_seq_ptr ptr, /* seq of de group names */ 6 242 2 det_subtot_all 6 243 like list_def, 6 244 2 det_size fixed bin, 6 245 2 entry(de_table_size refer(de_table.det_size)), 6 246 3 det_loc ptr, 6 247 3 det_subtot 6 248 like list_def; 6 249 6 250 declare de_table_ptr ptr; 6 251 declare de_table_size fixed bin; 6 252 6 253 6 254 /* group table */ 6 255 6 256 6 257 6 258 /* line table */ 6 259 6 260 declare 1 LINE_table based(LINE_table_ptr), 6 261 2 LT_size fixed bin, 6 262 2 LT(line_table_size refer(LINE_table.LT_size)), 6 263 3 LT_first_field fixed bin, /* field table entry, first field */ 6 264 3 LT_field_count fixed bin, /* field count */ 6 265 3 LT_line_size fixed bin, /* size of the line */ 6 266 3 LT_line_num fixed bin; /* pos(abs), neg(rel) */ 6 267 6 268 6 269 declare LINE_table_ptr ptr; 6 270 declare line_table_size fixed bin; 6 271 6 272 /* field table */ 6 273 6 274 declare 1 FIELD_table based(FIELD_table_ptr), 6 275 2 FT_size fixed bin, 6 276 2 FT(field_table_size refer(FIELD_table.FT_size)), 6 277 3 FT_loc ptr, /* node defining field */ 6 278 3 FT_field_pos fixed bin, /* abs col num if printable */ 6 279 3 FT_field_size fixed bin, /* size(pic and sign) */ 6 280 3 FT_left_fill_size fixed bin; /* pos(rel), neg(abs) */ 6 281 6 282 6 283 declare FIELD_table_ptr ptr; 6 284 declare field_table_size fixed bin; 6 285 6 286 /* qual name */ 6 287 6 288 6 289 6 290 6 291 declare 1 qual_name based(qual_name_ptr), /* descr of qual name */ 6 292 2 qn_size fixed bin, /* count of comps */ 6 293 2 qn_loc(qual_name_size refer(qual_name.qn_size)) ptr; 6 294 6 295 declare qual_name_size fixed bin; 6 296 declare qual_name_ptr ptr; 6 297 6 298 6 299 6 300 6 301 /* qual name sequence */ 6 302 6 303 6 304 6 305 declare 1 qual_name_seq based(qual_name_seq_ptr), 6 306 2 qns_size fixed bin, 6 307 2 qns_loc(qual_name_seq_size refer(qual_name_seq.qns_size)) ptr; 6 308 6 309 declare qual_name_seq_size fixed bin; 6 310 declare qual_name_seq_ptr ptr; 6 311 6 312 /* sum counter chain entry */ 6 313 6 314 declare 1 sum based(sum_ptr), 6 315 2 sum_next ptr, 6 316 2 sum_loc ptr, 6 317 2 sum_qn_ptr ptr; 6 318 6 319 declare sum_SIZE fixed bin; 6 320 declare sum_ptr ptr; 6 321 6 322 6 323 /* def of identifier */ 6 324 6 325 declare 1 ident based(ident_ptr), 6 326 2 id_name_loc ptr, /* def of qual id_name */ 6 327 2 subscripts 6 328 like list_def; 6 329 6 330 declare ident_ptr ptr; 6 331 declare ident_SIZE fixed bin; 6 332 6 333 6 334 6 335 6 336 /* sum_counter def */ 6 337 6 338 declare 1 sum_counter based(sum_counter_ptr), 6 339 2 sct_reset_loc ptr, /* def of RESET clause */ 6 340 2 sct_size fixed bin, /* count of SUM clauses */ 6 341 2 sct_loc(sum_counter_size refer(sum_counter.sct_size)) ptr; 6 342 6 343 declare sum_counter_size fixed bin; 6 344 declare sum_counter_ptr ptr; 6 345 6 346 declare sum_counter_lifo_ptr ptr; 6 347 6 348 6 349 6 350 /* def of sum clause */ 6 351 6 352 6 353 declare 1 sum_clause based(sum_clause_ptr), 6 354 2 sc_upon_loc ptr, /* def of UPON clause */ 6 355 2 sc_size fixed bin, /* ident count */ 6 356 2 sc_loc(sum_clause_size refer(sum_clause.sc_size)) ptr; 6 357 6 358 declare sum_clause_size fixed bin; 6 359 declare sum_clause_ptr ptr; 6 360 declare sum_clause_lifo_ptr ptr; 6 361 6 362 /* upon clause */ 6 363 6 364 declare 1 upon_clause based(upon_clause_ptr), 6 365 2 upon_size fixed bin, 6 366 2 upon_loc(0 refer(upon_clause.upon_size)) ptr; 6 367 6 368 declare upon_clause_ptr ptr; 6 369 6 370 /* reset clause description */ 6 371 6 372 declare 1 reset_clause based(reset_clause_ptr), 6 373 2 rc_loc ptr, 6 374 2 rc_final bit(1); 6 375 6 376 declare reset_clause_ptr ptr; 6 377 declare reset_clause_SIZE fixed bin; 6 378 6 379 /* reset chain entry */ 6 380 6 381 declare 1 reset_chain_entry based(reset_chain_entry_ptr) 6 382 like list_link; 6 383 6 384 declare reset_chain_entry_ptr ptr; 6 385 declare reset_chain_entry_SIZE fixed bin; 6 386 6 387 /* chain entry */ 6 388 6 389 6 390 declare 1 chain_entry based(chain_entry_ptr), 6 391 2 ce_next ptr, 6 392 2 ce_loc ptr, /* addend loc */ 6 393 2 ce_sum_loc ptr; /* sum counter loc */ 6 394 6 395 declare chain_entry_ptr ptr; 6 396 declare chain_entry_SIZE fixed bin; 6 397 6 398 6 399 declare 1 picture based(addr_record), 6 400 2 size fixed bin, 6 401 2 line fixed bin, 6 402 2 column fixed bin, 6 403 2 type fixed bin, 6 404 2 length fixed bin, 6 405 2 string char(0 refer(picture.length)); 6 406 6 407 declare (sum_ctr_ctr , user_word_size) fixed bin; 6 408 declare user_word_ptr ptr; 6 409 6 410 declare 1 user_word based(addr_record), 6 411 2 size fixed bin, 6 412 2 line fixed bin, 6 413 2 column fixed bin, 6 414 2 type fixed bin, 6 415 2 info bit(8), 6 416 2 length fixed bin, 6 417 2 word char(0 refer(user_word.length)); 6 418 6 419 /* end include file ... cobol_report_writer.incl.pl1 */ 4064 4065 4066 end cobol_report_writer; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 05/24/89 0835.4 cobol_report_writer.pl1 >spec>install>MR12.3-1048>cobol_report_writer.pl1 4054 1 11/11/82 1712.8 cobol_TYPE1.incl.pl1 >ldd>include>cobol_TYPE1.incl.pl1 4057 2 11/11/82 1712.8 cobol_TYPE2.incl.pl1 >ldd>include>cobol_TYPE2.incl.pl1 4060 3 11/11/82 1712.8 cobol_TYPE3.incl.pl1 >ldd>include>cobol_TYPE3.incl.pl1 4062 4 11/11/82 1712.8 cobol_fixed_common.incl.pl1 >ldd>include>cobol_fixed_common.incl.pl1 4063 5 03/27/82 0431.3 cobol_ext_.incl.pl1 >ldd>include>cobol_ext_.incl.pl1 4064 6 03/27/82 0431.5 cobol_report_writer.incl.pl1 >ldd>include>cobol_report_writer.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. AA based fixed bin(17,0) array dcl 1987 set ref 2011 CT based fixed bin(17,0) array dcl 178 set ref 407 DIAG_NUM 000542 automatic fixed bin(17,0) dcl 212 set ref 124* 267* 278* 281* 346 346* FIELD_table based structure level 1 unaligned dcl 6-274 set ref 2245 2245 FIELD_table_ptr 001606 automatic pointer dcl 6-283 set ref 2245 2245 2245* 2248 2282 2285 2596 2597 2598 2599 FIND_ctr 000675 automatic fixed bin(17,0) dcl 2044 set ref 2060* 2062* 2111 FIND_name_ptr 000670 automatic pointer dcl 2042 set ref 2055* 2095 2098 2119 FIND_ptr 000666 automatic pointer dcl 2042 set ref 2062* 2101 2103 FIND_seq_ptr 000672 automatic pointer dcl 2042 set ref 2056* 2060 2062 FT 2 based structure array level 2 unaligned dcl 6-274 FT_field_pos 4 based fixed bin(17,0) array level 3 dcl 6-274 set ref 2597* FT_field_size 5 based fixed bin(17,0) array level 3 dcl 6-274 set ref 2598* FT_left_fill_size 6 based fixed bin(17,0) array level 3 dcl 6-274 set ref 2599* FT_loc 2 based pointer array level 3 dcl 6-274 set ref 2596* FT_size based fixed bin(17,0) level 2 dcl 6-274 set ref 2248* 2285* LINE 12 based structure level 2 in structure "non_term_node" unaligned dcl 6-125 in procedure "cobol_report_writer" LINE 000715 automatic fixed bin(17,0) dcl 2221 in procedure "cobol_report_writer" set ref 2255* 2276 2366* 2390* 2422* LINE 12 based structure level 2 in structure "term_node" unaligned dcl 6-155 in procedure "cobol_report_writer" LINE_table based structure level 1 unaligned dcl 6-260 set ref 2244 2244 LINE_table_ptr 001602 automatic pointer dcl 6-269 set ref 2244 2244 2244* 2247 2283 2286 2338 2338 2338 2338 2456 2457 2467 2581 LT 1 based structure array level 2 unaligned dcl 6-260 LT_field_count 2 based fixed bin(17,0) array level 3 dcl 6-260 set ref 2338* 2456* LT_first_field 1 based fixed bin(17,0) array level 3 dcl 6-260 set ref 2338* 2581* LT_line_num 4 based fixed bin(17,0) array level 3 dcl 6-260 set ref 2338* 2467* LT_line_size 3 based fixed bin(17,0) array level 3 dcl 6-260 set ref 2338* 2457* LT_size based fixed bin(17,0) level 2 dcl 6-260 set ref 2247* 2286* NODE 001026 automatic structure level 1 unaligned dcl 3981 NODE_line_ptr 000614 automatic pointer dcl 591 set ref 101* 1559 1570 PIC 000010 internal static structure level 1 unaligned dcl 2488 set ref 2498 QN_loc 001056 automatic pointer array level 2 dcl 4012 set ref 958 QUAL_NAME 001056 automatic structure array level 1 unaligned dcl 4012 set ref 1457* SIZE 000716 automatic fixed bin(17,0) dcl 2221 set ref 2255* 2272* 2272 2277 2371* 2371 2393* 2393 2396* 2396 2401* 2401 2404* 2404 2425* 2425 ST 001234 automatic structure level 1 unaligned dcl 4040 TABTAB_pos 000774 automatic fixed bin(17,0) dcl 3380 set ref 3791* 3793* TAB_pos 000770 automatic fixed bin(17,0) dcl 3380 set ref 3466* 3468* 3489 3554* 3566* 3585* 3591* 3680* 3684 3685 3686* 3697 3707 3708 3709 3725 3726 3727 3802 3824* 3831 3831 3835 3836* 3853 3874 3876 3886 3888 3911* 3913 TAB_ptr 000772 automatic pointer dcl 3380 set ref 3793* 3795 3796 3797 3798 TAB_res 000771 automatic bit(1) packed unaligned dcl 3380 set ref 3476 3487* 3496* 3828 3852* 3861 3864* 3876* 3888* TYPE 000714 automatic fixed bin(17,0) dcl 2221 set ref 2255* 2275 2365* 2389* 2421* a_num 4 based fixed bin(17,0) level 2 dcl 167 set ref 255* 260 271 277 aa_cap 3 000662 automatic fixed bin(17,0) level 2 dcl 1989 set ref 105* 2014 aa_loc 000662 automatic pointer level 2 dcl 1989 set ref 103* 2011 2017* aa_size 2 000662 automatic fixed bin(17,0) level 2 dcl 1989 set ref 104* 2011 2012* 2012 2014 2018* act_num 000543 automatic fixed bin(17,0) dcl 212 set ref 271* 282* 288 addend_level 000755 automatic fixed bin(17,0) dcl 3190 set ref 2911 2914 2914 2914 2916 2916 3234* addr builtin function dcl 63 ref 99 101 115 126 234 364 407 435 465 519 712 1559 1570 2011 2498 2500 2914 2914 2916 2916 2919 2919 2946 2946 3000 3000 addr_record 2 000130 automatic pointer level 2 dcl 192 set ref 239 245 299 300 399 402 414 415 439 439 488 489 517* 519* 699 702 728 729 790 919 976 1021 1102 1103 1120 1129 1130 1168 1204 1205 1255 1457 1473 1735 1742 1784 1793 1798 1798 1801 1806 1807 1814 1823 1832 1837 1844 1853 1853 1860 1863 1863 1866 1870 1870 1878 1905 1910 1917 1926 1931 1938 1943 1947 3444 3468* 3469 3470 3471 3472 3491* 3493 3493 3606 3611 3625 3630 3650 3699 3702 3707 3708 3712 3715 3715 3720 3725 3726 ae 000652 automatic structure level 1 unaligned dcl 1250 set ref 99 ae_addr 000642 automatic pointer dcl 612 set ref 99* alloc_area 000662 automatic structure level 1 unaligned dcl 1989 alphanum_lit based structure level 1 unaligned dcl 4059 arith_op 5(01) based bit(1) level 2 packed packed unaligned dcl 4053 ref 1943 bit12 based bit(12) packed unaligned dcl 3955 set ref 712* blank_zero 14(01) 001026 automatic bit(1) level 2 packed packed unaligned dcl 3981 set ref 773* c_t based structure level 1 packed packed unaligned dcl 175 cd based fixed bin(9,0) array packed unsigned unaligned dcl 179 ref 407 cd_lit 000640 automatic char(2) packed unaligned dcl 611 set ref 1152 1168* ce_loc 2 based pointer level 2 dcl 6-390 set ref 3037* ce_sum_loc 4 based pointer level 2 dcl 6-390 set ref 3038* cf 106 based pointer level 2 dcl 6-35 set ref 1099* 1355* 2845 2847 3063* 3064 3774 cf_crossfoot 6 based structure array level 3 unaligned dcl 6-220 set ref 2914 2914 cf_loc 2 based pointer array level 3 dcl 6-220 set ref 3074* 3779 3779* cf_reset 22 based structure array level 3 unaligned dcl 6-220 set ref 3000 3000 cf_rollfwd 14 based structure array level 3 unaligned dcl 6-220 set ref 2916 2916 cf_size based fixed bin(17,0) level 2 dcl 6-220 set ref 2850 3066* 3210 3213 3776 cf_sum_chain 4 based pointer array level 3 dcl 6-220 set ref 2141* 2865 3075* cf_sum_name_seq_ptr 30 based pointer array level 3 dcl 6-220 set ref 2138* 3074* 3215 cf_table based structure level 1 unaligned dcl 6-220 set ref 3063 3063 cf_table_ptr 001572 automatic pointer dcl 6-233 set ref 2138 2141 2847* 2850 2865 2914 2914 2916 2916 3000 3000 3063 3063 3064* 3066 3074 3074 3075 3076 3076 3076 3210 3213 3215 3774* 3776 3776 3779 3779 cf_table_size 001574 automatic fixed bin(17,0) dcl 6-234 set ref 3056* 3063 3063 3066 ch 104 based pointer level 2 dcl 6-35 set ref 1099* 1349* 3058* 3059 3764 ch_crossfoot 6 based structure array level 3 unaligned dcl 6-200 ch_loc 2 based pointer array level 3 dcl 6-200 set ref 3070* 3173 3183* 3769 3769* ch_reset 22 based structure array level 3 unaligned dcl 6-200 ch_rollfwd 14 based structure array level 3 unaligned dcl 6-200 ch_size based fixed bin(17,0) level 2 dcl 6-200 set ref 3061* 3766 ch_sum_chain 4 based pointer array level 3 dcl 6-200 set ref 3071* 3184* ch_sum_name_seq_ptr 30 based pointer array level 3 dcl 6-200 set ref 3070* ch_table based structure level 1 unaligned dcl 6-200 set ref 3058 3058 ch_table_ptr 001566 automatic pointer dcl 6-214 set ref 3058 3058 3059* 3061 3070 3070 3071 3072 3072 3072 3764* 3766 3766 3769 3769 ch_table_size 001570 automatic fixed bin(17,0) dcl 6-215 set ref 3056* 3058 3058 3061 3068 ch_type 000726 automatic fixed bin(17,0) dcl 2609 set ref 2635* 2638 chain_entry based structure level 1 unaligned dcl 6-390 set ref 77 chain_entry_SIZE 001656 automatic fixed bin(17,0) dcl 6-396 set ref 77* 3035* chain_entry_ptr 001654 automatic pointer dcl 6-395 set ref 77 3035* 3037 3038 3040* chain_ptr parameter pointer dcl 3092 in procedure "form_name_seq" ref 3082 3109 chain_ptr parameter pointer dcl 3016 in procedure "enter_group_chain" set ref 3009 3025* chain_ptr parameter pointer dcl 3420 in procedure "form_name_table" ref 3416 3424 3427 3439 chain_size parameter fixed bin(17,0) dcl 3094 ref 3082 3104 cl_off 000574 automatic fixed bin(17,0) dcl 576 set ref 343 402* 404 407* 407 410 725 876 1126 1201 cl_token 000110 automatic structure level 1 unaligned dcl 145 class_tab_ptr 000572 automatic pointer dcl 574 set ref 111* 402 407 cobol$alloc 000046 constant entry external dcl 4035 ref 103 2017 cobol_c_list 000022 constant entry external dcl 46 ref 302 491 506 cobol_class_table_ 000020 constant entry external dcl 45 ref 111 cobol_com_ptr defined pointer dcl 5-25 ref 127 255 275 683 1097 cobol_ext_$cobol_com_ptr 000052 external static pointer dcl 5-24 ref 127 127 255 255 275 275 683 683 1097 1097 cobol_ext_$cobol_m1fp 000054 external static pointer dcl 5-30 ref 96 96 3400 3400 cobol_ext_$cobol_m2fp 000056 external static pointer dcl 5-32 ref 97 97 3397 3397 3401 3401 cobol_ext_$report_first_token 000050 external static pointer dcl 5-14 ref 98 98 1709 1709 cobol_generate_report 000030 constant entry external dcl 51 ref 1706 cobol_io_$cobol_msf_start 000034 constant entry external dcl 54 ref 98 1709 3401 3640 3698 cobol_io_$cobol_save_pos 000036 constant entry external dcl 56 ref 3398 cobol_m1fp defined pointer dcl 5-31 ref 96 3400 cobol_m2fp defined pointer dcl 5-33 set ref 97 3397 3401* cobol_output_tokens$directory_loc 000042 constant entry external dcl 3376 ref 3392 cobol_rw 000016 constant entry external dcl 44 ref 110 cobol_swf_get 000032 constant entry external dcl 53 ref 517 cobol_syntax_trace_$initialize_phase 000026 constant entry external dcl 49 ref 129 cobol_syntax_trace_$trace 000024 constant entry external dcl 47 ref 226 248 285 293 331 340 361 372 cobol_syntax_trace_$trace_loc 000040 constant entry external dcl 60 ref 131 code 12 based varying char(32) level 2 dcl 6-35 set ref 1101* 1152* col 002421 automatic fixed bin(17,0) dcl 3459 in procedure "are_tab_nams_unique" set ref 3471* 3476* col 002563 automatic fixed bin(17,0) dcl 3789 in procedure "find_rep_names" set ref 3798* 3802* col 002575 automatic fixed bin(17,0) dcl 3812 in procedure "find_use" set ref 3820* 3839* col_clause 000712 automatic bit(1) packed unaligned dcl 2221 set ref 2254* 2272 2378* 2396 2404 2409* 2434* 2517* 2528* 2567* col_status 000717 automatic fixed bin(17,0) dcl 2225 set ref 2350* 2507 2510* 2540 2543* 2553* col_value 000720 automatic fixed bin(17,0) dcl 2226 set ref 2350* column parameter fixed bin(17,0) dcl 499 in procedure "DIAG" ref 496 504 column 2 based fixed bin(17,0) level 2 in structure "user_word" dcl 6-410 in procedure "cobol_report_writer" set ref 3471 3798 3940* column 1 000110 automatic fixed bin(17,0) level 2 in structure "cl_token" dcl 145 in procedure "cobol_report_writer" set ref 415* 835* 872* 940* column 20 based structure level 3 in structure "term_node" unaligned dcl 6-155 in procedure "cobol_report_writer" column 2 000112 automatic fixed bin(17,0) level 2 in structure "diag_item" dcl 151 in procedure "cobol_report_writer" set ref 299* 488* 504* column 2 based fixed bin(17,0) level 2 in structure "header" dcl 185 in procedure "cobol_report_writer" ref 299 415 488 702 729 1103 1130 1205 1807 column 20 001026 automatic structure level 2 in structure "NODE" unaligned dcl 3981 in procedure "cobol_report_writer" column 2 000556 automatic fixed bin(17,0) initial level 2 in structure "eof_token" dcl 526 in procedure "cobol_report_writer" set ref 526* comp_count 002606 automatic fixed bin(17,0) dcl 3850 in procedure "compare_use_name" set ref 3853* 3855 3857 comp_count 2 based fixed bin(17,0) array level 3 in structure "use_table" dcl 3361 in procedure "cobol_report_writer" set ref 3697* 3709* 3727* 3853 comp_level 137 based char(1) level 2 packed packed unaligned dcl 4-26 ref 255 275 control_name_ptr 2 001026 automatic pointer level 2 dcl 3981 set ref 715* 901* 1685* 3135 3151* controls 66 based structure level 2 unaligned dcl 6-35 count 26 based fixed bin(17,0) array level 4 in structure "cf_table" dcl 6-220 in procedure "cobol_report_writer" set ref 3076* count 4 based fixed bin(17,0) level 2 in structure "list_def" dcl 6-14 in procedure "cobol_report_writer" set ref 1734* 1739* 3267 3269* 3273* 3273 count 52 based fixed bin(17,0) level 3 in structure "report" dcl 6-35 in procedure "cobol_report_writer" set ref 1112* 1237* 1282 1282* 1285 1285* 1288 1288 1297 1299 count 4 000652 automatic fixed bin(17,0) level 2 in structure "ae" dcl 1250 in procedure "cobol_report_writer" set ref 1252* 1258* 1258 count 12 based fixed bin(17,0) array level 4 in structure "cf_table" dcl 6-220 in procedure "cobol_report_writer" set ref 3076* count 40 based fixed bin(17,0) level 3 in structure "root" dcl 6-80 in procedure "cobol_report_writer" set ref 1379* 1428* 1428 1539* 2241 count 20 based fixed bin(17,0) array level 4 in structure "cf_table" dcl 6-220 in procedure "cobol_report_writer" set ref 3076* count 36 based fixed bin(17,0) level 3 in structure "report" dcl 6-35 in procedure "cobol_report_writer" set ref 1110* 1227* 1276 1276* 1279 1291 1293 1295 count 6 based fixed bin(17,0) level 3 in structure "de_table" dcl 6-240 in procedure "cobol_report_writer" set ref 2796* count 16 based fixed bin(17,0) array level 4 in structure "de_table" dcl 6-240 in procedure "cobol_report_writer" set ref 2809* count 30 based fixed bin(17,0) level 3 in structure "report" dcl 6-35 in procedure "cobol_report_writer" set ref 683* 1111* 1282 1301 1725* 2418 count 20 based fixed bin(17,0) array level 4 in structure "ch_table" dcl 6-200 in procedure "cobol_report_writer" set ref 3072* count 60 based fixed bin(17,0) level 3 in structure "report" dcl 6-35 in procedure "cobol_report_writer" set ref 1110* 1242* 1282 1282* 1285 1285 1288 1288* 1299 1301 count 4 001016 automatic fixed bin(17,0) level 2 in structure "report_list" dcl 3965 in procedure "cobol_report_writer" set ref 672* 680* 680 count 26 based fixed bin(17,0) array level 4 in structure "ch_table" dcl 6-200 in procedure "cobol_report_writer" set ref 3072* count 12 based fixed bin(17,0) array level 4 in structure "ch_table" dcl 6-200 in procedure "cobol_report_writer" set ref 3072* count 44 based fixed bin(17,0) level 3 in structure "report" dcl 6-35 in procedure "cobol_report_writer" set ref 1112* 1232* 1279 1279* 1295 1297 count 6 based fixed bin(17,0) level 3 in structure "ident" dcl 6-325 in procedure "cobol_report_writer" set ref 969* 973* 973 1018* 3210 cssub 000575 automatic fixed bin(17,0) dcl 578 set ref 644* 655* 655 661* 661 667* 667 1896 ct 002042 automatic fixed bin(17,0) dcl 2238 in procedure "form_group_tables" set ref 2241* 2242 2259 ct 5 based fixed bin(18,0) array level 2 in structure "c_t" packed packed unsigned unaligned dcl 175 in procedure "cobol_report_writer" ref 402 ct 000710 automatic fixed bin(17,0) dcl 2219 in procedure "cobol_report_writer" set ref 2310* 2312 2505 current_control_level 000747 automatic fixed bin(17,0) dcl 2823 set ref 2850* 2865 2896* 2911 2914 2981 current_line 000130 automatic fixed bin(24,0) level 2 dcl 192 set ref 132* 231* 231 234 307 309* 334* 343* 343 354* 358* 364 369* current_report_loc 001556 automatic pointer dcl 6-73 set ref 67 92* 683 692 694 696* 1092 1092* 1098 1098 1099 1099 1099 1100 1100 1100 1100 1100 1101 1102 1103 1105 1106 1107 1107 1107 1108 1108 1108 1109 1109 1110 1110 1111 1112 1112 1113 1113 1114 1116 1120 1152 1156 1174 1198 1227 1229 1232 1234 1237 1239 1242 1244 1276 1276 1279 1279 1279 1282 1282 1282 1282 1282 1285 1285 1285 1285 1288 1288 1288 1288 1291 1293 1295 1295 1297 1297 1299 1299 1301 1301 1321 1324 1328 1331 1335 1338 1342 1345 1349 1355 1370 1577 1579 1582 1588 1588 1589 1669 1725 1746 2418 2801 2804 2815 2829* 2831 2835* 2835 2843 2845 2847 2911 2911 2932 2932 2944 2944 2976 2979 2979 2981 2981 3058 3059 3063 3064 3137 3151 3736* 3738 3746 3746 3748 3748 3750 3750 3752 3752 3754 3764 3774 3783* 3783 3888 3888 3902 3903 3915 3920 3920 cv 000711 automatic fixed bin(17,0) dcl 2219 set ref 2314* 2515* 2515 2516 2521 2526* 2526 2527 2548 2548* 2549 2556 2556* 2557 2563 2563* 2564 data_ptr parameter pointer dcl 3016 ref 3009 3022 data_type 14(10) 001026 automatic fixed bin(2,0) level 2 in structure "NODE" packed packed unsigned unaligned dcl 3981 in procedure "cobol_report_writer" set ref 794* 799* 804* 1572 1575 data_type 14(10) based fixed bin(2,0) level 3 in structure "term_node" packed packed unsigned unaligned dcl 6-155 in procedure "cobol_report_writer" set ref 1392 1572* de 102 based pointer level 2 dcl 6-35 set ref 1099* 1370* 2801* 2804 2815* 2843 3754 de_table based structure level 1 unaligned dcl 6-240 set ref 2790 2790 de_table_loc 000752 automatic fixed bin(17,0) dcl 2823 set ref 2936* 2946 2946 de_table_ptr 001576 automatic pointer dcl 6-250 set ref 2790 2790 2790* 2794 2795 2796 2801 2808 2809 2815 2843* 2919 2919 2930 2946 2946 3754* 3756 3756 3759 3759 de_table_size 001600 automatic fixed bin(17,0) dcl 6-251 set ref 1115* 1367* 1367 2790 2790 2794 2798 2801* 2803 det_loc 10 based pointer array level 3 dcl 6-240 set ref 2808* 3759 3759* det_name_seq_ptr based pointer level 2 dcl 6-240 set ref 2795* 2801* 2930* det_size 7 based fixed bin(17,0) level 2 dcl 6-240 set ref 2794* 3756 det_subtot 12 based structure array level 3 unaligned dcl 6-240 set ref 2946 2946 det_subtot_all 2 based structure level 2 unaligned dcl 6-240 set ref 2919 2919 dg_ptr 000566 automatic pointer dcl 574 set ref 115* 302* 491* 506* diag_item 000112 automatic structure level 1 unaligned dcl 151 set ref 115 diag_num parameter fixed bin(17,0) dcl 3457 in procedure "are_tab_nams_unique" set ref 3453 3476* diag_num parameter fixed bin(17,0) dcl 499 in procedure "DIAG" ref 496 502 diag_num parameter fixed bin(17,0) dcl 485 in procedure "diag" ref 482 487 directory_ptr 000766 automatic pointer dcl 3379 set ref 3392* 3395 3405 3405 3577 3583 3664 3679 dn parameter fixed bin(17,0) dcl 2446 set ref 2443 2448* entry 2 based structure array level 2 in structure "cf_table" unaligned dcl 6-220 in procedure "cobol_report_writer" entry 2 001234 automatic structure array level 2 in structure "ST" unaligned dcl 4040 in procedure "cobol_report_writer" entry 2 based structure array level 2 in structure "ch_table" unaligned dcl 6-200 in procedure "cobol_report_writer" entry 10 based structure array level 2 in structure "de_table" unaligned dcl 6-240 in procedure "cobol_report_writer" entry_loc parameter pointer dcl 3016 set ref 3009 3021 3023* eof_token 000556 automatic structure level 1 unaligned dcl 526 set ref 519 fail 000104 automatic label variable dcl 143 set ref 123* 239 245 318 423* 467* 1788 1793 1798 1803 1818 1827 1832 1837 1848 1860 1863 1874 1882 1887 1900 1905 1912 1921 1926 1933 1938 1945 1951 1957 fatal_no 20 based fixed bin(17,0) level 2 in structure "fixed_common" dcl 4-26 in procedure "cobol_report_writer" ref 683 1097 fatal_no 001230 automatic fixed bin(17,0) dcl 4028 in procedure "cobol_report_writer" set ref 683 1097* fd_object based structure level 1 unaligned dcl 3344 fd_object_ptr 000756 automatic pointer dcl 3349 set ref 3583* 3587 3593* 3593 3605 3624 fd_table_ptr 001006 automatic pointer dcl 3386 set ref 3577* 3580 3915 field_count 000723 automatic fixed bin(17,0) dcl 2230 set ref 2351* 2456 2579* 2579 2588* 2588 field_table_ptr 22 based pointer level 2 dcl 6-80 set ref 1546* 2282* field_table_size 001610 automatic fixed bin(17,0) dcl 6-284 set ref 2242* 2245 2245 2248 figcon 5(02) based bit(1) level 2 packed packed unaligned dcl 4053 ref 1931 file_name 62 based pointer level 2 dcl 6-35 set ref 1113* 3915* final 70 based bit(1) level 3 packed packed unaligned dcl 6-35 set ref 1174* 1669* 1746* 3137 first based pointer level 2 in structure "list_def" dcl 6-14 in procedure "cobol_report_writer" set ref 1735* 3270* first 001016 automatic pointer level 2 in structure "report_list" dcl 3965 in procedure "cobol_report_writer" set ref 675* 692 692* 1706 1706* 2829 3736 first 000652 automatic pointer level 2 in structure "ae" dcl 1250 in procedure "cobol_report_writer" set ref 1255* 1263 first 2 based fixed bin(17,0) array level 3 in structure "trace" dcl 201 in procedure "cobol_report_writer" set ref 1706* first 34 based pointer level 3 in structure "root" dcl 6-80 in procedure "cobol_report_writer" set ref 1430 1430* 1540* 2261 first 2 based pointer level 3 in structure "ident" dcl 6-325 in procedure "cobol_report_writer" set ref 1021* first_detail 40 based structure level 2 unaligned dcl 6-35 fixed builtin function dcl 63 ref 1801 1866 2771 fixed_common based structure level 1 unaligned dcl 4-26 footing 54 based structure level 2 unaligned dcl 6-35 fp parameter fixed bin(17,0) dcl 2594 ref 2591 2597 fs parameter fixed bin(17,0) dcl 2594 ref 2591 2598 ft parameter pointer dcl 3638 set ref 3635 3640* ftl 000703 automatic fixed bin(17,0) dcl 2213 set ref 2250* 2285 2578* 2578 2581 2587* 2587 2596 2597 2598 2599 g_i_count 15 based fixed bin(17,0) level 3 in structure "term_node" dcl 6-155 in procedure "cobol_report_writer" set ref 1589* 1591* g_i_count 71 based fixed bin(17,0) level 2 in structure "report" dcl 6-35 in procedure "cobol_report_writer" set ref 1107* 1588* 1588 1589 gn_loc 6 based pointer array level 3 dcl 3361 set ref 3708* 3876 gnl 002616 automatic fixed bin(17,0) dcl 3872 in procedure "comp_group_name" set ref 3874* 3876 3876 gnl 4 based fixed bin(17,0) array level 3 in structure "use_table" dcl 3361 in procedure "cobol_report_writer" set ref 3707* 3874 group_desc 26 based structure level 2 unaligned dcl 6-80 group_ind 14(02) based bit(1) level 3 in structure "term_node" packed packed unaligned dcl 6-155 in procedure "cobol_report_writer" ref 1586 group_ind 14(02) 001026 automatic bit(1) level 2 in structure "NODE" packed packed unaligned dcl 3981 in procedure "cobol_report_writer" set ref 777* group_number 000645 automatic fixed bin(17,0) dcl 617 in procedure "cobol_report_writer" set ref 677* 1543* 1543 1544 group_number 31 based fixed bin(17,0) level 2 in structure "root" dcl 6-80 in procedure "cobol_report_writer" set ref 1544* group_type 000626 automatic fixed bin(17,0) dcl 601 in procedure "cobol_report_writer" set ref 720* 762* 1313 1318 group_type 21 based fixed bin(17,0) level 2 in structure "root" dcl 6-80 in procedure "cobol_report_writer" set ref 1313* 1392 header based structure level 1 unaligned dcl 185 heading 32 based structure level 2 unaligned dcl 6-35 hit_count 000754 automatic fixed bin(17,0) dcl 3190 set ref 2911 2944 3208* 3224* 3232* 3232 3238 i 002006 automatic fixed bin(17,0) dcl 2091 in procedure "COMP" set ref 2096* 2107* 2107 2109 2119 i 001750 automatic fixed bin(17,0) dcl 1482 in procedure "find_st_depth" set ref 1485* 1491 1496* i 002326 automatic fixed bin(17,0) dcl 3096 in procedure "form_name_seq" set ref 3112* 3114* i 002316 automatic fixed bin(17,0) dcl 3053 in procedure "form_control_table" set ref 3068* 3070 3070 3071 3072 3072 3072 3074 3074 3075 3076 3076 3076* i 002506 automatic fixed bin(17,0) dcl 3603 in procedure "form_rep_table" set ref 3628* 3630* i 002372 automatic fixed bin(17,0) dcl 3288 in procedure "tree_to_qual" set ref 3319* 3325 3327* 3327 i 002432 automatic fixed bin(17,0) dcl 3485 in procedure "dup_test" set ref 3489* 3491* i 000562 automatic fixed bin(17,0) dcl 573 in procedure "cobol_report_writer" set ref 428* 431 468* 815* 817* 956* 958 958* 1041* 1043* 1656* 1658* 2763* 2765* i 002636 automatic fixed bin(17,0) dcl 3899 in procedure "find_file" set ref 3906* 3908 3915* i 002462 automatic fixed bin(17,0) dcl 3551 in procedure "is_nam_in_tab" set ref 3557* 3559 3566* i 002550 automatic fixed bin(17,0) dcl 3734 in procedure "find_file_and_use" set ref 3756* 3759 3759* 3766* 3769 3769* 3776* 3779 3779* i 002346 automatic fixed bin(17,0) dcl 3204 in procedure "is_sum_counter" set ref 3213* 3215 3234* i 002410 automatic fixed bin(17,0) dcl 3422 in procedure "form_name_table" set ref 3441* 3444* i 002210 automatic fixed bin(17,0) dcl 2787 in procedure "form_de_table" set ref 2803* 2808 2809 2811* 2811 i 002442 automatic fixed bin(17,0) dcl 3507 in procedure "tabtab_to_tab" set ref 3516* 3519* 3534* 3536* id_name_loc based pointer level 2 dcl 6-325 set ref 968* 1447* 3220* ident based structure level 1 unaligned dcl 6-325 set ref 78 ident_SIZE 001626 automatic fixed bin(17,0) dcl 6-331 set ref 78* 964* ident_num 000751 automatic fixed bin(17,0) dcl 2823 set ref 2904* 2907* 2938* 2940* ident_ptr 001624 automatic pointer dcl 6-330 in procedure "cobol_report_writer" set ref 78 796 964* 968 969 973 973 976 1018 1021 1057 1447 2907* 2914* 2916* 2919* 2940* 2946* 3210 3220 ident_ptr parameter pointer dcl 3032 in procedure "enter_chain" ref 3029 3037 index builtin function dcl 63 ref 2635 2751 2765 indicators 111 based structure level 2 packed packed unaligned dcl 6-35 set ref 1114* int_size 000733 automatic fixed bin(17,0) dcl 2611 set ref 2758* 2760 2771 int_val 000616 automatic fixed bin(17,0) dcl 597 set ref 832 835 869 872 937 940 1227 1232 1237 1242 1725 1857* 1866* integer_spec based structure level 1 unaligned dcl 6-25 ref 85 integer_spec_ptr automatic pointer dcl 6-31 ref 85 integer_spec_size 001231 automatic fixed bin(17,0) dcl 4031 set ref 85* integral 4 based bit(1) level 2 packed packed unaligned dcl 4056 ref 1798 1863 interp 000130 automatic structure level 1 unaligned dcl 192 set ref 126 intrp_stack 000142 automatic structure array level 1 unaligned dcl 208 ioa_$rsnnl 000044 constant entry external dcl 3926 ref 3934 j 002443 automatic fixed bin(17,0) dcl 3507 in procedure "tabtab_to_tab" set ref 3537* 3540* j 002007 automatic fixed bin(17,0) dcl 2091 in procedure "COMP" set ref 2101* 2103* just_right 14(03) 001026 automatic bit(1) level 2 packed packed unaligned dcl 3981 set ref 781* k 002444 automatic fixed bin(17,0) dcl 3507 set ref 3533* 3540 3541* 3541 key 4 based fixed bin(17,0) level 2 dcl 4053 ref 245 402 439 1853 3715 3715 last 2 001016 automatic pointer level 2 in structure "report_list" dcl 3965 in procedure "cobol_report_writer" set ref 675* 692* 694 694* last 2 000652 automatic pointer level 2 in structure "ae" dcl 1250 in procedure "cobol_report_writer" set ref 1261* last 2 based pointer level 2 in structure "list_def" dcl 6-14 in procedure "cobol_report_writer" set ref 1742* 3270* 3274 3274* last 36 based pointer level 3 in structure "root" dcl 6-80 in procedure "cobol_report_writer" set ref 1430* 1432 1432* last 4 based pointer level 3 in structure "ident" dcl 6-325 in procedure "cobol_report_writer" set ref 976* last_control_num 000676 automatic fixed bin(17,0) dcl 2128 set ref 1358* 1467* 2135 2138 2141 2146* last_detail 46 based structure level 2 unaligned dcl 6-35 last_line_value 000713 automatic fixed bin(17,0) dcl 2221 set ref 2371 2380* 2393 2401 2411* 2425 2436* last_root_ptr 001024 automatic pointer dcl 3974 set ref 689 1374 1378* 1392 1428 1428 1430 1430 1430 1432 1432 1468* 1593 2241 2252 2261 2275 2276 2277 2282 2283 lct 002015 automatic fixed bin(17,0) dcl 2092 set ref 2095* 2109 left_par_loc 000731 automatic fixed bin(17,0) dcl 2611 set ref 2750* 2758 2763 2771 length 4 based fixed bin(17,0) level 2 in structure "picture" dcl 6-399 in procedure "cobol_report_writer" ref 2500 2501 length 5 based fixed bin(17,0) level 2 in structure "user_word" dcl 6-410 in procedure "cobol_report_writer" set ref 2099 2105 2105 2105 2120 3469 3472 3493 3493 3563 3563 3707 3725 3795 3796 3876 3876 3876 3888 3888 3888 3902 3903 3942* 3943 lev 001751 automatic fixed bin(17,0) dcl 1482 set ref 1487* 1489 1494 level 2 001234 automatic fixed bin(17,0) array level 3 dcl 4040 set ref 83* 1487 1625* lf parameter fixed bin(17,0) dcl 2594 ref 2591 2599 line 002420 automatic fixed bin(17,0) dcl 3459 in procedure "are_tab_nams_unique" set ref 3470* 3476* line 1 based fixed bin(17,0) level 2 in structure "user_word" dcl 6-410 in procedure "cobol_report_writer" set ref 3470 3797 3939* line 1 000112 automatic fixed bin(17,0) level 2 in structure "diag_item" dcl 151 in procedure "cobol_report_writer" set ref 300* 489* 503* line 1 000556 automatic fixed bin(17,0) initial level 2 in structure "eof_token" dcl 526 in procedure "cobol_report_writer" set ref 526* line parameter fixed bin(17,0) dcl 499 in procedure "DIAG" ref 496 503 line 12 001026 automatic structure level 2 in structure "NODE" unaligned dcl 3981 in procedure "cobol_report_writer" set ref 101 line 000110 automatic fixed bin(17,0) level 2 in structure "cl_token" dcl 145 in procedure "cobol_report_writer" set ref 414* 835* 872* 940* line 1 based fixed bin(17,0) level 2 in structure "header" dcl 185 in procedure "cobol_report_writer" ref 300 414 489 699 728 1102 1129 1204 1806 line 002574 automatic fixed bin(17,0) dcl 3812 in procedure "find_use" set ref 3819* 3839* line 12 based structure level 3 in structure "non_term_node" unaligned dcl 6-125 in procedure "cobol_report_writer" set ref 1559 line 12 based structure level 3 in structure "term_node" unaligned dcl 6-155 in procedure "cobol_report_writer" set ref 1570 line 002562 automatic fixed bin(17,0) dcl 3789 in procedure "find_rep_names" set ref 3797* 3802* line 27 based fixed bin(17,0) level 3 in structure "root" dcl 6-80 in procedure "cobol_report_writer" set ref 2276* line 12 based structure level 2 in structure "root" unaligned dcl 6-80 in procedure "cobol_report_writer" line_count 000722 automatic fixed bin(17,0) dcl 2229 set ref 2251* 2336* 2336 line_size 000721 automatic fixed bin(17,0) dcl 2228 set ref 2351* 2457 2516* 2521 2526 2527* 2549* 2556 2557* 2557 2563 2564* 2564 line_status 000704 automatic fixed bin(17,0) dcl 2215 set ref 2251* 2359 2362* 2384 2387* 2415 2420* line_table_ptr 24 based pointer level 2 dcl 6-80 set ref 1546* 2283* line_table_size 001604 automatic fixed bin(17,0) dcl 6-270 set ref 2242* 2244 2244 2247 line_value 000705 automatic fixed bin(17,0) dcl 2216 set ref 2251* 2466* 2475 list_def based structure level 1 unaligned dcl 6-14 set ref 80 list_def_SIZE 001225 automatic fixed bin(17,0) dcl 4025 set ref 80* 1730* list_def_ptr 001554 automatic pointer dcl 6-20 set ref 80 93* 801 1730* 1734 1735 1739 1742 list_link based structure level 1 unaligned dcl 6-5 set ref 81 list_link_SIZE 001227 automatic fixed bin(17,0) dcl 4027 set ref 81* 996* 1055* 1637* list_link_ptr 001552 automatic pointer dcl 6-10 set ref 81 93* 996* 998 999 1001 1055* 1057 1058 1060 1637* 1639 1640 1642 3427* 3430 3433* 3433 3439* 3443 3445* 3445 list_ptr parameter pointer dcl 3032 set ref 3029 3040* lit_size 5 based fixed bin(17,0) level 2 dcl 4059 ref 1168 1837 literal 11 based char level 2 packed packed unaligned dcl 4056 ref 1801 1866 loc 2 based pointer level 2 in structure "reset_chain_entry" dcl 6-381 in procedure "cobol_report_writer" set ref 2998* loc 2 based pointer level 2 in structure "list_link" dcl 6-5 in procedure "cobol_report_writer" set ref 817 998* 1043 1057* 1639* 1658 3443* loc parameter pointer dcl 2007 in procedure "get_space" set ref 2003 2011* 2017* loc 2 based pointer level 2 in structure "use_reporting_object" dcl 3351 in procedure "cobol_report_writer" set ref 3698* loc 66 based pointer level 3 in structure "report" dcl 6-35 in procedure "cobol_report_writer" set ref 1113* 1156* 2976* 3151* lp 002010 automatic pointer dcl 2092 set ref 2098* 2099 2105 2119* 2120 lsz 002014 automatic fixed bin(17,0) dcl 2092 set ref 2099* 2105 2120* lt 000706 automatic fixed bin(17,0) dcl 2218 set ref 2330* 2332 2357 ltl 000702 automatic fixed bin(17,0) dcl 2213 set ref 2250* 2286 2335* 2335 2338 2338 2338 2338 2454 2456 2457 2467 2581 lv 000707 automatic fixed bin(17,0) dcl 2218 set ref 2341* 2364 2366 2369 2371 2380 2390 2393 2401 2411 2412* 2418 2422 2425 2436 2466 2475 lv_col 000606 automatic fixed bin(17,0) dcl 588 set ref 1807* 2161* 2164* 2167* 2178* 2181* 2184* 2194* 2196* lv_line 000605 automatic fixed bin(17,0) dcl 588 set ref 1806* 2161* 2164* 2167* 2178* 2181* 2184* 2194* 2196* mod builtin function dcl 63 ref 2010 module 6 000112 automatic fixed bin(17,0) level 2 dcl 151 set ref 120* 277* 493* 508* name_seq_ptr parameter pointer dcl 3092 set ref 3082 3120* nd_level 6 001026 automatic fixed bin(17,0) level 2 dcl 3981 set ref 708* 1489 1494 1625 1801* 1803 1803 2164 2184 2190 nd_loc 24 001026 automatic pointer level 2 in structure "NODE" dcl 3981 in procedure "cobol_report_writer" set ref 714* 796* 801* 822* 1584 nd_loc 24 based pointer level 3 in structure "term_node" dcl 6-155 in procedure "cobol_report_writer" set ref 1584* nd_name_ptr 001026 automatic pointer level 2 dcl 3981 set ref 706* 985 1473* 1607 3945* nd_tok_column 5 001026 automatic fixed bin(17,0) level 2 dcl 3981 set ref 702* 1606 3940 nd_tok_line 4 001026 automatic fixed bin(17,0) level 2 dcl 3981 set ref 699* 1605 3939 next based pointer level 2 in structure "use_reporting_object" dcl 3351 in procedure "cobol_report_writer" ref 3670 3688 next based pointer level 2 in structure "fd_object" dcl 3344 in procedure "cobol_report_writer" ref 3593 next based pointer level 2 in structure "list_link" dcl 6-5 in procedure "cobol_report_writer" set ref 818 999* 1044 1058* 1640* 1660 3265* 3274* 3433 3445 next_char 000734 automatic char(1) packed unaligned dcl 2614 set ref 2677* 2684* 2720 next_group 10 001026 automatic structure level 2 in structure "NODE" unaligned dcl 3981 in procedure "cobol_report_writer" next_group 14 based structure level 2 in structure "root" unaligned dcl 6-80 in procedure "cobol_report_writer" node_ptr 4 001234 automatic pointer array level 3 in structure "ST" dcl 4040 in procedure "cobol_report_writer" set ref 1116* 1612 1628* node_ptr 000610 automatic pointer dcl 589 in procedure "cobol_report_writer" set ref 1324 1331 1338 1345 1370* 1370* 1399* 1430 1432 1600 1604 1605 1606 1607 1608 1612 1614 1621 1628 2080* 2252* 2261* 2263 2267* 2267 2296 2310 2314 2330 2341 2448 2448 2497 2504 2596 2664 2702 3183 node_type 7 001026 automatic fixed bin(17,0) level 2 dcl 3981 set ref 717* 1307 1525 2155* 2159* 2175* 2192* 2202* nodes 34 based structure level 2 unaligned dcl 6-80 non_num 14(05) based bit(1) level 3 in structure "term_node" packed packed unaligned dcl 6-155 in procedure "cobol_report_writer" set ref 2504* non_num 000741 automatic bit(1) packed unaligned dcl 2616 in procedure "cobol_report_writer" set ref 2504 2632* 2643* non_term_node based structure level 1 unaligned dcl 6-125 set ref 71 non_term_node_SIZE 001223 automatic fixed bin(17,0) dcl 4023 set ref 71* 1554* non_term_node_line based structure level 1 unaligned dcl 6-142 ref 86 non_term_node_line_bits based bit packed unaligned dcl 3957 set ref 1559* 1559 non_term_node_line_size 001232 automatic fixed bin(17,0) dcl 4032 set ref 86* 1559 1559 ntn_ptr 001562 automatic pointer dcl 6-137 set ref 71 89* 1387* 1554* 1558 1559 ntn_type 6 based fixed bin(17,0) level 2 dcl 6-125 set ref 1558* null builtin function dcl 63 ref 89 90 91 92 93 675 676 689 692 696 706 714 715 721 901 968 985 988 1029 1092 1098 1099 1100 1106 1113 1183 1191 1321 1328 1335 1342 1362 1374 1380 1387 1407 1430 1468 1540 1546 1547 1577 1577 1600 1604 1614 1696 1706 2077 2135 2263 2498 2795 2806 2831 2845 2867 2871 2894 2904 3070 3071 3074 3075 3135 3173 3217 3265 3296 3298 3307 3321 3323 3395 3405 3424 3430 3521 3537 3587 3589 3667 3738 3746 3748 3750 3752 3756 3759 3766 3769 3776 3779 3822 3909 number 5 000112 automatic fixed bin(17,0) level 2 dcl 151 set ref 298* 487* 502* numeric_lit based structure level 1 unaligned dcl 4056 o_bit 0(09) based char(1) level 2 packed packed unaligned dcl 167 ref 252 255 273 275 p parameter pointer dcl 3133 in procedure "process_control_group" ref 3130 3173 3183 3184 p 002132 automatic pointer dcl 2486 in procedure "check_field_clause" set ref 2497* 2498 2498* 2500 2501 p parameter pointer dcl 2051 in procedure "FIND" ref 2048 2055 p parameter pointer dcl 3287 in procedure "tree_to_qual" ref 3279 3293 3317 p 002464 automatic pointer dcl 3551 in procedure "is_nam_in_tab" set ref 3559* 3563 3563 p 002640 automatic pointer dcl 3899 in procedure "find_file" set ref 3908* 3909 3909* p parameter pointer dcl 2074 in procedure "def_node" set ref 2071 2077 2077* 2080 p 002330 automatic pointer dcl 3096 in procedure "form_name_seq" set ref 3109* 3114 3116* 3116 p 002446 automatic pointer dcl 3507 in procedure "tabtab_to_tab" set ref 3519* 3521 3521 3536* 3537 3537 3540 p parameter pointer dcl 3257 in procedure "add_to_list" ref 3251 3265 3270 3274 p parameter pointer dcl 3811 in procedure "find_use" ref 3808 3818 p 002350 automatic pointer dcl 3205 in procedure "is_sum_counter" set ref 3215* 3217 3220* page 24 based structure level 2 unaligned dcl 6-35 par_1 000617 automatic fixed bin(17,0) dcl 599 set ref 720* 752 757 762 785 839* 844* 849* 854* 859* 864* 876* 881* 886* 891* 896* 906* 911* 916* 927* 932* 1719* par_2 000620 automatic fixed bin(17,0) dcl 599 set ref 754 759 787 832* 869* 937* pf 100 based pointer level 2 dcl 6-35 set ref 1100* 1335 1338* 3752 3752* pg_cl 000650 automatic bit(5) packed unaligned dcl 636 set ref 1195* 1208 1208 1216* 1216 pg_cl_bits defined bit(1) array packed unaligned dcl 637 set ref 1208 1216* pg_clnum 000604 automatic fixed bin(17,0) dcl 586 set ref 1201* 1208 1216 1218 pg_column 000635 automatic fixed bin(17,0) dcl 607 set ref 1205* 1212* 1291* 1293* 1295* 1297* 1299* 1301* pg_line 000634 automatic fixed bin(17,0) dcl 607 set ref 1204* 1212* 1291* 1293* 1295* 1297* 1299* 1301* ph 76 based pointer level 2 dcl 6-35 set ref 1100* 1328 1331* 3750 3750* phase 2 based structure level 2 unaligned dcl 201 pic_chars 000742 automatic char(18) initial packed unaligned dcl 2617 set ref 2617* 2635 pic_loc 000724 automatic fixed bin(17,0) dcl 2609 set ref 2630* 2635 2668* 2668 2672* 2672 2696 2712* 2712 2714 2720 2723* 2723 2743* 2743 2745 2747 2750 2751 2757 2772* pic_size 000725 automatic fixed bin(17,0) dcl 2609 set ref 2515* 2516 2526* 2527 2548* 2549 2556* 2557 2563* 2564 2629* 2660* 2660 2664* 2664 2716* 2716 2722* 2722 2728* 2728 pic_string based char packed unaligned dcl 2607 ref 2635 2720 2747 2751 2765 2771 pic_string_ptr 000736 automatic pointer dcl 2615 set ref 2500* 2635 2720 2747 2751 2765 2771 pic_string_size 000727 automatic fixed bin(17,0) dcl 2609 set ref 2501* 2635 2696 2714 2720 2745 2747 2751 2765 2771 picture 22 001026 automatic pointer level 2 in structure "NODE" dcl 3981 in procedure "cobol_report_writer" set ref 714* 790* picture 22 based pointer level 3 in structure "term_node" dcl 6-155 in procedure "cobol_report_writer" ref 2497 picture based structure level 1 unaligned dcl 6-399 in procedure "cobol_report_writer" places 10 based fixed bin(17,0) level 2 dcl 4056 ref 1801 1866 pointer_to_internal 4 000130 automatic pointer level 2 dcl 192 set ref 110* 234 364 435 465 pos parameter fixed bin(17,0) dcl 2992 ref 2990 3000 3000 prev_node_ptr 000612 automatic pointer dcl 591 set ref 676* 1547* 1600 1600 1621* prev_token_ptr 000600 automatic pointer dcl 585 set ref 91* 922 1261 proc_loc 4 based pointer level 2 in structure "use_reporting_object" dcl 3351 in procedure "cobol_report_writer" ref 3685 proc_loc 12 based pointer array level 3 in structure "use_table" dcl 3361 in procedure "cobol_report_writer" set ref 3685* 3835 program based pointer array dcl 3342 set ref 3395 3405 3405* 3577* 3583 3664 3679 ptr_1 000622 automatic pointer dcl 600 set ref 721* 919* ptr_2 000624 automatic pointer dcl 600 set ref 721* 922* q 002642 automatic pointer dcl 3899 in procedure "find_file" set ref 3904* 3906 3908 q parameter pointer dcl 3257 in procedure "add_to_list" ref 3251 3267 3269 3270 3270 3273 3273 3274 3274 q parameter pointer dcl 2051 in procedure "FIND" ref 2048 2056 q parameter pointer dcl 3287 in procedure "tree_to_qual" set ref 3279 3307* 3335* q_ptr 000630 automatic pointer dcl 603 set ref 90* qn_loc 2 based pointer array level 2 dcl 6-291 set ref 958* 2062 2098 2103 2119 3325* 3444* 3468 3491 3519 3536 3540* 3540 3559 3591* 3630* 3793 3908 3915 qn_size based fixed bin(17,0) level 2 dcl 6-291 set ref 954* 2060 2095 2101 3315* 3438* 3463 3466 3516 3521 3529* 3534 3537 3557 3580 3582* 3622* 3791 3906 qns_loc 2 based pointer array level 2 dcl 6-305 set ref 1658* 3114* qns_size based fixed bin(17,0) level 2 dcl 6-305 set ref 1179* 1654* 1674* 3108* qual_name based structure level 1 unaligned dcl 6-291 set ref 950 950 3313 3313 3437 3437 3528 3528 3581 3581 3621 3621 qual_name_ptr 001612 automatic pointer dcl 6-296 set ref 950 950 950* 954 958 1005 1447 1639 1685 2928* 2930* 3313 3313 3313* 3315 3325 3335 3437 3437 3437* 3438 3444 3449 3461* 3463 3466 3468 3491 3511* 3516 3519 3528 3528 3534 3536 3555* 3557 3559 3581 3581 3589* 3591 3621 3621 3621* 3622 3630 qual_name_seq based structure level 1 unaligned dcl 6-305 set ref 1649 1649 3106 3106 qual_name_seq_lifo_ptr 000660 automatic pointer dcl 1646 set ref 1191* 1640 1642* 1658 1660* 1660 qual_name_seq_ptr 001616 automatic pointer dcl 6-310 set ref 1065 1156 1179 1183* 1649 1649 1649* 1654 1658 1674 3106 3106 3106* 3108 3114 3120 qual_name_seq_size 001614 automatic fixed bin(17,0) dcl 6-309 set ref 1188* 1634* 1634 1649 1649 1654 1656 3104* 3106 3106 3108 3112 qual_name_size 001611 automatic fixed bin(17,0) dcl 6-295 set ref 944* 950 950 954 956 1453* 1453 1457 3294* 3298* 3298 3305 3313 3313 3315 3428* 3432* 3432 3437 3437 3438 3441 3510* 3521* 3521 3528 3528 3529 3580* 3581 3581 3582 3585 3609* 3613* 3613 3618 3621 3621 3622 3628 r 002370 automatic pointer dcl 3288 set ref 3293* 3296 3298 3301* 3301 3317* 3321 3323 3325 3331* 3331 rc_final 2 based bit(1) level 2 packed packed unaligned dcl 6-372 set ref 1012* 1697* 2967 rc_loc based pointer level 2 dcl 6-372 set ref 1005* 1696* 2976* rd_cl 000647 automatic bit(4) packed unaligned dcl 633 set ref 1117* 1134 1134 1142* 1142 rd_cl_bits defined bit(1) array packed unaligned dcl 634 set ref 1134 1142* rd_clnum 000602 automatic fixed bin(17,0) dcl 586 set ref 1126* 1134 1142 1144 rd_column 000637 automatic fixed bin(17,0) dcl 609 set ref 1130* rd_line 000636 automatic fixed bin(17,0) dcl 609 set ref 1129* rd_table_ptr 001014 automatic pointer dcl 3386 set ref 3405* 3800* rec_size 001725 automatic fixed bin(17,0) dcl 514 set ref 517* recov_loc 1 000142 automatic fixed bin(17,0) array level 2 dcl 208 set ref 308* 379* 431 rel_op 5(05) based bit(1) level 2 packed packed unaligned dcl 4053 ref 1910 rep_clause_table_ptr 001010 automatic pointer dcl 3386 set ref 3402* 3581* 3582 3591 3904 rep_group_ptr 26 based pointer level 3 in structure "term_node" dcl 6-155 in procedure "cobol_report_writer" set ref 1593* rep_group_ptr 26 001026 automatic pointer level 2 in structure "NODE" dcl 3981 in procedure "cobol_report_writer" set ref 715* rep_level 7 based fixed bin(17,0) level 2 dcl 6-35 set ref 1107* rep_loc 4 based pointer level 2 dcl 3344 set ref 3587 3605* 3624* rep_name_ptr 10 based pointer level 2 dcl 6-35 set ref 1098* 1120* 3888 3888 3902 3903 rep_next based pointer level 2 dcl 6-35 set ref 694* 1098* 2835 3783 rep_num 000651 automatic fixed bin(17,0) dcl 1091 in procedure "cobol_report_writer" set ref 83* 1104* 1104 1105 rep_num 110 based fixed bin(17,0) level 2 in structure "report" dcl 6-35 in procedure "cobol_report_writer" set ref 1105* rep_spec_size 000730 automatic fixed bin(17,0) dcl 2611 set ref 2660 2728 2742* 2771* rep_sum_ptr 16 001026 automatic pointer level 2 in structure "NODE" dcl 3981 in procedure "cobol_report_writer" set ref 715* rep_sum_ptr 16 based pointer level 3 in structure "term_node" dcl 6-155 in procedure "cobol_report_writer" set ref 1577* 1579* rep_sum_ptr 64 based pointer level 2 in structure "report" dcl 6-35 in procedure "cobol_report_writer" set ref 1100* 1577 1579 1582* rep_table_ptr 001012 automatic pointer dcl 3386 set ref 3402* 3403* 3791 3793 rep_tok_column 5 based fixed bin(17,0) level 2 dcl 6-35 set ref 1103* 2911* 2932* 2944* 2979* 2981* 3920* rep_tok_line 4 based fixed bin(17,0) level 2 dcl 6-35 set ref 1102* 2911* 2932* 2944* 2979* 2981* 3920* rep_type 6 based fixed bin(17,0) level 2 dcl 6-35 set ref 1107* rep_up 2 based pointer level 2 dcl 6-35 set ref 1106* report based structure level 1 unaligned dcl 6-35 set ref 67 report_SIZE 001226 automatic fixed bin(17,0) dcl 4025 set ref 67* 1092* report_first_token defined pointer dcl 5-15 set ref 98* 1709* report_list 001016 automatic structure level 1 unaligned dcl 3965 res 000644 automatic bit(1) packed unaligned dcl 613 set ref 318 329 395* 413* 430* 439* 455* 463 1808* 1953 reserved_word based structure level 1 unaligned dcl 4053 reset_chain_entry based structure level 1 unaligned dcl 6-381 set ref 76 reset_chain_entry_SIZE 001652 automatic fixed bin(17,0) dcl 6-385 set ref 76* 2996* reset_chain_entry_ptr 001650 automatic pointer dcl 6-384 set ref 76 2996* 2998 3000* reset_clause based structure level 1 unaligned dcl 6-372 set ref 74 reset_clause_SIZE 001646 automatic fixed bin(17,0) dcl 6-377 set ref 74* 1692* reset_clause_ptr 001644 automatic pointer dcl 6-376 set ref 74 812 988* 1005 1012 1692* 1696 1697 2892* 2894 2967 2976 ret_loc 000142 automatic fixed bin(17,0) array level 2 dcl 208 set ref 307* 358 369 rf 74 based pointer level 2 dcl 6-35 set ref 1100* 1342 1345* 3748 3748* rg_cl 000646 automatic bit(18) packed unaligned dcl 630 set ref 704* 733 733 742* 742 2157 2161 2167 2173 2178 2181 2196 rg_cl_bits defined bit(1) array packed unaligned dcl 631 set ref 733 742* rg_cl_num 000603 automatic fixed bin(17,0) dcl 586 set ref 725* 733 742 744 rg_column 000633 automatic fixed bin(17,0) dcl 607 set ref 729* 737* 1138* 1321* 1328* 1335* 1342* rg_line 000632 automatic fixed bin(17,0) dcl 607 set ref 728* 737* 1138* 1321* 1328* 1335* 1342* rh 72 based pointer level 2 dcl 6-35 set ref 1100* 1321 1324* 3746 3746* right_par_loc 000732 automatic fixed bin(17,0) dcl 2611 set ref 2751* 2754 2757* 2757 2758 2763 2772 rl 000563 automatic fixed bin(17,0) dcl 573 set ref 431* 433 435 465 rn_loc 10 based pointer array level 3 dcl 3361 set ref 3726* 3888 rnl 5 based fixed bin(17,0) array level 3 in structure "use_table" dcl 3361 in procedure "cobol_report_writer" set ref 3725* 3886 rnl 002626 automatic fixed bin(17,0) dcl 3884 in procedure "comp_rep_name" set ref 3886* 3888 3888 root based structure level 1 unaligned dcl 6-80 set ref 82 root_SIZE 001222 automatic fixed bin(17,0) dcl 4023 set ref 82* 1528* rp 002012 automatic pointer dcl 2092 set ref 2103* 2105 2105 rt_name_ptr 10 based pointer level 2 dcl 6-80 ref 3298 3323 3325 3822 3876 3876 rt_next based pointer level 2 dcl 6-80 ref 2267 rt_ptr 001560 automatic pointer dcl 6-118 set ref 82 89* 1313 1378 1379 1380* 1528* 1532 1533 1534 1535 1536 1537 1539 1540 1544 1546 1546 1547 1548 3139 3139 3155 3155 3164 3164 3175 3175 3818* 3819 3820 3822 3835 3836 3876 3876 rt_tok_column 5 based fixed bin(17,0) level 2 dcl 6-80 set ref 3139* 3155* 3164* 3175* 3820 rt_tok_line 4 based fixed bin(17,0) level 2 dcl 6-80 set ref 3139* 3155* 3164* 3175* 3819 rt_type 6 based fixed bin(17,0) level 2 dcl 6-80 set ref 1532* 2296 rt_up 2 based pointer level 2 dcl 6-80 ref 3301 3331 run 4 000112 automatic fixed bin(17,0) level 2 dcl 151 set ref 118* rwfp 000122 automatic pointer dcl 181 set ref 133* 517* 1709* 3397* 3400* 3640* 3698* rwfp1 000124 automatic pointer dcl 181 set ref 96* 98* 133 rwfp2 000126 automatic pointer dcl 181 set ref 97* 3398* 3398* 3401* s parameter fixed bin(17,0) dcl 2473 in procedure "line_incr_test" set ref 2470 2477* s parameter fixed bin(17,0) dcl 2464 in procedure "set_line_num" ref 2461 2467 s_bit based char(1) level 2 packed packed unaligned dcl 167 ref 351 s_exists 000740 automatic bit(1) packed unaligned dcl 2616 set ref 2631* 2669* 2702 s_exit 3 based fixed bin(17,0) level 2 dcl 167 ref 334 354 379 sc_loc 4 based pointer array level 2 dcl 6-353 set ref 1043* 2907 2940 sc_size 2 based fixed bin(17,0) level 2 dcl 6-353 set ref 1039* 2888 2904 2938 sc_upon_loc based pointer level 2 dcl 6-353 set ref 1038* 2902 sct_loc 4 based pointer array level 2 dcl 6-338 set ref 817* 2885 sct_reset_loc based pointer level 2 dcl 6-338 set ref 812* 2892 sct_size 2 based fixed bin(17,0) level 2 dcl 6-338 set ref 813* 2882 2882 seq_pos 000674 automatic fixed bin(17,0) dcl 2044 set ref 1358 2057* 2111 2111* 2113* 2113 2932 2936 2969* 2971* 2979 2981 2983* 3147* 3153 3158* 3162 3167* 3173 3183 3184 3222 3230 sign 4(09) based char(1) level 2 in structure "numeric_lit" packed packed unaligned dcl 4056 in procedure "cobol_report_writer" ref 1798 1863 sign 14(06) based fixed bin(4,0) level 3 in structure "term_node" packed packed unsigned unaligned dcl 6-155 in procedure "cobol_report_writer" set ref 1072* 1077* 1082* 1087* 2664 2702* siz parameter fixed bin(17,0) dcl 3053 ref 3045 3056 size 000556 automatic fixed bin(17,0) initial level 2 in structure "eof_token" dcl 526 in procedure "cobol_report_writer" set ref 526* size based fixed bin(17,0) level 2 in structure "user_word" dcl 6-410 in procedure "cobol_report_writer" set ref 3938* size parameter fixed bin(17,0) dcl 2007 in procedure "get_space" ref 2003 2010 2010 size 000112 automatic fixed bin(17,0) level 2 in structure "diag_item" dcl 151 in procedure "cobol_report_writer" set ref 116* size builtin function dcl 63 in procedure "cobol_report_writer" ref 67 71 72 74 75 76 77 78 80 81 82 85 86 87 809 809 950 950 1034 1034 1649 1649 2244 2244 2245 2245 2790 2790 3058 3058 3063 3063 3106 3106 3313 3313 3437 3437 3528 3528 3581 3581 3621 3621 3676 3676 size 30 based fixed bin(17,0) level 3 in structure "root" dcl 6-80 in procedure "cobol_report_writer" set ref 2277* st 001724 automatic bit(32) packed unaligned dcl 514 set ref 517* 519 st_depth 001234 automatic fixed bin(17,0) level 2 dcl 4040 set ref 1464* 1485 1487 1491* 1496* 1501* 1510 1510* 1608 1612 1612 1625 1628 stk_lev 000544 automatic fixed bin(17,0) dcl 212 set ref 107* 291* 291 296 307 308 358 365* 365 369 375* 375 379 428 468* string builtin function dcl 63 in procedure "cobol_report_writer" set ref 1114* string 5 based char level 2 in structure "picture" packed packed unaligned dcl 6-399 in procedure "cobol_report_writer" set ref 2500 string 6 based char level 2 in structure "alphanum_lit" packed packed unaligned dcl 4059 in procedure "cobol_report_writer" ref 1168 subj_req 000576 automatic bit(1) packed unaligned dcl 583 set ref 647* 650* 658* 664* 1887 subscripts 2 based structure level 2 unaligned dcl 6-325 substr builtin function dcl 63 set ref 519 2105 2105 2157 2161 2167 2173 2178 2181 2196 2635 2720 2747 2751 2765 2771 3472* 3493 3563 3796* 3876 3888 3903* 3943 success 000100 automatic label variable dcl 143 set ref 122* 321 422* 466* 1784 1809 1814 1823 1839 1844 1858 1867 1870 1878 1891 1896 1910 1917 1931 1943 1947 1953 sum based structure level 1 unaligned dcl 6-314 set ref 75 sum_SIZE 001620 automatic fixed bin(17,0) dcl 6-319 set ref 75* 3019* sum_chain_ptr 000700 automatic pointer dcl 2128 set ref 676* 1362* 1399* 2135 2138* 2141 3184 sum_clause based structure level 1 unaligned dcl 6-353 set ref 1034 1034 sum_clause_lifo_ptr 001640 automatic pointer dcl 6-360 set ref 1029* 1043 1044* 1044 1058 1060* sum_clause_num 000750 automatic fixed bin(17,0) dcl 2823 set ref 2882* 2885* sum_clause_ptr 001636 automatic pointer dcl 6-359 set ref 998 1034 1034 1034* 1038 1039 1043 2885* 2888 2902 2904 2907 2938 2940 sum_clause_size 001634 automatic fixed bin(17,0) dcl 6-358 set ref 1026* 1034 1034 1039 1041 1051* 1051 sum_counter based structure level 1 unaligned dcl 6-338 set ref 809 809 sum_counter_count 000677 automatic fixed bin(17,0) dcl 2128 set ref 1360* 1402* 1402 1464* 2138* sum_counter_lifo_ptr 001632 automatic pointer dcl 6-346 set ref 817 818* 818 988* 999 1001* sum_counter_ptr 001630 automatic pointer dcl 6-344 set ref 809 809 809* 812 813 817 822 1399* 2869* 2871 2882 2882 2885 2892 sum_counter_size 001627 automatic fixed bin(17,0) dcl 6-343 set ref 809 809 813 815 980* 992* 992 sum_ctr_ctr 001657 automatic fixed bin(17,0) dcl 6-407 set ref 69* 983* 983 3934* sum_loc 2 based pointer level 2 dcl 6-314 set ref 2808 2869 3022* sum_next based pointer level 2 dcl 6-314 set ref 2812 2874 3021* 3116 sum_number 002654 automatic char(4) packed unaligned dcl 3931 set ref 3934* 3943 sum_number_size 002655 automatic fixed bin(17,0) dcl 3931 set ref 3934* 3942 3943 sum_ptr 001622 automatic pointer dcl 6-320 in procedure "cobol_report_writer" set ref 75 2804* 2806 2808 2812* 2812 2865* 2867 2869 2874* 2874 2914 2916 2919 2946 2998 3019* 3021 3022 3023 3025 sum_ptr parameter pointer dcl 3032 in procedure "enter_chain" ref 3029 3038 sum_qn_ptr 4 based pointer level 2 dcl 6-314 set ref 2914* 2916* 2919* 2946* 2998 3025* 3114 suppress 14 based bit(1) array level 3 in structure "use_table" packed packed unaligned dcl 3361 in procedure "cobol_report_writer" set ref 3686* 3836 suppress 20 based bit(1) level 3 in structure "root" packed packed unaligned dcl 6-80 in procedure "cobol_report_writer" set ref 3836* suppress 6 based bit(1) level 2 in structure "use_reporting_object" packed packed unaligned dcl 3351 in procedure "cobol_report_writer" ref 3686 syntax_line based structure level 1 unaligned dcl 167 syntax_line_ptr 000570 automatic pointer dcl 574 set ref 234* 237 245 252 255 255 260 262 267 271 273 275 277 309 334 351 354 364* 379 407 435* 437 439 446 465* syntax_table based structure array level 1 unaligned dcl 160 set ref 234 364 435 465 syntax_trace 134(16) based bit(1) level 2 packed packed unaligned dcl 4-26 ref 127 sz 001760 automatic fixed bin(17,0) dcl 2006 in procedure "get_space" set ref 2010* 2012 2018 sz parameter fixed bin(17,0) dcl 2074 in procedure "def_node" set ref 2071 2077* t_field 2 based fixed bin(17,0) level 2 dcl 167 ref 245 262 267 309 407 439 446 t_type 1 based fixed bin(17,0) level 2 dcl 167 ref 237 437 tab_ptr parameter pointer dcl 3505 set ref 3502 3528* 3529 3540 table_ptr parameter pointer dcl 3420 in procedure "form_name_table" set ref 3416 3449* table_ptr parameter pointer dcl 3550 in procedure "is_nam_in_tab" ref 3547 3555 table_ptr parameter pointer dcl 3457 in procedure "are_tab_nams_unique" ref 3453 3461 tabtab_ptr parameter pointer dcl 3505 ref 3502 3511 tbit 000555 automatic bit(1) packed unaligned dcl 222 set ref 127* 129 226 248 285 293 331 340 361 372 1706* term_node based structure level 1 unaligned dcl 6-155 set ref 72 term_node_SIZE 001224 automatic fixed bin(17,0) dcl 4023 set ref 72* 1565* term_node_line based structure level 1 unaligned dcl 6-169 ref 87 term_node_line_bits based bit packed unaligned dcl 3959 set ref 1570* 1570 term_node_line_size 001233 automatic fixed bin(17,0) dcl 4032 set ref 87* 1570 1570 tm1 000550 automatic fixed bin(24,0) initial dcl 216 set ref 216* 248* 285* 340* tm2 000551 automatic fixed bin(24,0) initial dcl 217 set ref 217* 226* 331* tm3 000552 automatic fixed bin(24,0) initial dcl 218 set ref 218* 293* tm4 000553 automatic fixed bin(24,0) initial dcl 219 set ref 219* 361* tm5 000554 automatic fixed bin(24,0) initial dcl 220 set ref 220* 372* tn_level 7 based fixed bin(17,0) level 2 dcl 6-155 set ref 1608* tn_name_ptr 10 based pointer level 2 dcl 6-155 set ref 1607* tn_next based pointer level 2 dcl 6-155 set ref 1432* 1600* 1604* tn_ptr 001564 automatic pointer dcl 6-167 set ref 72 89* 1072 1077 1082 1087 1392 1392 1392 1407* 1565* 1569 1570 1572 1577 1579 1582 1584 1586 1589 1591 1593 tn_tok_column 5 based fixed bin(17,0) level 2 dcl 6-155 set ref 1392* 1606* 2448* tn_tok_line 4 based fixed bin(17,0) level 2 dcl 6-155 set ref 1392* 1605* 2448* tn_type 6 based fixed bin(17,0) level 2 dcl 6-155 set ref 1569* tn_up 2 based pointer level 2 dcl 6-155 set ref 1612* 1614* token_count 000545 automatic fixed bin(17,0) dcl 212 set ref 108* 518* 518 916 973 1018 1252 1258 1263 trace based structure level 1 unaligned dcl 201 trace_env_ptr 000546 automatic pointer dcl 214 set ref 131* 1706 trace_ptr 000564 automatic pointer dcl 574 set ref 126* 129* 226* 248* 285* 293* 331* 340* 361* 372* type 13 based fixed bin(17,0) level 3 in structure "root" dcl 6-80 in procedure "cobol_report_writer" set ref 1534* 2330 type 3 000112 automatic fixed bin(17,0) level 2 in structure "diag_item" dcl 151 in procedure "cobol_report_writer" set ref 117* type 21 based fixed bin(17,0) level 4 in structure "term_node" dcl 6-155 in procedure "cobol_report_writer" ref 2310 type 61 based fixed bin(17,0) level 3 in structure "report" dcl 6-35 in procedure "cobol_report_writer" set ref 1108* 1244* type 53 based fixed bin(17,0) level 3 in structure "report" dcl 6-35 in procedure "cobol_report_writer" set ref 1109* 1239* type 21 001026 automatic fixed bin(17,0) level 3 in structure "NODE" dcl 3981 in procedure "cobol_report_writer" set ref 710* 717* 785* type 15 based fixed bin(17,0) level 3 in structure "root" dcl 6-80 in procedure "cobol_report_writer" set ref 1533* type 37 based fixed bin(17,0) level 3 in structure "report" dcl 6-35 in procedure "cobol_report_writer" set ref 1108* 1229* type 11 001026 automatic fixed bin(17,0) level 3 in structure "NODE" dcl 3981 in procedure "cobol_report_writer" set ref 708* 757* 1533 type 5 000652 automatic fixed bin(17,0) level 2 in structure "ae" dcl 1250 in procedure "cobol_report_writer" set ref 1263* 1265* type 31 based fixed bin(17,0) level 3 in structure "report" dcl 6-35 in procedure "cobol_report_writer" set ref 1108* 1198* type 13 001026 automatic fixed bin(17,0) level 3 in structure "NODE" dcl 3981 in procedure "cobol_report_writer" set ref 710* 752* 1534 type 3 based fixed bin(17,0) level 2 in structure "header" dcl 185 in procedure "cobol_report_writer" ref 1263 1784 1793 1814 1823 1832 1844 1853 1860 1870 1870 1878 1905 1917 1926 1938 1947 3606 3611 3625 3650 3699 3702 3712 3720 type 3 based fixed bin(17,0) level 2 in structure "user_word" dcl 6-410 in procedure "cobol_report_writer" set ref 3941* type 3 based fixed bin(17,0) level 2 in structure "reserved_word" dcl 4053 in procedure "cobol_report_writer" ref 239 399 439 type 45 based fixed bin(17,0) level 3 in structure "report" dcl 6-35 in procedure "cobol_report_writer" set ref 1109* 1234* type 3 000556 automatic fixed bin(17,0) initial level 2 in structure "eof_token" dcl 526 in procedure "cobol_report_writer" set ref 526* type 26 based fixed bin(17,0) level 3 in structure "root" dcl 6-80 in procedure "cobol_report_writer" set ref 1548* 2275* type_ptr parameter pointer dcl 3647 set ref 3644 3649* upon_clause based structure level 1 unaligned dcl 6-364 upon_clause_ptr 001642 automatic pointer dcl 6-368 set ref 1029* 1038 1065* 2902* 2904 2926 2928 upon_loc 2 based pointer array level 2 dcl 6-364 ref 2928 upon_num 000753 automatic fixed bin(17,0) dcl 2823 set ref 2926* 2928* upon_size based fixed bin(17,0) level 2 dcl 6-364 ref 2926 usage_count 3 based fixed bin(17,0) array level 3 dcl 3361 set ref 3684* 3831* 3831 usage_disp 14 001026 automatic bit(1) level 2 in structure "NODE" packed packed unaligned dcl 3981 in procedure "cobol_report_writer" set ref 712 766* 1537 usage_disp 32 based bit(1) level 2 in structure "root" packed packed unaligned dcl 6-80 in procedure "cobol_report_writer" set ref 1537* use 2 based structure array level 2 unaligned dcl 3361 use_count 002576 automatic fixed bin(17,0) dcl 3812 set ref 3821* 3830* 3830 3833 use_proc 16 based structure level 2 unaligned dcl 6-80 use_proc_name_ptr 16 based pointer level 3 dcl 6-80 set ref 1547* 3835* use_reporting_object based structure level 1 unaligned dcl 3351 use_reporting_object_ptr 000760 automatic pointer dcl 3358 set ref 3664* 3667 3670* 3670 3679* 3685 3686 3688* 3688 3698 use_size based fixed bin(17,0) level 2 dcl 3361 set ref 3677* 3815 3824 use_table based structure level 1 unaligned dcl 3361 set ref 3676 3676 use_table_ptr 000762 automatic pointer dcl 3373 set ref 3676 3676 3676* 3677 3684 3685 3686 3697 3707 3708 3709 3725 3726 3727 3815 3824 3831 3831 3835 3836 3853 3874 3876 3886 3888 use_table_size 000764 automatic fixed bin(17,0) dcl 3374 set ref 3410* 3665* 3669* 3669 3676 3676 3677 3680 3680 user_word based structure level 1 unaligned dcl 6-410 user_word_ptr 001662 automatic pointer dcl 6-408 set ref 3936* 3938 3939 3940 3941 3942 3943 3945 user_word_size 001660 automatic fixed bin(17,0) dcl 6-407 set ref 70* 3936* 3938 uw 000776 automatic char(32) packed unaligned dcl 3384 set ref 3472* 3493 3563 3796* 3903* uwl 000775 automatic fixed bin(17,0) dcl 3384 set ref 3469* 3472 3493 3493 3563 3563 3795* 3796 3902* 3903 value 12 based fixed bin(17,0) level 3 in structure "root" dcl 6-80 in procedure "cobol_report_writer" set ref 1536* 2341 value 20 001026 automatic fixed bin(17,0) level 3 in structure "NODE" dcl 3981 in procedure "cobol_report_writer" set ref 787* value 20 based fixed bin(17,0) level 4 in structure "term_node" dcl 6-155 in procedure "cobol_report_writer" ref 2314 value 14 based fixed bin(17,0) level 3 in structure "root" dcl 6-80 in procedure "cobol_report_writer" set ref 1535* value 12 001026 automatic fixed bin(17,0) level 3 in structure "NODE" dcl 3981 in procedure "cobol_report_writer" set ref 709* 754* 1536 value 10 001026 automatic fixed bin(17,0) level 3 in structure "NODE" dcl 3981 in procedure "cobol_report_writer" set ref 759* 1535 word 6 based char level 2 packed packed unaligned dcl 6-410 set ref 2105 2105 3472 3493 3563 3796 3876 3876 3888 3888 3903 3943* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. DF_ptr automatic pointer dcl 615 HT_ptr automatic pointer dcl 615 ch_bit automatic bit(1) packed unaligned dcl 222 class_def_ptr automatic pointer dcl 576 cobol_afp defined pointer dcl 5-11 cobol_analin_fileno defined pointer dcl 5-13 cobol_cmfp defined pointer dcl 5-21 cobol_com_fileno defined pointer dcl 5-23 cobol_curr_in defined pointer dcl 5-53 cobol_curr_out defined pointer dcl 5-55 cobol_dfp defined pointer dcl 5-27 cobol_display_report$display_report_tables 000000 constant entry external dcl 58 cobol_eltp defined pointer dcl 5-19 cobol_ext_$cobol_afp external static pointer dcl 5-10 cobol_ext_$cobol_analin_fileno external static pointer dcl 5-12 cobol_ext_$cobol_cmfp external static pointer dcl 5-20 cobol_ext_$cobol_com_fileno external static pointer dcl 5-22 cobol_ext_$cobol_curr_in external static pointer dcl 5-52 cobol_ext_$cobol_curr_out external static pointer dcl 5-54 cobol_ext_$cobol_dfp external static pointer dcl 5-26 cobol_ext_$cobol_eltp external static pointer dcl 5-18 cobol_ext_$cobol_fileno1 external static fixed bin(24,0) dcl 5-78 cobol_ext_$cobol_hfp external static pointer dcl 5-28 cobol_ext_$cobol_lpr external static char(5) packed unaligned dcl 5-95 cobol_ext_$cobol_min1_fileno external static pointer dcl 5-34 cobol_ext_$cobol_min2_fileno_ptr external static pointer dcl 5-36 cobol_ext_$cobol_name_fileno external static pointer dcl 5-38 cobol_ext_$cobol_name_fileno_ptr external static pointer dcl 5-40 cobol_ext_$cobol_ntfp external static pointer dcl 5-42 cobol_ext_$cobol_options external static char(120) packed unaligned dcl 5-97 cobol_ext_$cobol_options_len external static fixed bin(24,0) dcl 5-80 cobol_ext_$cobol_pdofp external static pointer dcl 5-44 cobol_ext_$cobol_pdout_fileno external static fixed bin(24,0) dcl 5-82 cobol_ext_$cobol_pfp external static pointer dcl 5-46 cobol_ext_$cobol_print_fileno external static fixed bin(24,0) dcl 5-84 cobol_ext_$cobol_rm2fp external static pointer dcl 5-48 cobol_ext_$cobol_rmin2_fileno external static fixed bin(24,0) dcl 5-86 cobol_ext_$cobol_rmin2fp external static pointer dcl 5-50 cobol_ext_$cobol_rwdd external static pointer dcl 5-72 cobol_ext_$cobol_rwpd external static pointer dcl 5-74 cobol_ext_$cobol_sfp external static pointer dcl 5-56 cobol_ext_$cobol_w1p external static pointer dcl 5-58 cobol_ext_$cobol_w2p external static pointer dcl 5-60 cobol_ext_$cobol_w3p external static pointer dcl 5-62 cobol_ext_$cobol_w5p external static pointer dcl 5-64 cobol_ext_$cobol_w6p external static pointer dcl 5-66 cobol_ext_$cobol_w7p external static pointer dcl 5-68 cobol_ext_$cobol_x1_fileno external static fixed bin(24,0) dcl 5-88 cobol_ext_$cobol_x2_fileno external static fixed bin(24,0) dcl 5-90 cobol_ext_$cobol_x3_fileno external static fixed bin(24,0) dcl 5-92 cobol_ext_$cobol_x3fp external static pointer dcl 5-70 cobol_ext_$cobol_xlast8 external static bit(1) packed unaligned dcl 5-100 cobol_ext_$report_exists external static bit(1) packed unaligned dcl 5-102 cobol_ext_$report_last_token external static pointer dcl 5-16 cobol_fileno1 defined fixed bin(24,0) dcl 5-79 cobol_hfp defined pointer dcl 5-29 cobol_lpr defined char(5) packed unaligned dcl 5-96 cobol_min1_fileno defined pointer dcl 5-35 cobol_min2_fileno_ptr defined pointer dcl 5-37 cobol_name_fileno defined pointer dcl 5-39 cobol_name_fileno_ptr defined pointer dcl 5-41 cobol_ntfp defined pointer dcl 5-43 cobol_options defined char(120) packed unaligned dcl 5-98 cobol_options_len defined fixed bin(24,0) dcl 5-81 cobol_pdofp defined pointer dcl 5-45 cobol_pdout_fileno defined fixed bin(24,0) dcl 5-83 cobol_pfp defined pointer dcl 5-47 cobol_print_fileno defined fixed bin(24,0) dcl 5-85 cobol_rm2fp defined pointer dcl 5-49 cobol_rmin2_fileno defined fixed bin(24,0) dcl 5-87 cobol_rmin2fp defined pointer dcl 5-51 cobol_rwdd defined pointer dcl 5-73 cobol_rwpd defined pointer dcl 5-75 cobol_sfp defined pointer dcl 5-57 cobol_w1p defined pointer dcl 5-59 cobol_w2p defined pointer dcl 5-61 cobol_w3p defined pointer dcl 5-63 cobol_w5p defined pointer dcl 5-65 cobol_w6p defined pointer dcl 5-67 cobol_w7p defined pointer dcl 5-69 cobol_x1_fileno defined fixed bin(24,0) dcl 5-89 cobol_x2_fileno defined fixed bin(24,0) dcl 5-91 cobol_x3_fileno defined fixed bin(24,0) dcl 5-93 cobol_x3fp defined pointer dcl 5-71 cobol_xlast8 defined bit(1) packed unaligned dcl 5-101 control_count automatic fixed bin(17,0) dcl 617 control_ptr automatic pointer dcl 606 def_entry_SIZE automatic fixed bin(17,0) dcl 4028 def_entry_bits based bit packed unaligned dcl 3960 def_entry_ptr automatic pointer dcl 596 def_entry_size automatic fixed bin(17,0) dcl 597 df_ptr automatic pointer dcl 615 field_number automatic fixed bin(17,0) dcl 617 found automatic bit(1) packed unaligned dcl 613 gch automatic varying char(32) dcl 593 group_bits automatic structure level 1 packed packed unaligned dcl 620 ht_entry_SIZE automatic fixed bin(17,0) dcl 4028 ht_ptr automatic pointer dcl 615 i automatic fixed bin(17,0) dcl 3662 id_count automatic fixed bin(17,0) dcl 601 line_clause_found automatic bit(1) packed unaligned dcl 583 line_number automatic fixed bin(17,0) dcl 617 line_position automatic fixed bin(17,0) dcl 578 not_found automatic bit(1) packed unaligned dcl 613 p automatic pointer dcl 615 q automatic pointer dcl 615 report_exists defined bit(1) packed unaligned dcl 5-103 report_last_token defined pointer dcl 5-17 rsz automatic fixed bin(17,0) dcl 2092 rt_cl automatic bit(4) packed unaligned dcl 639 rt_cl_bits defined bit(1) array packed unaligned dcl 640 s_ptr automatic pointer dcl 603 sep_sign automatic bit(1) packed unaligned dcl 2613 st automatic bit(32) packed unaligned dcl 222 status automatic fixed bin(17,0) dcl 212 sum_count automatic fixed bin(17,0) dcl 601 sum_first_ptr automatic pointer dcl 604 sum_last_ptr automatic pointer dcl 604 sum_reset_ptr automatic pointer dcl 604 tln automatic fixed bin(17,0) dcl 212 up_entry automatic pointer dcl 589 up_ptr automatic pointer dcl 615 NAMES DECLARED BY EXPLICIT CONTEXT. CFC 000253 constant label array(2) dcl 2507 ref 2505 CFC0 005331 constant label dcl 2572 ref 2537 2570 CLC 000237 constant label array(3) dcl 2359 ref 2357 CLC0 005064 constant label dcl 2440 ref 2382 2413 2438 COMP 004311 constant entry internal dcl 2088 ref 2064 CS1 000255 constant label array(0:2) dcl 2510 ref 2507 CS10 005257 constant label dcl 2537 ref 2519 2531 2535 CS2 000260 constant label array(0:2) dcl 2543 ref 2540 CS20 005326 constant label dcl 2567 ref 2551 2559 2565 DIAG 003734 constant entry internal dcl 496 ref 737 835 872 940 1138 1212 1291 1293 1295 1297 1299 1301 1321 1328 1335 1342 1392 2161 2164 2167 2178 2181 2184 2194 2196 2448 2911 2932 2944 2979 2981 3139 3155 3164 3175 3476 3802 3839 3920 F 000575 constant label dcl 226 ref 123 467 F1 003665 constant label dcl 457 ref 423 FIND 004234 constant entry internal dcl 2048 ref 2930 2976 3151 3220 GN 000233 constant label array(0:3) dcl 2298 ref 2296 GN0 004672 constant label dcl 2321 ref 2298 2305 2319 LS1 000242 constant label array(0:2) dcl 2362 ref 2359 LS10 004764 constant label dcl 2378 ref 2367 2372 2376 LS2 000245 constant label array(0:2) dcl 2387 ref 2384 LS20 005020 constant label dcl 2409 ref 2391 2399 2407 LS3 000250 constant label array(0:2) dcl 2418 ref 2415 LS30 005057 constant label dcl 2434 ref 2423 2428 2432 NDT 000200 constant label array(0:3) dcl 1526 set ref 1525 NDT0 002750 constant label dcl 1600 ref 1526 1552 1563 1598 PG 000157 constant label array(0:4) dcl 1220 ref 1218 PG0 002317 constant label dcl 1247 ref 1220 1230 1235 1240 1245 PIC 000263 constant label array(0:18) dcl 2643 ref 2638 PIC0 005447 constant label dcl 2696 ref 2662 2670 2675 2682 2689 2694 RC 000225 constant label array(0:5) dcl 439 ref 437 RC0 003665 constant label dcl 457 ref 444 453 RD 000152 constant label array(0:4) dcl 1146 ref 1144 RD0 002202 constant label dcl 1165 ref 1146 1149 1154 1159 1163 REP 000170 constant label array(0:7) dcl 1319 ref 1318 REP0 002504 constant label dcl 1374 ref 1319 1326 1333 1340 1347 1353 1365 1372 RG 000132 constant label array(0:15) dcl 746 ref 744 RG0 001472 constant label dcl 829 ref 746 749 755 760 764 768 770 775 779 783 788 792 797 802 824 826 RNT 000164 constant label array(0:3) dcl 1311 ref 1307 RNT0 002562 constant label dcl 1420 ref 1311 1383 1390 1418 S 000635 constant label dcl 248 ref 122 466 S1 003663 constant label dcl 455 ref 422 action 000006 constant label array(0:83) dcl 346 ref 260 288 add_to_list 007107 constant entry internal dcl 3251 ref 3000 3040 ae_final 002325 constant label dcl 1258 ae_init 002320 constant label dcl 1252 are_tab_nams_unique 007425 constant entry internal dcl 3453 ref 3403 arop 003510 constant label dcl 1938 c0s1 001171 constant label dcl 644 cdecrs1 001177 constant label dcl 655 check 000204 constant label array(17) dcl 1784 ref 262 446 check_field_clause 005151 constant entry internal dcl 2483 ref 2316 check_line_clause 004726 constant entry internal dcl 2354 ref 2343 check_page 004002 constant entry internal dcl 1273 ref 1161 cincr 001210 constant label dcl 667 cincrs1 001204 constant label dcl 661 class_test 003544 constant entry internal dcl 392 ref 313 323 449 classify_node 004427 constant entry internal dcl 2152 ref 1523 cobol_report_writer 000327 constant entry external dcl 32 code 002203 constant label dcl 1168 code_lit 003301 constant label dcl 1832 comp_group_name 010712 constant entry internal dcl 3869 ref 3855 3859 comp_rep_name 010740 constant entry internal dcl 3881 ref 3865 compare_use_name 010666 constant entry internal dcl 3847 ref 3826 con_1 003052 constant label dcl 1669 con_2 002212 constant label dcl 1174 con_3 003161 constant label dcl 1746 con_init 002224 constant label dcl 1183 con_name 002227 constant label dcl 1188 con_name_1 003010 constant label dcl 1634 con_name_2 003022 constant label dcl 1649 def_node 004265 constant entry internal dcl 2071 ref 1528 1554 1565 dg 005065 constant entry internal dcl 2443 ref 2374 2430 2475 2521 2533 diag 003712 constant entry internal dcl 482 ref 255 278 346 424 dup_test 007505 constant entry internal dcl 3482 ref 3474 enter_chain 006464 constant entry internal dcl 3029 ref 2914 2916 2919 2946 enter_group_chain 006434 constant entry internal dcl 3009 ref 1370 1399 enter_reset_chain 006413 constant entry internal dcl 2990 ref 2896 2971 2983 eof 003170 constant label dcl 1784 figconall 003472 constant label dcl 1926 find_file 010765 constant entry internal dcl 3893 ref 3742 find_file_and_use 010314 constant entry internal dcl 3731 ref 3412 find_rep_names 010536 constant entry internal dcl 3786 ref 3408 find_st_depth 004136 constant entry internal dcl 1479 ref 1514 find_use 010577 constant entry internal dcl 3808 ref 3746 3748 3750 3752 3759 3769 3779 first_field 005332 constant entry internal dcl 2575 ref 2513 2546 first_token 010074 constant entry internal dcl 3635 ref 3649 form_control_table 006512 constant entry internal dcl 3045 ref 1179 1674 1749 form_de_table 005623 constant entry internal dcl 2784 ref 685 form_fd_table 007723 constant entry internal dcl 3572 ref 3395 form_group_tables 004543 constant entry internal dcl 2234 ref 689 1374 form_name_seq 006621 constant entry internal dcl 3082 ref 2138 2801 form_name_table 007332 constant entry internal dcl 3416 ref 3405 3577 form_rep_table 010002 constant entry internal dcl 3598 ref 3587 form_sum_name 011054 constant entry internal dcl 3928 ref 985 form_use_table 010131 constant entry internal dcl 3657 ref 3399 get_pic_size 005370 constant entry internal dcl 2626 ref 2503 get_space 004171 constant entry internal dcl 2003 ref 809 950 964 996 1034 1055 1092 1637 1649 1692 1730 2077 2244 2245 2790 2996 3019 3035 3058 3063 3106 3313 3437 3528 3581 3621 3676 3936 get_token 010112 constant entry internal dcl 3644 ref 3443 3605 3624 get_use_name 010213 constant entry internal dcl 3693 ref 3683 group_node 004652 constant entry internal dcl 2293 ref 2257 2265 id_1 001645 constant label dcl 964 id_2 001654 constant label dcl 973 id_3 002563 constant label dcl 1447 id_4 001720 constant label dcl 1018 illeg_ln 003536 constant label dcl 1953 integer 003327 constant label dcl 1853 is_nam_in_tab 007663 constant entry internal dcl 3547 ref 3800 3909 is_sub_opt 003430 constant label dcl 1887 is_sum_counter 007030 constant entry internal dcl 3194 ref 2909 2942 lev_num 003200 constant label dcl 1793 line_incr_test 005130 constant entry internal dcl 2470 ref 2369 line_table_entry 004673 constant entry internal dcl 2327 ref 2301 2307 link_node 004117 constant entry internal dcl 1425 ref 1385 1406 lit_1 003143 constant label dcl 1730 lit_2 003153 constant label dcl 1739 literal 003402 constant label dcl 1870 lptopstk 003436 constant label dcl 1896 lt_reset 004720 constant entry internal dcl 2347 ref 2253 2344 new_inst 000612 constant label dcl 234 ref 136 311 336 345 356 next_inst 000611 constant label dcl 231 ref 377 384 nonumlit 003526 constant label dcl 1947 pg_cl_num 002240 constant label dcl 1201 pg_clause 002250 constant label dcl 1208 pg_init 002233 constant label dcl 1195 pg_set 003137 constant label dcl 1725 pic 003317 constant label dcl 1844 process_cf_reset_clause 006326 constant entry internal dcl 2960 ref 2894 process_cf_sum_chain 005753 constant entry internal dcl 2862 ref 2852 process_cf_sum_clause 006042 constant entry internal dcl 2899 ref 2888 process_cf_sum_counter 006003 constant entry internal dcl 2879 ref 2871 process_control_group 006663 constant entry internal dcl 3130 ref 1349 1355 process_rep_sc 005726 constant entry internal dcl 2840 ref 2833 process_report_clauses 007235 constant entry internal dcl 3389 ref 1704 process_sum_counters 005711 constant entry internal dcl 2826 ref 1701 q_name_1 001616 constant label dcl 944 q_name_2 001620 constant label dcl 950 q_name_3 002566 constant label dcl 1453 rd_cl_num 002136 constant label dcl 1126 rd_clause 002146 constant label dcl 1134 rd_init 002034 constant label dcl 1092 rd_name 002132 constant label dcl 1120 recov_loc 001160 constant label dcl 379 recovery 003612 constant entry internal dcl 418 ref 386 recvy 001167 constant label dcl 386 relop 003444 constant label dcl 1905 rep_add 001224 constant label dcl 680 rep_group 002345 constant label dcl 1307 rep_group_1 002574 constant label dcl 1464 rep_init 001213 constant label dcl 672 rep_spec 005507 constant entry internal dcl 2739 ref 2647 2691 2726 ret 001071 constant label dcl 346 ref 257 390 648 653 659 665 670 678 697 723 730 739 829 837 842 852 857 862 867 874 879 884 889 894 899 904 909 914 920 925 930 935 942 948 962 971 978 990 1003 1010 1016 1024 1032 1049 1063 1070 1075 1080 1085 1090 1118 1124 1132 1139 1165 1172 1181 1186 1193 1199 1206 1213 1247 1256 1267 1420 1451 1459 1469 1476 1630 1644 1664 1676 1689 1699 1713 1722 1728 1737 1744 1750 rg_clause 001330 constant label dcl 733 rg_clnum 001320 constant label dcl 725 rg_col_1 001577 constant label dcl 927 rg_col_2 001602 constant label dcl 932 rg_col_3 001605 constant label dcl 937 rg_entry_1 002603 constant label dcl 1473 rg_entry_2 002606 constant label dcl 1510 rg_group_1 001515 constant label dcl 854 rg_group_2 001520 constant label dcl 859 rg_group_3 001523 constant label dcl 864 rg_group_4 001526 constant label dcl 869 rg_init 001262 constant label dcl 699 rg_line_1 001473 constant label dcl 832 ref 847 rg_line_2 001504 constant label dcl 839 rg_line_3 001507 constant label dcl 844 rg_line_4 001512 constant label dcl 849 rg_pres_1 001567 constant label dcl 916 rg_pres_2 001574 constant label dcl 922 rg_type_1 001537 constant label dcl 876 rg_type_2 001542 constant label dcl 881 rg_type_3 001545 constant label dcl 886 rg_type_4 001550 constant label dcl 891 rg_type_5 001553 constant label dcl 896 rg_type_6 001556 constant label dcl 901 rg_type_7 001561 constant label dcl 906 rg_type_8 001564 constant label dcl 911 rg_type_9 003063 constant label dcl 1685 rg_type_a 003134 constant label dcl 1719 rs_exit 003076 constant label dcl 1701 s0 001175 constant label dcl 650 scan 003755 constant entry internal dcl 511 ref 134 351 476 1710 3606 3614 3625 3631 3641 3653 3699 3701 3711 3719 set_cf_sum_chain 004373 constant entry internal dcl 2132 ref 687 1316 set_count_and_size 005103 constant entry internal dcl 2451 ref 2280 2334 set_fields 005350 constant entry internal dcl 2591 ref 2515 2526 2548 2556 2563 set_line_num 005116 constant entry internal dcl 2461 ref 2364 2412 2418 2477 sign_1 002004 constant label dcl 1072 sign_2 002012 constant label dcl 1077 sign_3 002020 constant label dcl 1082 sign_4 002026 constant label dcl 1087 subseq_field 005344 constant entry internal dcl 2584 ref 2525 2555 2561 sum_1 001664 constant label dcl 980 sum_2 001677 constant label dcl 992 sum_3 001711 constant label dcl 1005 sum_4 001714 constant label dcl 1012 sum_5 003066 constant label dcl 1692 sum_ph_1 001726 constant label dcl 1026 sum_ph_2 001733 constant label dcl 1034 sum_ph_3 001767 constant label dcl 1051 sum_ph_4 002001 constant label dcl 1065 tabtab_to_tab 007540 constant entry internal dcl 3502 ref 3402 test 000000 constant label array(0:5) dcl 239 ref 237 test_next 005464 constant entry internal dcl 2709 ref 2680 2687 tree_to_qual 007141 constant entry internal dcl 3279 ref 3025 type1 003420 constant label dcl 1878 type2 003261 constant label dcl 1814 type3 003462 constant label dcl 1917 type8 003271 constant label dcl 1823 ucon 000651 constant label dcl 252 ref 367 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 12052 12132 11616 12062 Length 12502 11616 60 333 234 6 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME cobol_report_writer 2128 external procedure is an external procedure. class_test internal procedure shares stack frame of external procedure cobol_report_writer. recovery internal procedure shares stack frame of external procedure cobol_report_writer. diag internal procedure shares stack frame of external procedure cobol_report_writer. DIAG internal procedure shares stack frame of external procedure cobol_report_writer. scan internal procedure shares stack frame of external procedure cobol_report_writer. check_page internal procedure shares stack frame of external procedure cobol_report_writer. link_node internal procedure shares stack frame of external procedure cobol_report_writer. find_st_depth internal procedure shares stack frame of external procedure cobol_report_writer. get_space internal procedure shares stack frame of external procedure cobol_report_writer. FIND internal procedure shares stack frame of external procedure cobol_report_writer. def_node internal procedure shares stack frame of external procedure cobol_report_writer. COMP internal procedure shares stack frame of external procedure cobol_report_writer. set_cf_sum_chain internal procedure shares stack frame of external procedure cobol_report_writer. classify_node internal procedure shares stack frame of external procedure cobol_report_writer. form_group_tables internal procedure shares stack frame of external procedure cobol_report_writer. group_node internal procedure shares stack frame of external procedure cobol_report_writer. line_table_entry internal procedure shares stack frame of external procedure cobol_report_writer. lt_reset internal procedure shares stack frame of external procedure cobol_report_writer. check_line_clause internal procedure shares stack frame of external procedure cobol_report_writer. dg internal procedure shares stack frame of external procedure cobol_report_writer. set_count_and_size internal procedure shares stack frame of external procedure cobol_report_writer. set_line_num internal procedure shares stack frame of external procedure cobol_report_writer. line_incr_test internal procedure shares stack frame of external procedure cobol_report_writer. check_field_clause internal procedure shares stack frame of external procedure cobol_report_writer. first_field internal procedure shares stack frame of external procedure cobol_report_writer. subseq_field internal procedure shares stack frame of external procedure cobol_report_writer. set_fields internal procedure shares stack frame of external procedure cobol_report_writer. get_pic_size internal procedure shares stack frame of external procedure cobol_report_writer. test_next internal procedure shares stack frame of external procedure cobol_report_writer. rep_spec internal procedure shares stack frame of external procedure cobol_report_writer. form_de_table internal procedure shares stack frame of external procedure cobol_report_writer. process_sum_counters internal procedure shares stack frame of external procedure cobol_report_writer. process_rep_sc internal procedure shares stack frame of external procedure cobol_report_writer. process_cf_sum_chain internal procedure shares stack frame of external procedure cobol_report_writer. process_cf_sum_counter internal procedure shares stack frame of external procedure cobol_report_writer. process_cf_sum_clause internal procedure shares stack frame of external procedure cobol_report_writer. process_cf_reset_clause internal procedure shares stack frame of external procedure cobol_report_writer. enter_reset_chain internal procedure shares stack frame of external procedure cobol_report_writer. enter_group_chain internal procedure shares stack frame of external procedure cobol_report_writer. enter_chain internal procedure shares stack frame of external procedure cobol_report_writer. form_control_table internal procedure shares stack frame of external procedure cobol_report_writer. form_name_seq internal procedure shares stack frame of external procedure cobol_report_writer. process_control_group internal procedure shares stack frame of external procedure cobol_report_writer. is_sum_counter internal procedure shares stack frame of external procedure cobol_report_writer. add_to_list internal procedure shares stack frame of external procedure cobol_report_writer. tree_to_qual internal procedure shares stack frame of external procedure cobol_report_writer. process_report_clauses internal procedure shares stack frame of external procedure cobol_report_writer. form_name_table internal procedure shares stack frame of external procedure cobol_report_writer. are_tab_nams_unique internal procedure shares stack frame of external procedure cobol_report_writer. dup_test internal procedure shares stack frame of external procedure cobol_report_writer. tabtab_to_tab internal procedure shares stack frame of external procedure cobol_report_writer. is_nam_in_tab internal procedure shares stack frame of external procedure cobol_report_writer. form_fd_table internal procedure shares stack frame of external procedure cobol_report_writer. form_rep_table internal procedure shares stack frame of external procedure cobol_report_writer. first_token internal procedure shares stack frame of external procedure cobol_report_writer. get_token internal procedure shares stack frame of external procedure cobol_report_writer. form_use_table internal procedure shares stack frame of external procedure cobol_report_writer. get_use_name internal procedure shares stack frame of external procedure cobol_report_writer. find_file_and_use internal procedure shares stack frame of external procedure cobol_report_writer. find_rep_names internal procedure shares stack frame of external procedure cobol_report_writer. find_use internal procedure shares stack frame of external procedure cobol_report_writer. compare_use_name internal procedure shares stack frame of external procedure cobol_report_writer. comp_group_name internal procedure shares stack frame of external procedure cobol_report_writer. comp_rep_name internal procedure shares stack frame of external procedure cobol_report_writer. find_file internal procedure shares stack frame of external procedure cobol_report_writer. form_sum_name internal procedure shares stack frame of external procedure cobol_report_writer. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 PIC check_field_clause STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME cobol_report_writer 000100 success cobol_report_writer 000104 fail cobol_report_writer 000110 cl_token cobol_report_writer 000112 diag_item cobol_report_writer 000122 rwfp cobol_report_writer 000124 rwfp1 cobol_report_writer 000126 rwfp2 cobol_report_writer 000130 interp cobol_report_writer 000142 intrp_stack cobol_report_writer 000542 DIAG_NUM cobol_report_writer 000543 act_num cobol_report_writer 000544 stk_lev cobol_report_writer 000545 token_count cobol_report_writer 000546 trace_env_ptr cobol_report_writer 000550 tm1 cobol_report_writer 000551 tm2 cobol_report_writer 000552 tm3 cobol_report_writer 000553 tm4 cobol_report_writer 000554 tm5 cobol_report_writer 000555 tbit cobol_report_writer 000556 eof_token cobol_report_writer 000562 i cobol_report_writer 000563 rl cobol_report_writer 000564 trace_ptr cobol_report_writer 000566 dg_ptr cobol_report_writer 000570 syntax_line_ptr cobol_report_writer 000572 class_tab_ptr cobol_report_writer 000574 cl_off cobol_report_writer 000575 cssub cobol_report_writer 000576 subj_req cobol_report_writer 000600 prev_token_ptr cobol_report_writer 000602 rd_clnum cobol_report_writer 000603 rg_cl_num cobol_report_writer 000604 pg_clnum cobol_report_writer 000605 lv_line cobol_report_writer 000606 lv_col cobol_report_writer 000610 node_ptr cobol_report_writer 000612 prev_node_ptr cobol_report_writer 000614 NODE_line_ptr cobol_report_writer 000616 int_val cobol_report_writer 000617 par_1 cobol_report_writer 000620 par_2 cobol_report_writer 000622 ptr_1 cobol_report_writer 000624 ptr_2 cobol_report_writer 000626 group_type cobol_report_writer 000630 q_ptr cobol_report_writer 000632 rg_line cobol_report_writer 000633 rg_column cobol_report_writer 000634 pg_line cobol_report_writer 000635 pg_column cobol_report_writer 000636 rd_line cobol_report_writer 000637 rd_column cobol_report_writer 000640 cd_lit cobol_report_writer 000642 ae_addr cobol_report_writer 000644 res cobol_report_writer 000645 group_number cobol_report_writer 000646 rg_cl cobol_report_writer 000647 rd_cl cobol_report_writer 000650 pg_cl cobol_report_writer 000651 rep_num cobol_report_writer 000652 ae cobol_report_writer 000660 qual_name_seq_lifo_ptr cobol_report_writer 000662 alloc_area cobol_report_writer 000666 FIND_ptr cobol_report_writer 000670 FIND_name_ptr cobol_report_writer 000672 FIND_seq_ptr cobol_report_writer 000674 seq_pos cobol_report_writer 000675 FIND_ctr cobol_report_writer 000676 last_control_num cobol_report_writer 000677 sum_counter_count cobol_report_writer 000700 sum_chain_ptr cobol_report_writer 000702 ltl cobol_report_writer 000703 ftl cobol_report_writer 000704 line_status cobol_report_writer 000705 line_value cobol_report_writer 000706 lt cobol_report_writer 000707 lv cobol_report_writer 000710 ct cobol_report_writer 000711 cv cobol_report_writer 000712 col_clause cobol_report_writer 000713 last_line_value cobol_report_writer 000714 TYPE cobol_report_writer 000715 LINE cobol_report_writer 000716 SIZE cobol_report_writer 000717 col_status cobol_report_writer 000720 col_value cobol_report_writer 000721 line_size cobol_report_writer 000722 line_count cobol_report_writer 000723 field_count cobol_report_writer 000724 pic_loc cobol_report_writer 000725 pic_size cobol_report_writer 000726 ch_type cobol_report_writer 000727 pic_string_size cobol_report_writer 000730 rep_spec_size cobol_report_writer 000731 left_par_loc cobol_report_writer 000732 right_par_loc cobol_report_writer 000733 int_size cobol_report_writer 000734 next_char cobol_report_writer 000736 pic_string_ptr cobol_report_writer 000740 s_exists cobol_report_writer 000741 non_num cobol_report_writer 000742 pic_chars cobol_report_writer 000747 current_control_level cobol_report_writer 000750 sum_clause_num cobol_report_writer 000751 ident_num cobol_report_writer 000752 de_table_loc cobol_report_writer 000753 upon_num cobol_report_writer 000754 hit_count cobol_report_writer 000755 addend_level cobol_report_writer 000756 fd_object_ptr cobol_report_writer 000760 use_reporting_object_ptr cobol_report_writer 000762 use_table_ptr cobol_report_writer 000764 use_table_size cobol_report_writer 000766 directory_ptr cobol_report_writer 000770 TAB_pos cobol_report_writer 000771 TAB_res cobol_report_writer 000772 TAB_ptr cobol_report_writer 000774 TABTAB_pos cobol_report_writer 000775 uwl cobol_report_writer 000776 uw cobol_report_writer 001006 fd_table_ptr cobol_report_writer 001010 rep_clause_table_ptr cobol_report_writer 001012 rep_table_ptr cobol_report_writer 001014 rd_table_ptr cobol_report_writer 001016 report_list cobol_report_writer 001024 last_root_ptr cobol_report_writer 001026 NODE cobol_report_writer 001056 QUAL_NAME cobol_report_writer 001222 root_SIZE cobol_report_writer 001223 non_term_node_SIZE cobol_report_writer 001224 term_node_SIZE cobol_report_writer 001225 list_def_SIZE cobol_report_writer 001226 report_SIZE cobol_report_writer 001227 list_link_SIZE cobol_report_writer 001230 fatal_no cobol_report_writer 001231 integer_spec_size cobol_report_writer 001232 non_term_node_line_size cobol_report_writer 001233 term_node_line_size cobol_report_writer 001234 ST cobol_report_writer 001552 list_link_ptr cobol_report_writer 001554 list_def_ptr cobol_report_writer 001556 current_report_loc cobol_report_writer 001560 rt_ptr cobol_report_writer 001562 ntn_ptr cobol_report_writer 001564 tn_ptr cobol_report_writer 001566 ch_table_ptr cobol_report_writer 001570 ch_table_size cobol_report_writer 001572 cf_table_ptr cobol_report_writer 001574 cf_table_size cobol_report_writer 001576 de_table_ptr cobol_report_writer 001600 de_table_size cobol_report_writer 001602 LINE_table_ptr cobol_report_writer 001604 line_table_size cobol_report_writer 001606 FIELD_table_ptr cobol_report_writer 001610 field_table_size cobol_report_writer 001611 qual_name_size cobol_report_writer 001612 qual_name_ptr cobol_report_writer 001614 qual_name_seq_size cobol_report_writer 001616 qual_name_seq_ptr cobol_report_writer 001620 sum_SIZE cobol_report_writer 001622 sum_ptr cobol_report_writer 001624 ident_ptr cobol_report_writer 001626 ident_SIZE cobol_report_writer 001627 sum_counter_size cobol_report_writer 001630 sum_counter_ptr cobol_report_writer 001632 sum_counter_lifo_ptr cobol_report_writer 001634 sum_clause_size cobol_report_writer 001636 sum_clause_ptr cobol_report_writer 001640 sum_clause_lifo_ptr cobol_report_writer 001642 upon_clause_ptr cobol_report_writer 001644 reset_clause_ptr cobol_report_writer 001646 reset_clause_SIZE cobol_report_writer 001650 reset_chain_entry_ptr cobol_report_writer 001652 reset_chain_entry_SIZE cobol_report_writer 001654 chain_entry_ptr cobol_report_writer 001656 chain_entry_SIZE cobol_report_writer 001657 sum_ctr_ctr cobol_report_writer 001660 user_word_size cobol_report_writer 001662 user_word_ptr cobol_report_writer 001724 st scan 001725 rec_size scan 001750 i find_st_depth 001751 lev find_st_depth 001760 sz get_space 002006 i COMP 002007 j COMP 002010 lp COMP 002012 rp COMP 002014 lsz COMP 002015 lct COMP 002042 ct form_group_tables 002132 p check_field_clause 002210 i form_de_table 002316 i form_control_table 002326 i form_name_seq 002330 p form_name_seq 002346 i is_sum_counter 002350 p is_sum_counter 002370 r tree_to_qual 002372 i tree_to_qual 002410 i form_name_table 002420 line are_tab_nams_unique 002421 col are_tab_nams_unique 002432 i dup_test 002442 i tabtab_to_tab 002443 j tabtab_to_tab 002444 k tabtab_to_tab 002446 p tabtab_to_tab 002462 i is_nam_in_tab 002464 p is_nam_in_tab 002506 i form_rep_table 002550 i find_file_and_use 002562 line find_rep_names 002563 col find_rep_names 002574 line find_use 002575 col find_use 002576 use_count find_use 002606 comp_count compare_use_name 002616 gnl comp_group_name 002626 rnl comp_rep_name 002636 i find_file 002640 p find_file 002642 q find_file 002654 sum_number form_sum_name 002655 sum_number_size form_sum_name THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp call_ext_out_desc call_ext_out return_mac tra_ext_2 mdfx1 shorten_stack ext_entry any_to_any_truncate_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. cobol$alloc cobol_c_list cobol_class_table_ cobol_generate_report cobol_io_$cobol_msf_start cobol_io_$cobol_save_pos cobol_output_tokens$directory_loc cobol_rw cobol_swf_get cobol_syntax_trace_$initialize_phase cobol_syntax_trace_$trace cobol_syntax_trace_$trace_loc ioa_$rsnnl THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. cobol_ext_$cobol_com_ptr cobol_ext_$cobol_m1fp cobol_ext_$cobol_m2fp cobol_ext_$report_first_token LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 32 000326 216 000334 217 000336 218 000340 219 000342 220 000344 526 000346 2617 000353 67 000356 69 000360 70 000361 71 000363 72 000365 74 000367 75 000371 76 000373 77 000375 78 000377 80 000401 81 000403 82 000405 83 000407 85 000411 86 000413 87 000415 89 000417 90 000423 91 000425 92 000426 93 000427 96 000432 97 000435 98 000440 99 000450 101 000452 103 000454 104 000467 105 000471 107 000473 108 000475 110 000476 111 000505 115 000514 116 000516 117 000520 118 000522 120 000524 122 000525 123 000530 124 000533 126 000534 127 000536 129 000545 131 000560 132 000567 133 000571 134 000573 136 000574 226 000575 231 000611 234 000612 237 000616 239 000620 245 000626 248 000635 252 000651 255 000657 257 000675 260 000676 262 000701 267 000703 271 000705 273 000707 275 000714 277 000724 278 000726 281 000730 282 000731 285 000732 288 000746 291 000750 293 000751 296 000765 298 000770 299 000772 300 000775 302 000777 304 001006 307 001007 308 001013 309 001014 311 001017 313 001020 318 001021 321 001025 323 001027 329 001030 331 001032 334 001046 336 001051 340 001052 343 001066 345 001070 346 001071 351 001075 354 001102 356 001105 358 001106 361 001112 364 001126 365 001132 367 001134 369 001135 372 001141 375 001155 377 001157 379 001160 384 001166 386 001167 390 001170 644 001171 647 001172 648 001174 650 001175 653 001176 655 001177 658 001201 659 001203 661 001204 664 001205 665 001207 667 001210 670 001212 672 001213 675 001214 676 001217 677 001222 678 001223 680 001224 683 001225 685 001235 687 001236 689 001237 692 001244 694 001254 696 001257 697 001261 699 001262 702 001265 704 001267 706 001270 708 001272 709 001274 710 001275 712 001277 714 001301 715 001304 717 001310 720 001312 721 001314 723 001317 725 001320 728 001322 729 001325 730 001327 733 001330 737 001335 739 001341 742 001342 744 001345 746 001346 749 001347 752 001350 754 001352 755 001354 757 001355 759 001357 760 001361 762 001362 764 001364 766 001365 768 001367 770 001370 773 001371 775 001373 777 001374 779 001376 781 001377 783 001401 785 001402 787 001404 788 001406 790 001407 792 001411 794 001412 796 001416 797 001420 799 001421 801 001425 802 001427 804 001430 809 001434 812 001442 813 001444 815 001447 817 001453 818 001460 820 001463 822 001466 824 001470 826 001471 829 001472 832 001473 835 001475 837 001503 839 001504 842 001506 844 001507 847 001511 849 001512 852 001514 854 001515 857 001517 859 001520 862 001522 864 001523 867 001525 869 001526 872 001530 874 001536 876 001537 879 001541 881 001542 884 001544 886 001545 889 001547 891 001550 894 001552 896 001553 899 001555 901 001556 904 001560 906 001561 909 001563 911 001564 914 001566 916 001567 919 001571 920 001573 922 001574 925 001576 927 001577 930 001601 932 001602 935 001604 937 001605 940 001607 942 001615 944 001616 948 001617 950 001620 954 001626 956 001630 958 001637 960 001642 962 001644 964 001645 968 001647 969 001651 971 001653 973 001654 976 001661 978 001663 980 001664 983 001665 985 001666 988 001673 990 001676 992 001677 996 001700 998 001702 999 001705 1001 001707 1003 001710 1005 001711 1010 001713 1012 001714 1016 001717 1018 001720 1021 001723 1024 001725 1026 001726 1029 001727 1032 001732 1034 001733 1038 001741 1039 001743 1041 001746 1043 001753 1044 001760 1046 001763 1049 001766 1051 001767 1055 001770 1057 001772 1058 001775 1060 001777 1063 002000 1065 002001 1070 002003 1072 002004 1075 002011 1077 002012 1080 002017 1082 002020 1085 002025 1087 002026 1090 002033 1092 002034 1097 002042 1098 002047 1099 002053 1100 002057 1101 002065 1102 002071 1103 002074 1104 002076 1105 002077 1106 002101 1107 002103 1108 002106 1109 002111 1110 002113 1111 002115 1112 002117 1113 002121 1114 002124 1115 002126 1116 002127 1117 002130 1118 002131 1120 002132 1124 002135 1126 002136 1129 002140 1130 002143 1132 002145 1134 002146 1138 002153 1139 002157 1142 002160 1144 002163 1146 002164 1149 002165 1152 002166 1154 002173 1156 002174 1159 002177 1161 002200 1163 002201 1165 002202 1168 002203 1172 002211 1174 002212 1179 002215 1181 002223 1183 002224 1186 002226 1188 002227 1191 002230 1193 002232 1195 002233 1198 002234 1199 002237 1201 002240 1204 002242 1205 002245 1206 002247 1208 002250 1212 002255 1213 002261 1216 002262 1218 002265 1220 002266 1227 002267 1229 002272 1230 002274 1232 002275 1234 002300 1235 002302 1237 002303 1239 002306 1240 002310 1242 002311 1244 002314 1245 002316 1247 002317 1252 002320 1255 002322 1256 002324 1258 002325 1261 002327 1263 002331 1265 002342 1267 002344 1307 002345 1311 002347 1313 002350 1316 002353 1318 002354 1319 002356 1321 002357 1324 002370 1326 002373 1328 002374 1331 002405 1333 002410 1335 002411 1338 002422 1340 002425 1342 002426 1345 002437 1347 002442 1349 002443 1353 002452 1355 002453 1358 002462 1360 002464 1362 002465 1365 002467 1367 002470 1370 002471 1372 002503 1374 002504 1378 002511 1379 002513 1380 002515 1383 002517 1385 002520 1387 002521 1390 002523 1392 002524 1399 002553 1402 002555 1406 002556 1407 002557 1418 002561 1420 002562 1447 002563 1451 002565 1453 002566 1457 002567 1459 002573 1464 002574 1467 002576 1468 002600 1469 002602 1473 002603 1476 002605 1510 002606 1514 002613 1523 002614 1525 002615 1526 002617 1528 002620 1532 002622 1533 002625 1534 002627 1535 002631 1536 002633 1537 002635 1539 002641 1540 002642 1543 002644 1544 002645 1546 002647 1547 002652 1548 002655 1552 002656 1554 002657 1558 002661 1559 002664 1563 002671 1565 002672 1569 002674 1570 002677 1572 002704 1575 002714 1577 002717 1579 002727 1582 002731 1584 002732 1586 002734 1588 002737 1589 002741 1590 002743 1591 002744 1593 002745 1598 002747 1600 002750 1604 002756 1605 002760 1606 002763 1607 002765 1608 002767 1612 002771 1614 002776 1621 003000 1625 003001 1628 003006 1630 003007 1634 003010 1637 003011 1639 003013 1640 003016 1642 003020 1644 003021 1649 003022 1654 003030 1656 003032 1658 003037 1660 003043 1662 003046 1664 003051 1669 003052 1674 003054 1676 003062 1685 003063 1689 003065 1692 003066 1696 003070 1697 003072 1699 003075 1701 003076 1704 003077 1706 003100 1709 003120 1710 003131 1712 003132 1713 003133 1719 003134 1722 003136 1725 003137 1728 003142 1730 003143 1734 003145 1735 003150 1737 003152 1739 003153 1742 003156 1744 003160 1746 003161 1749 003164 1750 003167 1784 003170 1788 003176 1793 003200 1798 003206 1801 003224 1803 003240 1806 003251 1807 003254 1808 003256 1809 003257 1814 003261 1818 003267 1823 003271 1827 003277 1832 003301 1837 003307 1839 003315 1844 003317 1848 003325 1853 003327 1857 003336 1858 003337 1860 003341 1863 003346 1866 003364 1867 003400 1870 003402 1874 003416 1878 003420 1882 003426 1887 003430 1891 003434 1896 003436 1900 003442 1905 003444 1910 003452 1912 003460 1917 003462 1921 003470 1926 003472 1931 003500 1933 003506 1938 003510 1943 003516 1945 003524 1947 003526 1951 003534 1953 003536 1957 003542 392 003544 395 003545 399 003546 402 003553 404 003564 407 003566 410 003601 413 003603 414 003605 415 003607 416 003611 418 003612 422 003613 423 003616 424 003621 426 003625 428 003626 430 003633 431 003634 433 003637 435 003640 437 003643 439 003645 444 003656 446 003657 449 003661 453 003662 455 003663 463 003665 465 003667 466 003673 467 003676 468 003701 470 003703 474 003704 476 003707 478 003710 479 003711 482 003712 487 003714 488 003716 489 003721 491 003723 493 003732 494 003733 496 003734 502 003736 503 003740 504 003742 506 003744 508 003753 510 003754 511 003755 517 003756 518 003773 519 003774 522 004001 1273 004002 1276 004003 1279 004010 1282 004014 1285 004023 1288 004031 1291 004037 1293 004046 1295 004056 1297 004066 1299 004076 1301 004106 1304 004116 1425 004117 1428 004120 1430 004122 1432 004132 1443 004135 1479 004136 1485 004137 1487 004145 1489 004151 1491 004153 1492 004156 1494 004157 1496 004160 1497 004162 1499 004163 1501 004166 1502 004170 2003 004171 2010 004173 2011 004201 2012 004205 2014 004206 2017 004211 2018 004230 2021 004233 2048 004234 2055 004236 2056 004241 2057 004244 2060 004245 2062 004255 2064 004261 2066 004262 2068 004264 2071 004265 2077 004267 2080 004304 2081 004310 2088 004311 2095 004312 2096 004314 2098 004316 2099 004321 2101 004323 2103 004333 2105 004337 2107 004346 2109 004347 2111 004352 2113 004357 2115 004361 2119 004362 2120 004366 2123 004370 2124 004372 2132 004373 2135 004374 2138 004403 2141 004417 2146 004424 2148 004426 2152 004427 2155 004430 2157 004431 2159 004434 2161 004436 2164 004445 2167 004454 2170 004463 2173 004464 2175 004467 2178 004471 2181 004500 2184 004507 2187 004516 2190 004517 2192 004522 2194 004524 2196 004530 2199 004537 2202 004540 2204 004542 2234 004543 2241 004544 2242 004547 2244 004552 2245 004557 2247 004565 2248 004567 2250 004571 2251 004573 2252 004576 2253 004600 2254 004601 2255 004602 2257 004605 2259 004606 2261 004610 2263 004613 2265 004620 2267 004621 2269 004624 2272 004625 2275 004630 2276 004633 2277 004635 2280 004637 2282 004640 2283 004643 2285 004645 2286 004647 2288 004651 2293 004652 2296 004653 2298 004656 2301 004657 2305 004660 2307 004661 2310 004662 2312 004665 2314 004666 2316 004670 2319 004671 2321 004672 2327 004673 2330 004674 2332 004677 2334 004700 2335 004701 2336 004702 2338 004703 2341 004712 2343 004715 2344 004716 2346 004717 2347 004720 2350 004721 2351 004723 2352 004725 2354 004726 2357 004727 2359 004731 2362 004733 2364 004735 2365 004741 2366 004743 2367 004745 2369 004746 2371 004752 2372 004756 2374 004757 2376 004763 2378 004764 2380 004765 2382 004767 2384 004770 2387 004772 2389 004774 2390 004775 2391 004777 2393 005000 2396 005004 2399 005007 2401 005010 2404 005014 2407 005017 2409 005020 2411 005021 2412 005023 2413 005025 2415 005026 2418 005030 2420 005036 2421 005040 2422 005042 2423 005044 2425 005045 2428 005051 2430 005052 2432 005056 2434 005057 2436 005061 2438 005063 2440 005064 2443 005065 2448 005067 2449 005102 2451 005103 2454 005104 2456 005106 2457 005113 2459 005115 2461 005116 2466 005120 2467 005122 2468 005127 2470 005130 2475 005132 2477 005142 2478 005150 2483 005151 2497 005152 2498 005155 2500 005164 2501 005167 2503 005172 2504 005173 2505 005201 2507 005203 2510 005205 2513 005207 2515 005210 2516 005215 2517 005221 2519 005223 2521 005224 2525 005234 2526 005235 2527 005243 2528 005247 2531 005251 2533 005252 2535 005256 2537 005257 2540 005260 2543 005262 2546 005264 2548 005265 2549 005272 2551 005275 2553 005276 2555 005300 2556 005301 2557 005306 2559 005312 2561 005313 2563 005314 2564 005321 2565 005325 2567 005326 2570 005330 2572 005331 2575 005332 2578 005333 2579 005334 2581 005335 2582 005343 2584 005344 2587 005345 2588 005346 2589 005347 2591 005350 2596 005352 2597 005357 2598 005363 2599 005365 2600 005367 2626 005370 2629 005371 2630 005372 2631 005374 2632 005375 2635 005376 2638 005411 2643 005412 2647 005414 2660 005415 2662 005417 2664 005420 2668 005427 2669 005430 2670 005432 2672 005433 2675 005434 2677 005435 2680 005437 2682 005440 2684 005441 2687 005443 2689 005444 2691 005445 2694 005446 2696 005447 2700 005453 2702 005454 2705 005463 2709 005464 2712 005465 2714 005466 2716 005471 2717 005472 2720 005473 2722 005500 2723 005501 2724 005502 2726 005503 2728 005504 2730 005506 2739 005507 2742 005510 2743 005512 2745 005513 2747 005517 2750 005525 2751 005526 2754 005542 2757 005544 2758 005547 2760 005551 2763 005553 2765 005565 2769 005600 2771 005602 2772 005617 2774 005622 2784 005623 2790 005624 2794 005632 2795 005635 2796 005637 2798 005641 2801 005644 2803 005657 2804 005661 2806 005664 2808 005670 2809 005675 2811 005677 2812 005701 2814 005704 2815 005705 2818 005710 2826 005711 2829 005712 2831 005714 2833 005720 2835 005721 2837 005724 2838 005725 2840 005726 2843 005727 2845 005732 2847 005737 2850 005741 2852 005747 2857 005750 2859 005752 2862 005753 2865 005754 2867 005761 2869 005766 2871 005771 2874 005776 2876 006001 2877 006002 2879 006003 2882 006004 2885 006015 2888 006021 2890 006024 2892 006026 2894 006031 2896 006037 2897 006041 2899 006042 2902 006043 2904 006046 2907 006063 2909 006067 2911 006070 2914 006114 2916 006135 2919 006155 2923 006173 2926 006176 2928 006205 2930 006211 2932 006221 2936 006241 2938 006242 2940 006253 2942 006257 2944 006260 2946 006301 2949 006321 2953 006323 2956 006325 2960 006326 2967 006327 2969 006333 2971 006334 2973 006336 2976 006337 2979 006350 2981 006370 2983 006410 2986 006412 2990 006413 2996 006415 2998 006417 3000 006423 3002 006433 3009 006434 3019 006436 3021 006440 3022 006444 3023 006450 3025 006452 3027 006463 3029 006464 3035 006466 3037 006470 3038 006475 3040 006501 3042 006511 3045 006512 3056 006514 3058 006517 3059 006534 3061 006537 3063 006541 3064 006557 3066 006562 3068 006564 3070 006573 3071 006600 3072 006603 3074 006606 3075 006612 3076 006613 3078 006616 3080 006620 3082 006621 3104 006623 3106 006625 3108 006632 3109 006634 3112 006640 3114 006645 3116 006651 3118 006654 3120 006657 3122 006662 3130 006663 3135 006665 3137 006671 3139 006674 3143 006711 3147 006712 3149 006713 3151 006714 3153 006725 3155 006727 3158 006744 3159 006746 3162 006747 3164 006750 3167 006765 3168 006767 3173 006770 3175 007002 3179 007017 3183 007020 3184 007023 3187 007027 3194 007030 3208 007031 3210 007032 3213 007040 3215 007047 3217 007053 3220 007057 3222 007067 3224 007071 3226 007073 3230 007074 3232 007075 3234 007076 3238 007100 3243 007104 3245 007106 3251 007107 3265 007111 3267 007114 3269 007120 3270 007122 3271 007130 3273 007131 3274 007132 3277 007140 3279 007141 3293 007143 3294 007146 3296 007147 3298 007154 3301 007162 3303 007164 3305 007165 3307 007167 3309 007172 3313 007173 3315 007200 3317 007202 3319 007206 3321 007210 3323 007214 3325 007221 3327 007225 3331 007226 3333 007230 3335 007231 3337 007234 3389 007235 3392 007236 3395 007245 3397 007253 3398 007257 3399 007266 3400 007267 3401 007273 3402 007303 3403 007305 3405 007311 3408 007326 3410 007327 3412 007330 3414 007331 3416 007332 3424 007334 3427 007341 3428 007344 3430 007345 3432 007352 3433 007353 3435 007356 3437 007357 3438 007365 3439 007367 3441 007373 3443 007401 3444 007410 3445 007414 3447 007417 3449 007421 3451 007424 3453 007425 3461 007427 3463 007432 3466 007436 3468 007445 3469 007451 3470 007453 3471 007455 3472 007457 3474 007464 3476 007465 3479 007502 3480 007504 3482 007505 3487 007506 3489 007507 3491 007515 3493 007521 3496 007531 3497 007533 3499 007534 3500 007537 3502 007540 3510 007542 3511 007543 3516 007546 3519 007555 3521 007561 3524 007567 3528 007571 3529 007606 3533 007612 3534 007614 3536 007623 3537 007627 3540 007643 3541 007655 3543 007656 3544 007660 3545 007662 3547 007663 3554 007665 3555 007666 3557 007671 3559 007701 3563 007705 3566 007715 3567 007717 3569 007720 3570 007722 3572 007723 3577 007724 3580 007735 3581 007737 3582 007744 3583 007746 3585 007751 3587 007757 3589 007766 3591 007770 3593 007774 3595 007777 3596 010001 3598 010002 3605 010003 3606 010012 3609 010017 3611 010020 3613 010024 3614 010025 3616 010026 3618 010027 3621 010032 3622 010037 3624 010041 3625 010050 3628 010055 3630 010065 3631 010070 3632 010071 3633 010073 3635 010074 3640 010076 3641 010110 3642 010111 3644 010112 3649 010114 3650 010122 3653 010127 3655 010130 3657 010131 3664 010132 3665 010135 3667 010136 3669 010142 3670 010143 3672 010146 3676 010147 3677 010155 3679 010157 3680 010162 3683 010171 3684 010172 3685 010176 3686 010201 3688 010206 3690 010210 3691 010212 3693 010213 3697 010214 3698 010220 3699 010232 3701 010237 3702 010240 3707 010245 3708 010253 3709 010254 3711 010257 3712 010260 3715 010265 3719 010273 3720 010274 3725 010301 3726 010307 3727 010310 3729 010313 3731 010314 3736 010315 3738 010317 3742 010324 3746 010325 3748 010340 3750 010353 3752 010366 3754 010401 3756 010404 3759 010417 3762 010434 3764 010436 3766 010441 3769 010453 3772 010471 3774 010473 3776 010476 3779 010511 3782 010527 3783 010531 3784 010534 3785 010535 3786 010536 3791 010537 3793 010547 3795 010553 3796 010555 3797 010560 3798 010562 3800 010564 3802 010566 3805 010574 3806 010576 3808 010577 3815 010601 3818 010604 3819 010607 3820 010611 3821 010613 3822 010614 3824 010621 3826 010631 3828 010632 3830 010634 3831 010635 3833 010641 3835 010645 3836 010651 3837 010655 3839 010656 3840 010662 3844 010663 3845 010665 3847 010666 3852 010667 3853 010670 3855 010675 3857 010701 3859 010703 3861 010704 3864 010707 3865 010710 3867 010711 3869 010712 3874 010713 3876 010722 3879 010737 3881 010740 3886 010741 3888 010747 3891 010764 3893 010765 3902 010766 3903 010772 3904 010775 3906 010777 3908 011007 3909 011013 3911 011022 3913 011023 3915 011025 3916 011033 3918 011034 3920 011036 3921 011053 3928 011054 3934 011055 3936 011103 3938 011105 3939 011107 3940 011112 3941 011114 3942 011116 3943 011121 3945 011137 3947 011141 ----------------------------------------------------------- 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