COMPILATION LISTING OF SEGMENT cobol_generate_report Compiled by: Multics PL/I Compiler, Release 33e, of October 6, 1992 Compiled at: CGI Compiled on: 2000-04-18_1136.31_Tue_mdt 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_generate_report.pl1 Reformatted code to new Cobol standard. 16* END HISTORY COMMENTS */ 17 18 19 /* Modified on 10/25/82 by FCH, [5.1-5], test for missing PIC clause, phx13531 */ 20 /* Modified on 10/22/82 by FCH, [5.1-4], control footing groups not exec, phx13755 */ 21 /* Modified on 02/10/82 by FCH, [5.1-3], no period after WRITE state, phx12454(BUG526) */ 22 /* Modified on 12/22/81 by FCH, [5.1-2], LINE-COUNTER and PAGE-COUNTER must be qualif, phx12120(BUG522) */ 23 /* Modified on 12/21/81 by FCH, [5.1-1], set bit count for rw incl files, phx11819(BUG517) */ 24 /* Modified on 08/31/81 by FCH, [5.0-1], dont enter RW source into the listing, BUG498 */ 25 /* Modified on 06/29/81 by FCH, [4.4-1], dont emit go to dep if only one group, BUG479(TR09695) */ 26 /* Modified since Version 4.4 */ 27 28 29 30 31 32 33 /* format: style3 */ 34 cobol_generate_report: 35 proc (rep_list_loc, f_l, tbit); 36 37 declare rep_list_loc ptr, 38 f_l fixed bin, 39 tbit bit (1); 40 declare (g_i_count, control_count, group_number, line_number, field_number) 41 fixed bin; 42 declare gch char (32) varying; 43 44 45 46 47 declare cobol_io_$cobol_msf_start 48 entry (ptr, ptr); 49 declare cobol_swf_get entry (ptr, bit (32), ptr, fixed bin); 50 declare ioa_ entry options (variable); 51 declare ioa_$rsnnl entry options (variable); 52 53 54 55 declare (addr, substr, null, size, length, addrel, abs) 56 builtin; 57 58 59 /* initialization */ 60 current_report_loc = rep_list_loc; 61 alf_lit_ptr = addr (ALF); 62 rwfp = cobol_m1fp; 63 ddloc, pdloc = 1; 64 first_line = f_l; 65 trace_bit = tbit; 66 b_incr = 0; 67 buffer_size = 132; 68 69 call line_init; 70 call gen_S; /* process the reports */ 71 72 do while (current_report_loc ^= null ()); 73 74 75 /*[5.1-2]*/ 76 if report.page.count ^= 0 77 then call gen_report; 78 79 current_report_loc = report.rep_next; 80 81 end; 82 83 rwdd = "1"b; 84 call rep_term; 85 86 /*[5.1-1]*/ 87 call hcs_$set_bc_seg (cobol_rwdd, 9 * (ddloc - 1), CODE); 88 89 /*[5.1-1]*/ 90 if CODE ^= 0 91 then go to err; 92 93 /*[5.1-1]*/ 94 call hcs_$set_bc_seg (cobol_rwpd, 9 * (pdloc - 1), CODE); 95 96 /*[5.1-1]*/ 97 if CODE ^= 0 98 then go to err; 99 100 return; 101 102 err: /*[5.1-1]*/ 103 return; 104 105 /*[5.1-1]*/ 106 declare hcs_$set_bc_seg entry (ptr, fixed bin (24), fixed bin (35)); 107 /*[5.1-1]*/ 108 declare CODE fixed bin (35); 109 110 declare code char (32) varying; 111 112 gen_report: 113 proc; 114 115 declare i fixed bin; /* process a report */ 116 117 call gen_report_init; 118 119 rwdd = "1"b; 120 121 122 call rep_descr; /* report description */ 123 124 rwdd = "0"b; 125 126 127 call emit_rep_pn ("R", 1); /* report_name section. */ 128 call test_control_tables; 129 130 call gen_scb; /* SCB. */ 131 132 if report.cf ^= null () 133 then call gen_reset_sums; /* RESET-SUM. */ 134 135 call gen_init; /* INIT. */ 136 call gen_term; /* TERM. */ 137 138 if efg 139 then call gen_first_gen; 140 141 call emit_p_br; /* P-BR. */ 142 call emit_pincr; /* P-INCR. */ 143 call emit_b_abs; /* B-ABS. */ 144 call emit_w_bl; /* W-BL. */ 145 146 if control_count ^= 0 147 then do; 148 149 call emit_comment ("CONTROL TO PREVIOUS", 32); 150 call control_function (1, "C-TO-P", "P"); 151 /* gen_c_to_p */ 152 153 call emit_comment ("CONTROL TO SHADOW", 32); 154 call control_function (2, "C-TO-S", "S"); 155 /* gen_c_to_s */ 156 157 call emit_comment ("PREVIOUS TO CONTROL", 32); 158 call control_function (3, "P-TO-C", "P"); 159 /* gen_s_to_c */ 160 161 call emit_comment ("SHADOW TO CONTROL", 32); 162 call control_function (4, "S-TO-C", "S"); 163 /* gen_s_to_c */ 164 165 end; 166 167 if report.ch ^= null () 168 then do; 169 ch_table_ptr = report.ch; /* exists(CH group) */ 170 171 call emit_comment ("CH GROUPS", 32); 172 173 call emit_exit_para ("CH-EXIT"); /* CH-EXIT. exit. */ 174 175 call emit_comment ("EXECUTE CH GROUPS", 32); 176 call gen_c_h; 177 178 gch = "CH"; 179 180 if ch_table.ch_loc (0) ^= null () 181 then do; 182 call emit_comment ("CH FINAL GROUP", 32); 183 call ch_group (0); 184 end; 185 186 do i = 1 by 1 to ch_table.ch_size; 187 188 call emit_comment ("CH GROUP", 32); 189 190 call ch_group (i); /* CH-i. i = 0(1)... */ 191 192 end; 193 end; 194 195 if report.de ^= null () 196 then do; 197 de_table_ptr = report.de; /* exists(DE group) */ 198 199 call emit_comment ("DE GROUPS", 32); 200 201 call emit_exit_para ("DE-EXIT"); /* DE-EXIT. exit. */ 202 203 gch = "DE"; 204 205 if de_table.det_subtot_all.count ^= 0 206 then call emit_stall_para; /* subtot for all groups */ 207 208 209 if de_table.det_size ^= 0 210 then do i = 1 by 1 to de_table.det_size; 211 212 call emit_comment ("DE GROUP", 32); 213 214 call de_group (i); /* DE-i. i = 1(1)... */ 215 216 end; 217 else call de_group (0); 218 219 end; 220 221 if report.cf ^= null () 222 then do; 223 cf_table_ptr = report.cf; /* exists(CF group) */ 224 225 call emit_comment ("CF GROUPS", 32); 226 227 call emit_exit_para ("CF-EXIT"); /* CH-EXIT. exit. */ 228 229 call emit_comment ("EXECUTE CF GROUPS", 32); 230 call gen_c_f; 231 232 gch = "CF"; 233 234 if cf_table.cf_loc (0) ^= null () 235 then do; 236 call emit_comment ("CF FINAL GROUP", 32); 237 call cf_group (0); 238 end; 239 240 do i = 1 by 1 to cf_table.cf_size; 241 242 call emit_comment ("CF GROUP", 32); 243 244 call cf_group (i); /* CF-i. i = 0(1)... */ 245 246 end; 247 end; 248 249 if report.rh ^= null () 250 then do; 251 rt_ptr = report.rh; /* exists(RH group) */ 252 253 call emit_comment ("RH GROUP", 32); 254 255 call emit_group_name ("R-H", 10000); /* RH. */ 256 call use_proc ("R-H-EXIT"); 257 258 gch = "R-H"; 259 260 call emit_lines (10000); /* emit lines in group */ 261 call emit_exit_para ("R-H-EXIT"); /* RH-EXIT. exit. */ 262 end; 263 264 if report.rf ^= null () 265 then do; 266 rt_ptr = report.rf; /* exists(RF group) */ 267 268 call emit_comment ("RF GROUP", 32); 269 270 call emit_group_name ("R-F", 10000); /* RF. */ 271 call use_proc ("R-F-EXIT"); 272 273 gch = "R-F"; 274 275 call emit_lines (10000); /* emit lines in group */ 276 call emit_exit_para ("R-F-EXIT"); /* RF-EXIT. exit. */ 277 end; 278 279 if report.ph ^= null () 280 then do; 281 rt_ptr = report.ph; /* exists(PH group) */ 282 283 call emit_comment ("PH GROUP", 32); 284 285 call emit_group_name ("P-H", 10000); /* PH. */ 286 call use_proc ("P-H-EXIT"); 287 288 gch = "P-H"; 289 290 call emit_lines (10000); /* emit lines in group */ 291 call emit_exit_para ("P-H-EXIT"); /* PH-EXIT. exit. */ 292 end; 293 294 if report.pf ^= null () 295 then do; 296 rt_ptr = report.pf; /* exists(PF group) */ 297 298 call emit_comment ("PF GROUP", 32); 299 300 call emit_group_name ("P-F", 10000); /* PF. */ 301 call use_proc ("P-F-EXIT"); 302 303 gch = "P-F"; 304 305 call emit_lines (10000); 306 call emit_exit_para ("P-F-EXIT"); /* PF-EXIT. exit. */ 307 end; 308 309 310 311 end; 312 313 rep_term: 314 proc; 315 call skip_to_a; /* A margin */ 316 call append_var_string ("procedure"); /* procedure */ 317 call emit_line; 318 end; 319 320 go_to_dep: 321 proc (string, j); 322 323 declare string char (32) varying, 324 j fixed bin; 325 326 declare i fixed bin; 327 328 call skip_to_b; /* B margin */ 329 call append_sep_var_string ("go"); /* go */ 330 call append_sep_var_string ("to"); /* to */ 331 332 do i = 1 by 1 to j; 333 334 call qual_int_by_rep_proc (string, i); 335 336 end; 337 338 call append_sep_var_string ("depending"); /* depending */ 339 call append_sep_var_string ("on"); /* on */ 340 call qual_by_rep ("C-L"); 341 call append_period; /* . */ 342 343 end; 344 345 control_function: 346 proc (type, string_1, string_2); 347 348 declare type fixed bin, 349 (string_1, string_2) 350 char (32) varying; 351 352 declare i fixed bin; 353 354 /* 355* function type string_1 string_2 356* 357* gen_c_to_p 1 C-TO-P- P- 358* gen_c_to_s 2 C-TO-S- S- 359* gen_p_to_c 3 P-TO-C- P- 360* gen_s_to_c 4 S-TO-C- S- 361**/ 362 363 if qual_name_seq_ptr = null () 364 then return; 365 366 call emit_pn (string_1); /* string_1. */ 367 /*[4.4-1]*/ 368 if cf_table.cf_size > 1 369 then call go_to_dep (string_1, cf_table.cf_size); 370 371 do i = 1 by 1 to cf_table.cf_size; 372 373 /*[4.4-1]*/ 374 if cf_table.cf_size > 1 375 then call emit_ind_pn (string_1, i); /* string_1-i. */ 376 377 call skip_to_b; /* B margin */ 378 call append_sep_var_string ("move"); /* move */ 379 380 go to CF1 (type); 381 382 CF1 (1): /* gen_c_to_p */ 383 CF1 (2): /* gen_c_to_s */ 384 call append_control_name (i); /* control_name */ 385 386 go to CF1_0; 387 388 CF1 (3): /* gen_p_to_c */ 389 CF1 (4): /* gen_s_to_c */ 390 call control_item (string_2, i); /* control_data_item */ 391 392 go to CF1_0; 393 394 CF1_0: 395 call append_sep_var_string ("to"); /* to */ 396 397 go to CF2 (type); 398 399 CF2 (1): /* gen_c_to_p */ 400 CF2 (2): /* gen_c_to_s */ 401 call control_item (string_2, i); 402 403 go to CF2_0; 404 405 CF2 (3): /* gen_p_to_c */ 406 CF2 (4): /* gen_c_to_s */ 407 call append_control_name (i); /* control_name */ 408 409 go to CF2_0; 410 411 CF2_0: 412 call append_period; /* . */ 413 414 end; 415 416 call emit_exit_para (string_1 || "-EXIT"); /* string_1-EXIT. exit. */ 417 418 end; 419 420 gen_S: 421 proc; 422 423 rwdd = "0"b; 424 425 call emit_section ("SSSS"); /* SSSS section. */ 426 call emit_pn ("S"); /* S. */ 427 call SENT ("stop run"); /* stop run. */ 428 call emit_section ("SSS"); /* SSS section. */ 429 call emit_pn ("S"); /* S. */ 430 call SENT ("move 1 to SS"); /* move 1 to SS. */ 431 432 rwdd = "1"b; 433 434 call descr_line (1, "XXXXX"); /* 01 XXXXX. */ 435 call descr_line_int (2, "SS", "0"); /* 02 SS comp-6 value 0. */ 436 call descr_line_int (2, "S-PI", "0"); /* 02 S-PI comp-6 value 0 */ 437 438 end; 439 440 441 442 443 444 emit_exit_para: 445 proc (string); 446 447 declare string char (32) varying; 448 449 call skip_to_a; /* A margin */ 450 call append_sep_var_string (string); /* string */ 451 call append_var_string ("."); /* . */ 452 453 call skip_to_b; /* B margin */ 454 call append_sep_var_string ("exit"); /* exit */ 455 call append_period; /* . */ 456 457 end; 458 459 control_item: 460 proc (string, i); 461 462 declare string char (32) varying, 463 i fixed bin; 464 465 call qual_by_int (string, i); /* string-i */ 466 467 call append_sep_var_string ("of"); /* of */ 468 call append_sep_token (report.rep_name_ptr); /* report_name */ 469 470 end; 471 472 dl: 473 proc (lev_num, name); 474 475 declare lev_num fixed bin, 476 name char (32) varying; 477 478 call append_level_number (lev_num); /* level number */ 479 call append_var_string (name); /* name */ 480 call append_sep_var_string ("comp-6"); /* comp-6 */ 481 482 end; 483 484 emit_pn: 485 proc (name); 486 487 declare name char (32) varying; 488 489 call skip_to_a; /* A margin */ 490 call append_sep_var_string (name); /* name */ 491 call append_period; /* . */ 492 493 end; 494 495 def_val_clauses: 496 proc; /* define value clauses for the */ 497 /* page parameters in a report */ 498 /* description */ 499 500 /* PAGE clause */ 501 502 go to P (report.page.type); 503 504 P (0): /* PAGE not defined */ 505 call descr_line_int (2, "P-G", "0"); /* 02 PAGE value 0 */ 506 call descr_line_int (2, "H-D", "0"); /* 02 HEADING value 0 */ 507 call descr_line_int (2, "F-D", "0"); /* 02 FIRST-DETAIL value 0 */ 508 call descr_line_int (2, "L-D", "0"); /* 02 LAST-DETAIL value 0 */ 509 call descr_line_int (2, "F-T", "0"); /* 02 FOOTING value 0 */ 510 511 return; 512 513 P (1): /* PAGE integer */ 514 P (2): /* PAGE expression */ 515 call pg_vcl ("P-G", addr (report.page)); /* 02 PAGE value integer */ 516 517 go to P0; 518 519 P0: /* HEADING clause */ 520 go to H (report.heading.type); 521 522 H (0): /* HEADING not defined */ 523 call descr_line_int (2, "H-D", "1"); /* 02 HEADING value 1 */ 524 525 go to H0; 526 527 H (1): /* HEADING integer */ 528 H (2): /* HEADING expression */ 529 call pg_vcl ("H-D", addr (report.heading)); /* 02 HEADING value integer */ 530 531 go to H0; 532 533 H0: /* FIRST-DETAIL */ 534 go to FD (report.first_detail.type); 535 536 FD (0): /* FIRST-DETAIL not defined */ 537 go to HH (report.heading.type); 538 539 HH (0): /* HEADING not defined */ 540 call descr_line_int (2, "F-D", "1"); /* 02 FIRST-DETAIL value 1 */ 541 542 go to HH0; 543 544 HH (1): /* HEADING integer */ 545 HH (2): /* HEADING expression */ 546 call pg_vcl ("F-D", addr (report.heading)); /* 02 FIRST-DETAIL value integer */ 547 548 go to HH0; 549 550 HH0: 551 go to FD0; 552 553 FD (1): /* FIRST-DETAIL integer */ 554 FD (2): /* FIRST-DETAIL expression */ 555 call pg_vcl ("F-D", addr (report.first_detail)); /* 02 FIRST-DETAIL value integer */ 556 557 go to FD0; 558 559 FD0: /* LAST-DETAIL */ 560 go to LD (report.last_detail.type); 561 562 LD (0): /* LAST-DETAIL not defined */ 563 go to F (report.footing.type); 564 565 F (0): /* FOOTING not defined */ 566 call pg_vcl ("L-D", addr (report.page)); /* 02 LAST-DETAIL value integer */ 567 call pg_vcl ("F-T", addr (report.footing)); /* 02 FOOTING value integer */ 568 569 go to F0; 570 571 F (1): /* FOOTING integer */ 572 F (2): /* FOOTING expression */ 573 call pg_vcl ("L-D", addr (report.footing)); /* 02 LAST-DETAIL value integer */ 574 call pg_vcl ("F-T", addr (report.footing)); /* 02 FOOTING value integer */ 575 576 go to F0; 577 578 F0: 579 go to LD0; 580 581 LD (1): /* LAST-DETAIL integer */ 582 LD (2): /* LAST-DETAIL expression */ 583 call pg_vcl ("L-D", addr (report.last_detail)); /* 02 LAST-DETAIL value integer */ 584 585 go to FF (report.footing.type); 586 587 FF (0): /* FOOTING not defined */ 588 call pg_vcl ("F-T", addr (report.last_detail)); /* 02 FOOTING value integer */ 589 590 go to FF0; 591 592 FF (1): /* FOOTING integer */ 593 FF (2): /* FOOTING expression */ 594 call pg_vcl ("F-T", addr (report.footing)); /* 02 FOOTING value integer */ 595 596 go to FF0; 597 598 FF0: 599 go to LD0; 600 601 LD0: 602 end; 603 604 pg_vcl: 605 proc (name, int_loc); 606 607 declare name char (32) varying, 608 int_loc ptr; 609 610 611 612 integer_spec_ptr = int_loc; 613 614 call append_level_number (2); /* 02 */ 615 call append_var_string (name); /* name */ 616 call append_sep_var_string ("comp-6"); /* comp-6 */ 617 call append_sep_var_string ("value"); /* value */ 618 call append_sep_integer (integer_spec.count); /* integer */ 619 call append_period; /* . */ 620 621 end; 622 623 descr_line: 624 proc (lev_num, name); 625 626 declare lev_num fixed bin, 627 name char (32) varying; 628 629 call dl (lev_num, name); /* lev_num name comp-6 */ 630 call append_period; /* . */ 631 632 end; 633 634 descr_line_int: 635 proc (lev_num, name, value); 636 637 declare lev_num fixed bin, 638 name char (32) varying, 639 value char (32) varying; 640 641 call dl (lev_num, name); /* lev_num name comp-6 */ 642 call append_sep_var_string ("value"); /* value */ 643 call append_sep_var_string (value); /* integer */ 644 call append_period; /* . */ 645 646 end; 647 648 gen_scb: 649 proc; 650 651 declare i fixed bin; 652 653 qual_name_seq_ptr = report.controls.loc; 654 655 if qual_name_seq_ptr ^= null () 656 then do; 657 658 call emit_comment ("SET CONTROL BREAK", 32); 659 call emit_pn ("SCB"); /* SCB. */ 660 661 do i = 1 by 1 to qual_name_seq.qns_size; 662 663 qual_name_ptr = qual_name_seq.qns_loc (i); 664 665 call skip_to_b; /* B margin */ 666 667 if i ^= 1 668 then call append_sep_var_string ("else"); 669 /* else */ 670 call append_sep_var_string ("if"); /* if */ 671 call qual_int_by_rep ("P", i); /* P-i of report-name */ 672 call append_sep_var_string ("not");/* not */ 673 call append_sep_var_string ("equal"); 674 /* equal */ 675 call append_qual_name (qual_name_ptr); 676 /* control */ 677 call emit_line; 678 679 b_incr = 7; 680 681 call emit_compute_lhs ("C-L", 0); /* compute CLEVEL of report_name = */ 682 call append_sep_integer (i); /* i */ 683 call emit_line; 684 685 b_incr = 0; 686 end; 687 call de_word ("else"); /* else */ 688 689 b_incr = 7; 690 691 call emit_compute_lhs ("C-L", 0); /* compute CLEVEL of report_name = */ 692 call append_sep_var_string ("0"); /* 0 */ 693 call append_period; /* . */ 694 695 b_incr = 0; 696 697 if g_i_count ^= 0 698 then do; 699 700 call emit_rel_int_test ("C-L", "not equal", 0); 701 /* if CLEVEL not = 0 */ 702 703 b_incr = 3; 704 705 call emit_move_cv_sent ("all zeros", "GR-I"); 706 707 b_incr = 0; 708 709 end; 710 end; 711 712 end; 713 714 qual_by_rep: 715 proc (name); 716 717 declare name char (32) varying; 718 719 call append_sep_var_string (name); /* name */ 720 call append_sep_var_string ("of"); /* of */ 721 call append_sep_token (report.rep_name_ptr); /* report name */ 722 723 end; 724 725 qual_by_int: 726 proc (name, i); 727 728 declare name char (32) varying, 729 i fixed bin; 730 731 call append_sep_var_string (name); /* name */ 732 call append_var_string ("-"); /* - */ 733 call append_integer (i); /* i */ 734 735 end; 736 737 qual_int_by_rep: 738 proc (name, i); 739 740 declare name char (32) varying, 741 i fixed bin; 742 743 call qual_by_int (name, i); /* name-i */ 744 call append_sep_var_string ("of"); /* of */ 745 call append_sep_token (report.rep_name_ptr); /* report_name */ 746 747 end; 748 749 emit_ind_pn: 750 proc (name, i); 751 752 declare name char (32) varying, 753 i fixed bin; 754 755 756 call skip_to_a; /* A margin */ 757 758 if i < 10000 759 then call qual_by_int (name, i); 760 else call append_var_string (name); /* name[-i] */ 761 762 call append_period; /* . */ 763 end; 764 765 emit_group_name: 766 proc (name, lev); 767 768 declare name char (32) varying, 769 lev fixed bin; 770 771 call emit_ind_pn (name, lev); 772 773 if root.rt_name_ptr ^= null () 774 then call emit_gp_pn (1); 775 end; 776 777 emit_gp_pn: 778 proc (i); 779 780 declare i fixed bin; 781 782 call skip_to_a; /* A margin */ 783 call append_var_string ("G"); /* G */ 784 785 if i ^= 0 786 then call append_token (root.rt_name_ptr); /* token */ 787 else call append_token (report.rep_name_ptr); 788 789 call append_period; /* . */ 790 end; 791 792 rep_descr: 793 proc; 794 795 declare i fixed bin; 796 797 call emit_comment ("REPORT DESCRIPTION", 32); 798 call append_level_number (1); /* 01 */ 799 call append_token (report.rep_name_ptr); /* report name */ 800 call append_period; /* . */ 801 802 call def_val_clauses; /* define val clauses, page params */ 803 804 call descr_line (2, "C-L"); 805 call descr_line (2, "GEN-CTR"); 806 call descr_line (2, "line-counter"); 807 call descr_line (2, "page-counter"); 808 call descr_line (2, "LN-C"); 809 call descr_line (2, "B-C"); 810 call descr_line (2, "SNGI"); 811 call descr_line (2, "S-P"); 812 813 call descr_pic_line (2, "RN", "pic x value ""0"""); 814 815 g_i_count = report.g_i_count; 816 817 if g_i_count ^= 0 818 then do; 819 820 call emit_comment ("GROUP INDICATE CLAUSES", 32); 821 822 823 824 call append_level_number (2); /* 02 */ 825 call append_var_string ("GR-I pic x("); /* GR-I pic x(*/ 826 call append_integer (g_i_count); /* report count */ 827 call append_var_string (")"); /* ) */ 828 call append_period; /* . */ 829 830 call append_level_number (2); /* 02 */ 831 call append_var_string ("G-I redefines GR-I"); 832 /* G-I redefines GROUP-INDICATE */ 833 call append_period; /* . */ 834 835 do i = 1 by 1 to g_i_count; 836 837 call append_level_number (3); /* 03 */ 838 call append_var_string ("G-I-"); /* G-I- */ 839 call append_integer (i); /* i */ 840 call append_sep_var_string ("pic x"); 841 /* pic x */ 842 call append_period; /* . */ 843 844 end; 845 846 end; 847 848 if report.cf ^= null () 849 then call def_sum_counters; 850 851 852 853 if control_count ^= 0 854 then do; 855 call emit_comment ("PREVIOUS AND SHADOW VALUES", 32); 856 call control_struct ("P-V", "P-"); 857 call control_struct ("S-H", "S-"); 858 end; 859 860 call def_line_buffer; 861 end; 862 863 control_struct: 864 proc (string_1, string_2); 865 866 declare (string_1, string_2) 867 char (32) varying; 868 declare i fixed bin; 869 870 call append_level_number (2); /* 02 */ 871 call append_var_string (string_1); /* name */ 872 call append_period; /* . */ 873 874 do i = 1 by 1 to control_count; 875 876 call append_level_number (3); /* 03 */ 877 call append_var_string (string_2); /* name */ 878 call append_integer (i); /* i */ 879 call append_sep_var_string ("renames"); /* renames */ 880 call append_control_name (i); /* control name */ 881 call append_period; /* . */ 882 883 end; 884 885 end; 886 887 append_control_name: 888 proc (control_num); 889 890 declare control_num fixed bin; 891 892 qual_name_ptr = control_name_table.cnt_loc (control_num); 893 894 call append_qual_name (qual_name_ptr); 895 896 end; 897 898 def_sum_counters: 899 proc; /* define the sum counters associated */ 900 /* with the CF groups in a report */ 901 declare i fixed bin; 902 903 call emit_comment ("SUM COUNTERS", 32); 904 905 do i = 0 by 1 to cf_table.cf_size; 906 907 if cf_table.cf_sum_chain (i) ^= null () 908 then do; /* CF group defines sum counters */ 909 910 tn_ptr = cf_table.cf_loc (i); /* loc of CF node */ 911 912 do while (tn_ptr ^= null ()); 913 914 call append_level_number (term_node.tn_level + 1); 915 /* level number */ 916 917 if term_node.tn_name_ptr = null () 918 then call append_var_string ("filler"); 919 else call append_token (term_node.tn_name_ptr); 920 921 /* name */ 922 923 if term_node.tn_type = 2 /* root, non-term */ 924 then if term_node.data_type = 3 925 /* sum counter */ 926 then call sum_descr; 927 else call append_sep_var_string ("pic x"); 928 929 call append_period; /* . */ 930 931 tn_ptr = term_node.tn_next; 932 933 end; 934 935 end; 936 end; 937 938 end; 939 940 declare buffer_size fixed bin; 941 942 943 944 945 def_line_buffer: 946 proc; /* define the line buffer for a report */ 947 948 declare p ptr; 949 declare gn fixed bin; 950 951 call emit_comment ("BLANK LINE BUFFER", 32); 952 call emit_lev_item (2, "filler comp-6", ""); 953 call emit_blank_lines_data; /* 02 BLANK-LINES ... */ 954 call emit_end_page_rec; 955 956 call emit_comment ("LINE BUFFER", 32); 957 call buffer_name_def ("REP-LINE"); /* 02 REP-LINE-i */ 958 call emit_lev_item (3, "S-Z comp-6", ""); /* 03 SIZE comp-6 */ 959 960 call emit_lev_item (3, "C-D pic xx", """" || code || """"); 961 /* 03 CODE pic xx value "cc". */ 962 call emit_lev_item (3, "T-Y pic xx", """: """); /* 03 TYPE pic xx value """: """. */ 963 call append_level_number (3); /* 03 */ 964 call append_var_string ("B-F"); /* BUFFER */ 965 call append_pic_x (buffer_size); /* pic x(buffer_size) */ 966 call append_period; /* . */ 967 968 line_rd = "1"b; 969 970 if report.rh ^= null () 971 then do; 972 gch = "R-H"; 973 call line_redef (report.rh, 10000); 974 end; 975 if report.rf ^= null () 976 then do; 977 gch = "R-F"; 978 call line_redef (report.rf, 10000); 979 end; 980 if report.ph ^= null () 981 then do; 982 gch = "P-H"; 983 call line_redef (report.ph, 10000); 984 end; 985 if report.pf ^= null () 986 then do; 987 gch = "P-F"; 988 call line_redef (report.pf, 10000); 989 end; 990 991 gch = "DE"; 992 993 de_table_ptr = report.de; 994 995 if report.de ^= null () /* de groups */ 996 then do gn = 1 by 1 to de_table.det_size; 997 998 call line_redef (de_table.det_loc (gn), gn); 999 1000 end; 1001 1002 gch = "CH"; 1003 1004 ch_table_ptr = report.ch; 1005 1006 if report.ch ^= null () /* cf_groups */ 1007 then do gn = 0 by 1 to ch_table.ch_size; 1008 1009 call line_redef (ch_table.ch_loc (gn), gn); 1010 1011 end; 1012 1013 gch = "CF"; 1014 1015 cf_table_ptr = report.cf; 1016 1017 if report.cf ^= null () 1018 then do gn = 0 by 1 to cf_table.cf_size; 1019 1020 p = cf_table.cf_loc (gn); 1021 if p ^= null () 1022 then call line_redef (p, gn); 1023 1024 end; 1025 1026 1027 call emit_write_line; 1028 end; 1029 1030 1031 1032 emit_lev_tok_item: 1033 proc (lev, p); 1034 1035 declare lev fixed bin, 1036 p ptr; 1037 1038 1039 call append_level_number (lev); /* lev */ 1040 call append_token (p); /* token */ 1041 call append_period; /* . */ 1042 end; 1043 1044 1045 1046 emit_lev_item: 1047 proc (lev, def, val); 1048 1049 declare lev fixed bin, 1050 (def, val) char (32) varying; 1051 1052 call append_level_number (lev); /* level number */ 1053 call append_sep_var_string (def); /* definition of field */ 1054 1055 if val ^= "" 1056 then call append_value (val); /* value val */ 1057 1058 call append_period; /* . */ 1059 end; 1060 1061 append_value: 1062 proc (val); 1063 1064 declare val char (32) varying; 1065 1066 call append_sep_var_string ("value"); /* value */ 1067 call append_sep_var_string (val); /* val */ 1068 end; 1069 1070 1071 declare line_rd bit (1); 1072 1073 1074 1075 line_redef: 1076 proc (node_ptr, gn); /* emit redef of line buffer */ 1077 declare node_ptr ptr, 1078 (gn, fill_size) fixed bin; 1079 declare (ltn, first, last, size, field_size, left_fill_size, lev) 1080 fixed bin; 1081 1082 if node_ptr = null () 1083 then return; 1084 1085 1086 if line_rd 1087 then do; 1088 call emit_comment ("REDEFINITIONS, LINE BUFFER", 32); 1089 line_rd = "0"b; 1090 end; 1091 1092 1093 call emit_comment (gch || " GROUP", 32); 1094 1095 rt_ptr = node_ptr; 1096 LINE_table_ptr = root.line_table_ptr; 1097 FIELD_table_ptr = root.field_table_ptr; 1098 1099 do line_number = 1 by 1 to LINE_table.LT_size; 1100 1101 call append_level_number (2); /* 02 */ 1102 call line_redef_name (gn, line_number); /* line name */ 1103 call append_sep_var_string ("redefines"); 1104 call qual_by_int ("REP-LINE", report.rep_num); 1105 call append_period; /* . */ 1106 1107 call emit_write_fields ("S-Z"); 1108 1109 1110 1111 1112 first = LINE_table.LT_first_field (line_number); 1113 size = LINE_table.LT_field_count (line_number); 1114 last = first + size - 1; 1115 field_number = 1; 1116 1117 do ltn = first by 1 to last; 1118 1119 1120 1121 tn_ptr = FIELD_table.FT_loc (ltn); 1122 field_size = FIELD_table.FT_field_size (ltn); 1123 left_fill_size = FIELD_table.FT_left_fill_size (ltn); 1124 1125 1126 if term_node.tn_name_ptr = null () | term_node.data_type = 3 1127 then lev = 3; 1128 else do; 1129 call emit_lev_tok_item (3, term_node.tn_name_ptr); 1130 lev = 4; 1131 end; 1132 1133 if left_fill_size ^= 0 1134 then call fill (lev, "filler", left_fill_size); 1135 /* lev filler pic x(ii) */ 1136 1137 1138 call append_level_number (lev); /* lev */ 1139 call field_name ("F-", field_number); /* f-i */ 1140 1141 tn_ptr = FIELD_table.FT_loc (ltn); 1142 1143 call emit_picture; 1144 1145 if term_node.sign ^= 0 1146 then call sign_clause; 1147 if term_node.blank_zero & ^term_node.non_num 1148 then call blank_zero; 1149 if term_node.just_right & term_node.non_num 1150 then call just_right; 1151 if term_node.usage_disp 1152 then call usage; 1153 1154 call append_period; /* . */ 1155 1156 field_number = field_number + 1; 1157 1158 end; 1159 1160 1161 fill_size = LINE_table.LT_line_size (line_number); 1162 1163 if fill_size < buffer_size 1164 then call fill (3, "filler", buffer_size - fill_size); 1165 1166 1167 1168 end; 1169 1170 end; 1171 1172 blank_zero: 1173 proc; 1174 1175 call append_sep_var_string ("blank"); 1176 call append_sep_var_string ("when"); 1177 call append_sep_var_string ("zero"); 1178 end; 1179 1180 usage: 1181 proc; 1182 1183 call append_sep_var_string ("usage"); 1184 call append_sep_var_string ("display"); 1185 end; 1186 1187 just_right: 1188 proc; 1189 1190 call append_sep_var_string ("justified"); 1191 call append_sep_var_string ("right"); 1192 end; 1193 emit_picture: 1194 proc; /*[5.1-5]*/ 1195 if term_node.picture = null () /*[5.1-5]*/ 1196 then call append_sep_var_string ("pic x"); /*[5.1-5]*/ 1197 else do; 1198 call append_sep_var_string ("pic"); /* pic */ 1199 /*[5.1-5]*/ 1200 call append_sep_token (term_node.picture); 1201 /* picture */ 1202 /*[5.1-5]*/ 1203 end; 1204 end; 1205 fill: 1206 proc (lev, name, size); 1207 1208 declare (lev, size) fixed bin, 1209 name char (32) varying; 1210 1211 call append_level_number (lev); /* level number */ 1212 call append_sep_var_string (name); /* name */ 1213 call append_pic_x (size); /* pic x (size) */ 1214 1215 1216 call append_period; /* . */ 1217 end; 1218 1219 emit_blank_lines_data: 1220 proc; 1221 1222 call buffer_name_def ("BLANK-LINES"); /* 02 BLANK-LINES-i */ 1223 call bld ("4", "r "); 1224 call emit_lev_item (3, "BL-C comp-6", ""); /* 03 BLANK-COUNT comp-6. */ 1225 1226 end; 1227 1228 append_pic_x: 1229 proc (size); 1230 1231 declare size fixed bin; 1232 1233 call append_sep_var_string ("pic x("); /* pic x( */ 1234 call append_integer (size); /* size */ 1235 call append_var_string (")"); /* ) */ 1236 end; 1237 1238 sign_clause: 1239 proc; /* sign clause */ 1240 declare type fixed bin; 1241 1242 type = term_node.sign; 1243 1244 if type = 0 1245 then return; /* missing */ 1246 1247 call append_sep_var_string ("sign"); /* sign */ 1248 1249 1250 if type = 1 | type = 3 1251 then call append_sep_var_string ("leading"); /* leading */ 1252 else call append_sep_var_string ("trailing"); /* trailing */ 1253 1254 if type = 1 | type = 2 1255 then return; 1256 1257 call append_sep_var_string ("separate"); /* separate */ 1258 1259 end; 1260 1261 line_redef_name: 1262 proc (group_num, line_num); 1263 1264 declare (group_num, line_num) 1265 fixed bin; /* G-i-L-j */ 1266 call append_sep_var_string (gch); /* gch */ 1267 1268 if group_num < 10000 1269 then do; 1270 call append_var_string ("-"); /* - */ 1271 call append_integer (group_num); /* group_num */ 1272 end; 1273 1274 call append_var_string ("-L-"); /* -L- */ 1275 1276 call append_integer (line_num); 1277 1278 end; 1279 emit_pfex: 1280 proc (string, i); 1281 1282 declare string char (32) varying, 1283 i fixed bin; 1284 1285 call emit_ind_perf (string, i); 1286 call append_sep_var_string ("thru"); 1287 call qual_int_by_rep_proc (string || "-EXIT", 10000); 1288 call append_period; 1289 end; 1290 1291 field_name: 1292 proc (st, field_num); /* F-j */ 1293 declare st char (32) varying, 1294 field_num fixed bin; 1295 1296 call skip_to_b; /* B margin */ 1297 call append_var_string (st); /* st */ 1298 call append_integer (field_num); /* j */ 1299 1300 end; 1301 1302 qual_field_name: 1303 proc (group_num, line_num, field_num); /* F-i of G-j-L-k of report_name */ 1304 declare (group_num, line_num, field_num) 1305 fixed bin; 1306 1307 call field_name ("F-", field_num); /* F-i */ 1308 call append_sep_var_string ("of"); /* of */ 1309 call line_redef_name (group_num, line_num); /* G-j-L-k */ 1310 call append_sep_var_string ("of"); /* of */ 1311 call append_sep_token (report.rep_name_ptr); /* report_name */ 1312 1313 end; 1314 1315 gen_init: 1316 proc; /* INIT of report_name */ 1317 /* initialization for a report */ 1318 call emit_comment ("INITIATE REPORT", 32); 1319 call emit_rep_pn ("I", 0); /* Ireport_name. */ 1320 call emit_reset_state ("B-C", "0"); /* compute BODY-COUNT = 0 */ 1321 call emit_reset_sent ("GEN-CTR", "0"); /* compute GEN-CTR = 0. */ 1322 1323 1324 if report.ng_exists 1325 then call emit_reset_sent ("SNGI", "0"); /* compute SNGI = 0. */ 1326 if report.controls.loc ^= null () 1327 then call emit_reset_sent ("C-L", "1"); /* compute CLEVEL = 1. */ 1328 1329 1330 call emit_reset_sent ("line-counter", "0"); /* compute line-counter = 0. */ 1331 1332 call emit_reset_sent ("page-counter", "1"); /* compute page-counter = 1. */ 1333 1334 if g_i_count ^= 0 1335 then call emit_move_cv_sent ("all zeros", "GR-I");/* move all zeros to GROUP-INDICATE. */ 1336 1337 if report.cf ^= null () 1338 then call emit_perf_sent ("RESET-SUMS"); /* perform RESET-SUMS. */ 1339 1340 1341 end; 1342 1343 gen_term: 1344 proc; 1345 1346 declare (abs, rel, line, type, page) 1347 fixed bin; 1348 1349 call emit_comment ("TERMINATE REPORT", 32); 1350 call emit_rep_pn ("T", 0); /* Treport-name. */ 1351 1352 if report.controls.loc ^= null () /* compute CLEVEL of report_name = 0 */ 1353 then do; 1354 call emit_reset_sent ("C-L", "0"); 1355 call cb_save; 1356 end; 1357 1358 if report.cf ^= null () 1359 then do; /* exists(CF group) */ 1360 1361 1362 call emit_perf_exit_sent ("C-F"); /* perform C-F of report_name. */ 1363 1364 1365 if report.cf -> cf_table.cf_loc (0) ^= null () 1366 then call emit_pfex ("CF", 0); /* perform CF-0 of report_name. */ 1367 end; 1368 if report.controls.loc ^= null () 1369 then call cb_restore; 1370 1371 page = report.page.count; 1372 1373 if report.pf ^= null () 1374 then do; /* exists(PF group */ 1375 rt_ptr = report.pf; 1376 1377 type = root.next_group.type; 1378 1379 call emit_bl_abs (root.group_desc.line);/* (i1) root.group_desc.lines PF(abs) */ 1380 call emit_perf_exit_sent ("P-F"); /* perform PF of report_name. */ 1381 1382 1383 go to PFNG (type); 1384 1385 PFNG (0): /* NG clause (missing) */ 1386 if report.rf ^= null () 1387 then do; 1388 rt_ptr = report.rf; /* exists(RF group) */ 1389 type = root.group_desc.type; 1390 line = root.group_desc.line; 1391 1392 go to rf0 (type); 1393 rf0 (0): 1394 go to rf00; 1395 rf0 (1): /* RF(abs) */ 1396 call emit_ABS (line - 1); /* (i1-1) lines */ 1397 call append_period; 1398 go to rf00; 1399 rf0 (2): /* RF(rel) */ 1400 call emit_bl_rel (line); /* (j1-1) lines */ 1401 if line > 0 1402 then call append_period; 1403 go to rf00; 1404 rf0 (3): /* RF(page) */ 1405 call emit_ABS (page + line); /* (P + i1) lines */ 1406 call append_period; 1407 go to rf00; 1408 1409 rf00: 1410 call emit_perf_exit_sent ("R-F"); 1411 /* perform RF of report_name. */ 1412 end; 1413 1414 go to PFNG0; 1415 1416 PFNG (1): /* NG(abs) */ 1417 abs = root.next_group.value; /* NG(i1) */ 1418 1419 if report.rf ^= null () 1420 then do; 1421 rt_ptr = report.rf; /* exists(RF group) */ 1422 type = root.group_desc.type; 1423 line = root.group_desc.line; 1424 1425 go to rf1 (type); 1426 rf1 (0): 1427 go to rf10; 1428 rf1 (1): /* RF(abs) */ 1429 call emit_ABS (line - 1); /* (i1-1) lines */ 1430 go to rf10; 1431 1432 rf1 (2): /* RF(rel) */ 1433 call emit_bl_rel (abs + line);/* (abs + j1) lines */ 1434 go to rf10; 1435 1436 rf1 (3): /* RF(page) */ 1437 call emit_ABS (page + line); /* (P + i1) lines */ 1438 go to rf10; 1439 1440 rf10: 1441 call append_period; 1442 1443 call emit_perf_exit_sent ("R-F"); 1444 /* perform RF of report_name. */ 1445 1446 end; 1447 1448 else call emit_ABS (root.group_desc.line - 1); 1449 /* (i1-1) lines RF group missing */ 1450 1451 go to PFNG0; 1452 1453 PFNG (2): /* NG(rel) */ 1454 rel = root.next_group.value; /* NG(j1) */ 1455 1456 if report.rf ^= null () 1457 then do; 1458 rt_ptr = report.rf; /* exists(RF group) */ 1459 type = root.group_desc.type; 1460 line = root.group_desc.line; 1461 1462 go to rf2 (type); 1463 rf2 (0): 1464 go to rf20; 1465 rf2 (1): /* RF(abs) */ 1466 call emit_ABS (line - 1); /* (i1 - 1) lines */ 1467 go to rf20; 1468 1469 rf2 (2): /* RF(rel) */ 1470 call emit_bl_rel (rel + line);/* (rel + j1) lines */ 1471 go to rf20; 1472 1473 rf2 (3): /* RF(page) */ 1474 call emit_ABS (page + line); /* (page + i1) lines */ 1475 go to rf20; 1476 1477 rf20: 1478 call append_period; 1479 1480 call emit_perf_exit_sent ("R-F"); 1481 /* perform RF or report_name. */ 1482 1483 end; 1484 1485 go to PFNG0; 1486 1487 PFNG0: 1488 end; /* ^exists(PF group)) */ 1489 else if report.rf ^= null () 1490 then do; 1491 rt_ptr = report.rf; /* exists(RF group) */ 1492 type = root.group_desc.type; 1493 line = root.group_desc.line; 1494 1495 go to rf3 (type); 1496 rf3 (0): 1497 go to rf30; 1498 rf3 (1): /* RF(abs) */ 1499 call emit_ABS (line - 1); /* (i1 - 1) lines */ 1500 go to rf30; 1501 1502 rf3 (2): /* RF(rel) */ 1503 call emit_bl_rel (line); /* (j1) lines */ 1504 go to rf30; 1505 1506 rf3 (3): /* RF(page) */ 1507 call emit_ABS (page + line); /* (P + i1) lines */ 1508 go to rf30; 1509 1510 rf30: 1511 call append_period; 1512 1513 call emit_perf_exit_sent ("R-F"); /* perform RF of report_name. */ 1514 1515 end; 1516 1517 call emit_ABS (page + 1); 1518 call append_period; /* fill page with blank lines */ 1519 1520 /*[5.0-1]*/ 1521 call emit_write_sent ("END-PAGE"); /* write from END-PAGE-i */ 1522 1523 end; 1524 1525 1526 1527 1528 gen_reset_sums: 1529 proc; /* RESET-SUMS of report_name */ 1530 1531 declare i fixed bin; 1532 1533 call emit_comment ("RESET ALL SUM COUNTERS", 32); 1534 call emit_pn ("RESET-SUMS"); /* RESET-SUMS. */ 1535 1536 do i = 0 by 1 to cf_table.cf_size; 1537 1538 sum_ptr = cf_table.cf_sum_chain (i); 1539 1540 do while (sum_ptr ^= null ()); 1541 1542 call skip_to_b; /* B margin */ 1543 call append_var_string ("compute"); /* compute */ 1544 call append_qual_name (sum.sum_qn_ptr); /* sum counter */ 1545 call append_sep_var_string ("= 0"); /* = 0 */ 1546 call append_period; /* . */ 1547 1548 sum_ptr = sum.sum_next; 1549 1550 end; 1551 1552 end; 1553 1554 end; 1555 1556 1557 1558 emit_p_br: 1559 proc; 1560 1561 call emit_comment ("PAGE BREAK", 32); 1562 call emit_pn ("P-BR"); 1563 1564 if report.pf ^= null () 1565 then do; /* exists(PF group) */ 1566 rt_ptr = report.pf; /* (i1 - LC) lines */ 1567 call emit_bl_abs (root.group_desc.line); 1568 1569 call emit_perf_exit_sent ("P-F"); /* perform PF of report_name. */ 1570 end; 1571 1572 call emit_bl_abs (report.page.count + 1); /* blank lines to eop */ 1573 call emit_perf_sent ("P-INCR"); /* perform P-INCR. */ 1574 1575 if report.ph ^= null () 1576 then do; /* exists(PH group) */ 1577 rt_ptr = report.ph; 1578 1579 if root.group_desc.type = 1 /* PH(abs) */ 1580 then call emit_bl_abs (root.group_desc.line); 1581 1582 /* ((P + i1 - 1) - LC) lines */ 1583 1584 else call emit_bl_abs (report.heading.count + root.group_desc.line - 1); 1585 1586 /* ((P+H +j1 - 1) - LC) lines */ 1587 1588 call emit_perf_exit_sent ("P-H"); /* perform PH of report_name. */ 1589 end; 1590 1591 1592 1593 1594 1595 call emit_reset_sent ("B-C", "0"); /*compute BODY-COUNT = 0 */ 1596 end; 1597 1598 emit_pincr: 1599 proc; 1600 1601 call emit_comment ("PAGE-COUNTER INCREMENT", 32); 1602 1603 call emit_pn ("P-INCR"); /* P-INCR. */ 1604 call emit_reset_sent ("line-counter", "0"); /* compute line-counter = 0. */ 1605 call emit_if_test ("S-PI", "equal", "0"); /* if S-PI equal 0 */ 1606 call emit_incr_sent ("page-counter", 1); /* page-counter = page-counter + 1. */ 1607 1608 if g_i_count ^= 0 1609 then call emit_move_cv_sent ("all zeros", "GR-I");/* move all zeros to GROUP-INDICATE. */ 1610 1611 /*[5.0-1]*/ 1612 call emit_write_sent ("END-PAGE"); /* write from END-PAGE-i */ 1613 1614 1615 end; 1616 1617 1618 1619 1620 emit_bl_abs: 1621 proc (line); 1622 1623 declare line fixed bin; 1624 1625 call emit_comment ("EMIT BLANK LINES, ABS", 32); 1626 1627 if line <= report.page.count + 1 1628 then do; 1629 call emit_move_int_state (line, "LN-C");/* move line to LINE-COUNT-i */ 1630 call emit_line; 1631 call emit_perf_state ("B-ABS"); /* perform B-ABS */ 1632 end; 1633 else do; 1634 call emit_comp_end ("line-counter", line - 1 - report.page.count); 1635 1636 /* compute line-counter = line - 1 - report.page.count */ 1637 1638 call emit_line; 1639 end; 1640 end; 1641 1642 emit_ng_abs: 1643 proc (line); 1644 1645 declare line fixed bin; 1646 1647 call emit_pb_blank_lines (line, line); 1648 1649 end; 1650 1651 emit_bl_rel: 1652 proc (line_count); 1653 1654 declare line_count fixed bin; 1655 if line_count = 0 1656 then return; 1657 1658 call emit_comment ("EMIT BLANK LINES, REL", 32); 1659 1660 call EMIT_REL (line_count - 1, line_count); 1661 1662 end; 1663 1664 EMIT_REL: 1665 proc (line1, line2); 1666 1667 declare (line1, line2) fixed bin; 1668 1669 1670 if line1 > 0 1671 then do; 1672 1673 call emit_compute_lhs ("BL-C", 0); /* compute BLANK-COUNT of report_name = */ 1674 call append_sep_integer (line1); /* line1 */ 1675 call append_sep_var_string ("end-compute"); 1676 call emit_line; 1677 1678 1679 1680 /*[5.1-3]*/ 1681 call emit_write_state ("BLANK-LINES"); /* write BLANK-LINES of report_name */ 1682 1683 1684 end; 1685 1686 1687 if line2 > 0 1688 then call emit_incr_state ("line-counter", line2); 1689 end; 1690 1691 emit_bl_abs_var: 1692 proc (string); 1693 1694 declare string char (32) varying; 1695 1696 call emit_comment ("EMIT BLANK LINES, ABS VAR", 32); 1697 1698 call emit_compute_lhs ("count of BLANK-LINES", 1);/* compute count of BLANK-LINES of report_name = */ 1699 call qual_by_rep (string); /* string of report_name */ 1700 call append_sep_var_string ("-"); /* - */ 1701 call qual_by_rep ("line-counter"); /* line-counter of report_name */ 1702 call append_sep_var_string ("end-compute"); 1703 call emit_line; 1704 1705 1706 1707 call emit_incr_var_state ("line-counter", string);/* increment line-counter */ 1708 /*[5.0-1]*/ 1709 call emit_write_sent ("BLANK-LINES"); 1710 end; 1711 1712 emit_WR: 1713 proc (rec_area); 1714 1715 declare rec_area char (32) varying; 1716 1717 call skip_to_b; /* B margin */ 1718 call append_var_string ("write"); /* write */ 1719 call append_sep_token (report.file_name); /* file-name */ 1720 call append_sep_var_string ("from"); /* from */ 1721 call qual_by_int (rec_area, report.rep_num); /* rec-i */ 1722 call append_sep_var_string ("end-write"); /* end-write */ 1723 1724 end; 1725 1726 emit_incr_sent: 1727 proc (name, i); 1728 1729 declare name char (32) varying, 1730 i fixed bin; 1731 1732 call emit_incr (name, i); 1733 call append_period; 1734 end; 1735 1736 emit_incr_state: 1737 proc (name, i); 1738 1739 declare name char (32) varying, 1740 i fixed bin; 1741 1742 call emit_incr (name, i); 1743 1744 call append_sep_var_string ("end-compute"); 1745 call emit_line; 1746 end; 1747 1748 emit_incr: 1749 proc (name, i); 1750 1751 declare name char (32) varying, 1752 i fixed bin; 1753 1754 call emit_compute_lhs (name, 1); /* compute name of report name = */ 1755 call qual_by_rep (name); /* name of report name */ 1756 1757 1758 if i > 0 1759 then do; 1760 call append_sep_var_string ("+"); 1761 call append_sep_integer (i); 1762 end; 1763 else do; 1764 call append_sep_var_string ("-"); 1765 call append_sep_integer (-i); 1766 end; 1767 end; 1768 1769 emit_incr_var: 1770 proc (name, incr); 1771 1772 declare (name, incr) char (32) varying; 1773 1774 call skip_to_b; /* B margin */ 1775 call emit_compute_lhs (name, 1); /* compute name of report_name = */ 1776 call qual_by_rep (name); /* name of report_name */ 1777 call append_sep_var_string ("+"); /* + */ 1778 call qual_by_rep (incr); /* incr of report_name */ 1779 end; 1780 1781 emit_incr_var_state: 1782 proc (name, incr); 1783 1784 declare (name, incr) char (32) varying; 1785 1786 call emit_incr_var (name, incr); 1787 call emit_line; 1788 end; 1789 1790 emit_reset_sent: 1791 proc (name, value); 1792 1793 declare (name, value) char (32) varying; 1794 1795 call emit_reset (name, value); 1796 call append_period; 1797 end; 1798 1799 emit_reset_state: 1800 proc (name, value); 1801 1802 declare (name, value) char (32) varying; 1803 1804 call emit_reset (name, value); 1805 call emit_line; 1806 end; 1807 1808 emit_reset_int_state: 1809 proc (name, i); 1810 1811 declare name char (32) varying, 1812 i fixed bin; 1813 1814 call emit_reset_int (name, i); 1815 call emit_line; 1816 end; 1817 1818 emit_reset_int: 1819 proc (name, i); 1820 1821 declare name char (32) varying, 1822 i fixed bin; 1823 1824 call emit_compute_lhs (name, 0); /* compute name of report_name = */ 1825 call append_sep_integer (i); /* i */ 1826 end; 1827 1828 emit_reset: 1829 proc (name, value); 1830 1831 declare (name, value) char (32) varying; 1832 1833 call emit_compute_lhs (name, 0); /* compute name of report name = */ 1834 call append_sep_var_string (value); /* value */ 1835 end; 1836 1837 emit_move_cv: 1838 proc (from, to); 1839 1840 declare (from, to) char (32) varying; 1841 1842 call skip_to_b; /* B margin */ 1843 call append_var_string ("move"); /* move */ 1844 call append_sep_var_string (from); /* from */ 1845 call append_sep_var_string ("to"); /* to */ 1846 call qual_by_rep (to); /* to of report_name */ 1847 end; 1848 1849 emit_move_cv_sent: 1850 proc (from, to); 1851 1852 declare (from, to) char (32) varying; 1853 1854 call emit_move_cv (from, to); 1855 call append_period; 1856 end; 1857 1858 emit_use_proc: 1859 proc (p); 1860 1861 declare p ptr; 1862 1863 call skip_to_b; /* B margin */ 1864 call append_sep_var_string ("perform"); /* perform */ 1865 call append_sep_token (p); /* use_procedure */ 1866 1867 end; 1868 1869 emit_use_proc_sent: 1870 proc (p); 1871 1872 declare p ptr; 1873 1874 call emit_use_proc (p); 1875 call append_period; 1876 end; 1877 1878 use_proc: 1879 proc (string); 1880 1881 declare string char (32) varying; 1882 1883 declare p ptr, 1884 sep bit (1); 1885 1886 p = root.use_proc.use_proc_name_ptr; 1887 1888 if p = null () 1889 then return; 1890 1891 sep = root.use_proc.suppress; 1892 1893 if sep 1894 then call SENT ("move 0 to SS"); /* move 0 to SS. */ 1895 1896 call emit_use_proc_sent (p); /* perform use_procedure. */ 1897 1898 if sep 1899 then do; 1900 1901 call LINE ("if SS equal 1"); /* if SS equal 1 */ 1902 call emit_go_to_sent (string); /* go to string of report_name. */ 1903 1904 end; 1905 1906 end; 1907 1908 ch_group: 1909 proc (i); 1910 1911 declare i fixed bin; 1912 1913 rt_ptr = ch_table.ch_loc (i); 1914 if rt_ptr = null () 1915 then return; 1916 1917 b_incr = 6; 1918 1919 call emit_group_name ("CH", i); /* CH-i. */ 1920 call use_proc ("CH-EXIT"); 1921 call body_group ("CH", i); /* emit body group */ 1922 call emit_go_to_sent ("CH-EXIT"); /* go to CH-EXIT of report_name. */ 1923 end; 1924 1925 de_group: 1926 proc (i); 1927 1928 declare i fixed bin; 1929 1930 1931 if i = 1 1932 then if de_table.det_size = 1 1933 then call emit_rn_proc; 1934 1935 rt_ptr = de_table.det_loc (i); 1936 gch = "DE"; 1937 1938 call emit_gp_pn (i); /* Rgroup_name. */ 1939 call emit_pfex ("DE", i); /* perform DE-i thru DE-EXIT. */ 1940 call emit_ind_pn ("DE", i); /* DE-i. */ 1941 1942 b_incr = 0; 1943 1944 if efg 1945 then call emit_rel_con_test ("GEN-CTR", "equal", "0"); 1946 /* if GEN-CTR of report_name equal 0 */ 1947 1948 b_incr = 3; 1949 1950 if efg 1951 then call emit_perf_state ("FG"); /* perform FG of report_name */ 1952 1953 b_incr = 0; 1954 1955 1956 if report.controls.loc ^= null () 1957 then do; 1958 call de_word ("else"); /* else */ 1959 1960 b_incr = 3; 1961 1962 call emit_perf_state ("SCB"); /* perform SCB of report_name */ 1963 1964 call emit_rel_con_test ("C-L", "not equal", "0"); 1965 /* if CLEVEL of report_name not equal 0 */ 1966 1967 b_incr = 6; 1968 1969 call cb_save; 1970 1971 1972 if report.cf ^= null () 1973 then call emit_perf_exit_state ("C-F"); /* perform C-F of report_name */ 1974 1975 call cb_restore; 1976 1977 1978 if report.ch ^= null () 1979 then call emit_perf_exit_state ("C-H"); /* perform C-H of report_name */ 1980 1981 b_incr = 3; 1982 1983 call de_word ("end-if"); /* end-if */ 1984 1985 b_incr = 0; 1986 1987 1988 end; 1989 1990 1991 if efg 1992 then call end_sent ("end-if"); /* end-if. */ 1993 1994 1995 if de_table.det_subtot_all.count ^= 0 1996 then call emit_perf_sent ("SUB-TOT"); /* perform SUB-TOT of report_name. */ 1997 1998 1999 if i ^= 0 2000 then do; 2001 2002 2003 2004 if de_table.det_subtot.count (i) ^= 0 2005 then call emit_sc ("SUBTOTALLING, CURRENT GROUP", de_table.det_subtot.first (i)); 2006 /* perform SUB-TOT-i of report_name. */ 2007 2008 call use_proc ("DE-EXIT"); 2009 2010 if de_table.det_size = 1 2011 then call emit_rn_test; 2012 2013 call body_group ("DE", i); /* emit body group */ 2014 2015 end; 2016 2017 call emit_go_to_sent ("DE-EXIT"); /* go to DE-EXIT of report_name. */ 2018 2019 end; 2020 2021 2022 emit_rn_test: 2023 proc; 2024 2025 call emit_rel_con_test ("RN", "equal", """1"""); /* if RN equal "1" */ 2026 call emit_move_con_state ("""0""", "RN"); /* move "0" to RN */ 2027 call emit_go_to_sent ("DE-EXIT"); /* go to DE-EXIT */ 2028 2029 end; 2030 2031 emit_rn_proc: 2032 proc; 2033 2034 call emit_gp_pn (0); /* Greport_name. */ 2035 call emit_move_con_state ("""1""", "RN"); /* move "1" to RN */ 2036 call emit_pfex ("DE", 1); /* perform DE-1 */ 2037 2038 end; 2039 2040 cf_group: 2041 proc (i); 2042 2043 declare i fixed bin; 2044 2045 rt_ptr = cf_table.cf_loc (i); 2046 2047 if rt_ptr = null () 2048 then return; 2049 b_incr = 6; 2050 2051 call emit_group_name ("CF", i); /* CF-i. */ 2052 2053 if cf_table.cf_crossfoot.count (i) ^= 0 2054 then call emit_sc ("CROSSFOOTING", cf_table.cf_crossfoot.first (i)); 2055 2056 2057 if cf_table.cf_rollfwd.count (i) ^= 0 2058 then call emit_sc ("ROLLING FORWARD", cf_table.cf_rollfwd.first (i)); 2059 2060 2061 call use_proc ("CF-EXIT"); 2062 call body_group ("CF", i); /* emit body group */ 2063 call emit_go_to_sent ("CF-EXIT"); /* go to CF-EXIT of report_name. */ 2064 2065 2066 if cf_table.cf_reset.count (i) ^= 0 2067 then call emit_reset_para (i); 2068 end; 2069 2070 2071 2072 declare (ld, ft) fixed bin; 2073 2074 body_group: 2075 proc (string, i); 2076 2077 declare string char (32) varying, 2078 i fixed bin; 2079 declare (type, line, size, sz) 2080 fixed bin; 2081 declare st char (32) varying; 2082 2083 2084 2085 2086 type = root.group_desc.type; 2087 line = root.group_desc.line; 2088 size = root.group_desc.size; 2089 st = string || "-1"; 2090 ld = report.last_detail.count; 2091 2092 ft = report.footing.count; 2093 2094 b_incr = 0; 2095 2096 go to BGT (type); 2097 2098 2099 BGT (0): 2100 go to BGT0; 2101 BGT (1): /* Body Group (abs) */ 2102 if report.ng_exists /* group contains a NEXT GROUP clause */ 2103 then call emit_ind_pn (st, i); /* string-1-i. */ 2104 2105 call emit_rel_int_test ("line-counter", "not less", line); 2106 /* if line-counter not < i1 */ 2107 b_incr = 3; 2108 2109 call emit_perf_state ("P-BR"); /* perform P-BR */ 2110 2111 if report.ng_exists /* group contains a NEXT GROUP clause */ 2112 then do; 2113 call emit_rel_con_test ("SNGI", "not equal", "0"); 2114 2115 /* if SNGI not = 0 */ 2116 call emit_bl_abs_var ("SNGI"); /* SNGI lines */ 2117 call emit_reset_state ("SNGI", "0"); /* compute SNGI = 0 */ 2118 2119 call emit_ind_go_to_state (st, i); /* go to string-1-i of report_name */ 2120 2121 call emit_line; 2122 b_incr = 3; 2123 2124 call de_word ("end-if"); /* end-if */ 2125 end; 2126 2127 b_incr = 0; 2128 2129 call de_word ("end-if"); /* end-if */ 2130 call emit_bl_abs (line); /* (i1) lines */ 2131 2132 go to BGT0; 2133 2134 BGT (2): /* Body Group (rel) */ 2135 call emit_ind_pn (st, i); /* string-1-i. */ 2136 call emit_rel_con_test ("B-C", "equal", "0"); /* if BODY-COUNT = 0 */ 2137 call emit_ind_go_to_sent (string || "-3", i); /* go to string-3-i. */ 2138 2139 call pb_test (ld - line - size + 1); /* test for page break */ 2140 2141 b_incr = 3; 2142 2143 call emit_perf_state ("P-BR"); /* perform P-BR */ 2144 call emit_reset_state ("B-C", "0"); /* compute BODY-COUNT = 0 */ 2145 2146 call emit_ind_go_to_state (st, i); /* go to string-1-i of report_name */ 2147 call emit_line; 2148 2149 b_incr = 0; 2150 2151 call de_word ("else"); /* else */ 2152 2153 b_incr = 3; 2154 2155 call emit_bl_rel (line); /* (j1) lines */ 2156 call de_word ("end-if"); /* end-if */ 2157 2158 b_incr = 0; 2159 2160 call emit_ind_go_to_sent (string || "-2", i); /* go to string-2-i. */ 2161 call emit_ind_pn (string || "-3", i); /* string-3-i. */ 2162 2163 2164 if report.ng_exists /* group contains a NEXT GROUP clause */ 2165 then do; 2166 2167 b_incr = 3; 2168 2169 call emit_rel_con_test ("SNGI", "not equal", "0"); 2170 /* if SNGI not = 0 */ 2171 2172 call emit_bl_abs_var ("SNGI"); /* SNGI lines */ 2173 2174 b_incr = 6; 2175 2176 2177 call emit_reset_state ("SNGI", "0"); /* compute SNGI = 0 */ 2178 2179 call emit_rel_int_test ("line-counter", "greater", ld - size); 2180 /* if line-counter > LD - */ 2181 2182 b_incr = 9; 2183 2184 call emit_perf_state ("P-BR"); /* perform P-BR */ 2185 2186 b_incr = 6; 2187 2188 call de_word ("end-if"); /* end-if */ 2189 2190 b_incr = 3; 2191 2192 call de_word ("end-if"); /* end-if */ 2193 2194 b_incr = 0; 2195 end; 2196 2197 2198 call emit_pb_blank_lines (report.first_detail.count - 1, report.first_detail.count); 2199 call append_period; 2200 2201 2202 call emit_ind_pn (string || "-2", i); /* string-2-i. */ 2203 go to BGT0; 2204 2205 BGT (3): /* Body Group (page) */ 2206 call emit_ind_pn (st, i); /* string-1-i. */ 2207 2208 call emit_rel_con_test ("B-C", "greater", "0"); /* if BODY-COUNT > 0 */ 2209 2210 b_incr = 3; 2211 2212 call emit_perf_state ("P-BR"); /* perform P-BR */ 2213 call emit_reset_state ("B-C", "0"); /* compute BODY-COUNT = 0 */ 2214 2215 call emit_ind_go_to_state (st, i); /* go to string-1-i */ 2216 call emit_line; 2217 2218 b_incr = 0; 2219 2220 call de_word ("else"); /* else */ 2221 2222 if report.ng_exists /* group contains a NEXT GROUP clause */ 2223 then do; 2224 b_incr = 3; 2225 2226 call emit_rel_con_test ("SNGI", "greater", "0"); 2227 /* if SNGI > 0 */ 2228 2229 call emit_bl_abs_var ("SNGI"); /* SNGI lines */ 2230 2231 b_incr = 6; 2232 2233 call emit_reset_state ("SNGI", "0"); /* compute SNGI = 0 */ 2234 2235 b_incr = 3; 2236 2237 call de_word ("end-if"); /* end-if */ 2238 2239 b_incr = 0; 2240 2241 end; 2242 2243 b_incr = 3; 2244 2245 call emit_rel_int_test ("line-counter", "not less", line); 2246 /* if line-counter not < i1 */ 2247 2248 b_incr = 6; 2249 2250 call emit_perf_state ("P-BR"); /* perform P-BR */ 2251 2252 b_incr = 3; 2253 2254 call de_word ("end-if"); /* end-if */ 2255 2256 call emit_bl_abs (line - 1); /* (i1 - 1) lines */ 2257 2258 b_incr = 0; 2259 2260 call de_word ("end-if"); /* end-if */ 2261 go to BGT0; 2262 2263 BGT0: 2264 call emit_lines (i); /* emit lines in group */ 2265 2266 call emit_reset_sent ("B-C", "1"); /* BODY-COUNT = 1 */ 2267 2268 type = root.next_group.type; 2269 line = root.next_group.value; 2270 2271 if type = 0 2272 then return; 2273 if type = 3 & line = 1 2274 then return; 2275 2276 2277 2278 if root.group_type = 5 /* CF group */ 2279 then do; 2280 call emit_rel_int_test ("C-L", "equal", i); 2281 b_incr = b_incr + 3; 2282 2283 end; /* if CLEVEL of report_name equal i */ 2284 2285 go to BNG (type); 2286 2287 2288 BNG (1): /* NEXT GROUP (page) */ 2289 call emit_bl_abs (ft - 1); /* F - 1 lines */ 2290 go to BNG0; 2291 2292 BNG (2): 2293 call emit_rel_int_test ("line-counter", "less", line); 2294 b_incr = b_incr + 3; /* if line-counter < i1 */ 2295 2296 call emit_bl_abs (line - 1); 2297 b_incr = b_incr - 3; /* (i1 - 1) lines */ 2298 2299 call de_word ("else"); 2300 b_incr = b_incr + 3; /* else */ 2301 2302 call emit_bl_abs (ft); /* F lines */ 2303 call emit_reset_int_state ("SNGI", line); 2304 b_incr = b_incr - 3; /* compute SNGI = i1 */ 2305 2306 call de_word ("end-if"); 2307 b_incr = b_incr - 3; /* end-if */ 2308 2309 go to BNG0; 2310 2311 BNG (3): /* NEXT GROUP (rel) */ 2312 call emit_rel_int_test ("line-counter", "less", ft - line); 2313 /* if line-counter < F - j1 */ 2314 2315 b_incr = b_incr + 3; 2316 2317 call emit_ng_rel (line); 2318 b_incr = b_incr - 3; /* j1 lines */ 2319 2320 call de_word ("else"); 2321 b_incr = b_incr + 3; /* else */ 2322 2323 call emit_ng_abs (ft); 2324 b_incr = b_incr - 3; /* F lines */ 2325 2326 call de_word ("end-if"); 2327 b_incr = b_incr - 3; /* end-if */ 2328 2329 go to BNG0; 2330 2331 BNG0: 2332 if root.group_type = 5 /* CF group */ 2333 then call de_word ("end-if"); /* end-if */ 2334 2335 b_incr = 0; 2336 2337 call append_period; /* . */ 2338 2339 end; 2340 2341 2342 2343 2344 2345 emit_lines: 2346 proc (i); 2347 2348 declare i fixed bin; 2349 2350 declare (line_num, prev_line_num, line_count, line_size) 2351 fixed bin; 2352 2353 2354 declare (first, last, size, ltn, data_type) 2355 fixed bin; 2356 declare nd_loc ptr; 2357 2358 2359 2360 group_number = root.group_number; 2361 2362 LINE_table_ptr = root.line_table_ptr; 2363 2364 FIELD_table_ptr = root.field_table_ptr; 2365 2366 2367 2368 do line_number = 1 by 1 to LINE_table.LT_size; 2369 2370 line_num = LINE_table.LT_line_num (line_number); 2371 line_size = LINE_table.LT_line_size (line_number); 2372 2373 if line_number = 1 2374 then do; 2375 if line_num < 0 2376 then prev_line_num = -line_num; 2377 else prev_line_num = line_num; 2378 end; 2379 else do; 2380 if line_num < 0 2381 then do; 2382 line_num = -line_num; /* absolute */ 2383 call emit_abs (line_num - prev_line_num - 1, line_num); 2384 prev_line_num = line_num; 2385 end; 2386 else do; 2387 call emit_rel (line_num - 1); 2388 /* relative */ 2389 prev_line_num = prev_line_num + line_num; 2390 end; 2391 end; 2392 2393 call emit_move_cv_sent ("spaces", "B-F"); /* move spaces to BUFFER */ 2394 2395 call emit_comment ("LINE", 32); 2396 field_number = 1; 2397 2398 2399 first = LINE_table.LT_first_field (line_number); 2400 size = LINE_table.LT_field_count (line_number); 2401 last = first + size - 1; 2402 2403 do ltn = first by 1 to last; 2404 2405 call emit_comment ("FIELD", 32); 2406 2407 tn_ptr = FIELD_table.FT_loc (ltn); 2408 data_type = term_node.data_type; 2409 nd_loc = term_node.nd_loc; 2410 2411 if term_node.group_ind 2412 then do; 2413 call emit_irel_con_test ("G-I", term_node.g_i_count, "equal", """0"""); 2414 /* if G-I-i equal "0" */ 2415 2416 b_incr = 3; 2417 2418 call emit_move_cvi_state ("""1""", "G-I", term_node.g_i_count); 2419 /* move "1" to G-I-i */ 2420 2421 end; 2422 2423 call skip_to_b; /* B margin */ 2424 call append_var_string ("move"); /* move */ 2425 2426 go to EL (data_type); 2427 EL (0): /* missing */ 2428 /*[5.1-5]*/ 2429 call append_sep_var_string ("spaces"); 2430 go to EL0; 2431 2432 EL (1): /* SOURCE */ 2433 call emit_identifier (nd_loc); 2434 go to EL0; 2435 2436 EL (2): /* VALUE */ 2437 call append_list (nd_loc); 2438 go to EL0; 2439 2440 EL (3): /* SUM */ 2441 call emit_sum_counter_name; 2442 go to EL0; 2443 2444 EL0: 2445 call append_sep_var_string ("to"); /* to */ 2446 call qual_field_name (i, line_number, field_number); 2447 2448 if term_node.group_ind 2449 then do; 2450 call emit_line; 2451 call end_sent ("end-if"); 2452 b_incr = 0; 2453 end; 2454 2455 else call append_period; /* . */ 2456 2457 field_number = field_number + 1; 2458 2459 end; 2460 2461 call emit_line_size_init (line_size); /*[5.0-1]*/ 2462 call emit_write_sent ("WRITE-LINE"); /* write fn from WRITE-LINE. */ 2463 2464 2465 2466 b_incr = 0; 2467 2468 2469 2470 end; 2471 2472 line_number = line_number + 1; 2473 end; 2474 2475 emit_identifier: 2476 proc (p); 2477 2478 declare p ptr; 2479 2480 ident_ptr = p; 2481 2482 call append_qual_name (ident.id_name_loc); 2483 2484 ident_ptr = p; 2485 2486 if ident.subscripts.count ^= 0 2487 then call append_list (addr (ident.subscripts)); 2488 2489 end; 2490 2491 emit_sum_counter_name: 2492 proc; 2493 2494 declare (p, q) ptr; 2495 2496 call append_sep_token (term_node.tn_name_ptr); 2497 2498 p = term_node.tn_up; 2499 2500 do while (p ^= null ()); 2501 2502 q = p -> term_node.tn_name_ptr; 2503 2504 if q ^= null () 2505 then do; 2506 call append_sep_var_string ("of"); 2507 call append_sep_token (q); 2508 end; 2509 2510 p = p -> term_node.tn_up; 2511 2512 end; 2513 end; 2514 2515 gen_first_gen: 2516 proc; 2517 2518 declare (i, line, type, heading, value) 2519 fixed bin; 2520 2521 call emit_comment ("FIRST GENERATE STATEMENT", 32); 2522 call emit_pn ("FG"); /* FG. */ 2523 2524 if report.rh ^= null () 2525 then do; 2526 rt_ptr = report.rh; /* exists(RH group) */ 2527 2528 line = root.group_desc.line; 2529 type = root.group_desc.type; 2530 heading = report.heading.count; 2531 2532 if type = 1 2533 then call emit_bl_abs (line); /* (i1) lines RH(abs) */ 2534 else call emit_bl_rel (heading + line - 1); 2535 /* (H+j1-1) lines RH(rel) */ 2536 2537 call emit_perf_exit_sent ("R-H"); /* perform RH of report_name. */ 2538 2539 type = root.next_group.type; 2540 value = root.next_group.value; 2541 2542 go to RHNG (type); /* NEXT GROUP clause */ 2543 2544 RHNG (0): /* NG clause (missing) */ 2545 go to RHNG0; 2546 2547 RHNG (1): /* NG clause (NEXT PAGE) */ 2548 call emit_ABS (report.page.count); /* (P) lines */ 2549 call emit_reset_sent ("line-counter", "0"); 2550 /* compute line-counter of report_name = 0. */ 2551 call emit_reset_sent ("page-counter", "2"); 2552 /* compute page-counter of report_name = 2. */ 2553 2554 go to RHNG0; 2555 2556 RHNG (2): /* NG clause (integer) */ 2557 call emit_ABS (value); /* (i1) lines */ 2558 go to RHNG0; 2559 2560 RHNG (3): /* NG clause (PLUS integer) */ 2561 call emit_bl_rel (value); /* (j1) lines */ 2562 go to RHNG0; 2563 2564 RHNG0: 2565 if report.ph ^= null () 2566 then call gen_ph (0); /* exists RH */ 2567 2568 end; 2569 2570 else if report.ph ^= null () 2571 then call gen_ph (report.heading.count - 1); /* exists PH */ 2572 2573 if report.controls.loc ^= null () 2574 then do; 2575 call emit_reset_sent ("C-L", "1"); /* compute CLEVEL of report_name = 1. */ 2576 2577 call emit_perf_exit_sent ("C-TO-P"); /* perform C-TO-P of report_name */ 2578 end; 2579 2580 2581 if report.ch ^= null () 2582 then do; /* exists(CH groups) */ 2583 2584 ch_table_ptr = report.ch; 2585 2586 2587 2588 if ch_table.ch_loc (0) ^= null () 2589 then call emit_pfex ("CH", 0); /* perform CH-0 of report_name. */ 2590 2591 2592 call emit_perf_exit_sent ("C-H"); /* perform C-H of report_name. */ 2593 2594 end; 2595 2596 call emit_reset_sent ("GEN-CTR", "1"); /* compute GEN-CTR of report_name = 1. */ 2597 end; 2598 2599 emit_go_to_sent: 2600 proc (string); 2601 2602 declare string char (32) varying; 2603 2604 call emit_go_to (string); /* go to string of report_name */ 2605 call append_period; /* . */ 2606 end; 2607 2608 emit_go_to: 2609 proc (string); 2610 2611 declare string char (32) varying; 2612 2613 call skip_to_b; /* B margin */ 2614 call append_sep_var_string ("go to"); /* go to */ 2615 call qual_by_rep_proc (string); /* string of R-report_name */ 2616 end; 2617 2618 emit_ind_go_to_state: 2619 proc (string, i); 2620 2621 declare string char (32) varying, 2622 i fixed bin; 2623 2624 call emit_ind_go_to (string, i); 2625 2626 end; 2627 2628 emit_ind_go_to_sent: 2629 proc (string, i); 2630 2631 declare string char (32) varying, 2632 i fixed bin; 2633 2634 call emit_ind_go_to_state (string, i); 2635 call append_period; 2636 end; 2637 2638 emit_ind_go_to: 2639 proc (string, i); 2640 2641 declare string char (32) varying, 2642 i fixed bin; 2643 2644 call skip_to_b; /* B margin */ 2645 call append_var_string ("go to"); /*go to */ 2646 call qual_int_by_rep_proc (string, i); /* string-i of R-report_name */ 2647 end; 2648 2649 emit_ind_perf: 2650 proc (string, i); 2651 2652 declare string char (32) varying, 2653 i fixed bin; 2654 2655 call skip_to_b; /* B margin */ 2656 call append_var_string ("perform"); /* perform */ 2657 call qual_int_by_rep_proc (string, i); /* string-i of R-report_name */ 2658 2659 end; 2660 2661 emit_rep_sec_name: 2662 proc (ch); 2663 2664 declare ch char (32) varying; 2665 2666 call append_sep_var_string (ch); /* R- */ 2667 call append_token (report.rep_name_ptr); /* report_name */ 2668 end; 2669 2670 end_sent: 2671 proc (string); 2672 2673 declare string char (32) varying; 2674 2675 call skip_to_b; /* B margin */ 2676 call append_var_string (string); /* string */ 2677 call append_period; /* . */ 2678 2679 end; 2680 2681 qual_int_by_rep_proc: 2682 proc (string, i); 2683 2684 declare string char (32) varying, 2685 i fixed bin; 2686 2687 if i < 10000 2688 then call qual_by_int (string, i); /* string-i */ 2689 else call append_sep_var_string (string); /* string */ 2690 2691 call append_sep_var_string ("of"); /* of */ 2692 call emit_rep_sec_name ("R"); /* Rreport_name */ 2693 end; 2694 2695 de_word: 2696 proc (string); 2697 2698 declare string char (32) varying; 2699 2700 call skip_to_b; /* B margin */ 2701 call append_var_string (string); /* string */ 2702 call emit_line; 2703 2704 end; 2705 2706 emit_compute_lhs: 2707 proc (name, mode); 2708 2709 declare name char (32) varying, 2710 mode fixed bin; 2711 2712 call skip_to_b; /* B margin */ 2713 call append_var_string ("compute"); /* compute */ 2714 call qual_by_rep (name); /* name of report_name */ 2715 call append_sep_var_string ("="); /* = */ 2716 2717 if mode = 0 2718 then return; 2719 2720 call emit_line; 2721 2722 call skip_to_col (15 + b_incr); 2723 2724 end; 2725 2726 2727 emit_rel_con_test: 2728 proc (var, rel, con); 2729 2730 declare (var, rel, con) char (32) varying; 2731 2732 call if_var_rel (var, rel); /* if var rel */ 2733 call append_sep_var_string (con); /* con */ 2734 call emit_line; 2735 end; 2736 2737 emit_rel_int_test: 2738 proc (var, rel, i); 2739 2740 declare (var, rel) char (32) varying, 2741 i fixed bin; 2742 2743 call if_var_rel (var, rel); /* if var rel */ 2744 call append_sep_integer (i); /* i */ 2745 call emit_line; 2746 end; 2747 2748 if_var_rel: 2749 proc (var, rel); 2750 2751 declare (var, rel) char (32) varying; 2752 2753 call skip_to_b; /* B margin */ 2754 call append_var_string ("if"); /* if */ 2755 call qual_by_rep (var); /* var of report_name */ 2756 call append_sep_var_string (rel); /* rel */ 2757 end; 2758 2759 if_int_var_rel: 2760 proc (var, i, rel); 2761 2762 declare (var, rel) char (32) varying, 2763 i fixed bin; 2764 2765 call skip_to_b; /* B margin */ 2766 call append_var_string ("if"); /* if */ 2767 call qual_int_by_rep (var, i); /* var-i of report_name */ 2768 call append_sep_var_string (rel); /* rel */ 2769 end; 2770 2771 emit_irel_con_test: 2772 proc (var, i, rel, con); 2773 2774 declare (var, rel, con) char (32) varying, 2775 i fixed bin; 2776 2777 call if_int_var_rel (var, i, rel); 2778 call append_sep_var_string (con); 2779 call emit_line; 2780 end; 2781 2782 emit_move_cvi: 2783 proc (con, var, i); 2784 2785 declare (con, var) char (32) varying, 2786 i fixed bin; 2787 2788 call skip_to_b; /* B margin */ 2789 call emit_move_con (con); /* move con to */ 2790 call qual_int_by_rep (var, i); /* var-i of report_name */ 2791 end; 2792 2793 emit_move_cvi_state: 2794 proc (con, var, i); 2795 2796 declare (con, var) char (32) varying, 2797 i fixed bin; 2798 2799 call emit_move_cvi (con, var, i); 2800 call emit_line; 2801 end; 2802 2803 emit_move_con: 2804 proc (con); 2805 2806 declare con char (32) varying; 2807 2808 call skip_to_b; /* B margin */ 2809 call append_var_string ("move"); /* move */ 2810 call append_sep_var_string (con); /* con */ 2811 call append_sep_var_string ("to"); /* to */ 2812 2813 end; 2814 2815 emit_move_con_state: 2816 proc (con, var); 2817 2818 declare (con, var) char (32) varying; 2819 2820 call emit_move_con (con); 2821 call qual_by_rep (var); 2822 call emit_line; 2823 end; 2824 2825 emit_thru: 2826 proc (name, suff); 2827 2828 declare (name, suff) char (32) varying; 2829 2830 call append_sep_var_string ("thru"); 2831 call qual_by_rep_proc (name || suff); 2832 end; 2833 2834 emit_perf_sent: 2835 proc (name); 2836 2837 declare name char (32) varying; 2838 2839 call emit_perf (name); 2840 call append_period; /* . */ 2841 end; 2842 2843 emit_perf_exit_sent: 2844 proc (name); 2845 2846 declare name char (32) varying; 2847 2848 call emit_perf_exit_state (name); 2849 call append_period; 2850 end; 2851 2852 2853 2854 2855 emit_perf_state: 2856 proc (name); 2857 2858 declare name char (32) varying; 2859 2860 call emit_perf (name); 2861 call emit_line; 2862 2863 end; 2864 emit_perf_exit_state: 2865 proc (name); 2866 2867 declare name char (32) varying; 2868 2869 call emit_perf (name); 2870 call emit_thru (name, "-EXIT"); 2871 call emit_line; 2872 end; 2873 2874 emit_perf: 2875 proc (name); 2876 2877 declare name char (32) varying; 2878 2879 call skip_to_b; /* B margin */ 2880 call append_sep_var_string ("perform"); /* perform */ 2881 call qual_by_rep_proc (name); /* name of R-report_name */ 2882 end; 2883 2884 emit_ind_perf_sent: 2885 proc (string, i); 2886 2887 declare string char (32) varying, 2888 i fixed bin; 2889 2890 call emit_ind_perf (string, i); 2891 call append_period; 2892 end; 2893 2894 gen_c_h: 2895 proc; 2896 2897 declare i fixed bin; 2898 2899 call emit_pn ("C-H"); /* C-H. */ 2900 /*[4.4-1]*/ 2901 if ch_table.ch_size > 1 2902 then call go_to_dep ("C-H", ch_table.ch_size); /* go to depending */ 2903 2904 do i = 1 by 1 to ch_table.ch_size; 2905 2906 /*[4.4-1]*/ 2907 if ch_table.ch_size > 1 2908 then call emit_ind_pn ("C-H", i); /* C-H-i. */ 2909 call skip_to_b; /* B margin */ 2910 2911 if ch_table.ch_loc (i) ^= null () 2912 then do; 2913 2914 call emit_ind_perf_exit_state ("CH", i); 2915 /* perform CHi of report_name */ 2916 call append_period; /* . */ 2917 2918 end; 2919 end; 2920 2921 call emit_exit_para ("C-H-EXIT"); /* C-H-EXIT. exit. */ 2922 2923 end; 2924 2925 gen_c_f: 2926 proc; 2927 2928 declare (i, j) fixed bin; 2929 2930 call emit_pn ("C-F"); /* C-F. */ 2931 2932 if report.g_i_count ^= 0 2933 then call emit_move_cv_sent ("all zeros", "GR-I"); 2934 2935 j = cf_table.cf_size; 2936 2937 /*[5.1-4]*/ 2938 if j > 0 2939 then do i = cf_table.cf_size by -1 to 1; 2940 2941 2942 if cf_table.cf_loc (i) ^= null () 2943 then do; 2944 call emit_ind_perf_exit_state ("CF", i); 2945 /* perform CF-i of report_name */ 2946 2947 call append_period; 2948 end; 2949 2950 if cf_table.cf_reset.count (i) ^= 0 2951 then call emit_ind_perf_sent ("RESET", i); 2952 2953 2954 if i ^= 1 2955 then do; 2956 2957 call skip_to_b; /* B margin */ 2958 call append_var_string ("if");/* if */ 2959 call qual_by_rep ("C-L"); /* CLEVEL of report_name */ 2960 call append_sep_var_string ("equal"); 2961 /* EQUAL */ 2962 call append_sep_integer (i); /* i */ 2963 call emit_go_to ("C-F-EXIT"); /* go to C-F-EXIT of report_name */ 2964 call append_period; /* . */ 2965 2966 end; 2967 end; 2968 2969 call emit_exit_para ("C-F-EXIT"); /* C-F-EXIT. exit. */ 2970 2971 end; 2972 2973 emit_comment: 2974 proc (string, pos); 2975 2976 declare string char (32) varying, 2977 pos fixed bin; 2978 2979 call skip_to_a; 2980 substr (line.chars, 7, 1) = "*"; 2981 call skip_to_col (pos); 2982 call append_var_string (string); 2983 call emit_line; 2984 end; 2985 2986 emit_ind_perf_exit_state: 2987 proc (string, i); 2988 2989 declare string char (32) varying, 2990 i fixed bin; 2991 2992 call emit_ind_perf (string, i); 2993 call emit_thru (string, "-EXIT"); 2994 end; 2995 2996 emit_stall_para: 2997 proc; 2998 2999 3000 /* subtotalling which occurs for */ 3001 /* every de group */ 3002 3003 3004 call emit_pn ("SUB-TOT"); /* SUB-TOT. */ 3005 3006 call emit_sc ("SUBTOTALLING- ALL GROUPS", de_table.det_subtot_all.first); 3007 3008 end; 3009 3010 emit_reset_para: 3011 proc (i); 3012 3013 declare i fixed bin; 3014 3015 3016 reset_chain_entry_ptr = cf_table.cf_reset.first (i); 3017 3018 call emit_ind_pn ("RESET", i); /* RESET-i. */ 3019 3020 do while (reset_chain_entry_ptr ^= null ()); 3021 3022 call skip_to_b; /* B margin */ 3023 call append_sep_var_string ("compute"); /* compute */ 3024 call append_qual_name (reset_chain_entry.loc); 3025 /* sum counter */ 3026 call append_sep_var_string ("= 0"); /* = 0 */ 3027 call append_period; /* . */ 3028 3029 reset_chain_entry_ptr = reset_chain_entry.next; 3030 3031 end; 3032 3033 end; 3034 3035 emit_sc: 3036 proc (comm, p); 3037 3038 declare comm char (32) varying, 3039 p ptr; 3040 3041 3042 call emit_comment (comm, 32); 3043 3044 b_incr = 0; 3045 chain_entry_ptr = p; 3046 3047 do while (chain_entry_ptr ^= null ()); 3048 3049 call skip_to_b; /* B margin */ 3050 call append_sep_var_string ("add"); /* add */ 3051 call emit_identifier (chain_entry.ce_loc); /* addend */ 3052 call append_sep_var_string ("to"); /* to */ 3053 call append_qual_name (chain_entry.ce_sum_loc); 3054 /* sum counter */ 3055 call append_period; 3056 3057 3058 chain_entry_ptr = chain_entry.ce_next; 3059 3060 end; 3061 3062 end; 3063 3064 emit_rep_pn: 3065 proc (ch, type); 3066 3067 declare ch char (32) varying, 3068 type fixed bin; 3069 3070 call skip_to_a; 3071 3072 call emit_rep_sec_name (ch); 3073 3074 if type ^= 0 3075 then call append_sep_var_string ("section"); 3076 3077 call append_period; 3078 3079 end; 3080 3081 qual_by_rep_proc: 3082 proc (string); 3083 3084 declare string char (32) varying; 3085 3086 call append_sep_var_string (string); /* string */ 3087 3088 call append_sep_var_string ("of"); /* of */ 3089 3090 call emit_rep_sec_name ("R"); /* Rreport_name */ 3091 3092 3093 end; 3094 3095 declare 1 line, 3096 2 next_loc fixed bin, /* next location */ 3097 2 bl_loc fixed bin, /* location of last space */ 3098 2 chars char (256); 3099 3100 declare first_line fixed bin, 3101 trace_bit bit (1); 3102 3103 append_var_string: 3104 proc (string); 3105 3106 /* append a char varying string to */ 3107 /* the current line */ 3108 3109 declare string char (32) varying; 3110 declare sz fixed bin; 3111 3112 sz = length (string); 3113 3114 substr (line.chars, line.next_loc, sz) = string; 3115 line.next_loc = line.next_loc + sz; 3116 3117 end; 3118 3119 append_refer_string: 3120 proc (refer_ptr); 3121 3122 /* append a string of characters to the */ 3123 /* current line. The location of the */ 3124 /* self defined string is an input */ 3125 /* parameter */ 3126 3127 declare refer_ptr ptr; 3128 declare sz fixed bin; 3129 3130 declare 1 refer_string based (refer_ptr), 3131 2 size fixed bin, 3132 2 string char (0 refer (refer_string.size)); 3133 3134 sz = refer_string.size; 3135 3136 substr (line.chars, line.next_loc, sz) = refer_string.string; 3137 line.next_loc = line.next_loc + sz; 3138 3139 end; 3140 3141 append_integer: 3142 proc (bin_int); 3143 3144 /* append a decimal integer to the */ 3145 /* current string. The location of a */ 3146 /* binary integer is an input paramater */ 3147 3148 declare bin_int fixed bin; 3149 declare dec_int char (4), 3150 dec_size fixed bin; 3151 3152 3153 if bin_int <= 0 3154 then do; 3155 dec_int = "0"; 3156 dec_size = 1; 3157 end; 3158 else do; 3159 3160 call ioa_$rsnnl ("^d", dec_int, dec_size, bin_int); 3161 3162 end; 3163 3164 substr (line.chars, line.next_loc, dec_size) = dec_int; 3165 line.next_loc = line.next_loc + dec_size; 3166 3167 end; 3168 3169 append_sep_var_string: 3170 proc (string); 3171 3172 /* This operation appends a space and */ 3173 /* then executes the operation */ 3174 /* append_var_string */ 3175 3176 declare string char (32) varying; 3177 3178 call append_space; 3179 3180 call append_var_string (string); 3181 3182 end; 3183 3184 append_sep_refer_string: 3185 proc (refer_ptr); 3186 3187 /* This operation appends a space and */ 3188 /* then executes the operation */ 3189 /* append_refer_string */ 3190 3191 declare refer_ptr ptr; 3192 3193 call append_space; 3194 3195 call append_refer_string (refer_ptr); 3196 3197 end; 3198 3199 append_sep_integer: 3200 proc (bin_int); 3201 3202 /* This operation appends a space and */ 3203 /* then executes the operation */ 3204 /* append_integer */ 3205 3206 declare bin_int fixed bin; 3207 3208 call append_space; 3209 3210 call append_integer (bin_int); 3211 3212 end; 3213 3214 3215 3216 3217 declare b_incr fixed bin; 3218 3219 3220 skip_to_b: 3221 proc; 3222 3223 /* This operation adds spaces to the */ 3224 /* current line and insures that the */ 3225 /* next item placed in the line is in */ 3226 /* the B field */ 3227 3228 declare loc fixed bin; 3229 3230 3231 loc = 12 + b_incr; 3232 3233 if line.next_loc >= loc 3234 then do; 3235 if substr (line.chars, line.next_loc - 1, 1) = " " 3236 then line.bl_loc = line.next_loc - 1; 3237 else do; 3238 substr (line.chars, line.next_loc, 1) = " "; 3239 line.bl_loc = line.next_loc; 3240 line.next_loc = line.next_loc + 1; 3241 end; 3242 end; 3243 else do; 3244 substr (line.chars, line.next_loc, loc - line.next_loc) = " "; 3245 line.bl_loc = loc - 1; 3246 line.next_loc = loc; 3247 end; 3248 3249 end; 3250 3251 3252 3253 skip_to_a: 3254 proc; 3255 3256 substr (line.chars, 1, 7) = " "; 3257 line.bl_loc = 7; 3258 line.next_loc = 8; 3259 end; 3260 3261 skip_to_col: 3262 proc (pos); 3263 3264 declare pos fixed bin; 3265 3266 if pos <= line.next_loc 3267 then return; 3268 3269 substr (line.chars, line.next_loc, pos - line.next_loc) = " "; 3270 line.next_loc = pos; 3271 end; 3272 3273 append_space: 3274 proc; 3275 3276 /* append a space to the current line */ 3277 /* emit a line if required */ 3278 3279 if substr (line.chars, line.next_loc - 1, 1) = " " 3280 then return; 3281 3282 if line.next_loc < 72 3283 then call es; 3284 else if line.next_loc < 74 3285 then call emit_line; 3286 else do; 3287 call emit_line; 3288 call es; 3289 end; 3290 3291 end; 3292 3293 es: 3294 proc; 3295 3296 substr (line.chars, line.next_loc, 1) = " "; 3297 line.bl_loc = line.next_loc; 3298 line.next_loc = line.next_loc + 1; 3299 3300 end; 3301 3302 append_period: 3303 proc; 3304 3305 /* append a period separator to the */ 3306 /* current line, emit one or two lines */ 3307 /* as required */ 3308 3309 if line.next_loc < 73 3310 then do; 3311 call ep; 3312 call emit_line; 3313 call seta; 3314 end; 3315 else do; 3316 call emit_line; 3317 call ep; 3318 call emit_line; 3319 call seta; 3320 end; 3321 3322 end; 3323 3324 ep: 3325 proc; 3326 3327 substr (line.chars, line.next_loc, 1) = "."; 3328 line.next_loc = line.next_loc + 1; 3329 3330 end; 3331 3332 seta: 3333 proc; 3334 3335 line.bl_loc = 7; 3336 line.next_loc = 8; 3337 3338 end; 3339 3340 declare rwfp ptr; 3341 3342 append_list: 3343 proc (list_ptr); 3344 3345 declare list_ptr ptr, 3346 st bit (32), 3347 (i, rec_size) fixed; 3348 3349 list_def_ptr = list_ptr; 3350 3351 call cobol_io_$cobol_msf_start (rwfp, addrel (list_def.first, -1)); 3352 3353 do i = 1 by 1 to list_def.count; 3354 3355 call cobol_swf_get (rwfp, st, addr_record, rec_size); 3356 3357 if substr (st, 17, 16) ^= "0"b 3358 then return; 3359 3360 call append_sep_token (addr_record); 3361 3362 end; 3363 end; 3364 3365 3366 3367 3368 append_token: 3369 proc (token_ptr); 3370 3371 declare token_ptr ptr; 3372 3373 call get_ref_ptr (token_ptr); 3374 3375 call append_refer_string (refer_ptr); 3376 3377 end; 3378 declare refer_ptr ptr; 3379 3380 3381 3382 3383 get_ref_ptr: 3384 proc (token_ptr); 3385 3386 declare token_ptr ptr; 3387 declare type fixed bin; 3388 3389 type = token_ptr -> reserved_word.type; 3390 3391 if type > 8 3392 then return; 3393 3394 go to TOK (type); 3395 3396 TOK (0): 3397 TOK (5): 3398 TOK (6): 3399 return; 3400 TOK (1): 3401 refer_ptr = addr (token_ptr -> reserved_word.length); 3402 go to TOK1; 3403 3404 TOK (2): 3405 refer_ptr = addr (token_ptr -> numeric_lit.places); 3406 go to TOK1; 3407 3408 TOK (3): 3409 call quoter (token_ptr); 3410 go to TOK1; 3411 3412 TOK (4): 3413 refer_ptr = addr (token_ptr -> picture.length); 3414 go to TOK1; 3415 3416 TOK (7): 3417 refer_ptr = addr (token_ptr -> proc_def.name_size); 3418 go to TOK1; 3419 3420 TOK (8): 3421 refer_ptr = addr (token_ptr -> user_word.length); 3422 go to TOK1; 3423 3424 TOK1: 3425 end; 3426 3427 3428 3429 append_sep_token: 3430 proc (token_ptr); 3431 3432 declare token_ptr ptr; 3433 3434 call get_ref_ptr (token_ptr); 3435 3436 call append_sep_refer_string (refer_ptr); 3437 3438 end; 3439 3440 append_level_number: 3441 proc (lev_num); /* append a level number in the A margin */ 3442 /* and then emit blanks */ 3443 3444 declare lev_num fixed bin; 3445 declare sz fixed bin; 3446 3447 call skip_to_a; 3448 3449 if lev_num < 10 3450 then call append_var_string ("0"); /* 0 */ 3451 3452 call append_integer (lev_num); /* level number */ 3453 3454 sz = lev_num + lev_num; 3455 substr (line.chars, line.next_loc, sz) = " "; /* blanks */ 3456 3457 line.next_loc = line.next_loc + sz; 3458 line.bl_loc = line.next_loc - 1; 3459 3460 end; 3461 3462 append_qual_name: 3463 proc (qn_ptr); /* append a qualified name, loc of */ 3464 /* the qual name is in qual_name_ptr */ 3465 3466 declare qn_ptr ptr; 3467 declare (i, ct) fixed bin; 3468 3469 /*[5.1-2]*/ 3470 ct = qn_ptr -> qual_name.qn_size; 3471 3472 /*[5.1-2]*/ 3473 if ct = 1 /*[5.1-2]*/ 3474 then call unqual_name (qn_ptr -> qual_name.qn_loc (1)); 3475 /*[5.1-2]*/ 3476 else do i = 1 by 1 to ct; 3477 3478 if i ^= 1 3479 then call append_sep_var_string ("of"); /* of */ 3480 call append_sep_token (qn_ptr -> qual_name.qn_loc (i)); 3481 /* data-name */ 3482 end; 3483 end; 3484 3485 emit_line: 3486 proc; 3487 3488 /* the current line is emitted. If it */ 3489 /* exceeds 72 characters in length */ 3490 /* then the last item on the line is */ 3491 /* saved and placed in the B field of */ 3492 /* the next line */ 3493 3494 declare sz fixed bin; 3495 3496 if line.next_loc > 8 /* non empty line */ 3497 then if line.next_loc <= 73 /* short line */ 3498 then do; 3499 call EMIT (line.next_loc); 3500 3501 call clear_line; 3502 3503 3504 3505 end; 3506 else do; 3507 call EMIT (line.bl_loc); /* long line */ 3508 3509 substr (line.chars, 1, 11) = " "; 3510 3511 sz = line.next_loc - line.bl_loc - 1; 3512 3513 /* line overflow */ 3514 3515 substr (line.chars, 12, sz) = substr (line.chars, line.bl_loc + 1); 3516 3517 line.bl_loc = 11; 3518 line.next_loc = 12 + sz; 3519 call EMIT (line.next_loc); 3520 call clear_line; 3521 end; 3522 end; 3523 3524 3525 3526 declare rwdd bit (1), 3527 (ddloc, pdloc) fixed bin; 3528 3529 declare chars char (1024) based; 3530 3531 3532 3533 EMIT: 3534 proc (loc); 3535 3536 declare loc fixed bin; 3537 3538 /*[5.0-1]*/ 3539 substr (line.chars, 1, 6) = "::::::"; /* dont put into the listing */ 3540 3541 if rwdd 3542 then do; 3543 substr (cobol_rwdd -> chars, ddloc, loc) = substr (line.chars, 1, loc - 1) || " 3544 "; 3545 ddloc = ddloc + loc; 3546 end; 3547 else do; 3548 substr (cobol_rwpd -> chars, pdloc, loc) = substr (line.chars, 1, loc - 1) || " 3549 "; 3550 pdloc = pdloc + loc; 3551 end; 3552 3553 end; 3554 3555 line_init: 3556 proc; 3557 3558 line.next_loc = 1; 3559 line.bl_loc = 1; 3560 line.chars = " "; 3561 end; 3562 3563 3564 3565 declare 1 ALF, 3566 2 lit_size fixed bin, 3567 2 string char (136); 3568 3569 declare 1 alf_lit based (alf_lit_ptr), 3570 2 lit_size fixed bin, 3571 2 string char (136 refer (alf_lit.lit_size)); 3572 3573 declare alf_lit_ptr ptr; 3574 3575 quoter: 3576 proc (token_ptr); 3577 3578 declare token_ptr ptr; 3579 3580 ALF.lit_size = token_ptr -> alphanum_lit.lit_size + 2; 3581 substr (ALF.string, 1, ALF.lit_size) = """" || token_ptr -> alphanum_lit.string || """"; 3582 3583 refer_ptr = alf_lit_ptr; 3584 3585 end; 3586 3587 emit_write_line: 3588 proc; 3589 3590 call emit_comment ("WRITE-LINE", 32); 3591 call append_level_number (2); 3592 call qual_by_int ("WRITE-LINE", report.rep_num); 3593 call append_sep_var_string ("redefines"); 3594 call qual_by_int ("REP-LINE", report.rep_num); 3595 call append_period; 3596 3597 call emit_write_fields ("LINE-SIZE"); 3598 3599 3600 call append_level_number (3); 3601 call append_sep_var_string ("B occurs 1 to 132 times"); 3602 call emit_line; 3603 call skip_to_b; 3604 call append_sep_var_string ("depending on"); 3605 3606 call qual_by_rep ("LINE-SIZE"); 3607 call append_sep_var_string ("pic x"); 3608 call append_period; 3609 3610 end; 3611 3612 emit_write_fields: 3613 proc (name); 3614 3615 declare name char (32) varying; 3616 3617 call emit_lev_item (3, name || " comp-6", ""); 3618 call emit_lev_item (3, "C-D pic xx", ""); 3619 call emit_lev_item (3, "T-Y pic xx", ""); 3620 3621 end; 3622 3623 declare efg bit (1); 3624 3625 3626 gen_report_init: 3627 proc; 3628 3629 ch_table_ptr = report.ch; 3630 cf_table_ptr = report.cf; 3631 de_table_ptr = report.de; 3632 3633 code = report.code; 3634 3635 if code = "" 3636 then code = " "; /* default for report code */ 3637 3638 if ch_table_ptr ^= null () 3639 then control_count = cf_table.cf_size; 3640 else control_count = 0; 3641 3642 control_name_table_loc = report.controls.loc; 3643 3644 3645 3646 3647 if report.ph ^= null () | report.rh ^= null () | report.controls.loc ^= null () 3648 then efg = "1"b; /* emit FG. */ 3649 else efg = "0"b; 3650 3651 3652 end; 3653 3654 3655 3656 3657 emit_line_size_init: 3658 proc (size); 3659 3660 declare size fixed bin; 3661 3662 call skip_to_b; /* B margin */ 3663 call append_var_string ("compute"); /* compute */ 3664 3665 call qual_by_rep ("LINE-SIZE"); 3666 call append_sep_var_string ("="); /* = */ 3667 call append_sep_integer (size); /* size */ 3668 call append_period; /* . */ 3669 3670 end; 3671 3672 3673 3674 3675 buffer_name_def: 3676 proc (name); 3677 3678 declare name char (32) varying; 3679 3680 call append_level_number (2); /* 02 */ 3681 call qual_by_int (name, report.rep_num); /* name-i */ 3682 call append_period; /* .*/ 3683 3684 end; 3685 3686 3687 3688 3689 emit_pb_blank_lines: 3690 proc (line1, line2); 3691 3692 declare (line1, line2) fixed bin; 3693 3694 call emit_rel_int_test ("line-counter", "not less", line2); 3695 /* if line-counter > line */ 3696 call sbc (report.page.count + line1); /* incr BLANK-COUNT */ 3697 call emit_line; 3698 call de_word ("else"); /* else */ 3699 call sbc (line1); /* set BLANK-COUNT */ 3700 call de_word ("end-if"); /* end-if */ 3701 call emit_rel_con_test ("BL-C", "greater", "0"); /* if BLANK-COUNT > 0 */ 3702 call emit_write_state ("BLANK-LINES"); /* write from BLANK-LINES */ 3703 call de_word ("end-if"); /* end-if */ 3704 call emit_comp_end ("line-counter", line2); /* compute line-counter = line end-compute */ 3705 3706 3707 end; 3708 3709 sbc: 3710 proc (size); 3711 3712 declare size fixed bin; 3713 3714 call emit_comp ("BL-C", size); /* compute BLANK-COUNT = size */ 3715 3716 3717 if size = 0 3718 then return; 3719 3720 call append_sep_var_string ("-"); /* - */ 3721 call qual_by_rep ("line-counter"); /* line-counter */ 3722 3723 end; 3724 3725 3726 3727 3728 descr_pic_line: 3729 proc (lev, name, desc); 3730 3731 declare lev fixed bin, 3732 (name, desc) char (32) varying; 3733 3734 call append_level_number (lev); /* lev */ 3735 call append_sep_var_string (name); 3736 call append_sep_var_string (desc); 3737 call append_period; /* . */ 3738 end; 3739 3740 3741 3742 LINE: 3743 proc (line); 3744 3745 declare line char (32) varying; 3746 3747 call skip_to_b; /* B margin */ 3748 call append_var_string (line); /* line */ 3749 call emit_line; 3750 end; 3751 3752 emit_section: 3753 proc (name); 3754 3755 declare name char (32) varying; 3756 3757 call skip_to_a; /* A margin */ 3758 call append_var_string (name); /* name */ 3759 call append_sep_var_string ("section"); /* section */ 3760 call append_period; /* . */ 3761 end; 3762 3763 3764 3765 3766 SENT: 3767 proc (sent); 3768 3769 declare sent char (32) varying; 3770 3771 call skip_to_b; /* B margin */ 3772 call append_var_string (sent); /* sent */ 3773 call append_period; /* . */ 3774 end; 3775 3776 3777 test_control_tables: 3778 proc; /* do CH and CF tables contain entries */ 3779 3780 if report.ch ^= null () 3781 then call tct (report.ch); 3782 if report.cf ^= null () 3783 then call tct (report.cf); 3784 3785 end; 3786 3787 3788 tct: 3789 proc (p); 3790 3791 declare p ptr, 3792 i fixed bin; 3793 3794 do i = 1 by 1 to p -> ch_table.ch_size; 3795 3796 if p -> ch_table.ch_loc (i) ^= null () 3797 then return; 3798 3799 end; 3800 3801 p = null (); 3802 3803 end; 3804 3805 3806 sum_descr: 3807 proc; 3808 3809 call append_sep_var_string ("pic s9(9)v9(9)"); 3810 call append_sep_var_string ("sign leading separate"); 3811 3812 3813 end; 3814 3815 cb_save: 3816 proc; 3817 3818 call emit_perf_exit_state ("C-TO-S"); /* perform C-TO-S of report_name */ 3819 call emit_perf_exit_state ("P-TO-C"); /* perform P-TO-C of report_name */ 3820 3821 end; 3822 3823 cb_restore: 3824 proc; 3825 3826 call emit_perf_exit_state ("S-TO-C"); /* perform S-TO-C of report_name */ 3827 call emit_perf_exit_state ("C-TO-P"); /* perform C-TO-P of report_name */ 3828 3829 end; 3830 3831 3832 3833 emit_comp: 3834 proc (var, size); 3835 3836 declare var char (32) varying, 3837 size fixed bin; 3838 3839 call emit_compute_lhs (var, 1); /* compute var = */ 3840 call append_sep_integer (size); /* size */ 3841 3842 end; 3843 3844 3845 emit_comp_end: 3846 proc (var, size); 3847 3848 declare var char (32) varying, 3849 size fixed bin; 3850 3851 if size > report.page.count 3852 then size = size - report.page.count; 3853 3854 call emit_comp (var, size); /* compute var = size */ 3855 call append_sep_var_string ("end-compute"); /* end-compute */ 3856 3857 end; 3858 3859 3860 emit_comp_write: 3861 proc (count); 3862 3863 declare count fixed bin; 3864 3865 call emit_comp_end ("BL-C", count); /* compute BLANK-COUNT = count end-compute */ 3866 call emit_line; 3867 3868 call emit_write_state ("BLANK-LINES"); /* write from BLANK-LINES */ 3869 3870 end; 3871 3872 3873 emit_rel: 3874 proc (count); 3875 3876 declare count fixed bin; 3877 3878 if count > 0 3879 then call emit_comp_write (count); 3880 3881 3882 call emit_incr_state ("line-counter", count + 1); /* compute line-counter = line-counter + count + 1 */ 3883 3884 end; 3885 3886 3887 emit_abs: 3888 proc (count, line); 3889 3890 declare (count, line) fixed bin; 3891 3892 if count ^= 0 3893 then call emit_comp_write (count); 3894 3895 3896 3897 call emit_comp_end ("line-counter", line); /* compute line-counter = line end-compute */ 3898 3899 end; 3900 3901 3902 clear_line: 3903 proc; 3904 3905 substr (line.chars, 1, 11) = " "; 3906 line.bl_loc = 11; 3907 line.next_loc = 12; 3908 3909 end; 3910 3911 3912 gen_ph: 3913 proc (incr); 3914 3915 declare (incr, line, type) fixed bin; 3916 3917 rt_ptr = report.ph; /* PH group */ 3918 line = root.group_desc.line; 3919 type = root.group_desc.type; 3920 3921 if type = 1 3922 then call emit_ABS (line); /* absolute */ 3923 else call emit_bl_rel (line + incr); /* relative */ 3924 3925 call emit_perf_exit_sent ("P-H"); /* perform P-H of report_name */ 3926 3927 end; 3928 3929 3930 pb_test: 3931 proc (line); 3932 3933 declare line fixed bin; 3934 3935 if line < report.page.count 3936 then call emit_rel_int_test ("line-counter", "greater", line); 3937 /* if line-counter greater line */ 3938 else call emit_rel_int_test ("line-counter", "equal", 0); 3939 /* if line-counter = 0 */ 3940 3941 end; 3942 3943 3944 emit_ng_rel: 3945 proc (line); 3946 3947 declare line fixed bin; 3948 3949 if line <= 1 3950 then return; 3951 3952 call EMIT_REL (line - 1, line - 1); 3953 3954 end; 3955 3956 emit_b_abs: 3957 proc; 3958 3959 call emit_comment ("EMIT BLANK LINES", 32); 3960 call emit_pn ("B-ABS"); /* B-ABS. */ 3961 3962 call emit_rel_var_test ("line-counter", "not less", "LN-C"); 3963 /* IF line-counter >= LINE-COUNT */ 3964 3965 b_incr = b_incr + 3; 3966 3967 call emit_compute_lhs ("BL-C", 1); /* compute BLANK-COUNT = */ 3968 call append_integer (report.page.count); /* page */ 3969 call op_var ("-", "line-counter"); /* - line-counter */ 3970 call emit_line; 3971 call emit_perf_state ("W-BL"); /* perform W-BL */ 3972 call emit_perf_state ("P-INCR"); /* perform P-INCR */ 3973 call emit_compute_lhs ("BL-C", 1); /* compute BLANK-COUNT = */ 3974 call qual_by_rep ("LN-C"); /* LINE-COUNT */ 3975 call op_con ("-", "1"); /* - 1 */ 3976 call emit_line; 3977 3978 call emit_perf_state ("W-BL"); /* perform W-BL */ 3979 3980 b_incr = b_incr - 3; 3981 3982 call de_word ("else"); /* else */ 3983 3984 b_incr = b_incr + 3; 3985 3986 call emit_compute_lhs ("BL-C", 1); /* compute BLANK-COUNT = */ 3987 call qual_by_rep ("LN-C"); /* LINE-COUNT */ 3988 call op_con ("-", "1"); /* - 1 */ 3989 call op_var ("-", "line-counter"); /* - line-counter */ 3990 call emit_line; 3991 3992 call emit_perf_state ("W-BL"); /* perform W-BL */ 3993 3994 b_incr = b_incr - 3; 3995 3996 call de_word ("end-if"); /* end-if */ 3997 call append_period; /* . */ 3998 3999 call emit_compute_lhs ("line-counter", 0); /* compute line-counter = */ 4000 call qual_by_rep ("LN-C"); /* LINE-COUNT */ 4001 call append_period; /* . */ 4002 4003 end; 4004 4005 emit_rel_var_test: 4006 proc (var, rel, con); 4007 4008 declare (var, rel, con) char (32) varying; 4009 4010 call if_var_rel (var, rel); /* if var rel */ 4011 call qual_by_rep (con); /* con */ 4012 call emit_line; 4013 end; 4014 4015 op_con: 4016 proc (op, con); 4017 4018 declare (op, con) char (32) varying; 4019 4020 call append_sep_var_string (op); 4021 call append_sep_var_string (con); 4022 end; 4023 4024 op_var: 4025 proc (op, var); 4026 4027 declare (op, var) char (32) varying; 4028 4029 call append_sep_var_string (op); 4030 call qual_by_rep (var); 4031 end; 4032 4033 emit_w_bl: 4034 proc; 4035 4036 call emit_comment ("WRITE BLANK LINES", 32); 4037 call emit_pn ("W-BL"); /* W-BL. */ 4038 call emit_wr_bl; 4039 end; 4040 4041 emit_wr_bl: 4042 proc; 4043 4044 call emit_rel_con_test ("BL-C", "greater", "0"); /* if BLANK-COUNT > 0 */ 4045 call emit_write_state ("BLANK-LINES"); /* write from BLANK-LINES */ 4046 /*[5.0-1]*/ 4047 call de_word ("end-if."); /* end-if. */ 4048 4049 end; 4050 4051 emit_end_page_rec: 4052 proc; 4053 4054 call buffer_name_def ("END-PAGE"); /* 02 END-PAGE-i. */ 4055 call bld ("0", "n "); 4056 end; 4057 4058 bld: 4059 proc (val, type); 4060 4061 declare (val, type) char (32) varying; 4062 4063 call emit_lev_item (3, "S-Z comp-6", val); /* 03 SIZE comp-6 value val */ 4064 call emit_lev_item (3, "C-D pic xx", """" || code || """"); 4065 /* 03 CODE pic xx value "cc". */ 4066 call emit_lev_item (3, "T-Y pic xx", """" || type || """"); 4067 /* 03 TYPE pic xx value "type" */ 4068 end; 4069 4070 emit_move_int_state: 4071 proc (line, var); 4072 4073 declare line fixed bin, 4074 var char (32) varying; 4075 4076 call skip_to_b; /* B margin */ 4077 call append_var_string ("move"); /* move */ 4078 call append_sep_integer (line); /* line */ 4079 call append_sep_var_string ("to"); /* to */ 4080 call qual_by_rep (var); /* var */ 4081 end; 4082 4083 emit_ABS: 4084 proc (line); 4085 4086 declare line fixed bin; 4087 4088 call STATE ("compute S-PI = 1"); /* compute S-PI = 1 */ 4089 call emit_bl_abs (line); 4090 call STATE ("compute S-PI = 0"); /* compute S-PI = 0 */ 4091 end; 4092 4093 emit_if_test: 4094 proc (var, op, con); 4095 4096 declare (var, op, con) char (32) varying; 4097 4098 call skip_to_b; /* B margin */ 4099 call append_var_string ("if"); 4100 call append_sep_var_string (var); 4101 call append_sep_var_string (op); 4102 call append_sep_var_string (con); /* if var op con */ 4103 call emit_line; 4104 4105 call skip_to_b; /* B margin */ 4106 end; 4107 4108 STATE: 4109 proc (state); 4110 4111 declare state char (32) varying; 4112 4113 call skip_to_b; /* B margin */ 4114 call append_var_string (state); 4115 call emit_line; 4116 end; 4117 4118 emit_write_state: 4119 proc (rec_area); 4120 4121 /*[5.0-1]*/ 4122 dcl rec_area char (32) varying; 4123 4124 /*[5.0-1]*/ 4125 call emit_WR (rec_area); /*[5.0-1]*/ 4126 call emit_line; 4127 end; 4128 4129 emit_write_sent: 4130 proc (rec_area); 4131 4132 /*[5.0-1]*/ 4133 dcl rec_area char (32) varying; 4134 4135 /*[5.0-1]*/ 4136 call emit_WR (rec_area); /*[5.0-1]*/ 4137 call append_period; /*[5.0-1]*/ 4138 call emit_line; 4139 end; 4140 4141 unqual_name: 4142 proc (qn_ptr); 4143 4144 /* LINE-COUNTER and PAGE-COUNTER */ 4145 /* must be qualif by report-name */ 4146 4147 dcl qn_ptr ptr, 4148 char12 char (12); 4149 4150 /*[5.1-2]*/ 4151 call append_sep_token (qn_ptr); 4152 4153 /*[5.1-2]*/ 4154 if qn_ptr -> user_word.length = 12 /*[5.1-2]*/ 4155 then do; 4156 char12 = substr (qn_ptr -> user_word.word, 1, 12); 4157 4158 /*[5.1-2]*/ 4159 if char12 = "line-counter" | char12 = "page-counter" 4160 /*[5.1-2]*/ 4161 then do; 4162 4163 /*[5.1-2]*/ 4164 call append_sep_var_string ("of"); 4165 /*[5.1-2]*/ 4166 call append_sep_token (report.rep_name_ptr); 4167 4168 /*[5.1-2]*/ 4169 end; 4170 4171 /*[5.1-2]*/ 4172 end; 4173 4174 end; 4175 4176 4177 4178 /* control name table */ 4179 4180 declare 1 control_name_table 4181 based (control_name_table_loc), 4182 2 cnt_size fixed bin, 4183 2 cnt_loc (0 refer (control_name_table.cnt_size)) ptr; 4184 4185 declare control_name_table_loc 4186 ptr; 4187 4188 declare 1 reserved_word based, 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 4189 4190 4191 declare 1 numeric_lit based, 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 4192 4193 4194 declare 1 alphanum_lit based, 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 4195 4196 4197 declare 1 proc_def based (addr_record), 4 1 4 2 /* begin include file ... cobol_TYPE7.incl.pl1 */ 4 3 /* Last modified on 11/17/76 by ORN */ 4 4 /* Last modified on 12/28/76 by FCH */ 4 5 4 6 /* header */ 4 7 2 size fixed bin, 4 8 2 line fixed bin, 4 9 2 column fixed bin, 4 10 2 type fixed bin, 4 11 /* body */ 4 12 2 string_ptr ptr, 4 13 2 prev_rec ptr, 4 14 2 searched bit (1), 4 15 2 duplicate bit (1), 4 16 2 filler1 bit (1), 4 17 2 debug_ind bit (1), 4 18 2 section_name bit (1), 4 19 2 declarative_proc bit (1), 4 20 2 filler2 bit (1), 4 21 2 alterable bit (1), 4 22 2 priority char (2), 4 23 2 sort_range bit (1), 4 24 2 input_range bit (1), 4 25 2 output_range bit (1), 4 26 2 merge_range bit(1), 4 27 2 filler3 bit (5), 4 28 2 section_num fixed bin, 4 29 2 proc_num fixed bin, 4 30 2 def_line fixed bin, 4 31 2 name_size fixed bin, 4 32 2 name char(0 refer(proc_def.name_size)); 4 33 4 34 4 35 4 36 /* end include file ... cobol_TYPE7.incl.pl1 */ 4 37 4198 4199 4200 declare addr_record ptr; 4201 5 1 5 2 /* begin include file ...cobol_report_writer.incl.pl1 */ 5 3 /* Modified since Version 5.0 */ 5 4 5 5 declare 1 list_link based(list_link_ptr), 5 6 2 next ptr, 5 7 2 loc ptr; 5 8 5 9 5 10 declare list_link_ptr ptr; 5 11 5 12 5 13 5 14 declare 1 list_def based(list_def_ptr), 5 15 2 first ptr, /* first elem */ 5 16 2 last ptr, /* last_elem */ 5 17 2 count fixed bin; /* elem count */ 5 18 5 19 5 20 declare list_def_ptr ptr; 5 21 5 22 5 23 5 24 5 25 declare 1 integer_spec based(integer_spec_ptr), 5 26 2 first ptr, /* first token */ 5 27 2 last ptr, /* last token */ 5 28 2 count fixed bin, /* value */ 5 29 2 type fixed bin; /* 0(missing)1(integer)2(ae) */ 5 30 5 31 declare integer_spec_ptr ptr; 5 32 5 33 /* report description */ 5 34 5 35 declare 1 report based(current_report_loc), 5 36 2 rep_next ptr, 5 37 2 rep_up ptr, /* parent, null() */ 5 38 2 rep_tok_line fixed bin, 5 39 2 rep_tok_column fixed bin, 5 40 2 rep_type fixed bin, /* 0 */ 5 41 2 rep_level fixed bin, /* 0 */ 5 42 2 rep_name_ptr ptr, /* report name */ 5 43 2 code char(32) varying, /* CODE clause */ 5 44 2 page /* PAGE clause */ 5 45 like integer_spec, 5 46 2 heading /* HEADING clause */ 5 47 like integer_spec, 5 48 2 first_detail /* FIRST DETAIL clause */ 5 49 like integer_spec, 5 50 2 last_detail /* LAST DETAIL clause */ 5 51 like integer_spec, 5 52 2 footing /* FOOTING clause */ 5 53 like integer_spec, 5 54 2 file_name ptr, /* report file name */ 5 55 2 rep_sum_ptr ptr, 5 56 2 controls, 5 57 3 loc ptr, 5 58 3 final bit(1), 5 59 2 g_i_count fixed bin, 5 60 2 rh ptr, /* RH group */ 5 61 2 rf ptr, /* RF group */ 5 62 2 ph ptr, /* PH group */ 5 63 2 pf ptr, /* PF group */ 5 64 5 65 2 de ptr, /* DE table */ 5 66 2 ch ptr, /* CH table */ 5 67 2 cf ptr, /* CF table */ 5 68 2 rep_num fixed bin, 5 69 2 indicators, 5 70 3 ng_exists bit(1); /* "1"b if group has NEXT GROUP clause */ 5 71 5 72 5 73 declare current_report_loc ptr; 5 74 5 75 5 76 5 77 5 78 /* root node */ 5 79 5 80 declare 1 root based(rt_ptr), /* report group descr */ 5 81 2 rt_next ptr, 5 82 2 rt_up ptr, /* parent chain */ 5 83 2 rt_tok_line fixed bin, 5 84 2 rt_tok_column fixed bin, 5 85 2 rt_type fixed bin, /* 3 */ 5 86 2 rt_level fixed bin, 5 87 2 rt_name_ptr ptr, /* report group name */ 5 88 2 line, /* LINE clause */ 5 89 3 value fixed bin, 5 90 3 type fixed bin, 5 91 /* 0(missing)1(integer)2(PLUS integer)3(PAGE integer) */ 5 92 5 93 2 next_group, /* NEXT GROUP clause */ 5 94 3 value fixed bin, 5 95 3 type fixed bin, 5 96 /*0(missing)1(NEXT PAGE),2(integer),3(PLUS integer)*/ 5 97 2 use_proc, 5 98 3 use_proc_name_ptr ptr, /* loc of use proc name */ 5 99 3 suppress bit(1), /* SUPPRESS PRINTING */ 5 100 5 101 5 102 2 group_type fixed bin, 5 103 5 104 /* 1(RH), 2(PH), 3(CH), 4(DE), 5(CF), 6(PF), 7(RF) */ 5 105 5 106 2 field_table_ptr ptr, /* field table loc */ 5 107 2 line_table_ptr ptr, /* line table loc */ 5 108 2 group_desc, 5 109 3 type fixed bin, /*0(missing)1(abs)2(rel)3(page)*/ 5 110 3 line fixed bin, /* i1(page,abs),j1(rel)*/ 5 111 3 size fixed bin, /* first line to last line */ 5 112 2 group_number fixed bin, /* group number */ 5 113 2 usage_disp bit(1) unal, 5 114 2 nodes /* report group nodes */ 5 115 like list_def; 5 116 5 117 5 118 declare rt_ptr ptr; 5 119 5 120 5 121 5 122 5 123 /* non_terminal node */ 5 124 5 125 declare 1 non_term_node based(ntn_ptr), /* non-terminal node */ 5 126 2 ntn_next ptr, 5 127 2 ntn_up ptr, /* parent chain */ 5 128 2 ntn_tok_line fixed bin, 5 129 2 ntn_tok_column fixed bin, 5 130 2 ntn_type fixed bin, /* 1 */ 5 131 2 ntn_level fixed bin, /* ntn_level number */ 5 132 2 ntn_name_ptr ptr, /* node name */ 5 133 2 LINE 5 134 like non_term_node_line; 5 135 5 136 5 137 declare ntn_ptr ptr; 5 138 5 139 5 140 5 141 5 142 declare 1 non_term_node_line based, 5 143 2 line, /* LINE clause */ 5 144 3 value fixed bin, 5 145 3 type fixed bin, 5 146 5 147 /* 0(missing)1(integer)2(PLUS integer)3(PAGE integer) */ 5 148 5 149 2 usage_disp bit(1) unal; /* USAGE clause */ 5 150 5 151 5 152 /* terminal node */ 5 153 5 154 5 155 declare 1 term_node based(tn_ptr), /* terminal node */ 5 156 2 tn_next ptr, 5 157 2 tn_up ptr, /* parent ptr */ 5 158 2 tn_tok_line fixed bin, 5 159 2 tn_tok_column fixed bin, 5 160 2 tn_type fixed bin, /* 2 */ 5 161 2 tn_level fixed bin, /* level number */ 5 162 2 tn_name_ptr ptr, /* node tn_name */ 5 163 2 LINE 5 164 like term_node_line; 5 165 5 166 5 167 declare tn_ptr ptr; 5 168 5 169 declare 1 term_node_line based, 5 170 2 line, /* LINE clause */ 5 171 3 value fixed bin, 5 172 3 type fixed bin, 5 173 /* 0(missing)1(integer)2(PLUS integer)3(PAGE integer) */ 5 174 5 175 2 usage_disp bit(1) unal, /* USAGE clause */ 5 176 2 blank_zero bit(1) unal, /* BLANK clause */ 5 177 2 group_ind bit(1) unal, /* GROUP INDICATE clause */ 5 178 2 just_right bit(1) unal, /* JUSTIFIED clause */ 5 179 2 reset bit(1) unal, 5 180 2 non_num bit(1) unal, 5 181 2 sign fixed bin(4) unal unsigned, 5 182 /* 0(missing)1(leading)2(trailing)3(leading sep)4(trailing sep) */ /* SIGN clause */ 5 183 2 data_type fixed bin(2) unal unsigned, 5 184 /* 0(missing)1(SOURCE)2(VALUE)3(SUM) */ 5 185 2 g_i_count fixed bin, /* group indicate number */ 5 186 2 rep_sum_ptr ptr, /* sum counter chain for the report */ 5 187 2 column, /* COLUMN clause */ 5 188 3 value fixed bin, /* lexeme defining integer */ 5 189 3 type fixed bin, 5 190 5 191 /* 0(missing)1(integer)2(PLUS integer) */ 5 192 5 193 2 picture ptr, /* PICTURE clause */ 5 194 2 nd_loc ptr, /* source-sum-value clause */ 5 195 2 rep_group_ptr ptr; /* loc of group node */ 5 196 5 197 5 198 /* CH table */ 5 199 5 200 declare 1 ch_table based(ch_table_ptr), 5 201 2 ch_size fixed bin, 5 202 2 entry(0: ch_table_size refer(ch_table.ch_size)), 5 203 3 ch_loc ptr, /* node defining CH group */ 5 204 3 ch_sum_chain ptr, 5 205 3 ch_crossfoot 5 206 like list_def, 5 207 3 ch_rollfwd 5 208 like list_def, 5 209 3 ch_reset 5 210 like list_def, 5 211 5 212 3 ch_sum_name_seq_ptr ptr; 5 213 5 214 declare ch_table_ptr ptr; 5 215 declare ch_table_size fixed bin; 5 216 5 217 5 218 /* CF table */ 5 219 5 220 declare 1 cf_table based(cf_table_ptr), 5 221 2 cf_size fixed bin, 5 222 2 entry(0:cf_table_size refer(cf_table.cf_size)), 5 223 3 cf_loc ptr, /* node defining CF group */ 5 224 3 cf_sum_chain ptr, /* sum counter chain */ 5 225 3 cf_crossfoot 5 226 like list_def, 5 227 3 cf_rollfwd 5 228 like list_def, 5 229 3 cf_reset 5 230 like list_def, 5 231 3 cf_sum_name_seq_ptr ptr; /* seq of sum ctr names */ 5 232 5 233 declare cf_table_ptr ptr; 5 234 declare cf_table_size fixed bin; 5 235 5 236 5 237 /* de table */ 5 238 5 239 5 240 declare 1 de_table based(de_table_ptr), 5 241 2 det_name_seq_ptr ptr, /* seq of de group names */ 5 242 2 det_subtot_all 5 243 like list_def, 5 244 2 det_size fixed bin, 5 245 2 entry(de_table_size refer(de_table.det_size)), 5 246 3 det_loc ptr, 5 247 3 det_subtot 5 248 like list_def; 5 249 5 250 declare de_table_ptr ptr; 5 251 declare de_table_size fixed bin; 5 252 5 253 5 254 /* group table */ 5 255 5 256 5 257 5 258 /* line table */ 5 259 5 260 declare 1 LINE_table based(LINE_table_ptr), 5 261 2 LT_size fixed bin, 5 262 2 LT(line_table_size refer(LINE_table.LT_size)), 5 263 3 LT_first_field fixed bin, /* field table entry, first field */ 5 264 3 LT_field_count fixed bin, /* field count */ 5 265 3 LT_line_size fixed bin, /* size of the line */ 5 266 3 LT_line_num fixed bin; /* pos(abs), neg(rel) */ 5 267 5 268 5 269 declare LINE_table_ptr ptr; 5 270 declare line_table_size fixed bin; 5 271 5 272 /* field table */ 5 273 5 274 declare 1 FIELD_table based(FIELD_table_ptr), 5 275 2 FT_size fixed bin, 5 276 2 FT(field_table_size refer(FIELD_table.FT_size)), 5 277 3 FT_loc ptr, /* node defining field */ 5 278 3 FT_field_pos fixed bin, /* abs col num if printable */ 5 279 3 FT_field_size fixed bin, /* size(pic and sign) */ 5 280 3 FT_left_fill_size fixed bin; /* pos(rel), neg(abs) */ 5 281 5 282 5 283 declare FIELD_table_ptr ptr; 5 284 declare field_table_size fixed bin; 5 285 5 286 /* qual name */ 5 287 5 288 5 289 5 290 5 291 declare 1 qual_name based(qual_name_ptr), /* descr of qual name */ 5 292 2 qn_size fixed bin, /* count of comps */ 5 293 2 qn_loc(qual_name_size refer(qual_name.qn_size)) ptr; 5 294 5 295 declare qual_name_size fixed bin; 5 296 declare qual_name_ptr ptr; 5 297 5 298 5 299 5 300 5 301 /* qual name sequence */ 5 302 5 303 5 304 5 305 declare 1 qual_name_seq based(qual_name_seq_ptr), 5 306 2 qns_size fixed bin, 5 307 2 qns_loc(qual_name_seq_size refer(qual_name_seq.qns_size)) ptr; 5 308 5 309 declare qual_name_seq_size fixed bin; 5 310 declare qual_name_seq_ptr ptr; 5 311 5 312 /* sum counter chain entry */ 5 313 5 314 declare 1 sum based(sum_ptr), 5 315 2 sum_next ptr, 5 316 2 sum_loc ptr, 5 317 2 sum_qn_ptr ptr; 5 318 5 319 declare sum_SIZE fixed bin; 5 320 declare sum_ptr ptr; 5 321 5 322 5 323 /* def of identifier */ 5 324 5 325 declare 1 ident based(ident_ptr), 5 326 2 id_name_loc ptr, /* def of qual id_name */ 5 327 2 subscripts 5 328 like list_def; 5 329 5 330 declare ident_ptr ptr; 5 331 declare ident_SIZE fixed bin; 5 332 5 333 5 334 5 335 5 336 /* sum_counter def */ 5 337 5 338 declare 1 sum_counter based(sum_counter_ptr), 5 339 2 sct_reset_loc ptr, /* def of RESET clause */ 5 340 2 sct_size fixed bin, /* count of SUM clauses */ 5 341 2 sct_loc(sum_counter_size refer(sum_counter.sct_size)) ptr; 5 342 5 343 declare sum_counter_size fixed bin; 5 344 declare sum_counter_ptr ptr; 5 345 5 346 declare sum_counter_lifo_ptr ptr; 5 347 5 348 5 349 5 350 /* def of sum clause */ 5 351 5 352 5 353 declare 1 sum_clause based(sum_clause_ptr), 5 354 2 sc_upon_loc ptr, /* def of UPON clause */ 5 355 2 sc_size fixed bin, /* ident count */ 5 356 2 sc_loc(sum_clause_size refer(sum_clause.sc_size)) ptr; 5 357 5 358 declare sum_clause_size fixed bin; 5 359 declare sum_clause_ptr ptr; 5 360 declare sum_clause_lifo_ptr ptr; 5 361 5 362 /* upon clause */ 5 363 5 364 declare 1 upon_clause based(upon_clause_ptr), 5 365 2 upon_size fixed bin, 5 366 2 upon_loc(0 refer(upon_clause.upon_size)) ptr; 5 367 5 368 declare upon_clause_ptr ptr; 5 369 5 370 /* reset clause description */ 5 371 5 372 declare 1 reset_clause based(reset_clause_ptr), 5 373 2 rc_loc ptr, 5 374 2 rc_final bit(1); 5 375 5 376 declare reset_clause_ptr ptr; 5 377 declare reset_clause_SIZE fixed bin; 5 378 5 379 /* reset chain entry */ 5 380 5 381 declare 1 reset_chain_entry based(reset_chain_entry_ptr) 5 382 like list_link; 5 383 5 384 declare reset_chain_entry_ptr ptr; 5 385 declare reset_chain_entry_SIZE fixed bin; 5 386 5 387 /* chain entry */ 5 388 5 389 5 390 declare 1 chain_entry based(chain_entry_ptr), 5 391 2 ce_next ptr, 5 392 2 ce_loc ptr, /* addend loc */ 5 393 2 ce_sum_loc ptr; /* sum counter loc */ 5 394 5 395 declare chain_entry_ptr ptr; 5 396 declare chain_entry_SIZE fixed bin; 5 397 5 398 5 399 declare 1 picture based(addr_record), 5 400 2 size fixed bin, 5 401 2 line fixed bin, 5 402 2 column fixed bin, 5 403 2 type fixed bin, 5 404 2 length fixed bin, 5 405 2 string char(0 refer(picture.length)); 5 406 5 407 declare (sum_ctr_ctr , user_word_size) fixed bin; 5 408 declare user_word_ptr ptr; 5 409 5 410 declare 1 user_word based(addr_record), 5 411 2 size fixed bin, 5 412 2 line fixed bin, 5 413 2 column fixed bin, 5 414 2 type fixed bin, 5 415 2 info bit(8), 5 416 2 length fixed bin, 5 417 2 word char(0 refer(user_word.length)); 5 418 5 419 /* end include file ... cobol_report_writer.incl.pl1 */ 4202 6 1 6 2 /* BEGIN INCLUDE FILE ... cobol_ext_.incl.pl1 */ 6 3 /* Last modified on 06/17/76 by ORN */ 6 4 /* Last modified on 12/28/76 by FCH */ 6 5 /* Last modified on 12/01/80 by FCH */ 6 6 6 7 /* <<< SHARED EXTERNALS INCLUDE FILE >>> */ 6 8 6 9 6 10 dcl cobol_ext_$cobol_afp ptr ext; 6 11 dcl cobol_afp ptr defined ( cobol_ext_$cobol_afp); 6 12 dcl cobol_ext_$cobol_analin_fileno ptr ext; 6 13 dcl cobol_analin_fileno ptr defined ( cobol_ext_$cobol_analin_fileno); 6 14 dcl cobol_ext_$report_first_token ptr ext; 6 15 dcl report_first_token ptr defined( cobol_ext_$report_first_token); 6 16 dcl cobol_ext_$report_last_token ptr ext; 6 17 dcl report_last_token ptr defined ( cobol_ext_$report_last_token); 6 18 dcl cobol_ext_$cobol_eltp ptr ext; 6 19 dcl cobol_eltp ptr defined ( cobol_ext_$cobol_eltp); 6 20 dcl cobol_ext_$cobol_cmfp ptr ext; 6 21 dcl cobol_cmfp ptr defined ( cobol_ext_$cobol_cmfp); 6 22 dcl cobol_ext_$cobol_com_fileno ptr ext; 6 23 dcl cobol_com_fileno ptr defined ( cobol_ext_$cobol_com_fileno); 6 24 dcl cobol_ext_$cobol_com_ptr ptr ext; 6 25 dcl cobol_com_ptr ptr defined ( cobol_ext_$cobol_com_ptr); 6 26 dcl cobol_ext_$cobol_dfp ptr ext; 6 27 dcl cobol_dfp ptr defined ( cobol_ext_$cobol_dfp); 6 28 dcl cobol_ext_$cobol_hfp ptr ext; 6 29 dcl cobol_hfp ptr defined ( cobol_ext_$cobol_hfp); 6 30 dcl cobol_ext_$cobol_m1fp ptr ext; 6 31 dcl cobol_m1fp ptr defined ( cobol_ext_$cobol_m1fp); 6 32 dcl cobol_ext_$cobol_m2fp ptr ext; 6 33 dcl cobol_m2fp ptr defined ( cobol_ext_$cobol_m2fp); 6 34 dcl cobol_ext_$cobol_min1_fileno ptr ext; 6 35 dcl cobol_min1_fileno ptr defined ( cobol_ext_$cobol_min1_fileno); 6 36 dcl cobol_ext_$cobol_min2_fileno_ptr ptr ext; 6 37 dcl cobol_min2_fileno_ptr ptr defined ( cobol_ext_$cobol_min2_fileno_ptr); 6 38 dcl cobol_ext_$cobol_name_fileno ptr ext; 6 39 dcl cobol_name_fileno ptr defined ( cobol_ext_$cobol_name_fileno); 6 40 dcl cobol_ext_$cobol_name_fileno_ptr ptr ext; 6 41 dcl cobol_name_fileno_ptr ptr defined ( cobol_ext_$cobol_name_fileno_ptr); 6 42 dcl cobol_ext_$cobol_ntfp ptr ext; 6 43 dcl cobol_ntfp ptr defined ( cobol_ext_$cobol_ntfp); 6 44 dcl cobol_ext_$cobol_pdofp ptr ext; 6 45 dcl cobol_pdofp ptr defined ( cobol_ext_$cobol_pdofp); 6 46 dcl cobol_ext_$cobol_pfp ptr ext; 6 47 dcl cobol_pfp ptr defined ( cobol_ext_$cobol_pfp); 6 48 dcl cobol_ext_$cobol_rm2fp ptr ext; 6 49 dcl cobol_rm2fp ptr defined ( cobol_ext_$cobol_rm2fp); 6 50 dcl cobol_ext_$cobol_rmin2fp ptr ext; 6 51 dcl cobol_rmin2fp ptr defined ( cobol_ext_$cobol_rmin2fp); 6 52 dcl cobol_ext_$cobol_curr_in ptr ext; 6 53 dcl cobol_curr_in ptr defined ( cobol_ext_$cobol_curr_in); 6 54 dcl cobol_ext_$cobol_curr_out ptr ext; 6 55 dcl cobol_curr_out ptr defined ( cobol_ext_$cobol_curr_out); 6 56 dcl cobol_ext_$cobol_sfp ptr ext; 6 57 dcl cobol_sfp ptr defined ( cobol_ext_$cobol_sfp); 6 58 dcl cobol_ext_$cobol_w1p ptr ext; 6 59 dcl cobol_w1p ptr defined ( cobol_ext_$cobol_w1p); 6 60 dcl cobol_ext_$cobol_w2p ptr ext; 6 61 dcl cobol_w2p ptr defined ( cobol_ext_$cobol_w2p); 6 62 dcl cobol_ext_$cobol_w3p ptr ext; 6 63 dcl cobol_w3p ptr defined ( cobol_ext_$cobol_w3p); 6 64 dcl cobol_ext_$cobol_w5p ptr ext; 6 65 dcl cobol_w5p ptr defined ( cobol_ext_$cobol_w5p); 6 66 dcl cobol_ext_$cobol_w6p ptr ext; 6 67 dcl cobol_w6p ptr defined ( cobol_ext_$cobol_w6p); 6 68 dcl cobol_ext_$cobol_w7p ptr ext; 6 69 dcl cobol_w7p ptr defined ( cobol_ext_$cobol_w7p); 6 70 dcl cobol_ext_$cobol_x3fp ptr ext; 6 71 dcl cobol_x3fp ptr defined ( cobol_ext_$cobol_x3fp); 6 72 dcl cobol_ext_$cobol_rwdd ptr ext; 6 73 dcl cobol_rwdd ptr defined(cobol_ext_$cobol_rwdd); 6 74 dcl cobol_ext_$cobol_rwpd ptr ext; 6 75 dcl cobol_rwpd ptr defined(cobol_ext_$cobol_rwpd); 6 76 6 77 6 78 dcl cobol_ext_$cobol_fileno1 fixed bin(24)ext; 6 79 dcl cobol_fileno1 fixed bin(24)defined ( cobol_ext_$cobol_fileno1); 6 80 dcl cobol_ext_$cobol_options_len fixed bin(24)ext; 6 81 dcl cobol_options_len fixed bin(24)defined ( cobol_ext_$cobol_options_len); 6 82 dcl cobol_ext_$cobol_pdout_fileno fixed bin(24)ext; 6 83 dcl cobol_pdout_fileno fixed bin(24)defined ( cobol_ext_$cobol_pdout_fileno); 6 84 dcl cobol_ext_$cobol_print_fileno fixed bin(24)ext; 6 85 dcl cobol_print_fileno fixed bin(24)defined ( cobol_ext_$cobol_print_fileno); 6 86 dcl cobol_ext_$cobol_rmin2_fileno fixed bin(24)ext; 6 87 dcl cobol_rmin2_fileno fixed bin(24)defined ( cobol_ext_$cobol_rmin2_fileno); 6 88 dcl cobol_ext_$cobol_x1_fileno fixed bin(24)ext; 6 89 dcl cobol_x1_fileno fixed bin(24)defined ( cobol_ext_$cobol_x1_fileno); 6 90 dcl cobol_ext_$cobol_x2_fileno fixed bin(24)ext; 6 91 dcl cobol_x2_fileno fixed bin(24)defined ( cobol_ext_$cobol_x2_fileno); 6 92 dcl cobol_ext_$cobol_x3_fileno fixed bin(24)ext; 6 93 dcl cobol_x3_fileno fixed bin(24)defined ( cobol_ext_$cobol_x3_fileno); 6 94 6 95 dcl cobol_ext_$cobol_lpr char (5) ext; 6 96 dcl cobol_lpr char (5) defined ( cobol_ext_$cobol_lpr); /* -2- */ 6 97 dcl cobol_ext_$cobol_options char (120) ext; 6 98 dcl cobol_options char (120) defined ( cobol_ext_$cobol_options); /* -30- */ 6 99 6 100 dcl cobol_ext_$cobol_xlast8 bit (1) ext; 6 101 dcl cobol_xlast8 bit (1) defined ( cobol_ext_$cobol_xlast8); /* -1- */ 6 102 dcl cobol_ext_$report_exists bit (1) ext; 6 103 dcl report_exists bit (1) defined ( cobol_ext_$report_exists); 6 104 6 105 6 106 /* <<< END OF SHARED EXTERNALS INCLUDE FILE >>> */ 6 107 /* END INCLUDE FILE ... cobol_ext_.incl.pl1 */ 6 108 4203 7 1 7 2 /* BEGIN INCLUDE FILE ... cobol_fixed_common.incl.pl1 */ 7 3 /* Modified on 10/27/82 by FCH, [5.1-1], cobol_cln added to save last line num, BUG543(phx13643) */ 7 4 /* Modified on 07/31/80 by FCH, [4.3-1], use_reporting field added for Report Writer */ 7 5 /* Modified on 03/30/79 by FCH, [4.1-1], -card option added */ 7 6 /* Modified on 03/30/79 by FCH, [4.0-2], -svNM option added */ 7 7 /* Modified on 03/02/79 by FCH, [4.0-1], -levNM option added */ 7 8 /* Modified by RAL on 10/13/78, [4.0-0], Added option exp from fil2. */ 7 9 /* Modified by BC on 06/20/77, descriptor added. */ 7 10 /* Modified by BC on 06/02/77, init_cd_seg, init_cd_offset added. */ 7 11 /* Modified by BC on 1/21/77, options.profile added. */ 7 12 /* Modified by FCH on 7/6/76, sysin_fno & sysout_fno deleted, accept_device & display_device added */ 7 13 /* Modified by FCH on 5/20/77, comp_level added */ 7 14 7 15 7 16 /* THE SIZE OF THIS STRUCTURE IN BYTES, (EXCLUDING VARIABLE 7 17* LENGTH ENTITIES), FOR EACH HARDWARE IMPLEMENTATION IS: 7 18* 7 19* HARDWARE | SIZE (BYTES) 7 20* --------------------------------- 7 21* 645/6180 | 464 7 22* P7 | 396 7 23* --------------------------------- 7 24* */ 7 25 7 26 dcl 1 fixed_common based ( cobol_com_ptr), 7 27 2 prog_name char (30), 7 28 2 compiler_rev_no char (25), 7 29 2 phase_name char (6), 7 30 2 currency char (1), 7 31 2 fatal_no fixed bin, 7 32 2 warn_no fixed bin, 7 33 2 proc_counter fixed bin, 7 34 2 spec_tag_counter fixed bin, 7 35 2 file_count fixed bin, 7 36 2 filedescr_offsets (20) char (5), 7 37 2 perf_alter_info char (5), 7 38 2 another_perform_info char (5), 7 39 2 sort_in_info char (5), 7 40 2 odo_info char (5), 7 41 2 size_seg fixed bin, 7 42 2 size_offset fixed bin(24), 7 43 2 size_perform_info char (5), 7 44 2 rename_info char (5), 7 45 2 report_names char (5), 7 46 2 rw_buf_seg fixed bin, 7 47 2 rw_buf_offset fixed bin(24), 7 48 2 rw_buf_length fixed bin(24), 7 49 2 file_keys char (5), 7 50 2 search_keys char (5), 7 51 2 dd_seg_size fixed bin(24), 7 52 2 pd_seg_size fixed bin(24), 7 53 2 seg_limit fixed bin , 7 54 2 number_of_dd_segs fixed bin, 7 55 2 seg_info char (5), 7 56 2 number_of_ls_pointers fixed bin, 7 57 2 link_sec_seg fixed bin, 7 58 2 link_sec_offset fixed bin(24), 7 59 2 sra_clauses fixed bin, 7 60 2 fix_up_info char (5), 7 61 2 linage_info char (5), 7 62 2 first_dd_item char (5), 7 63 2 sort_out_info char (5), 7 64 2 db_info char (5), 7 65 2 realm_info char (5), 7 66 2 rc_realm_info char (5), 7 67 2 last_file_key char (5), 7 68 2 prog_coll_seq fixed bin, 7 69 2 init_cd_seg fixed bin, 7 70 2 init_cd_offset fixed bin(24), 7 71 2 input_error_exit fixed bin, 7 72 2 output_error_exit fixed bin, 7 73 2 i_o_error_exit fixed bin, 7 74 2 extend_error_exit fixed bin, 7 75 2 dummy15 fixed bin, 7 76 2 options, 7 77 3 cu bit (1), 7 78 3 st bit (1), 7 79 3 wn bit (1), 7 80 3 obs bit (1), 7 81 3 dm bit (1), 7 82 3 xrl bit (1), 7 83 3 xrn bit (1), 7 84 3 src bit (1), 7 85 3 obj bit (1), 7 86 3 exs bit (1), 7 87 3 sck bit (1), 7 88 3 rno bit (1), 7 89 3 u_l bit (1), 7 90 3 cnv bit (1), 7 91 3 cos bit (1), 7 92 3 fmt bit (1), 7 93 3 profile bit(1), 7 94 3 nw bit (1), 7 95 3 exp bit (1), /* [4.0-0] */ 7 96 3 card bit (1), /*[4.1-1]*/ 7 97 3 fil2 bit (5), 7 98 3 m_map bit (1), 7 99 3 m_bf bit (1), 7 100 3 m_fat bit (1), 7 101 3 m_wn bit (1), 7 102 3 m_obs bit(1), 7 103 3 pd bit(1), 7 104 3 oc bit(1), 7 105 2 supervisor bit (1), 7 106 2 dec_comma bit (1), 7 107 2 init_cd bit (1), 7 108 2 corr bit (1), 7 109 2 initl bit (1), 7 110 2 debug bit (1), 7 111 2 report bit (1), 7 112 2 sync_in_prog bit (1), 7 113 2 pd_section bit (1), 7 114 2 list_switch bit (1), 7 115 2 alpha_cond bit (1), 7 116 2 num_cond bit (1), 7 117 2 spec_sysin bit (1), 7 118 2 spec_sysout bit (1), 7 119 2 cpl_files bit (1), 7 120 2 obj_dec_comma bit (1), 7 121 2 default_sign_type bit (3), 7 122 2 use_debug bit(1), 7 123 2 syntax_trace bit(1), 7 124 2 comp_defaults, 7 125 3 comp bit(1), 7 126 3 comp_1 bit(1), 7 127 3 comp_2 bit(1), 7 128 3 comp_3 bit(1), 7 129 3 comp_4 bit(1), 7 130 3 comp_5 bit(1), 7 131 3 comp_6 bit(1), 7 132 3 comp_7 bit(1), 7 133 3 comp_8 bit(1), 7 134 2 disp_defaults, 7 135 3 disp bit(1), 7 136 3 disp_1 bit(1), 7 137 3 disp_2 bit(1), 7 138 3 disp_3 bit(1), 7 139 3 disp_4 bit(1), 7 140 3 disp_5 bit(1), 7 141 3 disp_6 bit(1), 7 142 3 disp_7 bit(1), 7 143 2 descriptor bit(2), 7 144 2 levsv bit(3), /*[4.0-1]*/ 7 145 2 use_reporting bit(1), /*[4.3-1]*/ 7 146 2 cd bit(1), /*[4.4-1]*/ 7 147 2 dummy17 bit(3), 7 148 2 lvl_rstr bit(32), 7 149 2 inst_rstr bit(32), 7 150 2 comp_level char(1), 7 151 2 dummy18 char(30), 7 152 2 object_sign char (1), 7 153 2 last_print_rec char (5), 7 154 2 coll_seq_info char (5), 7 155 2 sys_status_seg fixed bin, 7 156 2 sys_status_offset fixed bin(24), 7 157 2 compiler_id fixed bin, 7 158 2 date_comp_ln fixed bin, 7 159 2 compile_mode bit(36), 7 160 2 default_temp fixed bin, 7 161 2 accept_device fixed bin, 7 162 2 display_device fixed bin, 7 163 2 cobol_cln fixed bin, /*[5.1-1]*/ 7 164 2 alphabet_offset fixed bin; 7 165 7 166 7 167 7 168 /* END INCLUDE FILE ... cobol_fixed_common.incl.pl1 */ 7 169 4204 4205 4206 end; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/18/00 1136.3 cobol_generate_report.pl1 >udd>sm>ds>w>ml>cobol_generate_report.pl1 4189 1 11/11/82 1812.8 cobol_TYPE1.incl.pl1 >ldd>incl>cobol_TYPE1.incl.pl1 4192 2 11/11/82 1812.8 cobol_TYPE2.incl.pl1 >ldd>incl>cobol_TYPE2.incl.pl1 4195 3 11/11/82 1812.8 cobol_TYPE3.incl.pl1 >ldd>incl>cobol_TYPE3.incl.pl1 4198 4 11/11/82 1812.7 cobol_TYPE7.incl.pl1 >ldd>incl>cobol_TYPE7.incl.pl1 4202 5 03/27/82 0531.5 cobol_report_writer.incl.pl1 >ldd>incl>cobol_report_writer.incl.pl1 4203 6 03/27/82 0531.3 cobol_ext_.incl.pl1 >ldd>incl>cobol_ext_.incl.pl1 4204 7 11/11/82 1812.8 cobol_fixed_common.incl.pl1 >ldd>incl>cobol_fixed_common.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. ALF 000251 automatic structure level 1 unaligned dcl 3565 set ref 61 CODE 000116 automatic fixed bin(35,0) dcl 108 set ref 87* 90 94* 97 FIELD_table based structure level 1 unaligned dcl 5-274 FIELD_table_ptr 000346 automatic pointer dcl 5-283 set ref 1097* 1121 1122 1123 1141 2364* 2407 FT 2 based structure array level 2 unaligned dcl 5-274 FT_field_size 5 based fixed bin(17,0) array level 3 dcl 5-274 ref 1122 FT_left_fill_size 6 based fixed bin(17,0) array level 3 dcl 5-274 ref 1123 FT_loc 2 based pointer array level 3 dcl 5-274 ref 1121 1141 2407 LINE 12 based structure level 2 unaligned dcl 5-155 LINE_table based structure level 1 unaligned dcl 5-260 LINE_table_ptr 000344 automatic pointer dcl 5-269 set ref 1096* 1099 1112 1113 1161 2362* 2368 2370 2371 2399 2400 LT 1 based structure array level 2 unaligned dcl 5-260 LT_field_count 2 based fixed bin(17,0) array level 3 dcl 5-260 ref 1113 2400 LT_first_field 1 based fixed bin(17,0) array level 3 dcl 5-260 ref 1112 2399 LT_line_num 4 based fixed bin(17,0) array level 3 dcl 5-260 ref 2370 LT_line_size 3 based fixed bin(17,0) array level 3 dcl 5-260 ref 1161 2371 LT_size based fixed bin(17,0) level 2 dcl 5-260 ref 1099 2368 abs 001030 automatic fixed bin(17,0) dcl 1346 set ref 1416* 1432 addr builtin function dcl 55 ref 61 513 513 527 527 544 544 553 553 565 565 567 567 571 571 574 574 581 581 587 587 592 592 2486 2486 3400 3404 3412 3416 3420 addr_record 000322 automatic pointer dcl 4200 set ref 3355* 3360* addrel builtin function dcl 55 ref 3351 3351 alf_lit_ptr 000314 automatic pointer dcl 3573 set ref 61* 3583 alphanum_lit based structure level 1 unaligned dcl 4194 b_incr 000240 automatic fixed bin(17,0) dcl 3217 set ref 66* 679* 685* 689* 695* 703* 707* 1917* 1942* 1948* 1953* 1960* 1967* 1981* 1985* 2049* 2094* 2107* 2122* 2127* 2141* 2149* 2153* 2158* 2167* 2174* 2182* 2186* 2190* 2194* 2210* 2218* 2224* 2231* 2235* 2239* 2243* 2248* 2252* 2258* 2281* 2281 2294* 2294 2297* 2297 2300* 2300 2304* 2304 2307* 2307 2315* 2315 2318* 2318 2321* 2321 2324* 2324 2327* 2327 2335* 2416* 2452* 2466* 2722 3044* 3231 3965* 3965 3980* 3980 3984* 3984 3994* 3994 bin_int parameter fixed bin(17,0) dcl 3206 in procedure "append_sep_integer" set ref 3199 3210* bin_int parameter fixed bin(17,0) dcl 3148 in procedure "append_integer" set ref 3141 3153 3160* bl_loc 1 000134 automatic fixed bin(17,0) level 2 dcl 3095 set ref 3235* 3239* 3245* 3257* 3297* 3335* 3458* 3507* 3511 3515 3517* 3559* 3906* blank_zero 14(01) based bit(1) level 3 packed packed unaligned dcl 5-155 ref 1147 buffer_size 000130 automatic fixed bin(17,0) dcl 940 set ref 67* 965* 1163 1163 ce_loc 2 based pointer level 2 dcl 5-390 set ref 3051* ce_next based pointer level 2 dcl 5-390 ref 3058 ce_sum_loc 4 based pointer level 2 dcl 5-390 set ref 3053* cf 106 based pointer level 2 dcl 5-35 set ref 132 221 223 848 1015 1017 1337 1358 1365 1972 3630 3782 3782* cf_crossfoot 6 based structure array level 3 unaligned dcl 5-220 cf_loc 2 based pointer array level 3 dcl 5-220 ref 234 910 1020 1365 2045 2942 cf_reset 22 based structure array level 3 unaligned dcl 5-220 cf_rollfwd 14 based structure array level 3 unaligned dcl 5-220 cf_size based fixed bin(17,0) level 2 dcl 5-220 set ref 240 368 368* 371 374 905 1017 1536 2935 2938 3638 cf_sum_chain 4 based pointer array level 3 dcl 5-220 ref 907 1538 cf_table based structure level 1 unaligned dcl 5-220 cf_table_ptr 000340 automatic pointer dcl 5-233 set ref 223* 234 240 368 368 371 374 905 907 910 1015* 1017 1020 1536 1538 2045 2053 2053 2057 2057 2066 2935 2938 2942 2950 3016 3630* 3638 ch parameter varying char(32) dcl 3067 in procedure "emit_rep_pn" set ref 3064 3072* ch 104 based pointer level 2 in structure "report" dcl 5-35 in procedure "cobol_generate_report" set ref 167 169 1004 1006 1978 2581 2584 3629 3780 3780* ch parameter varying char(32) dcl 2664 in procedure "emit_rep_sec_name" set ref 2661 2666* ch_loc 2 based pointer array level 3 dcl 5-200 set ref 180 1009* 1913 2588 2911 3796 ch_size based fixed bin(17,0) level 2 dcl 5-200 set ref 186 1006 2901 2901* 2904 2907 3794 ch_table based structure level 1 unaligned dcl 5-200 ch_table_ptr 000336 automatic pointer dcl 5-214 set ref 169* 180 186 1004* 1006 1009 1913 2584* 2588 2901 2901 2904 2907 2911 3629* 3638 chain_entry based structure level 1 unaligned dcl 5-390 chain_entry_ptr 000362 automatic pointer dcl 5-395 set ref 3045* 3047 3051 3053 3058* 3058 char12 002606 automatic char(12) packed unaligned dcl 4147 set ref 4156* 4159 4159 chars based char(1024) packed unaligned dcl 3529 in procedure "cobol_generate_report" set ref 3543* 3548* chars 2 000134 automatic char(256) level 2 in structure "line" packed packed unaligned dcl 3095 in procedure "cobol_generate_report" set ref 2980* 3114* 3136* 3164* 3235 3238* 3244* 3256* 3269* 3279 3296* 3327* 3455* 3509* 3515* 3515 3539* 3543 3548 3560* 3905* cnt_loc 2 based pointer array level 2 dcl 4180 ref 892 cobol_ext_$cobol_m1fp 000020 external static pointer dcl 6-30 ref 62 62 cobol_ext_$cobol_rwdd 000022 external static pointer dcl 6-72 ref 87 87 3543 3543 cobol_ext_$cobol_rwpd 000024 external static pointer dcl 6-74 ref 94 94 3548 3548 cobol_io_$cobol_msf_start 000010 constant entry external dcl 47 ref 3351 cobol_m1fp defined pointer dcl 6-31 ref 62 cobol_rwdd defined pointer dcl 6-73 set ref 87* 3543 cobol_rwpd defined pointer dcl 6-75 set ref 94* 3548 cobol_swf_get 000012 constant entry external dcl 49 ref 3355 code 000117 automatic varying char(32) dcl 110 in procedure "cobol_generate_report" set ref 960 3633* 3635 3635* 4064 code 12 based varying char(32) level 2 in structure "report" dcl 5-35 in procedure "cobol_generate_report" ref 3633 comm parameter varying char(32) dcl 3038 set ref 3035 3042* con parameter varying char(32) dcl 4096 in procedure "emit_if_test" set ref 4093 4102* con parameter varying char(32) dcl 2818 in procedure "emit_move_con_state" set ref 2815 2820* con parameter varying char(32) dcl 4018 in procedure "op_con" set ref 4015 4021* con parameter varying char(32) dcl 2806 in procedure "emit_move_con" set ref 2803 2810* con parameter varying char(32) dcl 2796 in procedure "emit_move_cvi_state" set ref 2793 2799* con parameter varying char(32) dcl 2730 in procedure "emit_rel_con_test" set ref 2727 2733* con parameter varying char(32) dcl 2774 in procedure "emit_irel_con_test" set ref 2771 2778* con parameter varying char(32) dcl 2785 in procedure "emit_move_cvi" set ref 2782 2789* con parameter varying char(32) dcl 4008 in procedure "emit_rel_var_test" set ref 4005 4011* control_count 000101 automatic fixed bin(17,0) dcl 40 set ref 146 853 874 3638* 3640* control_name_table based structure level 1 unaligned dcl 4180 control_name_table_loc 000320 automatic pointer dcl 4185 set ref 892 3642* control_num parameter fixed bin(17,0) dcl 890 ref 887 892 controls 66 based structure level 2 unaligned dcl 5-35 count 20 based fixed bin(17,0) array level 4 in structure "cf_table" dcl 5-220 in procedure "cobol_generate_report" ref 2057 count 44 based fixed bin(17,0) level 3 in structure "report" dcl 5-35 in procedure "cobol_generate_report" set ref 2198 2198* count 12 based fixed bin(17,0) array level 4 in structure "cf_table" dcl 5-220 in procedure "cobol_generate_report" ref 2053 count 6 based fixed bin(17,0) level 3 in structure "ident" dcl 5-325 in procedure "cobol_generate_report" set ref 2486 count 4 based fixed bin(17,0) level 2 in structure "integer_spec" dcl 5-25 in procedure "cobol_generate_report" set ref 618* count 60 based fixed bin(17,0) level 3 in structure "report" dcl 5-35 in procedure "cobol_generate_report" set ref 2092 count parameter fixed bin(17,0) dcl 3876 in procedure "emit_rel" set ref 3873 3878 3878* 3882 count 52 based fixed bin(17,0) level 3 in structure "report" dcl 5-35 in procedure "cobol_generate_report" set ref 2090 count 6 based fixed bin(17,0) level 3 in structure "de_table" dcl 5-240 in procedure "cobol_generate_report" ref 205 1995 count parameter fixed bin(17,0) dcl 3863 in procedure "emit_comp_write" set ref 3860 3865* count 30 based fixed bin(17,0) level 3 in structure "report" dcl 5-35 in procedure "cobol_generate_report" set ref 76 1371 1572 1627 1634 2547* 3696 3851 3851 3935 3968* count 36 based fixed bin(17,0) level 3 in structure "report" dcl 5-35 in procedure "cobol_generate_report" set ref 1584 2530 2570 count 26 based fixed bin(17,0) array level 4 in structure "cf_table" dcl 5-220 in procedure "cobol_generate_report" ref 2066 2950 count 16 based fixed bin(17,0) array level 4 in structure "de_table" dcl 5-240 in procedure "cobol_generate_report" ref 2004 count 4 based fixed bin(17,0) level 2 in structure "list_def" dcl 5-14 in procedure "cobol_generate_report" ref 3353 count parameter fixed bin(17,0) dcl 3890 in procedure "emit_abs" set ref 3887 3892 3892* ct 002165 automatic fixed bin(17,0) dcl 3467 set ref 3470* 3473 3476 current_report_loc 000330 automatic pointer dcl 5-73 set ref 60* 72 76 79* 79 132 167 169 195 197 221 223 249 251 264 266 279 281 294 296 468 502 513 513 519 527 527 533 536 544 544 553 553 559 562 565 565 567 567 571 571 574 574 581 581 585 587 587 592 592 653 721 745 787 799 815 848 970 973 975 978 980 983 985 988 993 995 1004 1006 1015 1017 1104 1311 1324 1326 1337 1352 1358 1365 1368 1371 1373 1375 1385 1388 1419 1421 1456 1458 1489 1491 1564 1566 1572 1575 1577 1584 1627 1634 1719 1721 1956 1972 1978 2090 2092 2101 2111 2164 2198 2198 2222 2524 2526 2530 2547 2564 2570 2570 2573 2581 2584 2667 2932 3592 3594 3629 3630 3631 3633 3642 3647 3647 3647 3681 3696 3780 3780 3782 3782 3851 3851 3917 3935 3968 4166 data_type 001361 automatic fixed bin(17,0) dcl 2354 in procedure "emit_lines" set ref 2408* 2426 data_type 14(10) based fixed bin(2,0) level 3 in structure "term_node" packed packed unsigned unaligned dcl 5-155 in procedure "cobol_generate_report" ref 923 1126 2408 ddloc 000247 automatic fixed bin(17,0) dcl 3526 set ref 63* 87 3543 3545* 3545 de 102 based pointer level 2 dcl 5-35 ref 195 197 993 995 3631 de_table based structure level 1 unaligned dcl 5-240 de_table_ptr 000342 automatic pointer dcl 5-250 set ref 197* 205 209 209 993* 995 998 1931 1935 1995 2004 2004 2010 3006 3631* dec_int 002002 automatic char(4) packed unaligned dcl 3149 set ref 3155* 3160* 3164 dec_size 002003 automatic fixed bin(17,0) dcl 3149 set ref 3156* 3160* 3164 3165 def parameter varying char(32) dcl 1049 set ref 1046 1053* desc parameter varying char(32) dcl 3731 set ref 3728 3736* det_loc 10 based pointer array level 3 dcl 5-240 set ref 998* 1935 det_size 7 based fixed bin(17,0) level 2 dcl 5-240 ref 209 209 995 1931 2010 det_subtot 12 based structure array level 3 unaligned dcl 5-240 det_subtot_all 2 based structure level 2 unaligned dcl 5-240 efg 000316 automatic bit(1) packed unaligned dcl 3623 set ref 138 1944 1950 1991 3647* 3649* entry 2 based structure array level 2 in structure "cf_table" unaligned dcl 5-220 in procedure "cobol_generate_report" entry 2 based structure array level 2 in structure "ch_table" unaligned dcl 5-200 in procedure "cobol_generate_report" entry 10 based structure array level 2 in structure "de_table" unaligned dcl 5-240 in procedure "cobol_generate_report" f_l parameter fixed bin(17,0) dcl 37 ref 34 64 field_num parameter fixed bin(17,0) dcl 1304 in procedure "qual_field_name" set ref 1302 1307* field_num parameter fixed bin(17,0) dcl 1293 in procedure "field_name" set ref 1291 1298* field_number 000104 automatic fixed bin(17,0) dcl 40 set ref 1115* 1139* 1156* 1156 2396* 2446* 2457* 2457 field_size 000675 automatic fixed bin(17,0) dcl 1079 set ref 1122* field_table_ptr 22 based pointer level 2 dcl 5-80 ref 1097 2364 file_name 62 based pointer level 2 dcl 5-35 set ref 1719* fill_size 000670 automatic fixed bin(17,0) dcl 1077 set ref 1161* 1163 1163 first 000672 automatic fixed bin(17,0) dcl 1079 in procedure "line_redef" set ref 1112* 1114 1117 first 001355 automatic fixed bin(17,0) dcl 2354 in procedure "emit_lines" set ref 2399* 2401 2403 first based pointer level 2 in structure "list_def" dcl 5-14 in procedure "cobol_generate_report" ref 3351 3351 first 12 based pointer array level 4 in structure "de_table" dcl 5-240 in procedure "cobol_generate_report" set ref 2004* first 14 based pointer array level 4 in structure "cf_table" dcl 5-220 in procedure "cobol_generate_report" set ref 2057* first 2 based pointer level 3 in structure "de_table" dcl 5-240 in procedure "cobol_generate_report" set ref 3006* first 22 based pointer array level 4 in structure "cf_table" dcl 5-220 in procedure "cobol_generate_report" ref 3016 first 6 based pointer array level 4 in structure "cf_table" dcl 5-220 in procedure "cobol_generate_report" set ref 2053* first_detail 40 based structure level 2 unaligned dcl 5-35 set ref 553 553 first_line 000236 automatic fixed bin(17,0) dcl 3100 set ref 64* footing 54 based structure level 2 unaligned dcl 5-35 set ref 567 567 571 571 574 574 592 592 from parameter varying char(32) dcl 1852 in procedure "emit_move_cv_sent" set ref 1849 1854* from parameter varying char(32) dcl 1840 in procedure "emit_move_cv" set ref 1837 1844* ft 000133 automatic fixed bin(17,0) dcl 2072 set ref 2092* 2288 2302* 2311 2323* g_i_count 000100 automatic fixed bin(17,0) dcl 40 in procedure "cobol_generate_report" set ref 697 815* 817 826* 835 1334 1608 g_i_count 71 based fixed bin(17,0) level 2 in structure "report" dcl 5-35 in procedure "cobol_generate_report" ref 815 2932 g_i_count 15 based fixed bin(17,0) level 3 in structure "term_node" dcl 5-155 in procedure "cobol_generate_report" set ref 2413* 2418* gch 000105 automatic varying char(32) dcl 42 set ref 178* 203* 232* 258* 273* 288* 303* 972* 977* 982* 987* 991* 1002* 1013* 1093 1266* 1936* gn 000634 automatic fixed bin(17,0) dcl 949 in procedure "def_line_buffer" set ref 995* 998 998* 1006* 1009 1009* 1017* 1020 1021* gn parameter fixed bin(17,0) dcl 1077 in procedure "line_redef" set ref 1075 1102* group_desc 26 based structure level 2 unaligned dcl 5-80 group_ind 14(02) based bit(1) level 3 packed packed unaligned dcl 5-155 ref 2411 2448 group_num parameter fixed bin(17,0) dcl 1264 in procedure "line_redef_name" set ref 1261 1268 1271* group_num parameter fixed bin(17,0) dcl 1304 in procedure "qual_field_name" set ref 1302 1309* group_number 31 based fixed bin(17,0) level 2 in structure "root" dcl 5-80 in procedure "cobol_generate_report" ref 2360 group_number 000102 automatic fixed bin(17,0) dcl 40 in procedure "cobol_generate_report" set ref 2360* group_type 21 based fixed bin(17,0) level 2 dcl 5-80 ref 2278 2331 hcs_$set_bc_seg 000016 constant entry external dcl 106 ref 87 94 heading 32 based structure level 2 in structure "report" unaligned dcl 5-35 in procedure "cobol_generate_report" set ref 527 527 544 544 heading 001416 automatic fixed bin(17,0) dcl 2518 in procedure "gen_first_gen" set ref 2530* 2534 i parameter fixed bin(17,0) dcl 2740 in procedure "emit_rel_int_test" set ref 2737 2744* i 001670 automatic fixed bin(17,0) dcl 2897 in procedure "gen_c_h" set ref 2904* 2907* 2911 2914* i 000372 automatic fixed bin(17,0) dcl 115 in procedure "gen_report" set ref 186* 190* 209* 214* 240* 244* i parameter fixed bin(17,0) dcl 2887 in procedure "emit_ind_perf_sent" set ref 2884 2890* i parameter fixed bin(17,0) dcl 2348 in procedure "emit_lines" set ref 2345 2446* i parameter fixed bin(17,0) dcl 2785 in procedure "emit_move_cvi" set ref 2782 2790* i parameter fixed bin(17,0) dcl 1821 in procedure "emit_reset_int" set ref 1818 1825* i 000574 automatic fixed bin(17,0) dcl 795 in procedure "rep_descr" set ref 835* 839* i parameter fixed bin(17,0) dcl 1739 in procedure "emit_incr_state" set ref 1736 1742* i parameter fixed bin(17,0) dcl 2043 in procedure "cf_group" set ref 2040 2045 2051* 2053 2053 2057 2057 2062* 2066 2066* i parameter fixed bin(17,0) dcl 462 in procedure "control_item" set ref 459 465* i 000422 automatic fixed bin(17,0) dcl 352 in procedure "control_function" set ref 371* 374* 382* 388* 399* 405* i 002164 automatic fixed bin(17,0) dcl 3467 in procedure "append_qual_name" set ref 3476* 3478 3480* i 001044 automatic fixed bin(17,0) dcl 1531 in procedure "gen_reset_sums" set ref 1536* 1538* i 000604 automatic fixed bin(17,0) dcl 868 in procedure "control_struct" set ref 874* 878* 880* i parameter fixed bin(17,0) dcl 1282 in procedure "emit_pfex" set ref 1279 1285* i 000412 automatic fixed bin(17,0) dcl 326 in procedure "go_to_dep" set ref 332* 334* i parameter fixed bin(17,0) dcl 2796 in procedure "emit_move_cvi_state" set ref 2793 2799* i 002340 automatic fixed bin(17,0) dcl 3791 in procedure "tct" set ref 3794* 3796* i parameter fixed bin(17,0) dcl 2631 in procedure "emit_ind_go_to_sent" set ref 2628 2634* i parameter fixed bin(17,0) dcl 1729 in procedure "emit_incr_sent" set ref 1726 1732* i 002117 automatic fixed bin(17,0) dcl 3345 in procedure "append_list" set ref 3353* i parameter fixed bin(17,0) dcl 740 in procedure "qual_int_by_rep" set ref 737 743* i 001700 automatic fixed bin(17,0) dcl 2928 in procedure "gen_c_f" set ref 2938* 2942 2944* 2950 2950* 2954 2962* i parameter fixed bin(17,0) dcl 752 in procedure "emit_ind_pn" set ref 749 758 758* i parameter fixed bin(17,0) dcl 3013 in procedure "emit_reset_para" set ref 3010 3016 3018* i parameter fixed bin(17,0) dcl 2621 in procedure "emit_ind_go_to_state" set ref 2618 2624* i parameter fixed bin(17,0) dcl 2762 in procedure "if_int_var_rel" set ref 2759 2767* i parameter fixed bin(17,0) dcl 2989 in procedure "emit_ind_perf_exit_state" set ref 2986 2992* i parameter fixed bin(17,0) dcl 2774 in procedure "emit_irel_con_test" set ref 2771 2777* i parameter fixed bin(17,0) dcl 2684 in procedure "qual_int_by_rep_proc" set ref 2681 2687 2687* i 000622 automatic fixed bin(17,0) dcl 901 in procedure "def_sum_counters" set ref 905* 907 910* i parameter fixed bin(17,0) dcl 780 in procedure "emit_gp_pn" ref 777 785 i parameter fixed bin(17,0) dcl 2652 in procedure "emit_ind_perf" set ref 2649 2657* i 000520 automatic fixed bin(17,0) dcl 651 in procedure "gen_scb" set ref 661* 663 667 671* 682* i parameter fixed bin(17,0) dcl 2077 in procedure "body_group" set ref 2074 2101* 2119* 2134* 2137* 2146* 2160* 2161* 2202* 2205* 2215* 2263* 2280* i parameter fixed bin(17,0) dcl 1811 in procedure "emit_reset_int_state" set ref 1808 1814* i parameter fixed bin(17,0) dcl 1911 in procedure "ch_group" set ref 1908 1913 1919* 1921* i parameter fixed bin(17,0) dcl 1751 in procedure "emit_incr" set ref 1748 1758 1761* 1765 i parameter fixed bin(17,0) dcl 728 in procedure "qual_by_int" set ref 725 733* i parameter fixed bin(17,0) dcl 2641 in procedure "emit_ind_go_to" set ref 2638 2646* i parameter fixed bin(17,0) dcl 1928 in procedure "de_group" set ref 1925 1931 1935 1938* 1939* 1940* 1999 2004 2004 2013* id_name_loc based pointer level 2 dcl 5-325 set ref 2482* ident based structure level 1 unaligned dcl 5-325 ident_ptr 000356 automatic pointer dcl 5-330 set ref 2480* 2482 2484* 2486 2486 2486 incr parameter varying char(32) dcl 1772 in procedure "emit_incr_var" set ref 1769 1778* incr parameter varying char(32) dcl 1784 in procedure "emit_incr_var_state" set ref 1781 1786* incr parameter fixed bin(17,0) dcl 3915 in procedure "gen_ph" ref 3912 3923 indicators 111 based structure level 2 packed packed unaligned dcl 5-35 int_loc parameter pointer dcl 607 ref 604 612 integer_spec based structure level 1 unaligned dcl 5-25 integer_spec_ptr 000326 automatic pointer dcl 5-31 set ref 612* 618 ioa_$rsnnl 000014 constant entry external dcl 51 ref 3160 j parameter fixed bin(17,0) dcl 323 in procedure "go_to_dep" ref 320 332 j 001701 automatic fixed bin(17,0) dcl 2928 in procedure "gen_c_f" set ref 2935* 2938 just_right 14(03) based bit(1) level 3 packed packed unaligned dcl 5-155 ref 1149 last 000673 automatic fixed bin(17,0) dcl 1079 in procedure "line_redef" set ref 1114* 1117 last 001356 automatic fixed bin(17,0) dcl 2354 in procedure "emit_lines" set ref 2401* 2403 last_detail 46 based structure level 2 unaligned dcl 5-35 set ref 581 581 587 587 ld 000132 automatic fixed bin(17,0) dcl 2072 set ref 2090* 2139 2179 left_fill_size 000676 automatic fixed bin(17,0) dcl 1079 set ref 1123* 1133 1133* length 4 based fixed bin(17,0) level 2 in structure "picture" dcl 5-399 in procedure "cobol_generate_report" set ref 3412 length 7 based fixed bin(17,0) level 2 in structure "reserved_word" dcl 4188 in procedure "cobol_generate_report" set ref 3400 length 5 based fixed bin(17,0) level 2 in structure "user_word" dcl 5-410 in procedure "cobol_generate_report" set ref 3420 4154 4156 length builtin function dcl 55 in procedure "cobol_generate_report" ref 3112 lev parameter fixed bin(17,0) dcl 3731 in procedure "descr_pic_line" set ref 3728 3734* lev parameter fixed bin(17,0) dcl 1049 in procedure "emit_lev_item" set ref 1046 1052* lev parameter fixed bin(17,0) dcl 1035 in procedure "emit_lev_tok_item" set ref 1032 1039* lev parameter fixed bin(17,0) dcl 768 in procedure "emit_group_name" set ref 765 771* lev parameter fixed bin(17,0) dcl 1208 in procedure "fill" set ref 1205 1211* lev 000677 automatic fixed bin(17,0) dcl 1079 in procedure "line_redef" set ref 1126* 1130* 1133* 1138* lev_num parameter fixed bin(17,0) dcl 626 in procedure "descr_line" set ref 623 629* lev_num parameter fixed bin(17,0) dcl 637 in procedure "descr_line_int" set ref 634 641* lev_num parameter fixed bin(17,0) dcl 3444 in procedure "append_level_number" set ref 3440 3449 3452* 3454 3454 lev_num parameter fixed bin(17,0) dcl 475 in procedure "dl" set ref 472 478* line parameter fixed bin(17,0) dcl 3890 in procedure "emit_abs" set ref 3887 3897* line parameter fixed bin(17,0) dcl 1623 in procedure "emit_bl_abs" set ref 1620 1627 1629* 1634 line 001032 automatic fixed bin(17,0) dcl 1346 in procedure "gen_term" set ref 1390* 1395 1399* 1401 1404 1423* 1428 1432 1436 1460* 1465 1469 1473 1493* 1498 1502* 1506 line 000134 automatic structure level 1 unaligned dcl 3095 in procedure "cobol_generate_report" line parameter fixed bin(17,0) dcl 1645 in procedure "emit_ng_abs" set ref 1642 1647* 1647* line parameter fixed bin(17,0) dcl 3947 in procedure "emit_ng_rel" ref 3944 3949 3952 3952 line 001414 automatic fixed bin(17,0) dcl 2518 in procedure "gen_first_gen" set ref 2528* 2532* 2534 line parameter fixed bin(17,0) dcl 3933 in procedure "pb_test" set ref 3930 3935 3935* line parameter fixed bin(17,0) dcl 4086 in procedure "emit_ABS" set ref 4083 4089* line parameter fixed bin(17,0) dcl 4073 in procedure "emit_move_int_state" set ref 4070 4078* line 002436 automatic fixed bin(17,0) dcl 3915 in procedure "gen_ph" set ref 3918* 3921* 3923 line 001331 automatic fixed bin(17,0) dcl 2079 in procedure "body_group" set ref 2087* 2105* 2130* 2139 2155* 2245* 2256 2269* 2273 2292* 2296 2303* 2311 2317* line parameter varying char(32) dcl 3745 in procedure "LINE" set ref 3742 3748* line 27 based fixed bin(17,0) level 3 in structure "root" dcl 5-80 in procedure "cobol_generate_report" set ref 1379* 1390 1423 1448 1460 1493 1567* 1579* 1584 2087 2528 3918 line1 parameter fixed bin(17,0) dcl 1667 in procedure "EMIT_REL" set ref 1664 1670 1674* line1 parameter fixed bin(17,0) dcl 3692 in procedure "emit_pb_blank_lines" set ref 3689 3696 3699* line2 parameter fixed bin(17,0) dcl 1667 in procedure "EMIT_REL" set ref 1664 1687 1687* line2 parameter fixed bin(17,0) dcl 3692 in procedure "emit_pb_blank_lines" set ref 3689 3694* 3704* line_count parameter fixed bin(17,0) dcl 1654 set ref 1651 1655 1660 1660* line_num parameter fixed bin(17,0) dcl 1304 in procedure "qual_field_name" set ref 1302 1309* line_num parameter fixed bin(17,0) dcl 1264 in procedure "line_redef_name" set ref 1261 1276* line_num 001352 automatic fixed bin(17,0) dcl 2350 in procedure "emit_lines" set ref 2370* 2375 2375 2377 2380 2382* 2382 2383 2383* 2384 2387 2389 line_number 000103 automatic fixed bin(17,0) dcl 40 set ref 1099* 1102* 1112 1113 1161* 2368* 2370 2371 2373 2399 2400 2446* 2472* 2472 line_rd 000131 automatic bit(1) packed unaligned dcl 1071 set ref 968* 1086 1089* line_size 001354 automatic fixed bin(17,0) dcl 2350 set ref 2371* 2461* line_table_ptr 24 based pointer level 2 dcl 5-80 ref 1096 2362 list_def based structure level 1 unaligned dcl 5-14 list_def_ptr 000324 automatic pointer dcl 5-20 set ref 3349* 3351 3351 3353 list_link based structure level 1 unaligned dcl 5-5 list_ptr parameter pointer dcl 3345 ref 3342 3349 lit_size 000251 automatic fixed bin(17,0) level 2 in structure "ALF" dcl 3565 in procedure "cobol_generate_report" set ref 3580* 3581 lit_size 5 based fixed bin(17,0) level 2 in structure "alphanum_lit" dcl 4194 in procedure "cobol_generate_report" ref 3580 3581 loc 66 based pointer level 3 in structure "report" dcl 5-35 in procedure "cobol_generate_report" ref 653 1326 1352 1368 1956 2573 3642 3647 loc parameter fixed bin(17,0) dcl 3536 in procedure "EMIT" ref 3533 3543 3543 3545 3548 3548 3550 loc 002034 automatic fixed bin(17,0) dcl 3228 in procedure "skip_to_b" set ref 3231* 3233 3244 3245 3246 loc 2 based pointer level 2 in structure "reset_chain_entry" dcl 5-381 in procedure "cobol_generate_report" set ref 3024* ltn 000671 automatic fixed bin(17,0) dcl 1079 in procedure "line_redef" set ref 1117* 1121 1122 1123 1141* ltn 001360 automatic fixed bin(17,0) dcl 2354 in procedure "emit_lines" set ref 2403* 2407* mode parameter fixed bin(17,0) dcl 2709 ref 2706 2717 name parameter varying char(32) dcl 1208 in procedure "fill" set ref 1205 1212* name parameter varying char(32) dcl 3615 in procedure "emit_write_fields" ref 3612 3617 name parameter varying char(32) dcl 1802 in procedure "emit_reset_state" set ref 1799 1804* name parameter varying char(32) dcl 2828 in procedure "emit_thru" ref 2825 2831 name parameter varying char(32) dcl 475 in procedure "dl" set ref 472 479* name parameter varying char(32) dcl 1793 in procedure "emit_reset_sent" set ref 1790 1795* name parameter varying char(32) dcl 1729 in procedure "emit_incr_sent" set ref 1726 1732* name parameter varying char(32) dcl 752 in procedure "emit_ind_pn" set ref 749 758* 760* name parameter varying char(32) dcl 2846 in procedure "emit_perf_exit_sent" set ref 2843 2848* name parameter varying char(32) dcl 2837 in procedure "emit_perf_sent" set ref 2834 2839* name parameter varying char(32) dcl 3755 in procedure "emit_section" set ref 3752 3758* name parameter varying char(32) dcl 3731 in procedure "descr_pic_line" set ref 3728 3735* name parameter varying char(32) dcl 3678 in procedure "buffer_name_def" set ref 3675 3681* name parameter varying char(32) dcl 2877 in procedure "emit_perf" set ref 2874 2881* name parameter varying char(32) dcl 740 in procedure "qual_int_by_rep" set ref 737 743* name parameter varying char(32) dcl 2858 in procedure "emit_perf_state" set ref 2855 2860* name parameter varying char(32) dcl 728 in procedure "qual_by_int" set ref 725 731* name parameter varying char(32) dcl 2867 in procedure "emit_perf_exit_state" set ref 2864 2869* 2870* name parameter varying char(32) dcl 1784 in procedure "emit_incr_var_state" set ref 1781 1786* name parameter varying char(32) dcl 1811 in procedure "emit_reset_int_state" set ref 1808 1814* name parameter varying char(32) dcl 1821 in procedure "emit_reset_int" set ref 1818 1824* name parameter varying char(32) dcl 1831 in procedure "emit_reset" set ref 1828 1833* name parameter varying char(32) dcl 1772 in procedure "emit_incr_var" set ref 1769 1775* 1776* name parameter varying char(32) dcl 637 in procedure "descr_line_int" set ref 634 641* name parameter varying char(32) dcl 487 in procedure "emit_pn" set ref 484 490* name parameter varying char(32) dcl 626 in procedure "descr_line" set ref 623 629* name parameter varying char(32) dcl 2709 in procedure "emit_compute_lhs" set ref 2706 2714* name parameter varying char(32) dcl 717 in procedure "qual_by_rep" set ref 714 719* name parameter varying char(32) dcl 1739 in procedure "emit_incr_state" set ref 1736 1742* name parameter varying char(32) dcl 607 in procedure "pg_vcl" set ref 604 615* name parameter varying char(32) dcl 768 in procedure "emit_group_name" set ref 765 771* name parameter varying char(32) dcl 1751 in procedure "emit_incr" set ref 1748 1754* 1755* name_size 14 based fixed bin(17,0) level 2 dcl 4197 set ref 3416 nd_loc 24 based pointer level 3 in structure "term_node" dcl 5-155 in procedure "cobol_generate_report" ref 2409 nd_loc 001362 automatic pointer dcl 2356 in procedure "emit_lines" set ref 2409* 2432* 2436* next based pointer level 2 dcl 5-381 ref 3029 next_group 14 based structure level 2 unaligned dcl 5-80 next_loc 000134 automatic fixed bin(17,0) level 2 dcl 3095 set ref 3114 3115* 3115 3136 3137* 3137 3164 3165* 3165 3233 3235 3235 3238 3239 3240* 3240 3244 3244 3246* 3258* 3266 3269 3269 3270* 3279 3282 3284 3296 3297 3298* 3298 3309 3327 3328* 3328 3336* 3455 3457* 3457 3458 3496 3496 3499* 3511 3518* 3519* 3558* 3907* ng_exists 111 based bit(1) level 3 packed packed unaligned dcl 5-35 ref 1324 2101 2111 2164 2222 node_ptr parameter pointer dcl 1077 ref 1075 1082 1095 non_num 14(05) based bit(1) level 3 packed packed unaligned dcl 5-155 ref 1147 1149 non_term_node_line based structure level 1 unaligned dcl 5-142 null builtin function dcl 55 ref 72 132 167 180 195 221 234 249 264 279 294 363 655 773 848 907 912 917 970 975 980 985 995 1006 1017 1021 1082 1126 1195 1326 1337 1352 1358 1365 1368 1373 1385 1419 1456 1489 1540 1564 1575 1888 1914 1956 1972 1978 2047 2500 2504 2524 2564 2570 2573 2581 2588 2911 2942 3020 3047 3638 3647 3647 3647 3780 3782 3796 3801 numeric_lit based structure level 1 unaligned dcl 4191 op parameter varying char(32) dcl 4027 in procedure "op_var" set ref 4024 4029* op parameter varying char(32) dcl 4096 in procedure "emit_if_test" set ref 4093 4101* op parameter varying char(32) dcl 4018 in procedure "op_con" set ref 4015 4020* p parameter pointer dcl 1872 in procedure "emit_use_proc_sent" set ref 1869 1874* p 001260 automatic pointer dcl 1883 in procedure "use_proc" set ref 1886* 1888 1896* p parameter pointer dcl 1861 in procedure "emit_use_proc" set ref 1858 1865* p parameter pointer dcl 2478 in procedure "emit_identifier" ref 2475 2480 2484 p parameter pointer dcl 1035 in procedure "emit_lev_tok_item" set ref 1032 1040* p 001402 automatic pointer dcl 2494 in procedure "emit_sum_counter_name" set ref 2498* 2500 2502 2510* 2510 p parameter pointer dcl 3038 in procedure "emit_sc" ref 3035 3045 p 000632 automatic pointer dcl 948 in procedure "def_line_buffer" set ref 1020* 1021 1021* p parameter pointer dcl 3791 in procedure "tct" set ref 3788 3794 3796 3801* page 24 based structure level 2 in structure "report" unaligned dcl 5-35 in procedure "cobol_generate_report" set ref 513 513 565 565 page 001034 automatic fixed bin(17,0) dcl 1346 in procedure "gen_term" set ref 1371* 1404 1436 1473 1506 1517 pdloc 000250 automatic fixed bin(17,0) dcl 3526 set ref 63* 94 3548 3550* 3550 pf 100 based pointer level 2 dcl 5-35 set ref 294 296 985 988* 1373 1375 1564 1566 ph 76 based pointer level 2 dcl 5-35 set ref 279 281 980 983* 1575 1577 2564 2570 3647 3917 picture 22 based pointer level 3 in structure "term_node" dcl 5-155 in procedure "cobol_generate_report" set ref 1195 1200* picture based structure level 1 unaligned dcl 5-399 in procedure "cobol_generate_report" places 10 based fixed bin(17,0) level 2 dcl 4191 set ref 3404 pos parameter fixed bin(17,0) dcl 3264 in procedure "skip_to_col" ref 3261 3266 3269 3270 pos parameter fixed bin(17,0) dcl 2976 in procedure "emit_comment" set ref 2973 2981* prev_line_num 001353 automatic fixed bin(17,0) dcl 2350 set ref 2375* 2377* 2383 2384* 2389* 2389 proc_def based structure level 1 unaligned dcl 4197 q 001404 automatic pointer dcl 2494 set ref 2502* 2504 2507* qn_loc 2 based pointer array level 2 dcl 5-291 set ref 3473* 3480* qn_ptr parameter pointer dcl 3466 in procedure "append_qual_name" ref 3462 3470 3473 3480 qn_ptr parameter pointer dcl 4147 in procedure "unqual_name" set ref 4141 4151* 4154 4156 qn_size based fixed bin(17,0) level 2 dcl 5-291 ref 3470 qns_loc 2 based pointer array level 2 dcl 5-305 ref 663 qns_size based fixed bin(17,0) level 2 dcl 5-305 ref 661 qual_name based structure level 1 unaligned dcl 5-291 qual_name_ptr 000350 automatic pointer dcl 5-296 set ref 663* 675* 892* 894* qual_name_seq based structure level 1 unaligned dcl 5-305 qual_name_seq_ptr 000352 automatic pointer dcl 5-310 set ref 363 653* 655 661 663 rec_area parameter varying char(32) dcl 4133 in procedure "emit_write_sent" set ref 4129 4136* rec_area parameter varying char(32) dcl 1715 in procedure "emit_WR" set ref 1712 1721* rec_area parameter varying char(32) dcl 4122 in procedure "emit_write_state" set ref 4118 4125* rec_size 002120 automatic fixed bin(17,0) dcl 3345 set ref 3355* refer_ptr 000244 automatic pointer dcl 3378 in procedure "cobol_generate_report" set ref 3375* 3400* 3404* 3412* 3416* 3420* 3436* 3583* refer_ptr parameter pointer dcl 3127 in procedure "append_refer_string" ref 3119 3134 3136 refer_ptr parameter pointer dcl 3191 in procedure "append_sep_refer_string" set ref 3184 3195* refer_string based structure level 1 unaligned dcl 3130 rel parameter varying char(32) dcl 2730 in procedure "emit_rel_con_test" set ref 2727 2732* rel parameter varying char(32) dcl 2774 in procedure "emit_irel_con_test" set ref 2771 2777* rel parameter varying char(32) dcl 2762 in procedure "if_int_var_rel" set ref 2759 2768* rel parameter varying char(32) dcl 2740 in procedure "emit_rel_int_test" set ref 2737 2743* rel parameter varying char(32) dcl 4008 in procedure "emit_rel_var_test" set ref 4005 4010* rel parameter varying char(32) dcl 2751 in procedure "if_var_rel" set ref 2748 2756* rel 001031 automatic fixed bin(17,0) dcl 1346 in procedure "gen_term" set ref 1453* 1469 rep_list_loc parameter pointer dcl 37 ref 34 60 rep_name_ptr 10 based pointer level 2 dcl 5-35 set ref 468* 721* 745* 787* 799* 1311* 2667* 4166* rep_next based pointer level 2 dcl 5-35 ref 79 rep_num 110 based fixed bin(17,0) level 2 dcl 5-35 set ref 1104* 1721* 3592* 3594* 3681* report based structure level 1 unaligned dcl 5-35 reserved_word based structure level 1 unaligned dcl 4188 reset_chain_entry based structure level 1 unaligned dcl 5-381 reset_chain_entry_ptr 000360 automatic pointer dcl 5-384 set ref 3016* 3020 3024 3029* 3029 rf 74 based pointer level 2 dcl 5-35 set ref 264 266 975 978* 1385 1388 1419 1421 1456 1458 1489 1491 rh 72 based pointer level 2 dcl 5-35 set ref 249 251 970 973* 2524 2526 3647 root based structure level 1 unaligned dcl 5-80 rt_name_ptr 10 based pointer level 2 dcl 5-80 set ref 773 785* rt_ptr 000332 automatic pointer dcl 5-118 set ref 251* 266* 281* 296* 773 785 1095* 1096 1097 1375* 1377 1379 1388* 1389 1390 1416 1421* 1422 1423 1448 1453 1458* 1459 1460 1491* 1492 1493 1566* 1567 1577* 1579 1579 1584 1886 1891 1913* 1914 1935* 2045* 2047 2086 2087 2088 2268 2269 2278 2331 2360 2362 2364 2526* 2528 2529 2539 2540 3917* 3918 3919 rwdd 000246 automatic bit(1) packed unaligned dcl 3526 set ref 83* 119* 124* 423* 432* 3541 rwfp 000242 automatic pointer dcl 3340 set ref 62* 3351* 3355* sent parameter varying char(32) dcl 3769 set ref 3766 3772* sep 001262 automatic bit(1) packed unaligned dcl 1883 set ref 1891* 1893 1898 sign 14(06) based fixed bin(4,0) level 3 packed packed unsigned unaligned dcl 5-155 ref 1145 1242 size parameter fixed bin(17,0) dcl 3712 in procedure "sbc" set ref 3709 3714* 3717 size parameter fixed bin(17,0) dcl 1231 in procedure "append_pic_x" set ref 1228 1234* size 000674 automatic fixed bin(17,0) dcl 1079 in procedure "line_redef" set ref 1113* 1114 size 30 based fixed bin(17,0) level 3 in structure "root" dcl 5-80 in procedure "cobol_generate_report" ref 2088 size parameter fixed bin(17,0) dcl 1208 in procedure "fill" set ref 1205 1213* size 001332 automatic fixed bin(17,0) dcl 2079 in procedure "body_group" set ref 2088* 2139 2179 size based fixed bin(17,0) level 2 in structure "refer_string" dcl 3130 in procedure "append_refer_string" ref 3134 3136 size parameter fixed bin(17,0) dcl 3836 in procedure "emit_comp" set ref 3833 3840* size 001357 automatic fixed bin(17,0) dcl 2354 in procedure "emit_lines" set ref 2400* 2401 size parameter fixed bin(17,0) dcl 3660 in procedure "emit_line_size_init" set ref 3657 3667* size parameter fixed bin(17,0) dcl 3848 in procedure "emit_comp_end" set ref 3845 3851 3851* 3851 3854* st 001333 automatic varying char(32) dcl 2081 in procedure "body_group" set ref 2089* 2101* 2119* 2134* 2146* 2205* 2215* st 002116 automatic bit(32) packed unaligned dcl 3345 in procedure "append_list" set ref 3355* 3357 st parameter varying char(32) dcl 1293 in procedure "field_name" set ref 1291 1297* state parameter varying char(32) dcl 4111 set ref 4108 4114* string parameter varying char(32) dcl 1881 in procedure "use_proc" set ref 1878 1902* string parameter varying char(32) dcl 2684 in procedure "qual_int_by_rep_proc" set ref 2681 2687* 2689* string parameter varying char(32) dcl 2673 in procedure "end_sent" set ref 2670 2676* string parameter varying char(32) dcl 323 in procedure "go_to_dep" set ref 320 334* string parameter varying char(32) dcl 2652 in procedure "emit_ind_perf" set ref 2649 2657* string parameter varying char(32) dcl 447 in procedure "emit_exit_para" set ref 444 450* string 1 000251 automatic char(136) level 2 in structure "ALF" packed packed unaligned dcl 3565 in procedure "cobol_generate_report" set ref 3581* string parameter varying char(32) dcl 2602 in procedure "emit_go_to_sent" set ref 2599 2604* string 6 based char level 2 in structure "alphanum_lit" packed packed unaligned dcl 4194 in procedure "cobol_generate_report" ref 3581 string parameter varying char(32) dcl 2611 in procedure "emit_go_to" set ref 2608 2615* string parameter varying char(32) dcl 1282 in procedure "emit_pfex" set ref 1279 1285* 1287 string parameter varying char(32) dcl 462 in procedure "control_item" set ref 459 465* string parameter varying char(32) dcl 2641 in procedure "emit_ind_go_to" set ref 2638 2646* string parameter varying char(32) dcl 2976 in procedure "emit_comment" set ref 2973 2982* string parameter varying char(32) dcl 3109 in procedure "append_var_string" ref 3103 3112 3114 string parameter varying char(32) dcl 2989 in procedure "emit_ind_perf_exit_state" set ref 2986 2992* 2993* string 1 based char level 2 in structure "refer_string" packed packed unaligned dcl 3130 in procedure "append_refer_string" ref 3136 string parameter varying char(32) dcl 2621 in procedure "emit_ind_go_to_state" set ref 2618 2624* string parameter varying char(32) dcl 3084 in procedure "qual_by_rep_proc" set ref 3081 3086* string parameter varying char(32) dcl 2077 in procedure "body_group" ref 2074 2089 2137 2160 2161 2202 string parameter varying char(32) dcl 2887 in procedure "emit_ind_perf_sent" set ref 2884 2890* string parameter varying char(32) dcl 3176 in procedure "append_sep_var_string" set ref 3169 3180* string parameter varying char(32) dcl 2698 in procedure "de_word" set ref 2695 2701* string parameter varying char(32) dcl 1694 in procedure "emit_bl_abs_var" set ref 1691 1699* 1707* string parameter varying char(32) dcl 2631 in procedure "emit_ind_go_to_sent" set ref 2628 2634* string_1 parameter varying char(32) dcl 866 in procedure "control_struct" set ref 863 871* string_1 parameter varying char(32) dcl 348 in procedure "control_function" set ref 345 366* 368* 374* 416 string_2 parameter varying char(32) dcl 348 in procedure "control_function" set ref 345 388* 399* string_2 parameter varying char(32) dcl 866 in procedure "control_struct" set ref 863 877* subscripts 2 based structure level 2 unaligned dcl 5-325 set ref 2486 2486 substr builtin function dcl 55 set ref 2980* 3114* 3136* 3164* 3235 3238* 3244* 3256* 3269* 3279 3296* 3327* 3357 3455* 3509* 3515* 3515 3539* 3543* 3543 3548* 3548 3581* 3905* 4156 suff parameter varying char(32) dcl 2828 ref 2825 2831 sum based structure level 1 unaligned dcl 5-314 sum_next based pointer level 2 dcl 5-314 ref 1548 sum_ptr 000354 automatic pointer dcl 5-320 set ref 1538* 1540 1544 1548* 1548 sum_qn_ptr 4 based pointer level 2 dcl 5-314 set ref 1544* suppress 20 based bit(1) level 3 packed packed unaligned dcl 5-80 ref 1891 sz 002154 automatic fixed bin(17,0) dcl 3445 in procedure "append_level_number" set ref 3454* 3455 3457 sz 001772 automatic fixed bin(17,0) dcl 3128 in procedure "append_refer_string" set ref 3134* 3136 3137 sz 001762 automatic fixed bin(17,0) dcl 3110 in procedure "append_var_string" set ref 3112* 3114 3115 sz 002176 automatic fixed bin(17,0) dcl 3494 in procedure "emit_line" set ref 3511* 3515 3518 tbit parameter bit(1) packed unaligned dcl 37 ref 34 65 term_node based structure level 1 unaligned dcl 5-155 term_node_line based structure level 1 unaligned dcl 5-169 tn_level 7 based fixed bin(17,0) level 2 dcl 5-155 ref 914 tn_name_ptr 10 based pointer level 2 dcl 5-155 set ref 917 919* 1126 1129* 2496* 2502 tn_next based pointer level 2 dcl 5-155 ref 931 tn_ptr 000334 automatic pointer dcl 5-167 set ref 910* 912 914 917 919 923 923 931* 931 1121* 1126 1126 1129 1141* 1145 1147 1147 1149 1149 1151 1195 1200 1242 2407* 2408 2409 2411 2413 2418 2448 2496 2498 tn_type 6 based fixed bin(17,0) level 2 dcl 5-155 ref 923 tn_up 2 based pointer level 2 dcl 5-155 ref 2498 2510 to parameter varying char(32) dcl 1852 in procedure "emit_move_cv_sent" set ref 1849 1854* to parameter varying char(32) dcl 1840 in procedure "emit_move_cv" set ref 1837 1846* token_ptr parameter pointer dcl 3432 in procedure "append_sep_token" set ref 3429 3434* token_ptr parameter pointer dcl 3386 in procedure "get_ref_ptr" set ref 3383 3389 3400 3404 3408* 3412 3416 3420 token_ptr parameter pointer dcl 3371 in procedure "append_token" set ref 3368 3373* token_ptr parameter pointer dcl 3578 in procedure "quoter" ref 3575 3580 3581 trace_bit 000237 automatic bit(1) packed unaligned dcl 3100 set ref 65* type 3 based fixed bin(17,0) level 2 in structure "reserved_word" dcl 4188 in procedure "cobol_generate_report" ref 3389 type 001415 automatic fixed bin(17,0) dcl 2518 in procedure "gen_first_gen" set ref 2529* 2532 2539* 2542 type 53 based fixed bin(17,0) level 3 in structure "report" dcl 5-35 in procedure "cobol_generate_report" set ref 559 type 15 based fixed bin(17,0) level 3 in structure "root" dcl 5-80 in procedure "cobol_generate_report" ref 1377 2268 2539 type 000762 automatic fixed bin(17,0) dcl 1240 in procedure "sign_clause" set ref 1242* 1244 1250 1250 1254 1254 type 31 based fixed bin(17,0) level 3 in structure "report" dcl 5-35 in procedure "cobol_generate_report" set ref 502 type 001330 automatic fixed bin(17,0) dcl 2079 in procedure "body_group" set ref 2086* 2096 2268* 2271 2273 2285 type 002136 automatic fixed bin(17,0) dcl 3387 in procedure "get_ref_ptr" set ref 3389* 3391 3394 type 37 based fixed bin(17,0) level 3 in structure "report" dcl 5-35 in procedure "cobol_generate_report" set ref 519 536 type 61 based fixed bin(17,0) level 3 in structure "report" dcl 5-35 in procedure "cobol_generate_report" set ref 562 585 type 26 based fixed bin(17,0) level 3 in structure "root" dcl 5-80 in procedure "cobol_generate_report" ref 1389 1422 1459 1492 1579 2086 2529 3919 type parameter fixed bin(17,0) dcl 348 in procedure "control_function" ref 345 380 397 type 45 based fixed bin(17,0) level 3 in structure "report" dcl 5-35 in procedure "cobol_generate_report" set ref 533 type parameter varying char(32) dcl 4061 in procedure "bld" ref 4058 4066 type 001033 automatic fixed bin(17,0) dcl 1346 in procedure "gen_term" set ref 1377* 1383 1389* 1392 1422* 1425 1459* 1462 1492* 1495 type 002437 automatic fixed bin(17,0) dcl 3915 in procedure "gen_ph" set ref 3919* 3921 type parameter fixed bin(17,0) dcl 3067 in procedure "emit_rep_pn" ref 3064 3074 usage_disp 14 based bit(1) level 3 packed packed unaligned dcl 5-155 ref 1151 use_proc 16 based structure level 2 unaligned dcl 5-80 use_proc_name_ptr 16 based pointer level 3 dcl 5-80 ref 1886 user_word based structure level 1 unaligned dcl 5-410 val parameter varying char(32) dcl 4061 in procedure "bld" set ref 4058 4063* val parameter varying char(32) dcl 1064 in procedure "append_value" set ref 1061 1067* val parameter varying char(32) dcl 1049 in procedure "emit_lev_item" set ref 1046 1055 1055* value parameter varying char(32) dcl 1793 in procedure "emit_reset_sent" set ref 1790 1795* value parameter varying char(32) dcl 637 in procedure "descr_line_int" set ref 634 643* value 14 based fixed bin(17,0) level 3 in structure "root" dcl 5-80 in procedure "cobol_generate_report" ref 1416 1453 2269 2540 value 001417 automatic fixed bin(17,0) dcl 2518 in procedure "gen_first_gen" set ref 2540* 2556* 2560* value parameter varying char(32) dcl 1802 in procedure "emit_reset_state" set ref 1799 1804* value parameter varying char(32) dcl 1831 in procedure "emit_reset" set ref 1828 1834* var parameter varying char(32) dcl 2796 in procedure "emit_move_cvi_state" set ref 2793 2799* var parameter varying char(32) dcl 2740 in procedure "emit_rel_int_test" set ref 2737 2743* var parameter varying char(32) dcl 2785 in procedure "emit_move_cvi" set ref 2782 2790* var parameter varying char(32) dcl 2762 in procedure "if_int_var_rel" set ref 2759 2767* var parameter varying char(32) dcl 2730 in procedure "emit_rel_con_test" set ref 2727 2732* var parameter varying char(32) dcl 2774 in procedure "emit_irel_con_test" set ref 2771 2777* var parameter varying char(32) dcl 4027 in procedure "op_var" set ref 4024 4030* var parameter varying char(32) dcl 4073 in procedure "emit_move_int_state" set ref 4070 4080* var parameter varying char(32) dcl 3848 in procedure "emit_comp_end" set ref 3845 3854* var parameter varying char(32) dcl 3836 in procedure "emit_comp" set ref 3833 3839* var parameter varying char(32) dcl 2751 in procedure "if_var_rel" set ref 2748 2755* var parameter varying char(32) dcl 2818 in procedure "emit_move_con_state" set ref 2815 2821* var parameter varying char(32) dcl 4096 in procedure "emit_if_test" set ref 4093 4100* var parameter varying char(32) dcl 4008 in procedure "emit_rel_var_test" set ref 4005 4010* word 6 based char level 2 packed packed unaligned dcl 5-410 ref 4156 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. abs builtin function dcl 55 alf_lit based structure level 1 unaligned dcl 3569 cf_table_size automatic fixed bin(17,0) dcl 5-234 ch_table_size automatic fixed bin(17,0) dcl 5-215 chain_entry_SIZE automatic fixed bin(17,0) dcl 5-396 cobol_afp defined pointer dcl 6-11 cobol_analin_fileno defined pointer dcl 6-13 cobol_cmfp defined pointer dcl 6-21 cobol_com_fileno defined pointer dcl 6-23 cobol_com_ptr defined pointer dcl 6-25 cobol_curr_in defined pointer dcl 6-53 cobol_curr_out defined pointer dcl 6-55 cobol_dfp defined pointer dcl 6-27 cobol_eltp defined pointer dcl 6-19 cobol_ext_$cobol_afp external static pointer dcl 6-10 cobol_ext_$cobol_analin_fileno external static pointer dcl 6-12 cobol_ext_$cobol_cmfp external static pointer dcl 6-20 cobol_ext_$cobol_com_fileno external static pointer dcl 6-22 cobol_ext_$cobol_com_ptr external static pointer dcl 6-24 cobol_ext_$cobol_curr_in external static pointer dcl 6-52 cobol_ext_$cobol_curr_out external static pointer dcl 6-54 cobol_ext_$cobol_dfp external static pointer dcl 6-26 cobol_ext_$cobol_eltp external static pointer dcl 6-18 cobol_ext_$cobol_fileno1 external static fixed bin(24,0) dcl 6-78 cobol_ext_$cobol_hfp external static pointer dcl 6-28 cobol_ext_$cobol_lpr external static char(5) packed unaligned dcl 6-95 cobol_ext_$cobol_m2fp external static pointer dcl 6-32 cobol_ext_$cobol_min1_fileno external static pointer dcl 6-34 cobol_ext_$cobol_min2_fileno_ptr external static pointer dcl 6-36 cobol_ext_$cobol_name_fileno external static pointer dcl 6-38 cobol_ext_$cobol_name_fileno_ptr external static pointer dcl 6-40 cobol_ext_$cobol_ntfp external static pointer dcl 6-42 cobol_ext_$cobol_options external static char(120) packed unaligned dcl 6-97 cobol_ext_$cobol_options_len external static fixed bin(24,0) dcl 6-80 cobol_ext_$cobol_pdofp external static pointer dcl 6-44 cobol_ext_$cobol_pdout_fileno external static fixed bin(24,0) dcl 6-82 cobol_ext_$cobol_pfp external static pointer dcl 6-46 cobol_ext_$cobol_print_fileno external static fixed bin(24,0) dcl 6-84 cobol_ext_$cobol_rm2fp external static pointer dcl 6-48 cobol_ext_$cobol_rmin2_fileno external static fixed bin(24,0) dcl 6-86 cobol_ext_$cobol_rmin2fp external static pointer dcl 6-50 cobol_ext_$cobol_sfp external static pointer dcl 6-56 cobol_ext_$cobol_w1p external static pointer dcl 6-58 cobol_ext_$cobol_w2p external static pointer dcl 6-60 cobol_ext_$cobol_w3p external static pointer dcl 6-62 cobol_ext_$cobol_w5p external static pointer dcl 6-64 cobol_ext_$cobol_w6p external static pointer dcl 6-66 cobol_ext_$cobol_w7p external static pointer dcl 6-68 cobol_ext_$cobol_x1_fileno external static fixed bin(24,0) dcl 6-88 cobol_ext_$cobol_x2_fileno external static fixed bin(24,0) dcl 6-90 cobol_ext_$cobol_x3_fileno external static fixed bin(24,0) dcl 6-92 cobol_ext_$cobol_x3fp external static pointer dcl 6-70 cobol_ext_$cobol_xlast8 external static bit(1) packed unaligned dcl 6-100 cobol_ext_$report_exists external static bit(1) packed unaligned dcl 6-102 cobol_ext_$report_first_token external static pointer dcl 6-14 cobol_ext_$report_last_token external static pointer dcl 6-16 cobol_fileno1 defined fixed bin(24,0) dcl 6-79 cobol_hfp defined pointer dcl 6-29 cobol_lpr defined char(5) packed unaligned dcl 6-96 cobol_m2fp defined pointer dcl 6-33 cobol_min1_fileno defined pointer dcl 6-35 cobol_min2_fileno_ptr defined pointer dcl 6-37 cobol_name_fileno defined pointer dcl 6-39 cobol_name_fileno_ptr defined pointer dcl 6-41 cobol_ntfp defined pointer dcl 6-43 cobol_options defined char(120) packed unaligned dcl 6-98 cobol_options_len defined fixed bin(24,0) dcl 6-81 cobol_pdofp defined pointer dcl 6-45 cobol_pdout_fileno defined fixed bin(24,0) dcl 6-83 cobol_pfp defined pointer dcl 6-47 cobol_print_fileno defined fixed bin(24,0) dcl 6-85 cobol_rm2fp defined pointer dcl 6-49 cobol_rmin2_fileno defined fixed bin(24,0) dcl 6-87 cobol_rmin2fp defined pointer dcl 6-51 cobol_sfp defined pointer dcl 6-57 cobol_w1p defined pointer dcl 6-59 cobol_w2p defined pointer dcl 6-61 cobol_w3p defined pointer dcl 6-63 cobol_w5p defined pointer dcl 6-65 cobol_w6p defined pointer dcl 6-67 cobol_w7p defined pointer dcl 6-69 cobol_x1_fileno defined fixed bin(24,0) dcl 6-89 cobol_x2_fileno defined fixed bin(24,0) dcl 6-91 cobol_x3_fileno defined fixed bin(24,0) dcl 6-93 cobol_x3fp defined pointer dcl 6-71 cobol_xlast8 defined bit(1) packed unaligned dcl 6-101 de_table_size automatic fixed bin(17,0) dcl 5-251 field_table_size automatic fixed bin(17,0) dcl 5-284 fixed_common based structure level 1 unaligned dcl 7-26 i automatic fixed bin(17,0) dcl 2518 ident_SIZE automatic fixed bin(17,0) dcl 5-331 ioa_ 000000 constant entry external dcl 50 line_count automatic fixed bin(17,0) dcl 2350 line_table_size automatic fixed bin(17,0) dcl 5-270 list_link_ptr automatic pointer dcl 5-10 non_term_node based structure level 1 unaligned dcl 5-125 ntn_ptr automatic pointer dcl 5-137 qual_name_seq_size automatic fixed bin(17,0) dcl 5-309 qual_name_size automatic fixed bin(17,0) dcl 5-295 report_exists defined bit(1) packed unaligned dcl 6-103 report_first_token defined pointer dcl 6-15 report_last_token defined pointer dcl 6-17 reset_chain_entry_SIZE automatic fixed bin(17,0) dcl 5-385 reset_clause based structure level 1 unaligned dcl 5-372 reset_clause_SIZE automatic fixed bin(17,0) dcl 5-377 reset_clause_ptr automatic pointer dcl 5-376 size builtin function dcl 55 sum_SIZE automatic fixed bin(17,0) dcl 5-319 sum_clause based structure level 1 unaligned dcl 5-353 sum_clause_lifo_ptr automatic pointer dcl 5-360 sum_clause_ptr automatic pointer dcl 5-359 sum_clause_size automatic fixed bin(17,0) dcl 5-358 sum_counter based structure level 1 unaligned dcl 5-338 sum_counter_lifo_ptr automatic pointer dcl 5-346 sum_counter_ptr automatic pointer dcl 5-344 sum_counter_size automatic fixed bin(17,0) dcl 5-343 sum_ctr_ctr automatic fixed bin(17,0) dcl 5-407 sz automatic fixed bin(17,0) dcl 2079 upon_clause based structure level 1 unaligned dcl 5-364 upon_clause_ptr automatic pointer dcl 5-368 user_word_ptr automatic pointer dcl 5-408 user_word_size automatic fixed bin(17,0) dcl 5-407 NAMES DECLARED BY EXPLICIT CONTEXT. BGT 000060 constant label array(0:3) dcl 2099 ref 2096 BGT0 012551 constant label dcl 2263 ref 2099 2132 2203 2261 BNG 000064 constant label array(3) dcl 2288 ref 2285 BNG0 013003 constant label dcl 2331 ref 2290 2309 2329 CF1 000000 constant label array(4) dcl 382 ref 380 CF1_0 002331 constant label dcl 394 ref 386 392 CF2 000004 constant label array(4) dcl 399 ref 397 CF2_0 002356 constant label dcl 411 ref 403 409 EL 000067 constant label array(0:3) dcl 2427 ref 2426 EL0 013307 constant label dcl 2444 ref 2430 2434 2438 2442 EMIT 016365 constant entry internal dcl 3533 ref 3499 3507 3519 EMIT_REL 007614 constant entry internal dcl 1664 ref 1660 3952 F 000027 constant label array(0:2) dcl 565 ref 562 F0 003132 constant label dcl 578 ref 569 576 FD 000016 constant label array(0:2) dcl 536 ref 533 FD0 003061 constant label dcl 559 ref 550 557 FF 000032 constant label array(0:2) dcl 587 ref 585 FF0 003170 constant label dcl 598 ref 590 596 H 000013 constant label array(0:2) dcl 522 set ref 519 H0 003014 constant label dcl 533 ref 525 531 HH 000021 constant label array(0:2) dcl 539 ref 536 HH0 003047 constant label dcl 550 ref 542 548 LD 000024 constant label array(0:2) dcl 562 ref 559 LD0 003171 constant label dcl 601 ref 578 598 LINE 017341 constant entry internal dcl 3742 ref 1901 P 000010 constant label array(0:2) dcl 504 ref 502 P0 002763 constant label dcl 519 ref 517 PFNG 000035 constant label array(0:2) dcl 1385 ref 1383 PFNG0 007045 constant label dcl 1487 ref 1414 1451 1485 RHNG 000073 constant label array(0:3) dcl 2544 ref 2542 RHNG0 013615 constant label dcl 2564 ref 2544 2554 2558 2562 SENT 017400 constant entry internal dcl 3766 ref 427 430 1893 STATE 021042 constant entry internal dcl 4108 ref 4088 4090 TOK 000077 constant label array(0:8) dcl 3396 ref 3394 TOK1 016173 constant label dcl 3424 ref 3402 3406 3410 3414 3418 3422 append_control_name 004351 constant entry internal dcl 887 ref 382 405 880 append_integer 015550 constant entry internal dcl 3141 ref 733 826 839 878 1234 1271 1276 1298 3210 3452 3968 append_level_number 016207 constant entry internal dcl 3440 ref 478 614 798 824 830 837 870 876 914 963 1039 1052 1101 1138 1211 3591 3600 3680 3734 append_list 016037 constant entry internal dcl 3342 ref 2436 2486 append_period 016005 constant entry internal dcl 3302 ref 341 411 455 491 619 630 644 693 762 789 800 828 833 842 872 881 929 966 1041 1058 1105 1154 1216 1288 1397 1401 1406 1440 1477 1510 1518 1546 1733 1796 1855 1875 2199 2337 2455 2605 2635 2677 2840 2849 2891 2916 2947 2964 3027 3055 3077 3595 3608 3668 3682 3737 3760 3773 3997 4001 4137 append_pic_x 006011 constant entry internal dcl 1228 ref 965 1213 append_qual_name 016250 constant entry internal dcl 3462 ref 675 894 1544 2482 3024 3053 append_refer_string 015534 constant entry internal dcl 3119 ref 3195 3375 append_sep_integer 015646 constant entry internal dcl 3199 ref 618 682 1674 1761 1765 1825 2744 2962 3667 3840 4078 append_sep_refer_string 015633 constant entry internal dcl 3184 ref 3436 append_sep_token 016174 constant entry internal dcl 3429 ref 468 721 745 1200 1311 1719 1865 2496 2507 3360 3480 4151 4166 append_sep_var_string 015620 constant entry internal dcl 3169 ref 329 330 338 339 378 394 450 454 467 480 490 616 617 642 643 667 670 672 673 692 719 720 731 744 840 879 927 1053 1066 1067 1103 1175 1176 1177 1183 1184 1190 1191 1195 1198 1212 1233 1247 1250 1252 1257 1266 1286 1308 1310 1545 1675 1700 1702 1720 1722 1744 1760 1764 1777 1834 1844 1845 1864 2427 2444 2506 2614 2666 2689 2691 2715 2733 2756 2768 2778 2810 2811 2830 2880 2960 3023 3026 3050 3052 3074 3086 3088 3478 3593 3601 3604 3607 3666 3720 3735 3736 3759 3809 3810 3855 4020 4021 4029 4079 4100 4101 4102 4164 append_space 015751 constant entry internal dcl 3273 ref 3178 3193 3208 append_token 016117 constant entry internal dcl 3368 ref 785 787 799 919 1040 2667 append_value 005216 constant entry internal dcl 1061 ref 1055 append_var_string 015520 constant entry internal dcl 3103 ref 316 451 479 615 732 760 783 825 827 831 838 871 877 917 964 1235 1270 1274 1297 1543 1718 1843 2424 2645 2656 2676 2701 2713 2754 2766 2809 2958 2982 3180 3449 3663 3748 3758 3772 4077 4099 4114 blank_zero 005603 constant entry internal dcl 1172 ref 1147 bld 020554 constant entry internal dcl 4058 ref 1223 4055 body_group 011450 constant entry internal dcl 2074 ref 1921 2013 2062 buffer_name_def 017067 constant entry internal dcl 3675 ref 957 1222 4054 cb_restore 017537 constant entry internal dcl 3823 ref 1368 1975 cb_save 017517 constant entry internal dcl 3815 ref 1355 1969 cf_group 011273 constant entry internal dcl 2040 ref 237 244 ch_group 010552 constant entry internal dcl 1908 ref 183 190 clear_line 017743 constant entry internal dcl 3902 ref 3501 3520 cobol_generate_report 001005 constant entry external dcl 34 control_function 002227 constant entry internal dcl 345 ref 150 154 158 162 control_item 002555 constant entry internal dcl 459 ref 388 399 control_struct 004272 constant entry internal dcl 863 ref 856 857 de_group 010641 constant entry internal dcl 1925 ref 214 217 de_word 014164 constant entry internal dcl 2695 ref 687 1958 1983 2124 2129 2151 2156 2188 2192 2220 2237 2254 2260 2299 2306 2320 2326 2331 3698 3700 3703 3982 3996 4047 def_line_buffer 004505 constant entry internal dcl 945 ref 860 def_sum_counters 004363 constant entry internal dcl 898 ref 848 def_val_clauses 002651 constant entry internal dcl 495 ref 802 descr_line 003241 constant entry internal dcl 623 ref 434 804 805 806 807 808 809 810 811 descr_line_int 003256 constant entry internal dcl 634 ref 435 436 504 506 507 508 509 522 539 descr_pic_line 017311 constant entry internal dcl 3728 ref 813 dl 002606 constant entry internal dcl 472 ref 629 641 emit_ABS 020751 constant entry internal dcl 4083 ref 1395 1404 1428 1436 1448 1465 1473 1498 1506 1517 2547 2556 3921 emit_WR 010004 constant entry internal dcl 1712 ref 4125 4136 emit_abs 017712 constant entry internal dcl 3887 ref 2383 emit_b_abs 020076 constant entry internal dcl 3956 ref 143 emit_bl_abs 007462 constant entry internal dcl 1620 ref 1379 1567 1572 1579 1584 2130 2256 2288 2296 2302 2532 4089 emit_bl_abs_var 007676 constant entry internal dcl 1691 ref 2116 2172 2229 emit_bl_rel 007561 constant entry internal dcl 1651 ref 1399 1432 1469 1502 2155 2534 2560 3923 emit_blank_lines_data 005754 constant entry internal dcl 1219 ref 953 emit_comment 015164 constant entry internal dcl 2973 ref 149 153 157 161 171 175 182 188 199 212 225 229 236 242 253 268 283 298 658 797 820 855 903 951 956 1088 1093 1318 1349 1533 1561 1601 1625 1658 1696 2395 2405 2521 3042 3590 3959 4036 emit_comp 017557 constant entry internal dcl 3833 ref 3714 3854 emit_comp_end 017603 constant entry internal dcl 3845 ref 1634 3704 3865 3897 emit_comp_write 017634 constant entry internal dcl 3860 ref 3878 3892 emit_compute_lhs 014200 constant entry internal dcl 2706 ref 681 691 1673 1698 1754 1775 1824 1833 3839 3967 3973 3986 3999 emit_end_page_rec 020531 constant entry internal dcl 4051 ref 954 emit_exit_para 002524 constant entry internal dcl 444 ref 173 201 227 261 276 291 306 416 2921 2969 emit_go_to 013743 constant entry internal dcl 2608 ref 2604 2963 emit_go_to_sent 013731 constant entry internal dcl 2599 ref 1902 1922 2017 2027 2063 emit_gp_pn 003706 constant entry internal dcl 777 ref 773 1938 2034 emit_group_name 003661 constant entry internal dcl 765 ref 255 270 285 300 1919 2051 emit_identifier 013370 constant entry internal dcl 2475 ref 2432 3051 emit_if_test 021001 constant entry internal dcl 4093 ref 1605 emit_incr 010116 constant entry internal dcl 1748 ref 1732 1742 emit_incr_sent 010055 constant entry internal dcl 1726 ref 1606 emit_incr_state 010072 constant entry internal dcl 1736 ref 1687 3882 emit_incr_var 010176 constant entry internal dcl 1769 ref 1786 emit_incr_var_state 010241 constant entry internal dcl 1781 ref 1707 emit_ind_go_to 014016 constant entry internal dcl 2638 ref 2624 emit_ind_go_to_sent 014001 constant entry internal dcl 2628 ref 2137 2160 emit_ind_go_to_state 013765 constant entry internal dcl 2618 ref 2119 2146 2215 2634 emit_ind_perf 014042 constant entry internal dcl 2649 ref 1285 2890 2992 emit_ind_perf_exit_state 015211 constant entry internal dcl 2986 ref 2914 2944 emit_ind_perf_sent 014707 constant entry internal dcl 2884 ref 2950 emit_ind_pn 003631 constant entry internal dcl 749 ref 374 771 1940 2101 2134 2161 2202 2205 2907 3018 emit_irel_con_test 014374 constant entry internal dcl 2771 ref 2413 emit_lev_item 005160 constant entry internal dcl 1046 ref 952 958 960 962 1224 3617 3618 3619 4063 4064 4066 emit_lev_tok_item 005137 constant entry internal dcl 1032 ref 1129 emit_line 016322 constant entry internal dcl 3485 ref 317 677 683 1630 1638 1676 1703 1745 1787 1805 1815 2121 2147 2216 2450 2702 2720 2734 2745 2779 2800 2822 2861 2871 2983 3284 3287 3312 3316 3318 3602 3697 3749 3866 3970 3976 3990 4012 4103 4115 4126 4138 emit_line_size_init 017027 constant entry internal dcl 3657 ref 2461 emit_lines 013021 constant entry internal dcl 2345 ref 260 275 290 305 2263 emit_move_con 014465 constant entry internal dcl 2803 ref 2789 2820 emit_move_con_state 014514 constant entry internal dcl 2815 ref 2026 2035 emit_move_cv 010373 constant entry internal dcl 1837 ref 1854 emit_move_cv_sent 010431 constant entry internal dcl 1849 ref 705 1334 1608 2393 2932 emit_move_cvi 014422 constant entry internal dcl 2782 ref 2799 emit_move_cvi_state 014446 constant entry internal dcl 2793 ref 2418 emit_move_int_state 020713 constant entry internal dcl 4070 ref 1629 emit_ng_abs 007545 constant entry internal dcl 1642 ref 2323 emit_ng_rel 020060 constant entry internal dcl 3944 ref 2317 emit_p_br 007221 constant entry internal dcl 1558 ref 141 emit_pb_blank_lines 017111 constant entry internal dcl 3689 ref 1647 2198 emit_perf 014665 constant entry internal dcl 2874 ref 2839 2860 2869 emit_perf_exit_sent 014611 constant entry internal dcl 2843 ref 1362 1380 1409 1443 1480 1513 1569 1588 2537 2577 2592 3925 emit_perf_exit_state 014635 constant entry internal dcl 2864 ref 1972 1978 2848 3818 3819 3826 3827 emit_perf_sent 014577 constant entry internal dcl 2834 ref 1337 1573 1995 emit_perf_state 014623 constant entry internal dcl 2855 ref 1631 1950 1962 2109 2143 2184 2212 2250 3971 3972 3978 3992 emit_pfex 006163 constant entry internal dcl 1279 ref 1365 1939 2036 2588 emit_picture 005670 constant entry internal dcl 1193 ref 1143 emit_pincr 007351 constant entry internal dcl 1598 ref 142 emit_pn 002635 constant entry internal dcl 484 ref 366 426 429 659 1534 1562 1603 2522 2899 2930 3004 3960 4037 emit_rel 017664 constant entry internal dcl 3873 ref 2387 emit_rel_con_test 014242 constant entry internal dcl 2727 ref 1944 1964 2025 2113 2136 2169 2208 2226 3701 4044 emit_rel_int_test 014266 constant entry internal dcl 2737 ref 700 2105 2179 2245 2280 2292 2311 3694 3935 3938 emit_rel_var_test 020364 constant entry internal dcl 4005 ref 3962 emit_rep_pn 015445 constant entry internal dcl 3064 ref 127 1319 1350 emit_rep_sec_name 014066 constant entry internal dcl 2661 ref 2692 3072 3090 emit_reset 010350 constant entry internal dcl 1828 ref 1795 1804 emit_reset_int 010325 constant entry internal dcl 1818 ref 1814 emit_reset_int_state 010310 constant entry internal dcl 1808 ref 2303 emit_reset_para 015272 constant entry internal dcl 3010 ref 2066 emit_reset_sent 010256 constant entry internal dcl 1790 ref 1321 1324 1326 1330 1332 1354 1595 1604 2266 2549 2551 2575 2596 emit_reset_state 010273 constant entry internal dcl 1799 ref 1320 2117 2144 2177 2213 2233 emit_rn_proc 011244 constant entry internal dcl 2031 ref 1931 emit_rn_test 011202 constant entry internal dcl 2022 ref 2010 emit_sc 015357 constant entry internal dcl 3035 ref 2004 2053 2057 3006 emit_section 017355 constant entry internal dcl 3752 ref 425 428 emit_stall_para 015243 constant entry internal dcl 2996 ref 205 emit_sum_counter_name 013416 constant entry internal dcl 2491 ref 2440 emit_thru 014535 constant entry internal dcl 2825 ref 2870 2993 emit_use_proc 010446 constant entry internal dcl 1858 ref 1874 emit_use_proc_sent 010470 constant entry internal dcl 1869 ref 1896 emit_w_bl 020450 constant entry internal dcl 4033 ref 144 emit_wr_bl 020472 constant entry internal dcl 4041 ref 4038 emit_write_fields 016663 constant entry internal dcl 3612 ref 1107 3597 emit_write_line 016526 constant entry internal dcl 3587 ref 1027 emit_write_sent 021070 constant entry internal dcl 4129 ref 1521 1612 1709 2462 emit_write_state 021056 constant entry internal dcl 4118 ref 1681 3702 3868 4045 end_sent 014106 constant entry internal dcl 2670 ref 1991 2451 ep 016022 constant entry internal dcl 3324 ref 3311 3317 err 001123 constant label dcl 102 ref 90 97 es 015774 constant entry internal dcl 3293 ref 3282 3288 field_name 006237 constant entry internal dcl 1291 ref 1139 1307 fill 005724 constant entry internal dcl 1205 ref 1133 1163 gen_S 002411 constant entry internal dcl 420 ref 70 gen_c_f 015023 constant entry internal dcl 2925 ref 230 gen_c_h 014724 constant entry internal dcl 2894 ref 176 gen_first_gen 013462 constant entry internal dcl 2515 ref 138 gen_init 006335 constant entry internal dcl 1315 ref 135 gen_ph 017754 constant entry internal dcl 3912 ref 2564 2570 gen_report 001124 constant entry internal dcl 112 ref 76 gen_report_init 016743 constant entry internal dcl 3626 ref 117 gen_reset_sums 007124 constant entry internal dcl 1528 ref 132 gen_scb 003311 constant entry internal dcl 648 ref 130 gen_term 006520 constant entry internal dcl 1343 ref 136 get_ref_ptr 016132 constant entry internal dcl 3383 ref 3373 3434 go_to_dep 002140 constant entry internal dcl 320 ref 368 2901 if_int_var_rel 014342 constant entry internal dcl 2759 ref 2777 if_var_rel 014312 constant entry internal dcl 2748 ref 2732 2743 4010 just_right 005650 constant entry internal dcl 1187 ref 1149 line_init 016454 constant entry internal dcl 3555 ref 69 line_redef 005237 constant entry internal dcl 1075 ref 973 978 983 988 998 1009 1021 line_redef_name 006120 constant entry internal dcl 1261 ref 1102 1309 op_con 020410 constant entry internal dcl 4015 ref 3975 3988 op_var 020430 constant entry internal dcl 4024 ref 3969 3989 pb_test 020006 constant entry internal dcl 3930 ref 2139 pg_vcl 003172 constant entry internal dcl 604 ref 513 527 544 553 565 567 571 574 581 587 592 qual_by_int 003552 constant entry internal dcl 725 ref 465 743 758 1104 1721 2687 3592 3594 3681 qual_by_rep 003524 constant entry internal dcl 714 ref 340 1699 1701 1755 1776 1778 1846 2714 2755 2821 2959 3606 3665 3721 3974 3987 4000 4011 4030 4080 qual_by_rep_proc 015473 constant entry internal dcl 3081 ref 2615 2831 2881 qual_field_name 006261 constant entry internal dcl 1302 ref 2446 qual_int_by_rep 003600 constant entry internal dcl 737 ref 671 2767 2790 qual_int_by_rep_proc 014122 constant entry internal dcl 2681 ref 334 1287 2646 2657 quoter 016464 constant entry internal dcl 3575 ref 3408 rep_descr 003743 constant entry internal dcl 792 ref 122 rep_term 002125 constant entry internal dcl 313 ref 84 rf0 000040 constant label array(0:3) dcl 1393 ref 1392 rf00 006710 constant label dcl 1409 ref 1393 1398 1403 1407 rf1 000044 constant label array(0:3) dcl 1426 ref 1425 rf10 006757 constant label dcl 1440 ref 1426 1430 1434 1438 rf2 000050 constant label array(0:3) dcl 1463 ref 1462 rf20 007035 constant label dcl 1477 ref 1463 1467 1471 1475 rf3 000054 constant label array(0:3) dcl 1496 ref 1495 rf30 007077 constant label dcl 1510 ref 1496 1500 1504 1508 sbc 017250 constant entry internal dcl 3709 ref 3696 3699 seta 016031 constant entry internal dcl 3332 ref 3313 3319 sign_clause 006040 constant entry internal dcl 1238 ref 1145 skip_to_a 015722 constant entry internal dcl 3253 ref 315 449 489 756 782 2979 3070 3447 3757 skip_to_b 015661 constant entry internal dcl 3220 ref 328 377 453 665 1296 1542 1717 1774 1842 1863 2423 2613 2644 2655 2675 2700 2712 2753 2765 2788 2808 2879 2909 2957 3022 3049 3603 3662 3747 3771 4076 4098 4105 4113 skip_to_col 015733 constant entry internal dcl 3261 ref 2722 2981 sum_descr 017477 constant entry internal dcl 3806 ref 923 tct 017444 constant entry internal dcl 3788 ref 3780 3782 test_control_tables 017414 constant entry internal dcl 3777 ref 128 unqual_name 021103 constant entry internal dcl 4141 ref 3473 usage 005630 constant entry internal dcl 1180 ref 1151 use_proc 010502 constant entry internal dcl 1878 ref 256 271 286 301 1920 2008 2061 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 23620 23646 23504 23630 Length 24200 23504 26 316 114 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME cobol_generate_report 3587 external procedure is an external procedure. gen_report internal procedure shares stack frame of external procedure cobol_generate_report. rep_term internal procedure shares stack frame of external procedure cobol_generate_report. go_to_dep internal procedure shares stack frame of external procedure cobol_generate_report. control_function internal procedure shares stack frame of external procedure cobol_generate_report. gen_S internal procedure shares stack frame of external procedure cobol_generate_report. emit_exit_para internal procedure shares stack frame of external procedure cobol_generate_report. control_item internal procedure shares stack frame of external procedure cobol_generate_report. dl internal procedure shares stack frame of external procedure cobol_generate_report. emit_pn internal procedure shares stack frame of external procedure cobol_generate_report. def_val_clauses internal procedure shares stack frame of external procedure cobol_generate_report. pg_vcl internal procedure shares stack frame of external procedure cobol_generate_report. descr_line internal procedure shares stack frame of external procedure cobol_generate_report. descr_line_int internal procedure shares stack frame of external procedure cobol_generate_report. gen_scb internal procedure shares stack frame of external procedure cobol_generate_report. qual_by_rep internal procedure shares stack frame of external procedure cobol_generate_report. qual_by_int internal procedure shares stack frame of external procedure cobol_generate_report. qual_int_by_rep internal procedure shares stack frame of external procedure cobol_generate_report. emit_ind_pn internal procedure shares stack frame of external procedure cobol_generate_report. emit_group_name internal procedure shares stack frame of external procedure cobol_generate_report. emit_gp_pn internal procedure shares stack frame of external procedure cobol_generate_report. rep_descr internal procedure shares stack frame of external procedure cobol_generate_report. control_struct internal procedure shares stack frame of external procedure cobol_generate_report. append_control_name internal procedure shares stack frame of external procedure cobol_generate_report. def_sum_counters internal procedure shares stack frame of external procedure cobol_generate_report. def_line_buffer internal procedure shares stack frame of external procedure cobol_generate_report. emit_lev_tok_item internal procedure shares stack frame of external procedure cobol_generate_report. emit_lev_item internal procedure shares stack frame of external procedure cobol_generate_report. append_value internal procedure shares stack frame of external procedure cobol_generate_report. line_redef internal procedure shares stack frame of external procedure cobol_generate_report. blank_zero internal procedure shares stack frame of external procedure cobol_generate_report. usage internal procedure shares stack frame of external procedure cobol_generate_report. just_right internal procedure shares stack frame of external procedure cobol_generate_report. emit_picture internal procedure shares stack frame of external procedure cobol_generate_report. fill internal procedure shares stack frame of external procedure cobol_generate_report. emit_blank_lines_data internal procedure shares stack frame of external procedure cobol_generate_report. append_pic_x internal procedure shares stack frame of external procedure cobol_generate_report. sign_clause internal procedure shares stack frame of external procedure cobol_generate_report. line_redef_name internal procedure shares stack frame of external procedure cobol_generate_report. emit_pfex internal procedure shares stack frame of external procedure cobol_generate_report. field_name internal procedure shares stack frame of external procedure cobol_generate_report. qual_field_name internal procedure shares stack frame of external procedure cobol_generate_report. gen_init internal procedure shares stack frame of external procedure cobol_generate_report. gen_term internal procedure shares stack frame of external procedure cobol_generate_report. gen_reset_sums internal procedure shares stack frame of external procedure cobol_generate_report. emit_p_br internal procedure shares stack frame of external procedure cobol_generate_report. emit_pincr internal procedure shares stack frame of external procedure cobol_generate_report. emit_bl_abs internal procedure shares stack frame of external procedure cobol_generate_report. emit_ng_abs internal procedure shares stack frame of external procedure cobol_generate_report. emit_bl_rel internal procedure shares stack frame of external procedure cobol_generate_report. EMIT_REL internal procedure shares stack frame of external procedure cobol_generate_report. emit_bl_abs_var internal procedure shares stack frame of external procedure cobol_generate_report. emit_WR internal procedure shares stack frame of external procedure cobol_generate_report. emit_incr_sent internal procedure shares stack frame of external procedure cobol_generate_report. emit_incr_state internal procedure shares stack frame of external procedure cobol_generate_report. emit_incr internal procedure shares stack frame of external procedure cobol_generate_report. emit_incr_var internal procedure shares stack frame of external procedure cobol_generate_report. emit_incr_var_state internal procedure shares stack frame of external procedure cobol_generate_report. emit_reset_sent internal procedure shares stack frame of external procedure cobol_generate_report. emit_reset_state internal procedure shares stack frame of external procedure cobol_generate_report. emit_reset_int_state internal procedure shares stack frame of external procedure cobol_generate_report. emit_reset_int internal procedure shares stack frame of external procedure cobol_generate_report. emit_reset internal procedure shares stack frame of external procedure cobol_generate_report. emit_move_cv internal procedure shares stack frame of external procedure cobol_generate_report. emit_move_cv_sent internal procedure shares stack frame of external procedure cobol_generate_report. emit_use_proc internal procedure shares stack frame of external procedure cobol_generate_report. emit_use_proc_sent internal procedure shares stack frame of external procedure cobol_generate_report. use_proc internal procedure shares stack frame of external procedure cobol_generate_report. ch_group internal procedure shares stack frame of external procedure cobol_generate_report. de_group internal procedure shares stack frame of external procedure cobol_generate_report. emit_rn_test internal procedure shares stack frame of external procedure cobol_generate_report. emit_rn_proc internal procedure shares stack frame of external procedure cobol_generate_report. cf_group internal procedure shares stack frame of external procedure cobol_generate_report. body_group internal procedure shares stack frame of external procedure cobol_generate_report. emit_lines internal procedure shares stack frame of external procedure cobol_generate_report. emit_identifier internal procedure shares stack frame of external procedure cobol_generate_report. emit_sum_counter_name internal procedure shares stack frame of external procedure cobol_generate_report. gen_first_gen internal procedure shares stack frame of external procedure cobol_generate_report. emit_go_to_sent internal procedure shares stack frame of external procedure cobol_generate_report. emit_go_to internal procedure shares stack frame of external procedure cobol_generate_report. emit_ind_go_to_state internal procedure shares stack frame of external procedure cobol_generate_report. emit_ind_go_to_sent internal procedure shares stack frame of external procedure cobol_generate_report. emit_ind_go_to internal procedure shares stack frame of external procedure cobol_generate_report. emit_ind_perf internal procedure shares stack frame of external procedure cobol_generate_report. emit_rep_sec_name internal procedure shares stack frame of external procedure cobol_generate_report. end_sent internal procedure shares stack frame of external procedure cobol_generate_report. qual_int_by_rep_proc internal procedure shares stack frame of external procedure cobol_generate_report. de_word internal procedure shares stack frame of external procedure cobol_generate_report. emit_compute_lhs internal procedure shares stack frame of external procedure cobol_generate_report. emit_rel_con_test internal procedure shares stack frame of external procedure cobol_generate_report. emit_rel_int_test internal procedure shares stack frame of external procedure cobol_generate_report. if_var_rel internal procedure shares stack frame of external procedure cobol_generate_report. if_int_var_rel internal procedure shares stack frame of external procedure cobol_generate_report. emit_irel_con_test internal procedure shares stack frame of external procedure cobol_generate_report. emit_move_cvi internal procedure shares stack frame of external procedure cobol_generate_report. emit_move_cvi_state internal procedure shares stack frame of external procedure cobol_generate_report. emit_move_con internal procedure shares stack frame of external procedure cobol_generate_report. emit_move_con_state internal procedure shares stack frame of external procedure cobol_generate_report. emit_thru internal procedure shares stack frame of external procedure cobol_generate_report. emit_perf_sent internal procedure shares stack frame of external procedure cobol_generate_report. emit_perf_exit_sent internal procedure shares stack frame of external procedure cobol_generate_report. emit_perf_state internal procedure shares stack frame of external procedure cobol_generate_report. emit_perf_exit_state internal procedure shares stack frame of external procedure cobol_generate_report. emit_perf internal procedure shares stack frame of external procedure cobol_generate_report. emit_ind_perf_sent internal procedure shares stack frame of external procedure cobol_generate_report. gen_c_h internal procedure shares stack frame of external procedure cobol_generate_report. gen_c_f internal procedure shares stack frame of external procedure cobol_generate_report. emit_comment internal procedure shares stack frame of external procedure cobol_generate_report. emit_ind_perf_exit_state internal procedure shares stack frame of external procedure cobol_generate_report. emit_stall_para internal procedure shares stack frame of external procedure cobol_generate_report. emit_reset_para internal procedure shares stack frame of external procedure cobol_generate_report. emit_sc internal procedure shares stack frame of external procedure cobol_generate_report. emit_rep_pn internal procedure shares stack frame of external procedure cobol_generate_report. qual_by_rep_proc internal procedure shares stack frame of external procedure cobol_generate_report. append_var_string internal procedure shares stack frame of external procedure cobol_generate_report. append_refer_string internal procedure shares stack frame of external procedure cobol_generate_report. append_integer internal procedure shares stack frame of external procedure cobol_generate_report. append_sep_var_string internal procedure shares stack frame of external procedure cobol_generate_report. append_sep_refer_string internal procedure shares stack frame of external procedure cobol_generate_report. append_sep_integer internal procedure shares stack frame of external procedure cobol_generate_report. skip_to_b internal procedure shares stack frame of external procedure cobol_generate_report. skip_to_a internal procedure shares stack frame of external procedure cobol_generate_report. skip_to_col internal procedure shares stack frame of external procedure cobol_generate_report. append_space internal procedure shares stack frame of external procedure cobol_generate_report. es internal procedure shares stack frame of external procedure cobol_generate_report. append_period internal procedure shares stack frame of external procedure cobol_generate_report. ep internal procedure shares stack frame of external procedure cobol_generate_report. seta internal procedure shares stack frame of external procedure cobol_generate_report. append_list internal procedure shares stack frame of external procedure cobol_generate_report. append_token internal procedure shares stack frame of external procedure cobol_generate_report. get_ref_ptr internal procedure shares stack frame of external procedure cobol_generate_report. append_sep_token internal procedure shares stack frame of external procedure cobol_generate_report. append_level_number internal procedure shares stack frame of external procedure cobol_generate_report. append_qual_name internal procedure shares stack frame of external procedure cobol_generate_report. emit_line internal procedure shares stack frame of external procedure cobol_generate_report. EMIT internal procedure shares stack frame of external procedure cobol_generate_report. line_init internal procedure shares stack frame of external procedure cobol_generate_report. quoter internal procedure shares stack frame of external procedure cobol_generate_report. emit_write_line internal procedure shares stack frame of external procedure cobol_generate_report. emit_write_fields internal procedure shares stack frame of external procedure cobol_generate_report. gen_report_init internal procedure shares stack frame of external procedure cobol_generate_report. emit_line_size_init internal procedure shares stack frame of external procedure cobol_generate_report. buffer_name_def internal procedure shares stack frame of external procedure cobol_generate_report. emit_pb_blank_lines internal procedure shares stack frame of external procedure cobol_generate_report. sbc internal procedure shares stack frame of external procedure cobol_generate_report. descr_pic_line internal procedure shares stack frame of external procedure cobol_generate_report. LINE internal procedure shares stack frame of external procedure cobol_generate_report. emit_section internal procedure shares stack frame of external procedure cobol_generate_report. SENT internal procedure shares stack frame of external procedure cobol_generate_report. test_control_tables internal procedure shares stack frame of external procedure cobol_generate_report. tct internal procedure shares stack frame of external procedure cobol_generate_report. sum_descr internal procedure shares stack frame of external procedure cobol_generate_report. cb_save internal procedure shares stack frame of external procedure cobol_generate_report. cb_restore internal procedure shares stack frame of external procedure cobol_generate_report. emit_comp internal procedure shares stack frame of external procedure cobol_generate_report. emit_comp_end internal procedure shares stack frame of external procedure cobol_generate_report. emit_comp_write internal procedure shares stack frame of external procedure cobol_generate_report. emit_rel internal procedure shares stack frame of external procedure cobol_generate_report. emit_abs internal procedure shares stack frame of external procedure cobol_generate_report. clear_line internal procedure shares stack frame of external procedure cobol_generate_report. gen_ph internal procedure shares stack frame of external procedure cobol_generate_report. pb_test internal procedure shares stack frame of external procedure cobol_generate_report. emit_ng_rel internal procedure shares stack frame of external procedure cobol_generate_report. emit_b_abs internal procedure shares stack frame of external procedure cobol_generate_report. emit_rel_var_test internal procedure shares stack frame of external procedure cobol_generate_report. op_con internal procedure shares stack frame of external procedure cobol_generate_report. op_var internal procedure shares stack frame of external procedure cobol_generate_report. emit_w_bl internal procedure shares stack frame of external procedure cobol_generate_report. emit_wr_bl internal procedure shares stack frame of external procedure cobol_generate_report. emit_end_page_rec internal procedure shares stack frame of external procedure cobol_generate_report. bld internal procedure shares stack frame of external procedure cobol_generate_report. emit_move_int_state internal procedure shares stack frame of external procedure cobol_generate_report. emit_ABS internal procedure shares stack frame of external procedure cobol_generate_report. emit_if_test internal procedure shares stack frame of external procedure cobol_generate_report. STATE internal procedure shares stack frame of external procedure cobol_generate_report. emit_write_state internal procedure shares stack frame of external procedure cobol_generate_report. emit_write_sent internal procedure shares stack frame of external procedure cobol_generate_report. unqual_name internal procedure shares stack frame of external procedure cobol_generate_report. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME cobol_generate_report 000100 g_i_count cobol_generate_report 000101 control_count cobol_generate_report 000102 group_number cobol_generate_report 000103 line_number cobol_generate_report 000104 field_number cobol_generate_report 000105 gch cobol_generate_report 000116 CODE cobol_generate_report 000117 code cobol_generate_report 000130 buffer_size cobol_generate_report 000131 line_rd cobol_generate_report 000132 ld cobol_generate_report 000133 ft cobol_generate_report 000134 line cobol_generate_report 000236 first_line cobol_generate_report 000237 trace_bit cobol_generate_report 000240 b_incr cobol_generate_report 000242 rwfp cobol_generate_report 000244 refer_ptr cobol_generate_report 000246 rwdd cobol_generate_report 000247 ddloc cobol_generate_report 000250 pdloc cobol_generate_report 000251 ALF cobol_generate_report 000314 alf_lit_ptr cobol_generate_report 000316 efg cobol_generate_report 000320 control_name_table_loc cobol_generate_report 000322 addr_record cobol_generate_report 000324 list_def_ptr cobol_generate_report 000326 integer_spec_ptr cobol_generate_report 000330 current_report_loc cobol_generate_report 000332 rt_ptr cobol_generate_report 000334 tn_ptr cobol_generate_report 000336 ch_table_ptr cobol_generate_report 000340 cf_table_ptr cobol_generate_report 000342 de_table_ptr cobol_generate_report 000344 LINE_table_ptr cobol_generate_report 000346 FIELD_table_ptr cobol_generate_report 000350 qual_name_ptr cobol_generate_report 000352 qual_name_seq_ptr cobol_generate_report 000354 sum_ptr cobol_generate_report 000356 ident_ptr cobol_generate_report 000360 reset_chain_entry_ptr cobol_generate_report 000362 chain_entry_ptr cobol_generate_report 000372 i gen_report 000412 i go_to_dep 000422 i control_function 000520 i gen_scb 000574 i rep_descr 000604 i control_struct 000622 i def_sum_counters 000632 p def_line_buffer 000634 gn def_line_buffer 000670 fill_size line_redef 000671 ltn line_redef 000672 first line_redef 000673 last line_redef 000674 size line_redef 000675 field_size line_redef 000676 left_fill_size line_redef 000677 lev line_redef 000762 type sign_clause 001030 abs gen_term 001031 rel gen_term 001032 line gen_term 001033 type gen_term 001034 page gen_term 001044 i gen_reset_sums 001260 p use_proc 001262 sep use_proc 001330 type body_group 001331 line body_group 001332 size body_group 001333 st body_group 001352 line_num emit_lines 001353 prev_line_num emit_lines 001354 line_size emit_lines 001355 first emit_lines 001356 last emit_lines 001357 size emit_lines 001360 ltn emit_lines 001361 data_type emit_lines 001362 nd_loc emit_lines 001402 p emit_sum_counter_name 001404 q emit_sum_counter_name 001414 line gen_first_gen 001415 type gen_first_gen 001416 heading gen_first_gen 001417 value gen_first_gen 001670 i gen_c_h 001700 i gen_c_f 001701 j gen_c_f 001762 sz append_var_string 001772 sz append_refer_string 002002 dec_int append_integer 002003 dec_size append_integer 002034 loc skip_to_b 002116 st append_list 002117 i append_list 002120 rec_size append_list 002136 type get_ref_ptr 002154 sz append_level_number 002164 i append_qual_name 002165 ct append_qual_name 002176 sz emit_line 002340 i tct 002436 line gen_ph 002437 type gen_ph 002606 char12 unqual_name THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp cat_realloc_chars call_ext_out_desc call_ext_out return_mac shorten_stack ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. cobol_io_$cobol_msf_start cobol_swf_get hcs_$set_bc_seg ioa_$rsnnl THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. cobol_ext_$cobol_m1fp cobol_ext_$cobol_rwdd cobol_ext_$cobol_rwpd LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 34 001001 60 001012 61 001016 62 001020 63 001023 64 001026 65 001030 66 001035 67 001036 69 001040 70 001041 72 001042 76 001046 79 001052 81 001055 83 001056 84 001060 87 001061 90 001100 94 001102 97 001121 102 001123 112 001124 117 001125 119 001126 122 001130 124 001131 127 001132 128 001141 130 001142 132 001143 135 001151 136 001152 138 001153 141 001156 142 001157 143 001160 144 001161 146 001162 149 001164 150 001175 153 001212 154 001223 157 001240 158 001251 161 001266 162 001277 167 001314 169 001321 171 001323 173 001334 175 001343 176 001354 178 001355 180 001361 182 001366 183 001377 186 001402 188 001411 190 001422 192 001424 195 001426 197 001433 199 001435 201 001446 203 001455 205 001461 209 001465 212 001477 214 001511 216 001513 217 001516 221 001521 223 001526 225 001530 227 001541 229 001550 230 001561 232 001562 234 001566 236 001573 237 001604 240 001607 242 001617 244 001630 246 001632 249 001634 251 001641 253 001643 255 001654 256 001664 258 001673 260 001677 261 001703 264 001712 266 001717 268 001721 270 001732 271 001742 273 001751 275 001755 276 001761 279 001770 281 001775 283 001777 285 002010 286 002020 288 002027 290 002033 291 002037 294 002046 296 002053 298 002055 300 002066 301 002076 303 002105 305 002111 306 002115 311 002124 313 002125 315 002126 316 002127 317 002136 318 002137 320 002140 328 002142 329 002143 330 002151 332 002157 334 002167 336 002200 338 002202 339 002211 340 002217 341 002225 343 002226 345 002227 363 002231 366 002236 368 002244 371 002260 374 002267 377 002303 378 002304 380 002312 382 002315 386 002317 388 002320 392 002330 394 002331 397 002337 399 002342 403 002352 405 002353 409 002355 411 002356 414 002357 416 002361 418 002407 420 002411 423 002412 425 002413 426 002421 427 002427 428 002436 429 002444 430 002452 432 002461 434 002463 435 002474 436 002507 438 002523 444 002524 449 002526 450 002527 451 002536 453 002544 454 002545 455 002553 457 002554 459 002555 465 002557 467 002570 468 002576 470 002605 472 002606 478 002610 479 002616 480 002625 482 002634 484 002635 489 002637 490 002640 491 002647 493 002650 495 002651 502 002652 504 002655 506 002671 507 002705 508 002721 509 002735 511 002751 513 002752 517 002762 519 002763 522 002766 525 003002 527 003003 531 003013 533 003014 536 003017 539 003021 542 003035 544 003036 548 003046 550 003047 553 003050 557 003060 559 003061 562 003064 565 003066 567 003076 569 003107 571 003110 574 003120 576 003131 578 003132 581 003133 585 003143 587 003146 590 003156 592 003157 596 003167 598 003170 601 003171 604 003172 612 003174 614 003177 615 003203 616 003212 617 003221 618 003230 619 003237 621 003240 623 003241 629 003243 630 003254 632 003255 634 003256 641 003260 642 003271 643 003300 644 003307 646 003310 648 003311 653 003312 655 003315 658 003321 659 003332 661 003340 663 003347 665 003353 667 003354 670 003365 671 003373 672 003401 673 003407 675 003416 677 003420 679 003421 681 003423 682 003432 683 003434 685 003435 686 003436 687 003440 689 003446 691 003450 692 003457 693 003465 695 003466 697 003467 700 003471 703 003505 705 003507 707 003522 712 003523 714 003524 719 003526 720 003534 721 003542 723 003551 725 003552 731 003554 732 003562 733 003570 735 003577 737 003600 743 003602 744 003613 745 003621 747 003630 749 003631 756 003633 758 003634 760 003651 762 003657 763 003660 765 003661 771 003663 773 003674 775 003705 777 003706 782 003710 783 003711 785 003717 787 003732 789 003741 790 003742 792 003743 797 003744 798 003755 799 003761 800 003770 802 003771 804 003772 805 004002 806 004013 807 004024 808 004035 809 004045 810 004055 811 004065 813 004075 815 004111 817 004114 820 004115 824 004126 825 004132 826 004141 827 004143 828 004151 830 004152 831 004156 833 004165 835 004166 837 004175 838 004201 839 004207 840 004211 842 004220 844 004221 848 004223 853 004231 855 004233 856 004244 857 004256 860 004270 861 004271 863 004272 870 004274 871 004300 872 004307 874 004310 876 004317 877 004323 878 004332 879 004334 880 004343 881 004345 883 004346 885 004350 887 004351 892 004353 894 004360 896 004362 898 004363 903 004364 905 004375 907 004403 910 004412 912 004415 914 004422 917 004430 919 004445 923 004453 927 004466 929 004475 931 004476 933 004501 936 004502 938 004504 945 004505 951 004506 952 004517 953 004531 954 004532 956 004533 957 004544 958 004553 960 004565 962 004630 963 004646 964 004652 965 004660 966 004662 968 004663 970 004665 972 004672 973 004676 975 004710 977 004715 978 004721 980 004733 982 004740 983 004744 985 004756 987 004763 988 004767 991 005001 993 005005 995 005010 998 005025 1000 005036 1002 005040 1004 005044 1006 005047 1009 005063 1011 005075 1013 005077 1015 005103 1017 005106 1020 005121 1021 005125 1024 005133 1027 005135 1028 005136 1032 005137 1039 005141 1040 005147 1041 005156 1042 005157 1046 005160 1052 005162 1053 005170 1055 005177 1058 005214 1059 005215 1061 005216 1066 005220 1067 005227 1068 005236 1075 005237 1082 005241 1086 005246 1088 005250 1089 005261 1093 005262 1095 005310 1096 005315 1097 005317 1099 005321 1101 005331 1102 005335 1103 005346 1104 005355 1105 005373 1107 005374 1112 005402 1113 005410 1114 005412 1115 005415 1117 005417 1121 005427 1122 005433 1123 005437 1126 005441 1129 005455 1130 005467 1133 005471 1138 005502 1139 005504 1141 005512 1143 005517 1145 005520 1147 005526 1149 005536 1151 005544 1154 005551 1156 005552 1158 005553 1161 005555 1163 005562 1168 005600 1170 005602 1172 005603 1175 005604 1176 005613 1177 005621 1178 005627 1180 005630 1183 005631 1184 005640 1185 005647 1187 005650 1190 005651 1191 005660 1192 005667 1193 005670 1195 005671 1198 005706 1200 005714 1204 005723 1205 005724 1211 005726 1212 005734 1213 005743 1216 005752 1217 005753 1219 005754 1222 005755 1223 005764 1224 005776 1226 006010 1228 006011 1233 006013 1234 006022 1235 006031 1236 006037 1238 006040 1242 006041 1244 006046 1247 006050 1250 006056 1252 006073 1254 006102 1257 006110 1259 006117 1261 006120 1266 006122 1268 006124 1270 006130 1271 006136 1274 006145 1276 006153 1278 006162 1279 006163 1285 006165 1286 006176 1287 006204 1288 006234 1289 006236 1291 006237 1296 006241 1297 006242 1298 006251 1300 006260 1302 006261 1307 006263 1308 006300 1309 006306 1310 006317 1311 006325 1313 006334 1315 006335 1318 006336 1319 006347 1320 006356 1321 006370 1324 006403 1326 006421 1330 006440 1332 006453 1334 006466 1337 006503 1341 006517 1343 006520 1349 006521 1350 006532 1352 006541 1354 006546 1355 006560 1358 006561 1362 006566 1365 006574 1368 006611 1371 006617 1373 006622 1375 006626 1377 006630 1379 006632 1380 006640 1383 006646 1385 006650 1388 006655 1389 006657 1390 006661 1392 006663 1393 006665 1395 006666 1397 006672 1398 006673 1399 006674 1401 006676 1403 006701 1404 006702 1406 006706 1407 006707 1409 006710 1414 006716 1416 006717 1419 006722 1421 006727 1422 006731 1423 006733 1425 006735 1426 006737 1428 006740 1430 006744 1432 006745 1434 006751 1436 006752 1438 006756 1440 006757 1443 006760 1446 006766 1448 006767 1451 006774 1453 006775 1456 007000 1458 007005 1459 007007 1460 007011 1462 007013 1463 007015 1465 007016 1467 007022 1469 007023 1471 007027 1473 007030 1475 007034 1477 007035 1480 007036 1485 007044 1489 007045 1491 007051 1492 007053 1493 007055 1495 007057 1496 007061 1498 007062 1500 007066 1502 007067 1504 007071 1506 007072 1508 007076 1510 007077 1513 007100 1517 007106 1518 007113 1521 007114 1523 007123 1528 007124 1533 007125 1534 007136 1536 007145 1538 007153 1540 007157 1542 007164 1543 007165 1544 007174 1545 007203 1546 007211 1548 007212 1550 007215 1552 007216 1554 007220 1558 007221 1561 007222 1562 007233 1564 007241 1566 007246 1567 007250 1569 007256 1572 007264 1573 007272 1575 007301 1577 007306 1579 007310 1584 007322 1588 007330 1595 007336 1596 007350 1598 007351 1601 007352 1603 007363 1604 007372 1605 007405 1606 007424 1608 007435 1612 007452 1615 007461 1620 007462 1625 007464 1627 007475 1629 007503 1630 007517 1631 007520 1632 007527 1634 007530 1638 007543 1640 007544 1642 007545 1647 007547 1649 007560 1651 007561 1655 007563 1658 007566 1660 007577 1662 007613 1664 007614 1670 007616 1673 007620 1674 007627 1675 007636 1676 007645 1681 007646 1687 007655 1689 007675 1691 007676 1696 007700 1698 007711 1699 007722 1700 007731 1701 007737 1702 007746 1703 007755 1707 007756 1709 007774 1710 010003 1712 010004 1717 010006 1718 010007 1719 010016 1720 010025 1721 010033 1722 010045 1724 010054 1726 010055 1732 010057 1733 010070 1734 010071 1736 010072 1742 010074 1744 010105 1745 010114 1746 010115 1748 010116 1754 010120 1755 010132 1758 010141 1760 010144 1761 010152 1762 010161 1764 010162 1765 010170 1767 010175 1769 010176 1774 010200 1775 010201 1776 010214 1777 010223 1778 010231 1779 010240 1781 010241 1786 010243 1787 010254 1788 010255 1790 010256 1795 010260 1796 010271 1797 010272 1799 010273 1804 010275 1805 010306 1806 010307 1808 010310 1814 010312 1815 010323 1816 010324 1818 010325 1824 010327 1825 010340 1826 010347 1828 010350 1833 010352 1834 010363 1835 010372 1837 010373 1842 010375 1843 010376 1844 010404 1845 010413 1846 010421 1847 010430 1849 010431 1854 010433 1855 010444 1856 010445 1858 010446 1863 010450 1864 010451 1865 010460 1867 010467 1869 010470 1874 010472 1875 010500 1876 010501 1878 010502 1886 010504 1888 010507 1891 010514 1893 010517 1896 010527 1898 010531 1901 010533 1902 010542 1906 010551 1908 010552 1913 010554 1914 010561 1917 010566 1919 010570 1920 010605 1921 010614 1922 010631 1923 010640 1925 010641 1931 010643 1935 010653 1936 010661 1938 010665 1939 010673 1940 010710 1942 010725 1944 010726 1948 010750 1950 010752 1953 010762 1956 010763 1958 010770 1960 010776 1962 011000 1964 011005 1967 011024 1969 011026 1972 011027 1975 011042 1978 011043 1981 011056 1983 011060 1985 011067 1991 011070 1995 011101 1999 011113 2004 011116 2008 011141 2010 011150 2013 011155 2017 011172 2019 011201 2022 011202 2025 011203 2026 011222 2027 011234 2029 011243 2031 011244 2034 011245 2035 011250 2036 011262 2038 011272 2040 011273 2045 011275 2047 011302 2049 011307 2051 011311 2053 011326 2057 011353 2061 011400 2062 011407 2063 011424 2066 011433 2068 011447 2074 011450 2086 011452 2087 011455 2088 011457 2089 011461 2090 011504 2092 011510 2094 011512 2096 011513 2099 011515 2101 011516 2105 011532 2107 011546 2109 011550 2111 011556 2113 011562 2116 011601 2117 011607 2119 011621 2121 011632 2122 011633 2124 011635 2127 011644 2129 011645 2130 011654 2132 011656 2134 011657 2136 011670 2137 011707 2139 011743 2141 011753 2143 011755 2144 011763 2146 011775 2147 012006 2149 012007 2151 012010 2153 012016 2155 012020 2156 012022 2158 012031 2160 012032 2161 012066 2164 012123 2167 012130 2169 012132 2172 012151 2174 012157 2177 012161 2179 012173 2182 012212 2184 012214 2186 012222 2188 012224 2190 012233 2192 012235 2194 012244 2198 012245 2199 012261 2202 012262 2203 012316 2205 012320 2208 012331 2210 012350 2212 012352 2213 012360 2215 012372 2216 012403 2218 012404 2220 012405 2222 012413 2224 012417 2226 012421 2229 012440 2231 012446 2233 012450 2235 012462 2237 012464 2239 012473 2243 012474 2245 012476 2248 012512 2250 012514 2252 012522 2254 012524 2256 012533 2258 012540 2260 012541 2261 012550 2263 012551 2266 012560 2268 012572 2269 012575 2271 012577 2273 012602 2278 012610 2280 012613 2281 012637 2285 012641 2288 012643 2290 012650 2292 012651 2294 012664 2296 012666 2297 012673 2299 012675 2300 012703 2302 012705 2303 012707 2304 012715 2306 012717 2307 012726 2309 012730 2311 012731 2315 012747 2317 012751 2318 012753 2320 012755 2321 012763 2323 012765 2324 012767 2326 012771 2327 013000 2329 013002 2331 013003 2335 013016 2337 013017 2339 013020 2345 013021 2360 013023 2362 013026 2364 013030 2368 013032 2370 013041 2371 013045 2373 013050 2375 013053 2377 013060 2378 013061 2380 013062 2382 013064 2383 013066 2384 013073 2385 013075 2387 013076 2389 013102 2393 013104 2395 013117 2396 013127 2399 013131 2400 013137 2401 013141 2403 013144 2405 013153 2407 013164 2408 013171 2409 013175 2411 013177 2413 013202 2416 013233 2418 013235 2423 013256 2424 013257 2426 013265 2427 013267 2430 013276 2432 013277 2434 013301 2436 013302 2438 013304 2440 013305 2442 013306 2444 013307 2446 013315 2448 013330 2450 013334 2451 013335 2452 013344 2453 013345 2455 013346 2457 013347 2459 013350 2461 013352 2462 013354 2466 013363 2470 013364 2472 013366 2473 013367 2475 013370 2480 013372 2482 013375 2484 013403 2486 013407 2489 013415 2491 013416 2496 013417 2498 013426 2500 013431 2502 013436 2504 013441 2506 013445 2507 013453 2510 013455 2512 013460 2513 013461 2515 013462 2521 013463 2522 013474 2524 013502 2526 013507 2528 013511 2529 013513 2530 013515 2532 013517 2534 013525 2537 013533 2539 013541 2540 013544 2542 013546 2544 013550 2547 013551 2549 013560 2551 013573 2554 013606 2556 013607 2558 013611 2560 013612 2562 013614 2564 013615 2568 013625 2570 013626 2573 013637 2575 013644 2577 013656 2581 013665 2584 013672 2588 013674 2592 013707 2596 013715 2597 013730 2599 013731 2604 013733 2605 013741 2606 013742 2608 013743 2613 013745 2614 013746 2615 013755 2616 013764 2618 013765 2624 013767 2626 014000 2628 014001 2634 014003 2635 014014 2636 014015 2638 014016 2644 014020 2645 014021 2646 014030 2647 014041 2649 014042 2655 014044 2656 014045 2657 014054 2659 014065 2661 014066 2666 014070 2667 014076 2668 014105 2670 014106 2675 014110 2676 014111 2677 014120 2679 014121 2681 014122 2687 014124 2689 014141 2691 014147 2692 014155 2693 014163 2695 014164 2700 014166 2701 014167 2702 014176 2704 014177 2706 014200 2712 014202 2713 014203 2714 014212 2715 014221 2717 014227 2720 014233 2722 014234 2724 014241 2727 014242 2732 014244 2733 014255 2734 014264 2735 014265 2737 014266 2743 014270 2744 014301 2745 014310 2746 014311 2748 014312 2753 014314 2754 014315 2755 014323 2756 014332 2757 014341 2759 014342 2765 014344 2766 014345 2767 014353 2768 014364 2769 014373 2771 014374 2777 014376 2778 014411 2779 014420 2780 014421 2782 014422 2788 014424 2789 014425 2790 014434 2791 014445 2793 014446 2799 014450 2800 014463 2801 014464 2803 014465 2808 014467 2809 014470 2810 014476 2811 014505 2813 014513 2815 014514 2820 014516 2821 014524 2822 014533 2823 014534 2825 014535 2830 014537 2831 014545 2832 014575 2834 014577 2839 014601 2840 014607 2841 014610 2843 014611 2848 014613 2849 014621 2850 014622 2855 014623 2860 014625 2861 014633 2863 014634 2864 014635 2869 014637 2870 014645 2871 014663 2872 014664 2874 014665 2879 014667 2880 014670 2881 014677 2882 014706 2884 014707 2890 014711 2891 014722 2892 014723 2894 014724 2899 014725 2901 014733 2904 014752 2907 014761 2909 014772 2911 014773 2914 015002 2916 015010 2919 015011 2921 015013 2923 015022 2925 015023 2930 015024 2932 015032 2935 015050 2938 015052 2942 015057 2944 015065 2947 015073 2950 015074 2954 015110 2957 015113 2958 015114 2959 015122 2960 015130 2962 015137 2963 015141 2964 015150 2967 015151 2969 015154 2971 015163 2973 015164 2979 015166 2980 015167 2981 015171 2982 015200 2983 015207 2984 015210 2986 015211 2992 015213 2993 015224 2994 015242 2996 015243 3004 015244 3006 015253 3008 015271 3010 015272 3016 015274 3018 015301 3020 015317 3022 015324 3023 015325 3024 015334 3026 015343 3027 015351 3029 015352 3031 015355 3033 015356 3035 015357 3042 015361 3044 015373 3045 015374 3047 015400 3049 015404 3050 015405 3051 015413 3052 015422 3053 015430 3055 015437 3058 015440 3060 015443 3062 015444 3064 015445 3070 015447 3072 015450 3074 015457 3077 015471 3079 015472 3081 015473 3086 015475 3088 015503 3090 015511 3093 015517 3103 015520 3112 015522 3114 015525 3115 015532 3117 015533 3119 015534 3134 015536 3136 015541 3137 015546 3139 015547 3141 015550 3153 015552 3155 015554 3156 015556 3157 015560 3160 015561 3164 015610 3165 015615 3167 015617 3169 015620 3178 015622 3180 015623 3182 015632 3184 015633 3193 015635 3195 015636 3197 015645 3199 015646 3208 015650 3210 015651 3212 015660 3220 015661 3231 015662 3233 015665 3235 015667 3238 015700 3239 015703 3240 015705 3242 015706 3244 015707 3245 015714 3246 015717 3249 015721 3253 015722 3256 015723 3257 015726 3258 015730 3259 015732 3261 015733 3266 015735 3269 015741 3270 015746 3271 015750 3273 015751 3279 015752 3282 015760 3284 015765 3287 015771 3288 015772 3291 015773 3293 015774 3296 015775 3297 016001 3298 016003 3300 016004 3302 016005 3309 016006 3311 016011 3312 016012 3313 016013 3314 016014 3316 016015 3317 016016 3318 016017 3319 016020 3322 016021 3324 016022 3327 016023 3328 016027 3330 016030 3332 016031 3335 016032 3336 016034 3338 016036 3342 016037 3349 016041 3351 016044 3353 016060 3355 016071 3357 016106 3360 016112 3362 016114 3363 016116 3368 016117 3373 016121 3375 016127 3377 016131 3383 016132 3389 016134 3391 016140 3394 016143 3396 016144 3400 016145 3402 016147 3404 016150 3406 016152 3408 016153 3410 016161 3412 016162 3414 016164 3416 016165 3418 016167 3420 016170 3422 016172 3424 016173 3429 016174 3434 016176 3436 016204 3438 016206 3440 016207 3447 016211 3449 016212 3452 016224 3454 016233 3455 016237 3457 016243 3458 016244 3460 016247 3462 016250 3470 016252 3473 016255 3476 016267 3478 016275 3480 016305 3482 016317 3483 016321 3485 016322 3496 016323 3499 016330 3501 016332 3505 016333 3507 016334 3509 016336 3511 016341 3515 016345 3517 016354 3518 016356 3519 016361 3520 016363 3522 016364 3533 016365 3539 016367 3541 016372 3543 016374 3545 016420 3546 016423 3548 016424 3550 016450 3553 016453 3555 016454 3558 016455 3559 016457 3560 016460 3561 016463 3575 016464 3580 016466 3581 016473 3583 016522 3585 016525 3587 016526 3590 016527 3591 016540 3592 016544 3593 016562 3594 016571 3595 016607 3597 016610 3600 016617 3601 016623 3602 016632 3603 016633 3604 016634 3606 016643 3607 016652 3608 016661 3610 016662 3612 016663 3617 016665 3618 016715 3619 016730 3621 016742 3626 016743 3629 016744 3630 016747 3631 016752 3633 016755 3635 016763 3638 016774 3640 017003 3642 017004 3647 017006 3649 017025 3652 017026 3657 017027 3662 017031 3663 017032 3665 017041 3666 017050 3667 017056 3668 017065 3670 017066 3675 017067 3680 017071 3681 017075 3682 017107 3684 017110 3689 017111 3694 017113 3696 017140 3697 017147 3698 017150 3699 017156 3700 017165 3701 017174 3702 017213 3703 017222 3704 017231 3707 017247 3709 017250 3714 017252 3717 017267 3720 017273 3721 017301 3723 017310 3728 017311 3734 017313 3735 017321 3736 017330 3737 017337 3738 017340 3742 017341 3747 017343 3748 017344 3749 017353 3750 017354 3752 017355 3757 017357 3758 017360 3759 017367 3760 017376 3761 017377 3766 017400 3771 017402 3772 017403 3773 017412 3774 017413 3777 017414 3780 017415 3782 017430 3785 017443 3788 017444 3794 017446 3796 017457 3799 017471 3801 017473 3803 017476 3806 017477 3809 017500 3810 017507 3813 017516 3815 017517 3818 017520 3819 017527 3821 017536 3823 017537 3826 017540 3827 017547 3829 017556 3833 017557 3839 017561 3840 017573 3842 017602 3845 017603 3851 017605 3854 017613 3855 017624 3857 017633 3860 017634 3865 017636 3866 017653 3868 017654 3870 017663 3873 017664 3878 017666 3882 017676 3884 017711 3887 017712 3892 017714 3897 017724 3899 017742 3902 017743 3905 017744 3906 017747 3907 017751 3909 017753 3912 017754 3917 017756 3918 017761 3919 017763 3921 017765 3923 017772 3925 017777 3927 020005 3930 020006 3935 020010 3938 020042 3941 020057 3944 020060 3949 020062 3952 020066 3954 020075 3956 020076 3959 020077 3960 020110 3962 020117 3965 020137 3967 020141 3968 020151 3969 020160 3970 020173 3971 020174 3972 020202 3973 020211 3974 020221 3975 020227 3976 020240 3978 020241 3980 020247 3982 020251 3984 020257 3986 020261 3987 020271 3988 020277 3989 020310 3990 020323 3992 020324 3994 020332 3996 020334 3997 020343 3999 020344 4000 020354 4001 020362 4003 020363 4005 020364 4010 020366 4011 020377 4012 020406 4013 020407 4015 020410 4020 020412 4021 020420 4022 020427 4024 020430 4029 020432 4030 020440 4031 020447 4033 020450 4036 020451 4037 020462 4038 020470 4039 020471 4041 020472 4044 020473 4045 020512 4047 020521 4049 020530 4051 020531 4054 020532 4055 020541 4056 020553 4058 020554 4063 020556 4064 020600 4066 020643 4068 020711 4070 020713 4076 020715 4077 020716 4078 020724 4079 020733 4080 020741 4081 020750 4083 020751 4088 020753 4089 020762 4090 020771 4091 021000 4093 021001 4098 021003 4099 021004 4100 021012 4101 021021 4102 021030 4103 021037 4105 021040 4106 021041 4108 021042 4113 021044 4114 021045 4115 021054 4116 021055 4118 021056 4125 021060 4126 021066 4127 021067 4129 021070 4136 021072 4137 021100 4138 021101 4139 021102 4141 021103 4151 021105 4154 021113 4156 021121 4159 021126 4164 021136 4166 021144 4174 021153 ----------------------------------------------------------- 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