COMPILATION LISTING OF SEGMENT comp_use_ref_ Compiled by: Multics PL/I Compiler, Release 33e, of October 6, 1992 Compiled at: CGI Compiled on: 2000-04-17_1943.53_Mon_mdt Options: optimize map 1 /* *********************************************************** 2* * * 3* * * 4* * Copyright, (C) Honeywell Information Systems Inc., 1981 * 5* * Copyright, (C) Honeywell Information Systems Inc., 1980 * 6* * * 7* * * 8* *********************************************************** */ 9 10 /* compose subroutine to evaluate symbol references */ 11 12 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 13 14 comp_use_ref_: 15 proc (buffer, art_flag, text_ref, a_info_ptr); 16 17 /* PARAMETERS */ 18 19 dcl buffer char (*) var; /* buffer to be evaluated */ 20 dcl af_string_type fixed bin; 21 dcl art_flag bit (1); /* 1 = buffer contains artwork */ 22 dcl text_ref bit (1); /* 1= text will be placed */ 23 dcl a_info_ptr ptr; /* info structure for buffer */ 24 25 /* LOCAL STORAGE */ 26 27 dcl arg_count fixed bin; 28 dcl argct fixed bin; /* to count i for Argi */ 29 dcl argno fixed bin; /* which Arg for Argi reference */ 30 dcl argstr char (1020) var; /* local copy of Args */ 31 dcl add_text bit (1) aligned; /* text addition flag for ctls */ 32 dcl af_name char (32); /* active function name */ 33 dcl bin_value fixed (35) based;/* for display of binaries */ 34 dcl CREATE bit (1) static options (constant) init ("1"b); 35 dcl dbl_delim char (2); /* double symbol delimiter */ 36 /* dir for given insert pathnames */ 37 dcl dirname char (168) init (""); 38 dcl ercd fixed bin (35); 39 dcl fxbin_value fixed bin (31); /* for display of binaries */ 40 dcl (i, j, k, l, m, n) 41 fixed; /* working index */ 42 dcl junk_str char (128) var; 43 dcl label_value label based; /* for functions */ 44 dcl left fixed (35) init (1); 45 /* position of delim opener */ 46 dcl local_string char (1020) varying; 47 /* for string functions */ 48 dcl locater ptr; /* points to value to be displayed */ 49 dcl LOG fixed bin static options (constant) init (1); 50 dcl lrepl fixed bin (35); /* length of replace */ 51 dcl lreplchar fixed bin (35); /* length of replchar string */ 52 dcl mode fixed bin; /* conversion mode for *c constructs */ 53 dcl myname char (8) init ("use_ref_") 54 /* so we can get a pointer */ 55 static options (constant); 56 dcl nextchar char (1); /* char following an */ 57 dcl NUM fixed bin static options (constant) init (2); 58 dcl pageno_str char (32) var; /* for PageNo */ 59 dcl qt_found bit (1); /* 1= closing quote found */ 60 dcl 1 rd_bfr, /* to catch data from user_input */ 61 2 len fixed (35) init (0), 62 2 str char (120) init (""); 63 dcl rd_bfr_ptr ptr; 64 dcl rd_buffer char (120) varying based (rd_bfr_ptr); 65 dcl replace char (1020) var; /* replacement string */ 66 dcl replchar char (20) varying init (""); 67 /* replacement for hex & oct */ 68 dcl right fixed (35); /* position of delim closer */ 69 dcl 1 save_ctl aligned like text_entry; 70 /* to process embedded controls */ 71 dcl save_ctl_line char (1020) var; /* for embedded controls */ 72 dcl tsymb char (32); /* testing symbol */ 73 dcl zero fixed bin (35) static options (constant) init (0); 74 /* for function returns */ 75 76 dcl (abs, addr, before, char, collate, copy, divide, fixed, hbound, index, 77 length, ltrim, max, mod, null, rtrim, substr, unspec, verify) 78 builtin; 79 80 dcl (active_function_error, comp_abort) 81 condition; 82 dcl error_table_$null_brackets 83 ext static fixed (35); 84 85 dcl com_err_ entry options (variable); 86 dcl cu_$evaluate_active_string 87 entry (ptr, char (*), fixed bin, char (*) var, 88 fixed bin (35)); 89 dcl expand_pathname_ 90 entry (char (*), char (*), char (*), fixed (35)); 91 dcl find_condition_info_ 92 entry (ptr, ptr, fixed (35)); 93 dcl hcs_$make_ptr entry (ptr, char (*), char (*), ptr, fixed (35)); 94 dcl ioa_$rsnnl entry options (variable); 95 dcl iox_$get_line entry (ptr, ptr, fixed (35), fixed (35), fixed (35)); 96 97 dbl_delim = copy (shared.sym_delim, 2); 98 rd_bfr_ptr = addr (rd_bfr); 99 100 if shared.bug_mode 101 then call ioa_ ("use_ref: ""^a""", comp_util_$display (buffer, 0, "0"b)); 102 103 delim_loop: /* if more in the buffer */ 104 if left <= length (buffer) /* find a delimiter */ 105 then i = search (substr (buffer, left), shared.sym_delim || DC1); 106 else i = 0; 107 108 if i > 0 /* if one was found */ 109 then 110 do; 111 left = left + i - 1; /* set its position */ 112 113 if index (substr (buffer, left), DC1) = 1 114 then 115 do; 116 DCxx_p = addr (substr (buffer, left)); 117 left = left + 3 + dcxx.leng; 118 goto delim_loop; 119 end; 120 121 if left > 1 /* if its escaped */ 122 then if (index (substr (buffer, left - 1), "*%") = 1 123 | index (substr (buffer, left - 1), "%") = 1) 124 then if left = 2 | left > 2 & substr (buffer, left - 2, 2) ^= "**" 125 then 126 do; /* step over it */ 127 left = left + 1; /* and go look for another */ 128 goto delim_loop; 129 end; 130 test_dbl: 131 if left < length (buffer) /* if not last buffer char */ 132 then if substr (buffer, left, 2) = dbl_delim 133 then /* if its a double */ 134 do; /* remove one delim */ 135 buffer = 136 substr (buffer, 1, left) || substr (buffer, left + 2); 137 left = left + 1; /* and step over it */ 138 goto delim_loop; /* go do it again */ 139 end; 140 141 right = 0; /* set up for closer search loop */ 142 find_closer: /* look for a delimiter */ 143 j = index (substr (buffer, left + right + 1), shared.sym_delim); 144 145 if j = 0 /* if none was found */ 146 then 147 do; 148 if substr (buffer, left - 1, 2) ^= dbl_delim 149 then 150 do; /* if previous delim is not doubled */ 151 call comp_report_ (2, 0, "Unpaired symbol delimiter.", 152 a_info_ptr, buffer); 153 /* set it to NUL to prevent loop */ 154 substr (buffer, left, 1) = ""; 155 end; 156 else left = left + 1; /* step past 2nd of doubled delim */ 157 goto delim_loop; /* and start over */ 158 end; /**/ 159 /* found one, if its escaped */ 160 else if substr (buffer, left + right + j - 1, 1) = "*" 161 & substr (buffer, left + right + j - 2, 2) ^= "**" 162 then 163 do; 164 right = right + j; /* count space scanned */ 165 goto find_closer; /* and go look for another */ 166 end; 167 168 else 169 do; 170 right = right + j; /* this one appears to be the closer */ 171 172 /* evaluation */ 173 if substr (buffer, left + 1, 1) = "{" 174 then call eval_expr; /**/ 175 /* EVAL closer */ 176 else if substr (buffer, left + right - 1, 1) = "}" 177 then 178 do; 179 left = left + right; 180 goto delim_loop; 181 end; 182 183 /* active function */ 184 else if index (substr (buffer, left + 1), "[") = 1 185 | index (substr (buffer, left + 1), "|[") = 1 186 | index (substr (buffer, left + 1), "||[") = 1 187 then call act_fcn; /**/ 188 /* AF closer */ 189 else if index (substr (buffer, left + right - 1), "]") = 1 190 then 191 do; 192 left = left + right; 193 goto delim_loop; 194 end; 195 196 /* device control strings */ 197 else if substr (buffer, left + 1, 1) = "(" 198 then 199 do; 200 201 /* An embedded device control of the form "foo arg1 arg2 ... argn". 202* "foo" must be looked up in the device table for a replacment string, 203* possibly involving the arg's, and a support routine entry variable. */ 204 205 end; /**/ 206 /* device control closer */ 207 else if substr (buffer, left + right - 1, 1) = ")" 208 then 209 do; 210 left = left + right; 211 goto delim_loop; 212 end; 213 214 /* embedded control */ 215 else if substr (buffer, left + 1, 1) = "." 216 then call embed_ctl; 217 218 /* straight substitution */ 219 else /* else a simple variable evaluation */ 220 do; /* extract name and search tree */ 221 if index (substr (buffer, left + 1, right - 1), " ") ^= 0 222 then 223 do; 224 call comp_report_ (2, 0, "Invalid symbol reference.", 225 a_info_ptr, buffer); 226 buffer = 227 substr (buffer, 1, left - 1) 228 || substr (buffer, left + 1 + right); 229 goto delim_loop; 230 end; 231 232 tsymb = substr (buffer, left + 1, right - 1); 233 call comp_util_$search_tree (tsymb, ^CREATE); 234 tree_var_ptr = tree.var_ptr (tree.areandx); 235 236 if tree.entryndx = 0 /* undefined are null strings */ 237 then 238 do; /* check valid argument reference */ 239 if tsymb ^= "Arg" & tsymb ^= "ArgCount" 240 & index (tsymb, "Arg") = 1 241 & verify (rtrim (substr (tsymb, 4)), "0123456789") = 0 242 then 243 do; /* how manys Args for this call? */ 244 arg_count = 245 divide (tree.var_ptr (1) 246 -> tree_var.num_loc (arg_count_symb_index) 247 -> stack_box.numval, 1000, 17, 0); 248 /* which one? */ 249 argno = bin (rtrim (substr (tsymb, 4))); 250 /* dont have this one */ 251 if argno > arg_count 252 then goto invalid_arg; 253 /* ref to a valid Argi */ 254 else 255 do; 256 call get_argi; 257 goto repl_str; 258 end; 259 end; 260 261 else 262 do; 263 invalid_arg: 264 call comp_report_$ctlstr (2, 0, a_info_ptr, buffer, 265 "Variable ""^a"" undefined for this reference.", 266 rtrim (tsymb)); 267 buffer = 268 substr (buffer, 1, left - 1) 269 || substr (buffer, left + 1 + right); 270 end; 271 end; 272 273 else 274 do; /**/ 275 /* defined with no value */ 276 if tree_var.flags (tree.entryndx) = "0"b 277 then 278 do; 279 buffer = 280 substr (buffer, 1, left - 1) 281 || substr (buffer, left + 1 + right); 282 lrepl = 0; 283 end; 284 285 /* numeric */ 286 else if OR (tree_var.flags (tree.entryndx), numeric_attr) 287 then call numerics; 288 289 /* string */ 290 else if OR (tree_var.flags (tree.entryndx), string_attr) 291 then 292 do; 293 if OR (tree_var.flags (tree.entryndx), function_attr) 294 then locater = use_fcn (); 295 else if OR (tree_var.flags (tree.entryndx), push_attr) 296 then locater = 297 addr (tree_var.num_loc (tree.entryndx) 298 -> stack_box.txtstr); 299 else locater = tree_var.str_loc (tree.entryndx); 300 301 replace = locater -> txtstr; 302 repl_str: 303 lrepl = length (replace); 304 if left + right + 1 <= length (buffer) 305 then buffer = 306 substr (buffer, 1, left - 1) || replace 307 || substr (buffer, left + 1 + right); 308 else buffer = substr (buffer, 1, left - 1) || replace; 309 end; 310 311 /* flag */ 312 else if OR (tree_var.flags (tree.entryndx), flag_attr) 313 then 314 do; 315 if OR (tree_var.flags (tree.entryndx), function_attr) 316 then locater = use_fcn (); 317 else locater = tree_var.flag_loc (tree.entryndx); 318 319 if locater -> flag_value 320 then replace = "T"; 321 else replace = "F"; 322 323 lrepl = length (replace); 324 buffer = 325 substr (buffer, 1, left - 1) || replace 326 || substr (buffer, left + 1 + right); 327 end; 328 329 if tsymb = "Eqcnt" 330 then shared.eqn_refct = shared.eqn_refct + 1; 331 left = left + lrepl; 332 end; 333 end; 334 end; 335 goto delim_loop; 336 end; 337 338 return_: /* process escapes? */ 339 if text_ref & index (buffer, "*") ^= 0 340 then call comp_util_$escape (buffer, a_info_ptr); 341 342 if shared.bug_mode 343 then call ioa_ ("^5x(use_ref: ^d ""^a"")", length (buffer), 344 comp_util_$display (buffer, 0, "0"b)); 345 346 return; 347 348 /* evaluate %{}% */ 349 eval_expr: 350 proc; 351 352 dcl exprtyp fixed bin; /* type */ 353 dcl nxtcndx fixed bin (21); /* position of nextchar */ 354 dcl resattr bit (9); /* attribute of numeric result */ 355 dcl resnum fixed bin (31); /* numeric result */ 356 dcl reslog bit (1); /* logical result */ 357 358 if substr (buffer, left + right - 1, 1) = "}" 359 then 360 do; 361 nxtcndx = left + 1; 362 call comp_expr_eval_ (buffer, nxtcndx, a_info_ptr, 0, exprtyp, reslog, 363 resnum, replace, resattr, 0); 364 365 if exprtyp = LOG /* logical result? */ 366 then if reslog 367 then replace = "T"; 368 else replace = "F"; 369 370 if exprtyp = NUM /* numeric result? */ 371 then 372 do; 373 if OR ((resattr), hspace_attr) 374 then resnum = divide (1000 * resnum, shared.EN_width, 31, 10); 375 /* vertical space? */ 376 else if OR ((resattr), vspace_attr) 377 then resnum = divide (1000 * resnum, 12000, 31, 10); 378 379 replace = rtrim (comp_util_$num_display (addr (resnum), 0), "."); 380 end; 381 382 if nxtcndx ^= 0 & nxtcndx <= length (buffer) 383 then 384 do; 385 nextchar = substr (buffer, nxtcndx, 1); 386 if nxtcndx ^= 0 /* 0 -> somebody already complained */ 387 & nextchar ^= "}" 388 then 389 do; /* didn't use up whole expr */ 390 if nextchar = ")" 391 then call comp_report_ (2, 0, "Extra right parenthesis.", 392 a_info_ptr, buffer); 393 else call comp_report_ (2, 0, "Improper expression.", 394 a_info_ptr, buffer); 395 /* This can't happen? */ 396 end; 397 end; 398 399 buffer = 400 substr (buffer, 1, left - 1) || replace 401 || substr (buffer, left + right + 1); 402 goto delim_loop; 403 end; 404 405 else 406 do; /* %{ at left nested or has vars */ 407 left = left + right; 408 goto test_dbl; 409 end; 410 end eval_expr; 411 412 /* evaluate %[]% */ 413 act_fcn: 414 proc; 415 416 if substr (buffer, left + right - 1, 1) = "]" 417 then 418 do; /* set AF string type */ 419 af_string_type = index (substr (buffer, left + 1, right - 2), "["); 420 /* extract AF name */ 421 af_name = 422 before (after (substr (buffer, left + 1, right - 2), "["), " "); 423 /* if path, expand it */ 424 if search (af_name, "<>") ^= 0 425 then 426 do; 427 call expand_pathname_ (af_name, dirname, af_name, ercd); 428 if ercd ^= 0 429 then 430 do; 431 call comp_report_ (2, ercd, 432 "Expanding given active function pathname.", a_info_ptr, 433 (af_name)); 434 goto af_done; 435 end; 436 end; 437 438 if dirname = "" /* if not a path, search & initiate */ 439 then 440 do; 441 call hcs_$make_ptr (addr (myname), af_name, "", null (), ercd); 442 if ercd ^= 0 443 then 444 do; 445 call comp_report_ (2, ercd, 446 "Initiating active function " || rtrim (af_name), 447 a_info_ptr, buffer); 448 goto af_done; 449 end; 450 end; 451 452 j, k = 1; /* set loop indices */ 453 if substr (buffer, left + right - 2, 1) = """" 454 then l = 4; 455 else l = 3; /* double up escaped quotes */ 456 do while (j ^= 0 & k < right - l); 457 j = index (substr (buffer, left + 1 + k, right - l - k + 1), "*"""); 458 459 if j > 0 460 then 461 do; 462 if substr (buffer, left + j + k - 1, 2) ^= "**" 463 then 464 do; 465 buffer = 466 substr (buffer, 1, left + j + k + 1) || """" 467 || substr (buffer, left + j + k + 2); 468 j = j + 1; 469 right = right + 1; 470 end; 471 k = k + j + 1; 472 end; 473 end; 474 475 on active_function_error 476 begin; 477 call find_condition_info_ (null (), addr (cond_info), ercd); 478 479 if ercd ^= 0 /* report any error and punt */ 480 then 481 do; 482 call com_err_ (ercd, "compose", 483 "Trying to find condition frame for active " 484 || "function error at line ^d of ^a.", a_info_ptr, buffer) 485 ; 486 signal comp_abort; 487 end; 488 489 af_err_copy = af_err_info; /* copy info to static */ 490 af_err_info.action_flags.quiet_restart = "1"b; 491 af_err_info.print_sw = "0"b; 492 goto af_err; 493 end; 494 495 replace = ""; 496 cond_info.info_ptr = null (); 497 498 call cu_$evaluate_active_string (null (), 499 substr (buffer, left + af_string_type + 1, 500 right - af_string_type - 2), af_string_type, replace, ercd); 501 502 if ercd ^= 0 503 then 504 do; 505 if ercd = 100 506 then call comp_report_ (2, error_table_$null_brackets, "", 507 a_info_ptr, buffer); 508 else call comp_report_ (2, ercd, "", a_info_ptr, buffer); 509 replace = substr (buffer, left, right + 1); 510 end; 511 512 af_err: 513 if cond_info.info_ptr ^= null ()/* if there was an AF err */ 514 then 515 do; 516 call comp_report_ (2, af_err_copy.status_code, 517 "Error from active function " || rtrim (af_name), a_info_ptr, 518 buffer); 519 replace = substr (buffer, left, right + 1); 520 end; 521 522 revert active_function_error; 523 524 if length (replace) >= 2 /* strip quotes, if any */ 525 then if substr (replace, 1, 1) = """" 526 then replace = substr (replace, 2, length (rtrim (replace)) - 2); 527 528 j = 1; /* set loop indices */ 529 k = 0; /* single up doubled quotes */ 530 do while (j ^= 0); 531 j = index (substr (replace, k + 1), "*"""""); 532 533 if j > 0 534 then if k = 0 | k + j > 1 & substr (replace, k + j - 1, 2) ^= "**" 535 then 536 do; 537 replace = 538 substr (replace, 1, k + j) 539 || substr (replace, k + j + 2); 540 k = k + j + 1; 541 end; 542 end; 543 544 buffer = 545 substr (buffer, 1, left - 1) || replace 546 || substr (buffer, left + right + 1); 547 548 af_done: /* if no errors */ 549 if ercd = 0 & cond_info.info_ptr = null () 550 then left = left + length (replace) - 2; 551 else left = left + right + 1; 552 553 goto delim_loop; 554 end; 555 556 else 557 do; /* %[ at left nested or has vars */ 558 left = left + right; 559 goto test_dbl; 560 end; 561 end act_fcn; 562 563 /* process embedded controls */ 564 embed_ctl: 565 proc; 566 567 if shared.bug_mode 568 then call ioa_ ("embed_ctl: ""^a""", 569 comp_util_$display (rtrim (substr (buffer, left + 1, right - 1)), 570 0, "0"b)); 571 572 save_ctl = ctl; /* save current control line */ 573 save_ctl_line = ctl_line; 574 ctl_line = /* extract embedded control */ 575 rtrim (substr (buffer, left + 1, right - 1)); 576 replace = ""; 577 add_text = "0"b; 578 ctl.embedded = "1"b; 579 580 call comp_ctls_ (add_text); /* call control processor */ 581 582 save_ctl.cur.font = ctl.cur.font; /* propagate fonts changes */ 583 replace = ctl_line; /* whatever's left */ 584 lrepl = length (replace); 585 ctl = save_ctl; /* restore control line */ 586 ctl_line = save_ctl_line; 587 buffer = 588 substr (buffer, 1, left - 1) || replace 589 || substr (buffer, left + 1 + right); 590 left = left + lrepl; 591 right = lrepl; 592 593 if shared.bug_mode 594 then call ioa_ ("^5x(embed_ctl) ""^a""", 595 comp_util_$display (buffer, 0, "0"b)); 596 end embed_ctl; 597 598 /* numeric values */ 599 numerics: 600 proc; /**/ 601 /* a function? */ 602 if OR (tree_var.flags (tree.entryndx), function_attr) 603 then locater = use_fcn (); /**/ 604 /* a stacked variable? */ 605 else if OR (tree_var.flags (tree.entryndx), push_attr) 606 then locater = addr (tree_var.num_loc (tree.entryndx) -> stack_box.numval); 607 /* just some number */ 608 else locater = tree_var.num_loc (tree.entryndx); 609 /* horizontal space? */ 610 if OR (tree_var.flags (tree.entryndx), hspace_attr) 611 then fxbin_value = divide (1000 * locater -> bin_value, 7200, 31, 10); 612 /* vertical space? */ 613 else if OR (tree_var.flags (tree.entryndx), vspace_attr) 614 then fxbin_value = divide (1000 * locater -> bin_value, 12000, 31, 10); 615 /* unscaled numeric? */ 616 else if OR (tree_var.flags (tree.entryndx), unscaled_attr) 617 then fxbin_value = locater -> bin_value; 618 /* binary */ 619 else fxbin_value = 1000 * locater -> bin_value; 620 621 locater = addr (fxbin_value); 622 623 if tree_var.mode (tree.entryndx) <= 7 624 then 625 do; 626 replace = 627 comp_util_$num_display (locater, (tree_var.mode (tree.entryndx))); 628 lrepl = length (replace); 629 end; 630 631 else 632 do; 633 call comp_report_ (2, 0, 634 "Bad display mode index for" || before (tsymb, " "), a_info_ptr, 635 buffer); 636 goto delim_loop; 637 end; 638 639 buffer = 640 substr (buffer, 1, left - 1) || replace 641 || substr (buffer, left + 1 + right); 642 643 if OR (tree_var.flags (tree.entryndx), counter_attr) 644 then 645 do; 646 tree_var.num_loc (tree.entryndx) -> num_value = 647 tree_var.num_loc (tree.entryndx) -> num_value 648 + tree_var.incr_loc (tree.entryndx) -> num_value; 649 if shared.bug_mode 650 then call ioa_ ("^-(^a = ^f)", tsymb, 651 tree_var.num_loc (tree.entryndx) -> num_value); 652 end; 653 end numerics; 654 655 get_argi: 656 proc; 657 658 tree.areandx = 1; 659 tree_var_ptr = tree.var_ptr (1); 660 tree.entryndx = arg_count_symb_index + 1; 661 argstr = tree_var.num_loc (tree.entryndx) -> stack_box.txtstr; 662 663 do argct = 1 to argno; /* find the one wanted */ 664 if index (argstr, """") = 1 /* if quoted */ 665 then 666 do; 667 i = 2; /* look for closer */ 668 qt_found = "0"b; 669 670 do while (^qt_found); 671 j = index (substr (argstr, i), """"); 672 if j = 0 /* no more quotes in string */ 673 then 674 do; 675 call comp_report_ (2, 0, "Missing string delimiter.", 676 addr (ctl.info), ctl_line); 677 qt_found = "1"b; 678 argstr = ""; /* to exit the loops */ 679 end; 680 681 else if i + j > 3 /* found a quote */ 682 then 683 do; /* is it protected? */ 684 if substr (argstr, i + j - 2, 1) = "*" 685 & substr (argstr, i + j - 3, 2) ^= "**" 686 & substr (argstr, i + j - 3, 2) ^= "*" 687 then i = i + j; /* yes, keep going */ 688 689 else 690 do; /* found the closer */ 691 qt_found = "1"b; 692 if argct < argno 693 then argstr = ltrim (substr (argstr, i + j)); 694 else argstr = substr (argstr, 2, i + j - 3); 695 end; 696 end; 697 698 else 699 do; /* found the closer */ 700 qt_found = "1"b; 701 if argct < argno 702 then argstr = ltrim (substr (argstr, i + j)); 703 else argstr = substr (argstr, 2, i + j - 3); 704 end; 705 end; 706 end; 707 708 else if argct < argno /* not quoted */ 709 then argstr = ltrim (after (argstr, " ")); 710 else argstr = before (argstr, " "); 711 end; 712 713 replace = argstr; 714 end get_argi; 715 716 OR: 717 proc (flag1, flag2) returns (bit (1)); 718 719 dcl flag1 bit (9) aligned; 720 dcl flag2 bit (9); 721 722 dcl bool builtin; 723 724 return (bool (flag1, flag2, "0001"b) ^= "0"b); 725 726 end OR; 727 728 use_fcn: 729 proc returns (ptr); 730 731 dcl align_modes (6) char (8) varying static options (constant) 732 init ("inside", "outside", "left", "center", "right", 733 "both"); /**/ 734 /* info structure for LineInput */ 735 dcl 1 call_info like text_entry.info; 736 dcl false bit (1) static options (constant) init ("0"b); 737 dcl (ii, jj) fixed bin; /* working index */ 738 dcl null_str char (1) varying static options (constant) init (""); 739 dcl pageno_adj fixed bin; 740 dcl true bit (1) static options (constant) init ("1"b); 741 742 dcl comp_error_table_$syntax_error 743 ext fixed bin (35); 744 dcl comp_error_table_$usage_error 745 ext fixed bin (35); 746 747 /* assign values to function labels */ 748 tree.align_mode = align_mode; 749 tree.art_mode = art_mode; 750 tree.block_index = block_index; 751 tree.block_name = block_name; 752 tree.bottom_margin = bottom_margin; 753 tree.calling_file_name = calling_file; 754 tree.callers_lineno = callers_line; 755 tree.devclass = devclass; 756 tree.devname = devname; 757 tree.dot_addltr = dot_addltr; 758 tree.equation_mode = eqn_mode; 759 tree.fill_mode = fill_mode; 760 tree.fontname = fontname; 761 tree.footer_margin = footer_margin; 762 tree.frontpage = frontpage; 763 tree.header_margin = header_margin; 764 tree.head_space = headspace; 765 tree.keep_mode = keep_mode; 766 tree.left_indent = left_indent; 767 tree.left_undent = left_undent; 768 tree.line_input = lineinput; 769 tree.linesleft = linesleft; 770 tree.linespace = linespace; 771 tree.measure_bif = measure; 772 tree.next_pageno = next_pageno; 773 tree.pagecount = pagecount; 774 tree.pagelines = pagelines; 775 tree.page_length = pagelength; 776 tree.pageno = pageno; 777 tree.pointsize = pointsize; 778 tree.right_indent = right_indent; 779 tree.right_undent = right_undent; 780 tree.symbol_delimiter = symdelim; 781 tree.text_depth = text_depth; 782 tree.text_lineno = text_lineno; 783 tree.text_width = text_width; 784 tree.top_margin = top_margin; 785 tree.title_delimiter = ttldelim; 786 tree.trans = tr_tab; 787 tree.userinput = user_input; 788 789 if tree_var.num_loc (tree.entryndx) = null () 790 then 791 do; 792 call comp_report_ (2, 0, 793 "An unknown compose function reference has been encountered.", 794 a_info_ptr, buffer); 795 goto return_; 796 end; 797 798 goto tree_var.num_loc (tree.entryndx) -> label_value; 799 800 align_mode: 801 if shared.blkptr = null () 802 then 803 do; 804 if current_parms.quad & quadi 805 then return (addr (align_modes (1))); 806 else if current_parms.quad & quado 807 then return (addr (align_modes (2))); 808 else if current_parms.quad & quadl 809 then return (addr (align_modes (3))); 810 else if current_parms.quad & quadc 811 then return (addr (align_modes (4))); 812 else if current_parms.quad & quadr 813 then return (addr (align_modes (5))); 814 else if current_parms.quad & just 815 then if current_parms.fill_mode 816 then return (addr (align_modes (6))); 817 else return (addr (align_modes (3))); 818 else return (addr (align_modes (3))); 819 end; 820 else 821 do; 822 if text.parms.quad & quadi 823 then return (addr (align_modes (1))); 824 else if text.parms.quad & quado 825 then return (addr (align_modes (2))); 826 else if text.parms.quad & quadl 827 then return (addr (align_modes (3))); 828 else if text.parms.quad & quadc 829 then return (addr (align_modes (4))); 830 else if text.parms.quad & quadr 831 then return (addr (align_modes (5))); 832 else if text.parms.quad & just 833 then if text.parms.fill_mode 834 then return (addr (align_modes (6))); 835 else return (addr (align_modes (3))); 836 else return (addr (align_modes (3))); 837 end; 838 839 art_mode: 840 if shared.blkptr = null 841 then return (addr (current_parms.art)); 842 else return (addr (text.parms.art)); 843 844 block_index: 845 if shared.blkptr ^= null () 846 then return (addr (text.blkndx)); 847 else return (addr (zero)); 848 849 block_name: 850 if shared.blkptr ^= null () 851 then return (addr (text.hdr.name)); 852 else return (addr (null_str)); 853 854 bottom_margin: 855 return (addr (page.parms.margin.bottom)); 856 857 calling_file: 858 if call_stack.index = 0 859 then local_string = ""; 860 else local_string = 861 call_stack.ptr (call_stack.index - 1) -> call_box.refname; 862 return (addr (local_string)); 863 864 callers_line: 865 if call_stack.index = 0 /* command input file? */ 866 then return (addr (zero)); 867 else return ( 868 addr (call_stack.ptr (call_stack.index - 1) 869 -> call_box.exit_lineno)); 870 871 devclass: 872 local_string = rtrim (comp_dvt.devclass); 873 return (addr (local_string)); 874 875 devname: 876 local_string = rtrim (comp_dvid.devname); 877 return (addr (local_string)); 878 879 dot_addltr: 880 local_string = page.hdr.dot_addltr; 881 return (addr (local_string)); 882 883 eqn_mode: 884 if shared.blkptr = null () 885 then return (addr (false)); 886 else return (addr (false)); 887 888 fill_mode: 889 if shared.blkptr = null () 890 then return (addr (current_parms.fill_mode)); 891 else return (addr (text.parms.fill_mode)); 892 893 fontname: 894 if shared.blkptr = null 895 then local_string = 896 current_parms.fntstk.entry (current_parms.fntstk.index).name; 897 else local_string = text.parms.fntstk.entry (text.parms.fntstk.index).name; 898 return (addr (local_string)); 899 900 footer_margin: 901 return (addr (page.parms.margin.footer)); 902 903 frontpage: 904 if page.hdr.headed /* is the page headed? */ 905 then return (addr (page.hdr.frontpage)); 906 else if page.hdr.frontpage 907 then return (addr (false)); 908 else return (addr (true)); 909 910 /* else 911*/* do; /* page isnt headed */ 912 /* if page.hdr.dot_addltr = PAD & shared.dot_add_letter = PAD 913*/* & ^page.hdr.blankpage 914*/* then if mod (shared.pagenum.nmbr (shared.pagenum.index), 2000) = 1000 915*/* then return (addr (true)); 916*/* else return (addr (false)); 917*/* else if page.hdr.frontpage 918*/* then return (addr (false)); 919*/* else return (addr (true)); 920*/* end;*/ 921 922 header_margin: 923 return (addr (page.parms.margin.header)); 924 925 headspace: 926 return (addr (col.hdr.pspc)); 927 928 keep_mode: 929 if shared.blkptr = null 930 then return (addr (current_parms.keep)); 931 else return (addr (text.parms.keep)); 932 933 left_indent: 934 if shared.blkptr = null 935 then return (addr (current_parms.left.indent)); 936 else return (addr (text.parms.left.indent)); 937 938 left_undent: 939 if shared.blkptr = null 940 then return (addr (current_parms.left.undent)); 941 else return (addr (text.parms.left.undent)); 942 943 lineinput: 944 if call_stack.index = 0 945 then 946 do; 947 call comp_report_$ctlstr (2, comp_error_table_$usage_error, a_info_ptr, 948 buffer, 949 "The LineInput builtin may not be used" 950 || " in a command line file."); 951 return (addr (null_str)); 952 end; 953 954 call_info.fileno = /* callers insert index */ 955 insert_data.ptr (insert_data.index) -> insert.thrb; 956 /* callers stack entry */ 957 call_box_ptr = call_stack.ptr (call_stack.index - 1); 958 call_info.lineno = call_box.exit_lineno; 959 /* fetch the line */ 960 call comp_read_$line (call_box_ptr, replace, "0"b); 961 /* protect trigger chars */ 962 ii, jj = 1; /* asterisks first */ 963 do while (ii <= length (replace) & jj > 0); 964 jj = index (substr (replace, ii), "*"); 965 if jj > 0 966 then 967 do; 968 ii = ii + jj + 1; 969 replace = 970 substr (replace, 1, ii - 3) || "*" || substr (replace, ii - 2); 971 end; 972 end; 973 974 /* ii, jj = 1; /* symbol delimiters */ 975 /* do while (ii <= length (replace) & jj > 0); 976*/* jj = index (substr (replace, ii), shared.sym_delim); 977*/* if jj > 0 978*/* then 979*/* do; 980*/* ii = ii + jj + 1; 981*/* replace = 982*/* substr (replace, 1, ii - 3) || "*" 983*/* || substr (replace, ii - 2); 984*/* end; 985*/* end;*/ 986 987 ii, jj = 1; /* quotes */ 988 do while (ii <= length (replace) & jj > 0); 989 jj = index (substr (replace, ii), """"); 990 if jj > 0 991 then 992 do; 993 ii = ii + jj + 1; 994 replace = 995 substr (replace, 1, ii - 3) || "*" || substr (replace, ii - 2); 996 end; 997 end; /**/ 998 /* update callers exit line number */ 999 call_box.exit_lineno = call_box.exit_lineno + 1; 1000 1001 return (addr (replace)); 1002 1003 linesleft: 1004 if page.hdr.col_index > 0 1005 then fxbin_value = col.hdr.net - col.hdr.used - col.hdr.ftn.usd; 1006 else fxbin_value = page.hdr.net - page.hdr.used - col0.hdr.ftn.usd; 1007 1008 if shared.blkptr ^= null () 1009 then 1010 do; 1011 fxbin_value = fxbin_value - text.hdr.used - text.hdr.ftn.usd; 1012 if length (text.input_line) > 0 1013 then fxbin_value = fxbin_value - text.input.linespace; 1014 if text.parms.hdrptr ^= null () 1015 then fxbin_value = fxbin_value - text.parms.hdrptr -> hfcblk.hdr.used; 1016 if text.parms.ftrptr ^= null () 1017 then fxbin_value = fxbin_value - text.parms.ftrptr -> hfcblk.hdr.used; 1018 end; 1019 1020 return (addr (fxbin_value)); 1021 1022 linespace: 1023 if shared.blkptr = null () 1024 then return (addr (current_parms.linespace)); 1025 else return (addr (text.parms.linespace)); 1026 1027 measure: 1028 return (null ()); 1029 1030 next_pageno: 1031 return (addr (shared.next_pagenmbr)); 1032 1033 pagecount: 1034 if page.hdr.used > 0 1035 then fxbin_value = 1; 1036 else fxbin_value = 0; 1037 1038 if shared.blkptr ^= null 1039 then if text.hdr.used > 0 1040 then fxbin_value = 1; 1041 1042 fxbin_value = fxbin_value + shared.pagecount; 1043 1044 return (addr (fxbin_value)); 1045 1046 pagelines: 1047 if page.hdr.col_index > 0 1048 then fxbin_value = col.hdr.used; 1049 else fxbin_value = page.hdr.used; 1050 1051 if shared.blkptr ^= null () 1052 then 1053 do; 1054 fxbin_value = fxbin_value + text.hdr.used; 1055 if length (text.input_line) > 0 1056 then fxbin_value = fxbin_value + text.input.linespace; 1057 end; 1058 1059 return (addr (fxbin_value)); 1060 1061 pagelength: 1062 return (addr (page.parms.length)); 1063 1064 pageno: 1065 local_string, junk_str = ""; 1066 1067 if ^page.hdr.headed /* no header yet? */ 1068 then 1069 do; 1070 call comp_util_$pageno (1000, local_string); 1071 call comp_util_$pageno (-1000, junk_str); 1072 return (addr (local_string)); 1073 end; 1074 1075 else if shared.blkptr ^= null /* for page hdrs/ftrs */ 1076 then if text.parms.page 1077 then return (addr (page.hdr.pageno)); 1078 1079 pageno_adj = 0; /* preset to zero */ 1080 pageno_str = ""; 1081 if page.parms.cols.count = 0 /* do only if 0 columns */ 1082 then 1083 do; 1084 if shared.blkptr ^= null /* is there a text block? */ 1085 then 1086 do; 1087 pageno_adj = 1088 1000 1089 * 1090 divide (col0.hdr.used + shared.picture.space 1091 + 1092 max (text.hdr.used, text.parms.linespace * shared.widow_size), 1093 col0.hdr.net, 31, 0); 1094 1095 if text.parms.hdrptr ^= null () 1096 then pageno_adj = 1097 pageno_adj 1098 + 1000 1099 * 1100 divide ( 1101 max (text.parms.hdrptr -> hfcblk.hdr.used, 1102 text.parms.hdrptr -> hfcblk.parms.linespace 1103 * shared.widow_size), col0.hdr.net, 31, 0); 1104 end; 1105 1106 else if col0.hdr.used + shared.picture.space > col0.hdr.net 1107 then pageno_adj = 1108 1000 1109 * 1110 divide (col0.hdr.used + shared.picture.space, col0.hdr.net, 1111 31, 0); 1112 1113 else if ^page.hdr.headed /* next page if this */ 1114 then pageno_adj = 1000; /* page isnt headed */ 1115 end; 1116 1117 call comp_util_$pageno (pageno_adj, pageno_str); 1118 1119 if pageno_adj > 0 1120 then shared.pagenum.nmbr (shared.pagenum.index) = 1121 shared.pagenum.nmbr (shared.pagenum.index) - pageno_adj; 1122 1123 return (addr (pageno_str)); 1124 1125 pointsize: 1126 if shared.blkptr = null 1127 then return ( 1128 addr (current_parms.fntstk.entry (current_parms.fntstk.index) 1129 .size)); 1130 else return (addr (text.parms.fntstk.entry (text.parms.fntstk.index).size)) 1131 ; 1132 1133 right_indent: 1134 if shared.blkptr = null 1135 then return (addr (current_parms.right.indent)); 1136 else return (addr (text.parms.right.indent)); 1137 1138 right_undent: 1139 if shared.blkptr = null 1140 then return (addr (current_parms.right.undent)); 1141 else return (addr (text.parms.right.undent)); 1142 1143 symdelim: 1144 local_string = shared.sym_delim; 1145 return (addr (local_string)); 1146 1147 text_depth: 1148 if page.hdr.col_index > 0 1149 then fxbin_value = col.hdr.used + col.hdr.ftn.usd; 1150 else fxbin_value = page.hdr.used + col0.hdr.ftn.usd; 1151 1152 if shared.blkptr ^= null () 1153 then 1154 do; 1155 fxbin_value = fxbin_value + text.hdr.used + text.hdr.ftn.usd; 1156 if length (text.input_line) > 0 1157 then fxbin_value = fxbin_value + text.input.linespace; 1158 if text.parms.hdrptr ^= null () 1159 then fxbin_value = fxbin_value + text.parms.hdrptr -> hfcblk.hdr.used; 1160 if text.parms.ftrptr ^= null () 1161 then fxbin_value = fxbin_value + text.parms.ftrptr -> hfcblk.hdr.used; 1162 end; 1163 1164 return (addr (fxbin_value)); 1165 1166 text_lineno: 1167 fxbin_value = ctl.info.lineno; 1168 return (addr (fxbin_value)); 1169 1170 text_width: 1171 if shared.blkptr ^= null () 1172 then return (addr (text.parms.measure)); 1173 else return (addr (current_parms.measure)); 1174 1175 top_margin: 1176 return (addr (page.parms.margin.top)); 1177 1178 ttldelim: 1179 local_string = shared.ttl_delim; 1180 return (addr (local_string)); 1181 1182 tr_tab: 1183 local_string = ""; 1184 do i = 1 to length (shared.trans.in); 1185 local_string = 1186 local_string || substr (shared.trans.in, i, 1) 1187 || substr (shared.trans.out, i, 1); 1188 end; 1189 return (addr (local_string)); 1190 1191 user_input: 1192 rd_buffer = ""; /* insert from terminal input */ 1193 call iox_$get_line (iox_$user_input, addr (rd_bfr.str), 120, rd_bfr.len, 1194 ercd); 1195 if ercd ^= 0 1196 then call comp_report_ (2, ercd, "Reading from user_input", a_info_ptr, 1197 buffer); 1198 rd_buffer = before (rd_buffer, NL); 1199 return (rd_bfr_ptr); 1200 1201 use_abort_: 1202 end use_fcn; 1203 1 1 /* BEGIN INCLUDE FILE comp_column.incl.pl1 */ 1 2 1 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 1 4 1 5 dcl 1 col /* the text column */ 1 6 aligned based (shared.colptr), 1 7 2 blkptr (100) ptr, /* pointers to text blocks */ 1 8 2 depth_adj fixed bin (31), /* for variable start depth */ 1 9 2 ftrptr ptr, /* -> column footer */ 1 10 2 ftrusd fixed bin (31), /* column footer space used */ 1 11 2 gutter fixed bin (31), /* column separation */ 1 12 2 hdr like colhdr, /* column control stuff */ 1 13 2 hdrptr ptr, /* -> column header */ 1 14 2 hdrusd fixed bin (31), /* column header space used */ 1 15 2 margin, /* margin settings for column */ 1 16 3 left fixed bin (31), 1 17 3 right fixed bin (31), 1 18 2 parms, /* text parms for the column */ 1 19 3 measure fixed bin (31); /* column width */ 1 20 1 21 dcl 1 colhdr aligned based (const.colhdrptr), 1 22 /* an empty column header */ 1 23 2 balblk fixed bin, /* block to begin column balancing */ 1 24 2 baldepth fixed bin (31), /* page depth at balance point */ 1 25 2 balftn, /* footnotes at balance point */ 1 26 3 ct fixed bin, /* count */ 1 27 3 usd fixed bin (31), /* space used */ 1 28 3 blkndx (40) fixed bin, /* block index values */ 1 29 2 balusd fixed bin (31), /* space used up to balance point */ 1 30 2 blkct fixed bin, /* text block count */ 1 31 2 depth fixed bin (31), /* current page depth in the column */ 1 32 2 ftn like balftn, /* footnotes */ 1 33 2 pspc fixed bin (31), /* current white space */ 1 34 2 net fixed bin (31), /* net usable space in the column */ 1 35 2 used fixed bin (31); /* space used in this column */ 1 36 /* for quick reference */ 1 37 dcl 1 col0 aligned like col based (page.column_ptr (0)); 1 38 1 39 /* END INCLUDE FILE comp_column.incl.pl1 */ 1204 2 1 /* BEGIN INCLUDE FILE ..... comp_DCdata.incl.pl1 ..... 11/16/78 J Falksen 2 2* Modified: ??/81 - EJW - Addded type_wait 2 3* Modified: 4/83 - EJW - Added type_un(strt stop), reorganized file. 2 4**/ 2 5 2 6 /* format: style2,ind3,ll79,dclind4,idind15,comcol41,linecom */ 2 7 2 8 dcl DCxx_p ptr; /* for qualification of embedded */ 2 9 /* control strings */ 2 10 /* an embedded control string */ 2 11 dcl 1 dcxx unal based (DCxx_p), 2 12 2 mark char (1) unal, /* control marker - DC1 (\021) */ 2 13 2 ctl, 2 14 3 type bit (3) unal, /* 000- device/writer control */ 2 15 /* 001- */ 2 16 /* 010- literal data */ 2 17 /* 011- family/member/size data */ 2 18 /* 100- shift */ 2 19 /* 101- */ 2 20 /* 110- vector */ 2 21 /* 111- zero-offset vector */ 2 22 3 fill1 bit (1) unal, 2 23 3 Xctl bit (2) unal, /* 00- no X value present */ 2 24 /* 01- short X value */ 2 25 /* 10- long X value */ 2 26 3 fill2 bit (1) unal, 2 27 3 Yctl bit (2) unal, /* 00- no Y value present */ 2 28 /* 01- short Y value present */ 2 29 /* 10- long Y value present */ 2 30 2 leng fixed bin (9) unal unsigned, 2 31 /* # of remaining bytes */ 2 32 2 etc; /* the rest of the control bytes */ 2 33 /* device/writer controls */ 2 34 dcl 1 dcctl unal based (DCxx_p), 2 35 2 mark char (1) unal, 2 36 2 type char (1) unal, /* control type */ 2 37 /* leng is always 0 for these */ 2 38 2 leng fixed bin (9) unal unsigned; 2 39 dcl ( 2 40 wait_signal init (""), /* = 021001000 */ 2 41 unstart_signal init (""), /* = 021002000 */ 2 42 unstop_signal init ("") /* = 021003000 */ 2 43 ) char (3) static options (constant); 2 44 /* the "literal" control string */ 2 45 dcl 1 dclit unal based (DCxx_p), 2 46 2 mark char (1) unal, 2 47 2 type char (1) unal, /* control type */ 2 48 2 leng fixed bin (9) unal unsigned, 2 49 /* width in milli-points of literal */ 2 50 2 width fixed bin (31) unal, 2 51 /* actual literal, max length 509 */ 2 52 2 data char (dclit.leng - 4); 2 53 /* long (31 bits) values */ 2 54 dcl 1 dclong_val unal based (DCxx_p), 2 55 2 mark char (1) unal, 2 56 2 type char (1) unal, /* control type */ 2 57 2 leng fixed bin (9) unal unsigned, 2 58 ( 2 59 2 v1 fixed bin (31), /* long value */ 2 60 2 v2 fixed bin (31) /* long value */ 2 61 ) unal; 2 62 dcl ( 2 63 dclong_len init (8), /* 2 long values */ 2 64 dclong1_len init (4) /* 1 long value */ 2 65 ) fixed bin static options (constant); 2 66 /* short (17 bit) values */ 2 67 dcl 1 dcshort_val unal based (DCxx_p), 2 68 2 mark char (1) unal, 2 69 2 type char (1) unal, /* control type */ 2 70 2 leng fixed bin (9) unal unsigned, 2 71 ( 2 72 2 v1 fixed bin, /* short value */ 2 73 2 v2 fixed bin /* short value */ 2 74 ) unal; 2 75 dcl ( 2 76 dcshort_len init (4), /* 2 short values */ 2 77 dcshort1_len init (2) /* 1 short value */ 2 78 ) fixed bin static options (constant); 2 79 /* a font change string */ 2 80 dcl 1 dcfs unal based (DCxx_p), 2 81 2 mark char (1) unal, /* font/size data */ 2 82 2 type char (1) unal, /* control type */ 2 83 2 leng fixed bin (9) unal unsigned, 2 84 /* fnttbldata index */ 2 85 2 f fixed bin (9) unal unsigned, 2 86 /* point size in milli-points */ 2 87 2 p fixed bin (31) unal; 2 88 dcl dcfs_len fixed bin init (5) static options (constant); 2 89 2 90 dcl ( /* symbolic definitions of DC types */ 2 91 type_wait init (""), /* writer wait */ 2 92 type_unstart init (""), /* underscore start */ 2 93 type_unstop init (""), /* underscore stop */ 2 94 type_lit init (""), /* literal data */ 2 95 type_font init (""), /* family/member/size data */ 2 96 /* SHIFTS - */ 2 97 type_sy init (""), /* -- no x, short y */ 2 98 type_sly init (""), /* -- no x, long y */ 2 99 type_sx init (""), /* -- short x, no y */ 2 100 type_sxy init (" "), /* -- short x, short y */ 2 101 type_slx init (""), /* -- long x, no y */ 2 102 type_slxly init (""), /* -- long x, long y */ 2 103 /* VECTORS */ 2 104 type_vy init (""), /* -- no x, short y */ 2 105 type_vly init (""), /* -- no x, long y */ 2 106 type_vx init (""), /* -- short x, no y */ 2 107 type_vxy init (""), /* -- short x, short y */ 2 108 type_vlx init (""), /* -- long x, no y */ 2 109 type_vlxly init (""), /* -- long x, long y */ 2 110 /* ZERO-OFFSET VECTORS- */ 2 111 type_v0y init (""), /* -- no x, short y */ 2 112 type_v0ly init (""), /* -- no x, long y */ 2 113 type_v0x init (""), /* -- short x, no y */ 2 114 type_v0xy init (""), /* -- short x, short y */ 2 115 type_v0lx init (""), /* -- long x, no y */ 2 116 type_v0lxly init ("") /* -- long x, long y */ 2 117 ) char (1) unal int static options (constant); 2 118 2 119 /* END INCLUDE FILE ..... comp_DCdata.incl.pl1 ..... */ 1205 3 1 /* BEGIN INCLUDE FILE comp_entries.incl.pl1 */ 3 2 3 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 3 4 3 5 dcl compose_severity_ 3 6 fixed bin (35) ext static; 3 7 dcl comp_ entry; 3 8 dcl comp_art_ entry (ptr, bit (1)); 3 9 dcl comp_block_ctls_ 3 10 entry (fixed bin); 3 11 dcl comp_break_ entry (fixed bin, fixed bin); 3 12 dcl comp_break_ctls_ 3 13 entry (fixed bin); 3 14 dcl comp_ctls_ entry (bit (1) aligned); 3 15 dcl comp_eject_page_ 3 16 entry; 3 17 dcl comp_expr_eval_ 3 18 entry (char (*) var, fixed bin (21), ptr, fixed bin, 3 19 fixed bin, bit (1), fixed bin (31), char (*) var, 3 20 bit (9), fixed bin (35)); 3 21 dcl comp_extr_str_ entry (bit (1), char (*) var, fixed bin (21), 3 22 fixed bin (21), fixed bin (21), ptr) 3 23 returns (char (*) var); 3 24 dcl comp_fill_ entry; 3 25 dcl comp_font_ entry (bit (1), char (*) var, char (8) aligned); 3 26 dcl comp_format_ctls_ 3 27 entry (fixed bin); 3 28 dcl comp_get_file_$find 3 29 entry (char (*), ptr, char (*), bit (1), char (*) var, 3 30 fixed bin (35)); 3 31 dcl comp_get_file_$open 3 32 entry (ptr, bit (1), fixed bin (35)); 3 33 dcl comp_head_page_ 3 34 entry (fixed bin (31)); 3 35 dcl comp_hft_ctls_ entry (fixed bin); 3 36 dcl comp_hft_ctls_$title 3 37 entry (ptr, ptr, char (*) var, fixed bin (31)); 3 38 dcl comp_init_$one entry; 3 39 dcl comp_init_$two entry; 3 40 dcl comp_init_$three 3 41 entry; 3 42 dcl comp_insert_ctls_ 3 43 entry (fixed bin); 3 44 dcl comp_make_page_ 3 45 entry (fixed bin, bit (1)); 3 46 dcl comp_make_page_$cleanup 3 47 entry; 3 48 dcl comp_measure_ entry (char (1020) var, ptr, bit (1), bit (1), bit (6), 3 49 fixed bin (31), ptr, ptr, ptr); 3 50 dcl comp_read_$name 3 51 entry (char (*) var, fixed bin (21), fixed bin (21), 3 52 ptr) returns (char (*) var); 3 53 dcl comp_read_$number 3 54 entry (char (*) var, (*) fixed bin (31), 3 55 fixed bin (21), fixed bin (21), ptr, fixed bin (35)) 3 56 returns (fixed bin (31)); 3 57 dcl comp_read_$line 3 58 entry (ptr, char (*) var, bit (1)); 3 59 dcl comp_report_ entry (fixed bin, fixed bin (35), char (*), ptr, 3 60 char (*) var); 3 61 dcl comp_report_$ctlstr 3 62 entry options (variable); 3 63 /**** (sev, code, info, line, ctl_str, args... */ 3 64 dcl comp_report_$exact 3 65 entry (char (*), ptr); 3 66 dcl comp_space_ entry (fixed bin (31), ptr, bit (1), bit (1), bit (1), 3 67 bit (1)); 3 68 dcl comp_tbl_ctls_ entry (fixed bin); 3 69 dcl comp_title_block_ 3 70 entry (ptr); 3 71 dcl comp_update_symbol_ 3 72 entry (bit (1), bit (1), bit (1), char (32), 3 73 char (*) var); 3 74 dcl comp_use_ref_ entry (char (*) var, bit (1), bit (1), ptr); 3 75 dcl comp_util_$add_text 3 76 entry (ptr, bit (1), bit (1), bit (1), bit (1), ptr); 3 77 dcl comp_util_$display 3 78 entry (char (*) var, fixed bin, bit (1)) 3 79 returns (char (*) var); 3 80 dcl comp_util_$escape 3 81 entry (char (*) var, ptr); 3 82 dcl comp_util_$getblk 3 83 entry (fixed bin, ptr, char (2), ptr, bit (1)); 3 84 dcl comp_util_$num_display 3 85 entry (ptr, fixed bin) returns (char (256) var); 3 86 dcl comp_util_$pageno 3 87 entry (fixed bin, char (*) var); 3 88 dcl comp_util_$pictures /* emit pending pictures */ 3 89 entry /**/ 3 90 (ptr); /* current text block */ 3 91 dcl comp_util_$pop entry (char (32)); 3 92 dcl comp_util_$push 3 93 entry (char (32)); 3 94 dcl comp_util_$relblk 3 95 entry (fixed bin, ptr); 3 96 dcl comp_util_$replace_text 3 97 entry (ptr, bit (1), ptr, ptr); 3 98 dcl comp_util_$search_tree 3 99 entry (char (32), bit (1)); 3 100 dcl comp_util_$set_bin 3 101 entry (fixed bin (31), char (32) var, fixed bin (31), 3 102 fixed bin (31), fixed bin (31), (*) fixed bin (31), 3 103 fixed bin (31)); 3 104 dcl comp_util_$set_net_page 3 105 entry (bit (1)); 3 106 dcl comp_util_$translate 3 107 entry (char (*) var) returns (char (*) var); 3 108 dcl comp_write_block_ 3 109 entry (fixed bin); 3 110 dcl comp_write_page_ 3 111 entry; 3 112 3 113 /* END INCLUDE FILE comp_entries.incl.pl1 */ 1206 4 1 /* BEGIN INCLUDE FILE comp_fntstk.incl.pl1 */ 4 2 4 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 4 4 4 5 dcl fntstk_eptr ptr; /* font stack entry structure */ 4 6 dcl 1 fntstk_entry aligned based (fntstk_eptr), 4 7 2 bachelor bit (1), /* 1= has no members */ 4 8 2 devfnt fixed bin, /* font in the device */ 4 9 2 fam_name char (32), /* family name */ 4 10 2 famndx fixed bin, /* family index */ 4 11 2 fntptr ptr, /* font table pointer */ 4 12 2 mem_name char (32), /* /member name (or null) */ 4 13 2 memndx fixed bin, /* member index */ 4 14 2 memptr ptr, /* member table pointer */ 4 15 2 name char (65) var, /* font name */ 4 16 2 size fixed bin (31), /* requested point size */ 4 17 2 ps fixed bin (31), /* effective point size */ 4 18 2 fcs_str char (8); /* FCS string */ 4 19 4 20 /* END INCLUDE FILE comp_fntstk.incl.pl1 */ 1207 5 1 /* BEGIN INSERT FILE ... comp_insert.incl.pl1 */ 5 2 5 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 5 4 5 5 dcl 1 insert_data aligned based (const.insert_data_ptr), 5 6 2 count fixed bin, /* count of allocated data blocks */ 5 7 2 index fixed bin, /* the current block */ 5 8 2 ptr (1000) ptr, /* insert file data block pointers */ 5 9 2 ref_area, /* ref name string area data */ 5 10 3 count fixed bin, /* count of allocated areas */ 5 11 3 ptr (100) ptr; /* area pointers */ 5 12 /* insert call stack */ 5 13 dcl 1 call_stack aligned based (const.call_stk_ptr), 5 14 2 count fixed bin, /* count of allocated boxes */ 5 15 2 index fixed bin, /* current stack index */ 5 16 2 ptr (0:50) ptr; /* stack entry ptrs */ 5 17 dcl call_box_ptr ptr; 5 18 dcl 1 call_box aligned like insert.file based (call_box_ptr); 5 19 dcl 1 call_box0 aligned like insert.file based (call_stack.ptr (0)); 5 20 5 21 dcl 1 insert_refs aligned based, /* ref names structure */ 5 22 2 count fixed bin, /* count of names in area */ 5 23 2 index (60) fixed bin, /* insert_data index values */ 5 24 2 name (60) char (32) unal; 5 25 /* the ref names */ 5 26 5 27 dcl refname_str char (refstr_len) based (refstr_ptr); 5 28 /* for searching */ 5 29 dcl refstr_len fixed bin; /* length of refname search string */ 5 30 dcl refstr_ptr ptr; /* refname string pointer */ 5 31 /* data for an insert file */ 5 32 dcl 1 insert aligned based (shared.insert_ptr), 5 33 2 file, /* also used for source files */ 5 34 3 charcount 5 35 fixed bin (21), /* segment character count */ 5 36 3 comp_no fixed bin, /* msf component number */ 5 37 3 dir char (168), /* containing dir */ 5 38 3 entryname 5 39 char (32), /* primary entryname */ 5 40 3 exit_lineno 5 41 fixed bin (35), /* line number of .ifi */ 5 42 3 fcb_ptr ptr, /* FCB pointer for msf manager */ 5 43 3 info like text_entry.info, 5 44 3 insert_ptr /* self pointer - needed when */ 5 45 ptr, /* struc is in the call stack */ 5 46 /* 3 ntext fixed bin (21), /* character count of text line */ 5 47 3 path char (200) var, /* complete pathname */ 5 48 3 pointer ptr, /* segment pointer */ 5 49 3 posn fixed bin (21), /* input character position */ 5 50 3 refname char (200) var, /* for source files only */ 5 51 2 callers_name 5 52 char (100), /* refname of calling file */ 5 53 2 dtcm bit (36), /* fs date-time-modified */ 5 54 2 refndx fixed bin, /* CURRENT refname index for file */ 5 55 2 thrb fixed bin unsigned, 5 56 /* backward thread index in insert stack */ 5 57 2 label, /* label data per insert level */ 5 58 3 count fixed bin, 5 59 3 line (250) fixed bin unsigned, 5 60 3 position (250) fixed bin (21), 5 61 3 value (250) char (32); 5 62 5 63 /* empty file data structure */ 5 64 dcl 1 init_file_data 5 65 static options (constant), 5 66 2 charcount fixed bin (21) init (0), 5 67 /* segment character count */ 5 68 2 comp_no fixed bin init (0), 5 69 /* msf component number */ 5 70 2 dir char (168) init (""), 5 71 /* containing dir */ 5 72 2 entryname char (32) init (""), 5 73 /* primary entryname */ 5 74 2 exit_lineno 5 75 fixed bin (35) init (0), 5 76 /* line number of .ifi */ 5 77 2 fcb_ptr ptr init (null),/* FCB pointer for msf manager */ 5 78 2 info, /* stuff created during line input */ 5 79 3 fileno /* input file index */ 5 80 fixed bin init (0), 5 81 3 lineno /* input file line number */ 5 82 fixed bin init (0), 5 83 3 lineno0 /* call_box0 line number */ 5 84 fixed bin init (0), 5 85 2 insert_ptr ptr init (null),/* self pointer - needed when */ 5 86 /* struc is in the call stack */ 5 87 /* 2 ntext fixed bin (21) init (0), 5 88*/* /* character count of text line */ 5 89 2 path char (200) var init (""), 5 90 /* complete pathname */ 5 91 2 pointer ptr init (null),/* segment pointer */ 5 92 2 posn fixed bin (21) init (1), 5 93 /* input character position */ 5 94 2 refname char (200) var init (""); 5 95 /* for source files only */ 5 96 5 97 /* END INSERT FILE ... comp_insert.incl.pl1 */ 1208 6 1 /* BEGIN INCLUDE FILE - comp_metacodes.incl.pl1 */ 6 2 6 3 /* format: style2,ind2,ll79,dclind4,idind25,comcol51,linecom */ 6 4 6 5 /* ASCII control characters */ 6 6 dcl ( 6 7 NUL init (""), /* 000 */ 6 8 SOH init (""), /* 001 */ 6 9 STX init (""), /* 002 */ 6 10 ETX init (""), /* 003 */ 6 11 EOT init (""), /* 004 */ 6 12 ENQ init (""), /* 005 */ 6 13 ACK init (""), /* 006 */ 6 14 BEL init (""), /* 007 */ 6 15 BSP init (""), /* 010 */ 6 16 HT init (" "), 6 17 /* 011 */ 6 18 (NL, LF) init (" 6 19 "), /* 012 */ 6 20 VT init (" "), /* 013 */ 6 21 FF init (" "), /* 014 */ 6 22 CR init (" "), /* 015 */ 6 23 (RRS, SO) init (""), /* 016 */ 6 24 (BRS, SI) init (""), /* 017 */ 6 25 DLE init (""), /* 020 */ 6 26 DC1 init (""), /* 021 */ 6 27 (DC2, HLF, HUGE) init (""), /* 022 */ 6 28 DC3 init (""), /* 023 */ 6 29 (DC4, HLR, THICK) init (""), /* 024 */ 6 30 (NAK, MEDIUM) init (""), /* 025 */ 6 31 SYN init (""), /* 026 */ 6 32 (ETB, HAIR) init (""), /* 027 */ 6 33 (CAN, STROKE) init (""), /* 030 */ 6 34 oct031 init (""), /* 031 */ 6 35 SUB init (""), /* 032 */ 6 36 ESC init (""), /* 033 */ 6 37 FS init (""), /* 034 */ 6 38 GS init (""), /* 035 */ 6 39 RS init (""), /* 036 */ 6 40 US init (""), /* 037 */ 6 41 (DEL, PAD) init (""), /* 177 */ 6 42 /* compose meta-characters */ 6 43 multiply init (""), /* 252 - multiply symbol */ 6 44 pl_mi init (""), /* 253 - plus/minus sign */ 6 45 nabla init (""), /* 254 */ 6 46 EMdash init (""), /* 255 - EM dash */ 6 47 slash init (""), /* 256 */ 6 48 dagger init (""), /* 261 */ 6 49 perpen init (""), /* 273 - perpendicular mark */ 6 50 not_eq init (""), /* 275 - not-equal mark */ 6 51 dbldag init (""), /* 301 - double daggar */ 6 52 cright init (""), /* 303 - copyright mark */ 6 53 delta init (""), /* 304 */ 6 54 bullet init (""), /* 315 */ 6 55 prll init (""), /* 316 - parallel mark */ 6 56 PI init (""), /* 320 - uppercase Greek pi */ 6 57 tmark init (""), /* 324 - trademark */ 6 58 tfore init (""), /* 326 - therefore mark */ 6 59 approx init (""), /* 332 - approximately-equal mark */ 6 60 infin init (""), /* 337 - infinity */ 6 61 theta init (""), /* 352 */ 6 62 pi init (""), /* 360 - lowercase Greek pi */ 6 63 square init (""), /* 375 */ 6 64 overbar init (""), /* 376 */ 6 65 PS init (""), /* 377 - punctuation space */ 6 66 sup0 init (""), /* 400 - superior digit 0 */ 6 67 sup1 init (""), /* 401 - superior digit 1 */ 6 68 sup2 init (""), /* 402 - superior digit 2 */ 6 69 sup3 init (""), /* 403 - superior digit 3 */ 6 70 sup4 init (""), /* 404 - superior digit 4 */ 6 71 sup5 init (""), /* 405 - superior digit 5 */ 6 72 sup6 init (""), /* 406 - superior digit 6 */ 6 73 sup7 init (""), /* 407 - superior digit 7 */ 6 74 sup8 init (""), /* 410 - superior digit 8 */ 6 75 sup9 init (" "), /* 411 - superior digit 9 */ 6 76 EM init (" "), /* 412 - EM space */ 6 77 EM_ init (" "), /* 413 - EM aligned dash */ 6 78 EN init (" "), /* 414 - EN space */ 6 79 EN_ init (" "), /* 415 - EN aligned dash */ 6 80 ENd init (""), /* 416 - EN dash */ 6 81 THIN init (""), /* 417 - thinspace */ 6 82 DEVIT init (""), /* 420 - device unit */ 6 83 lquote init (""), /* 421 - left double quote */ 6 84 rquote init (""), /* 422 - right double quote */ 6 85 modmark init (""), /* 424 - text modification/addition mark */ 6 86 delmark init (""), /* 430 - deletion mark */ 6 87 vrule init ("Z"), /* 532 - vertical rule */ 6 88 lslnt init ("^") /* 536 - left slant */ 6 89 ) char (1) unaligned static options (constant); 6 90 6 91 /* END INCLUDE FILE comp_metacodes.incl.pl1 */ 1209 7 1 /* BEGIN INCLUDE FILE comp_option.incl.pl1 */ 7 2 7 3 dcl option_version fixed bin (35) static options (constant) init (2); 7 4 7 5 dcl 1 option aligned based (const.option_ptr), /* program options */ 7 6 2 version fixed bin (35), 7 7 /* Options with parameters */ 7 8 (2 argument_opt, /* -argument option flag */ 7 9 2 cbar_opt, /* -change_bars option flag */ 7 10 2 cbar_art_opt, /* -change_bars_art option flag */ 7 11 2 debug_opt, /* -debug option flag */ 7 12 2 db_all_opt, /* -debug_all option flag */ 7 13 2 db_file_opt, /* -debug_file option flag */ 7 14 2 device_opt, /* -device option flag */ 7 15 2 execute_opt, /* -execute option flag */ 7 16 2 from_opt, /* -from option flag */ 7 17 2 galley_opt, /* -galley option flag */ 7 18 2 hyph_opt, /* -hyphenation option flag */ 7 19 2 indent_opt, /* -indent option flag */ 7 20 2 input_file_opt, /* -input_file option flag */ 7 21 2 linespace_opt, /* -linespace option flag */ 7 22 2 output_file_opt, /* -output_file option flag */ 7 23 2 pages_opt, /* -pages option flag */ 7 24 2 page_chng_opt, /* -pages_changed option flag */ 7 25 2 parameter_opt, /* -parameter option flag */ 7 26 2 passes_opt, /* -passes option flag */ 7 27 2 tdir_opt, /* -temp_dir option flag */ 7 28 2 to_opt, /* -to option flag */ 7 29 /* Options without parameters */ 7 30 2 annot_opt, /* -annotate */ 7 31 2 brief_opt, /* -brief option flag */ 7 32 2 check_opt, /* -check option flag */ 7 33 2 cws_opt, /* -cws option flag */ 7 34 2 db_pause_opt, /* -debug_pause option flag */ 7 35 2 noart_opt, /* -noart option flag */ 7 36 2 nobell_opt, /* -no_bell option flag */ 7 37 2 nofill_opt, /* -nofill option flag */ 7 38 2 nohit_opt, /* -nohit option flag */ 7 39 2 number_opt, /* -number option flag */ 7 40 2 number_append_opt, /* -number_append option flag */ 7 41 2 number_brief_opt, /* -number_brief option flag */ 7 42 2 stop_opt, /* -stop option flag */ 7 43 2 wait_opt) unal bit (1), /* -wait option flag */ 7 44 2 MBZ bit (2) unal, 7 45 /* Optional parameters */ 7 46 2 arg_count fixed bin, /* count of -ag values */ 7 47 2 cbar, /* change bar data */ 7 48 3 level char (1), /* change level character (ASCII NUL) */ 7 49 3 place char (1), /* placement character */ 7 50 3 space fixed bin (31), /* extra left margin space needed */ 7 51 3 left, /* left margin mark data */ 7 52 4 sep fixed bin (31), /* separation */ 7 53 4 width fixed bin (31), /* mark width */ 7 54 4 mark char (80) varying, /* the left margin mark */ 7 55 3 right, /* right margin mark data */ 7 56 4 sep fixed bin (31), /* separation */ 7 57 4 width fixed bin (31), /* mark width */ 7 58 4 mark char (80) varying, /* the right margin mark */ 7 59 3 del, /* deletion mark data */ 7 60 4 sep fixed bin (31), /* separation */ 7 61 4 width fixed bin (31), /* mark width */ 7 62 4 mark char (80) varying, /* the deletion mark */ 7 63 2 db_after_line fixed bin (35), /* source line for enabling insert debug */ 7 64 2 db_before_line fixed bin (35), /* source line for disabling insert debug */ 7 65 2 db_file char (200) var, /* file pathanme for debug */ 7 66 2 db_file_after fixed bin (35), /* debug file starting line */ 7 67 2 db_line_end fixed bin (35), /* final line for -debug output */ 7 68 2 db_line_strt fixed bin (35), /* initial line for -debug output */ 7 69 2 device char (32) varying, /* output device */ 7 70 2 extra_indent fixed bin (31), /* extra indent value */ 7 71 2 hyph_size fixed bin (31), /* least word part size for hyphenation */ 7 72 2 line_1 fixed bin (35), /* initial line for output */ 7 73 2 line_2 fixed bin (35), /* final line for output */ 7 74 2 linespace fixed bin (31), /* line spacing value */ 7 75 2 pglstct fixed bin (35), /* number of page list entries */ 7 76 2 pglstndx fixed bin (35), /* index for -pages list */ 7 77 2 pglst (0:49), /* list of requested pages */ 7 78 3 from char (32) var, 7 79 3 to char (32) var, 7 80 2 parameter char (80) varying, /* parameter from command line */ 7 81 2 passes fixed bin, /* passes remaining */ 7 82 2 pgc_select char (1) aligned; /* addendum key to control change page printing - init = NUL */ 7 83 7 84 /* END INCLUDE FILE comp_option.incl.pl1 */ 7 85 1210 8 1 /* BEGIN INCLUDE FILE comp_page.incl.pl1 */ 8 2 8 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 8 4 8 5 dcl max_image_lines 8 6 fixed static options (constant) init (1000); 8 7 dcl max_cols fixed static options (constant) init (20); 8 8 8 9 dcl page_version fixed bin static options (constant) init (5); 8 10 /* composed page structure */ 8 11 dcl 1 page aligned based (const.page_ptr), 8 12 2 version fixed bin, /* version of this structure */ 8 13 2 parms aligned like page_parms, 8 14 /* page formatting parameters */ 8 15 2 hdr aligned like page_header, 8 16 /* page control stuff */ 8 17 2 image_ptr ptr, /* pointer to the madeup page image */ 8 18 2 column_ptr (0:20) ptr, /* pointers to the column structures */ 8 19 2 col_image_ptr 8 20 (-2:21) ptr; /* pointers to column images */ 8 21 /* col -1 is for line numbers and */ 8 22 /* left margin change bars; */ 8 23 /* col -2 is for */ 8 24 /* right margin change bars */ 8 25 /* and/or annotation * / 8 26* /* page control stuff */ 8 27 dcl 1 page_header aligned based (const.page_header_ptr), 8 28 2 sws, 8 29 3 art bit (1) unal, /* 1 = header/footer art */ 8 30 3 blankpage 8 31 bit (1) unal, /* 1 = intentional blank page */ 8 32 3 frontpage 8 33 bit (1) unal, /* 1 = odd page number */ 8 34 3 headed bit (1) unal, /* 1 = page header has been written */ 8 35 3 modified bit (1) unal, /* 1 = page has been modified */ 8 36 3 overflow bit (1) unal, /* OBSOLETE */ 8 37 3 MBZ bit (12) unal, 8 38 3 dot_addltr 8 39 char (1) unal, /* dot page add letter, if any */ 8 40 3 pgc_select 8 41 char (1) unal, /* for selecting change pages */ 8 42 2 baldepth fixed bin (31), /* page depth at balance point */ 8 43 2 balusd fixed bin (31), /* space used at balance point */ 8 44 2 col_count fixed bin, /* highest value of col_index for the page */ 8 45 2 col_index fixed bin, /* column index */ 8 46 2 depth fixed bin (31), /* current page depth */ 8 47 2 hdspc fixed bin (31), /* TOP white space */ 8 48 2 lmarg fixed bin (31), /* left margin for this page */ 8 49 2 net fixed bin (31), /* net usable space on the page */ 8 50 2 pageno char (32) var, /* current page number */ 8 51 2 used fixed bin (31); /* space already used on the page */ 8 52 8 53 dcl page_image_version 8 54 fixed bin (35) static options (constant) init (2); 8 55 /* structure passed to writers */ 8 56 dcl 1 page_image aligned based (page.image_ptr), 8 57 2 version fixed bin (35), /* structure version no */ 8 58 2 count fixed bin, /* count of page image lines */ 8 59 2 file_id char (32) var, /* compout identifier */ 8 60 2 func fixed bin, /* function code; 0 = build, 8 61* 1 = intialize, 2 = cleanup */ 8 62 2 text_ptr ptr, /* pointer to the text area */ 8 63 /* the image lines */ 8 64 2 line (max_image_lines), 8 65 3 sws, 8 66 4 quad bit (6) unal, /* text set position flags */ 8 67 4 art bit (1) unal, /* 1 = artwork in the line */ 8 68 4 cbar bit (1) unal, /* 1= line has a cbar, dont erase */ 8 69 4 mrgtxt bit (1) unal, /* line number or marginal note */ 8 70 4 white bit (1) unal, /* line is white */ 8 71 4 MBZ bit (26) unal, 8 72 3 depth fixed bin (31), /* page depth for the text */ 8 73 3 gaps fixed bin, /* number of WS gaps in the line */ 8 74 3 info like text_entry.info, 8 75 /* input file info */ 8 76 3 lead fixed bin (31), /* lead value if trailing WS */ 8 77 3 lfnt fixed bin, /* font at the left margin */ 8 78 3 lmarg fixed bin (31), /* text left margin position */ 8 79 3 lsize fixed bin (31), /* pointsize at the left margin */ 8 80 3 net fixed bin (31), /* net width for filling */ 8 81 3 pos fixed bin (31), /* current horiz position */ 8 82 3 ptr ptr, /* pointer to the text */ 8 83 3 rmarg fixed bin (31), /* text right margin position */ 8 84 3 width fixed bin (31); /* width of the text */ 8 85 /* current page formatting parms */ 8 86 dcl 1 page_parms aligned based (const.page_parms_ptr), 8 87 2 init_page_depth 8 88 fixed bin (31), /* initial page depth */ 8 89 2 length fixed bin (31), /* page length */ 8 90 2 lmarg, /* page left margin */ 8 91 3 even fixed bin (31), 8 92 3 odd fixed bin (31), 8 93 2 margin, /* margin values */ 8 94 3 top fixed bin (31), 8 95 3 header fixed bin (31), 8 96 3 footer fixed bin (31), 8 97 3 bottom fixed bin (31), 8 98 2 measure fixed bin (31), /* line space available for text */ 8 99 2 net, /* net usable space on page */ 8 100 3 even fixed bin (31), /* even pages */ 8 101 3 odd fixed bin (31), /* odd pages */ 8 102 /* arrays at the end */ 8 103 2 cols, /* columns defined for the page */ 8 104 3 bal bit (1) unal, /* column balancing control flag */ 8 105 3 MBZ bit (17) unal, 8 106 3 count fixed bin unal; /* the number of columns */ 8 107 /* default page formatting parms */ 8 108 dcl 1 init_page_parms 8 109 aligned like page_parms 8 110 based (const.init_page_parms_ptr); 8 111 8 112 /* END INCLUDE FILE comp_page.incl.pl1 */ 1211 9 1 /* BEGIN INCLUDE FILE comp_shared.incl.pl1 */ 9 2 9 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 9 4 9 5 dcl shared_version fixed bin (35) static options (constant) init (17); 9 6 9 7 dcl 1 shared aligned based (const.shared_ptr), 9 8 2 version fixed bin (35), /* version of this structure */ 9 9 2 chars, 9 10 ( 3 sym_delim, /* delimiter for symbols */ 9 11 3 ttl_delim, /* delimiter for title parts */ 9 12 3 wrd_brkr /* word break character */ 9 13 ) char (1) unal, 9 14 3 PAD char (1) unal, 9 15 2 cbar_type char (4) var, /* change bar type */ 9 16 2 dot_add_letter /* dot page add letter */ 9 17 char (1) var, 9 18 2 EN_width fixed bin (31), /* width of EN in current font */ 9 19 2 eqn_refct fixed bin, /* equation reference counter */ 9 20 2 footref_fcs /* footnote ref FCS string */ 9 21 char (8) aligned, 9 22 2 ftn_reset char (8) var, /* footnote reset mode */ 9 23 2 ftnrefct fixed bin, /* footnote ref counter */ 9 24 2 hyph_size fixed bin (31), /* least word part size for hyphing */ 9 25 2 if_nest, /* if/then/else logic control */ 9 26 3 ndx fixed bin, /* depth of logic nest */ 9 27 3 e (25), /* nest entries */ 9 28 /* .if control switch */ 9 29 4 sw fixed bin, /* 0=off, 1=(then), -1=(else) */ 9 30 4 info aligned like text_entry.info, 9 31 4 line char (256) var, /* the control line */ 9 32 2 indctl, /* indent ctls stack */ 9 33 3 ndx fixed bin, /* current level */ 9 34 /* switch bits */ 9 35 3 stk (0:35) bit (1) unal, 9 36 2 input_dirname 9 37 char (168) var, /* dir containing current input file */ 9 38 2 input_filename 9 39 char (200) var, /* current input file name */ 9 40 2 lead fixed bin (31), /* current linespacing value */ 9 41 2 lit_count fixed bin (35), /* count of literal lines */ 9 42 2 next_pagenmbr 9 43 char (32) var, /* next page number / */ 9 44 2 output_file 9 45 char (32) var, /* output file identifier */ 9 46 2 pagecount fixed bin, /* number of pages produced */ 9 47 2 pagenum, /* page number structure */ 9 48 3 index fixed bin, /* level currently counting */ 9 49 ( 9 50 3 sep char (1) unal, /* separator chars */ 9 51 3 nmbr fixed bin (31), /* the counters */ 9 52 3 mode /* display modes */ 9 53 fixed bin (8) unal 9 54 ) dimension (20), 9 55 2 parameter char (254) var, /* command line parameter */ 9 56 2 param_pres bit (1), /* passed parameter flag */ 9 57 2 pass_counter 9 58 fixed bin, /* pass counter */ 9 59 2 picture, /* picture blocks */ 9 60 3 count fixed bin, /* number of them */ 9 61 3 space fixed bin (31), /* total picture space */ 9 62 3 blk (10), /* picture blocks */ 9 63 4 type char (4), /* type = page/col */ 9 64 4 place char (4), /* place = top/cen/bot */ 9 65 4 ptr ptr, /* pointer to block */ 9 66 4 size fixed bin (31), /* size of the picture */ 9 67 2 ptrs, 9 68 ( 3 aux_file_data_ptr, /* -> auxiliary file data */ 9 69 3 blank_footer_ptr, /* -> blank page footer */ 9 70 3 blank_header_ptr, /* -> blank page header */ 9 71 3 blank_text_ptr, /* -> blank page text */ 9 72 3 blkptr, /* -> active text */ 9 73 3 colptr, /* current column */ 9 74 3 compout_ptr, /* iocb pointer for output */ 9 75 3 compx_ptr, /* iocb pointer for compx file */ 9 76 3 ctb_ptr, /* current line artwork table */ 9 77 3 epftrptr, /* even page footer block */ 9 78 3 ephdrptr, /* even page header block */ 9 79 3 fcb_ptr, /* input file control block pointer */ 9 80 3 ftnblk_data_ptr, /* footnote block data pointer */ 9 81 3 footnote_header_ptr, /* footnote header "title" */ 9 82 3 graphic_page_ptr, /* graphic output page */ 9 83 3 hit_data_ptr, /* hit data pointer */ 9 84 3 htab_ptr, /* horizontal tab tables */ 9 85 3 hwrd_data_ptr, /* local hyphenation table */ 9 86 3 insert_ptr, /* data entry for current input file */ 9 87 3 opftrptr, /* odd page footer block */ 9 88 3 ophdrptr, /* odd page header block */ 9 89 3 ptb_ptr, /* previous line artwork table */ 9 90 3 spcl_blkptr, /* "special" block pointer */ 9 91 3 tbldata_ptr, /* table column data structure */ 9 92 3 tblkdata_ptr, /* text block data array */ 9 93 3 text_header_ptr /* empty text header structure */ 9 94 ) ptr, 9 95 2 scale, /* space conversion scale factors */ 9 96 3 horz fixed bin (31), /* horizontal */ 9 97 3 vert fixed bin (31), /* vertical */ 9 98 2 source_filename 9 99 char (200) var, /* current source file name */ 9 100 2 sws, /* switch bits */ 9 101 ( 3 bug_mode, /* debug mode */ 9 102 3 compout_not_headed, /* compout is not headed */ 9 103 3 end_input, /* EOF for current input file */ 9 104 3 end_output, /* no more output is wanted */ 9 105 3 firstpass, /* first pass over input */ 9 106 3 ftn_mode, /* in footnote mode */ 9 107 3 hyph_mode, /* hyphenating mode */ 9 108 3 inserting_hfc, /* inserting hdr, ftr, or cap */ 9 109 3 literal_mode, /* literal line mode flag */ 9 110 3 pageblock, /* blocks belong to page */ 9 111 3 picture_mode, /* building a picture */ 9 112 3 print_flag, /* producing output */ 9 113 3 purge_ftns, /* purging footnotes */ 9 114 3 suppress_footref, /* suppress next footnote ref */ 9 115 3 table_mode /* table mode */ 9 116 ) bit (1) unal, 9 117 3 MBZ bit (21) unal, 9 118 2 trans, /* trans table for .tr */ 9 119 3 in char (128) var, /* input chars */ 9 120 3 out char (128) var, /* output chars */ 9 121 2 widow_size fixed bin (31), /* widow size */ 9 122 2 widow_foot fixed bin (31); /* widow for footnotes */ 9 123 /* to save shared data between files/passes */ 9 124 dcl 1 save_shared aligned like shared based (const.save_shared_ptr); 9 125 9 126 dcl dot_addltr_symb_index 9 127 fixed bin static options (constant) init (12); 9 128 dcl max_text_lines fixed bin static options (constant) init (1000); 9 129 dcl mode_string char (16) static options (constant) 9 130 init ("arbihxocalaurlru"); 9 131 /* value overlays */ 9 132 dcl flag_value bit (1) based; 9 133 dcl num_value fixed bin (31) based; 9 134 9 135 /* END INCLUDE FILE comp_shared.incl.pl1 */ 1212 10 1 /* BEGIN INCLUDE FILE comp_stack_box.incl.pl1 */ 10 2 10 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 10 4 10 5 dcl arg_count_symb_index 10 6 fixed bin static options (constant) init (2); 10 7 10 8 dcl stkbox_ptr ptr; 10 9 dcl 1 stack_box aligned like init_stack_box based (stkbox_ptr); 10 10 10 11 dcl 1 init_stack_box 10 12 aligned static options (constant), 10 13 2 bthrd ptr init (null ()), 10 14 /* backward thread */ 10 15 2 fthrd ptr init (null ()), 10 16 /* forward thread */ 10 17 2 level fixed bin init (0), 10 18 /* stack level */ 10 19 2 numval fixed bin (31) init (0), 10 20 /* numeric value */ 10 21 2 incrval fixed bin (31) init (0), 10 22 /* counter increment */ 10 23 2 txtstr char (1020) var init (""); 10 24 /* string value */ 10 25 10 26 /* END INCLUDE FILE comp_stack_box.incl.pl1 */ 1213 11 1 /* BEGIN INCLUDE FILE comp_text.incl.pl1 */ 11 2 11 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 11 4 11 5 dcl 1 tblkdata /* data for allocated text blocks */ 11 6 aligned based (shared.tblkdata_ptr), 11 7 2 block, /* block pool */ 11 8 3 count fixed bin, 11 9 3 ptr (500) ptr, /* block pointers */ 11 10 /* block state flags */ 11 11 3 free (500) bit (1) unal, 11 12 2 line_area, /* line area pool */ 11 13 3 count fixed bin, 11 14 3 ptr (500) ptr, /* area pointers */ 11 15 /* area state flags */ 11 16 3 free (500) bit (1) unal, 11 17 2 text_area, /* text area pool */ 11 18 3 count fixed bin, 11 19 3 ptr (500) ptr, /* area pointers */ 11 20 /* area state flags */ 11 21 3 free (500) bit (1) unal, 11 22 3 string_area_count 11 23 fixed bin; /* line areas */ 11 24 dcl LINE_AREA_SIZE fixed bin static options (constant) init (24); 11 25 dcl line_area_ptr ptr init (null); 11 26 dcl 1 line_area aligned based (line_area_ptr), 11 27 2 next ptr, /* forward thread */ 11 28 2 prev ptr, /* backward thread */ 11 29 2 count fixed bin, /* number of lines allocated */ 11 30 2 ndx fixed bin, /* index of current line */ 11 31 2 pndx fixed bin, /* area pool index */ 11 32 2 linptr (LINE_AREA_SIZE) ptr; 11 33 /* text areas */ 11 34 dcl TEXT_AREA_SIZE fixed bin static options (constant) init (6); 11 35 dcl text_area_ptr ptr init (null); 11 36 dcl 1 text_area aligned based (text_area_ptr), 11 37 2 next ptr, /* forward thread */ 11 38 2 count fixed bin, /* number of areas allocated */ 11 39 2 ndx fixed bin, /* index of current strarea */ 11 40 2 pndx fixed bin, /* area pool index */ 11 41 2 strareaptr (TEXT_AREA_SIZE) ptr; 11 42 /* text string area */ 11 43 dcl string_area (256) fixed bin based; 11 44 dcl txtstrptr ptr; /* current text string */ 11 45 dcl txtstr char (1020) var based (txtstrptr); 11 46 11 47 dcl TEXT_VERSION fixed bin static options (constant) init (9); 11 48 /* general text block */ 11 49 dcl 1 text aligned based (shared.blkptr), 11 50 2 version fixed bin, /* version of structure */ 11 51 2 blkndx fixed bin, /* block data index */ 11 52 2 blktype char (2), /* block type code */ 11 53 /* dynamic block control stuff */ 11 54 2 hdr aligned like text_header, 11 55 /* text read from input file */ 11 56 2 input aligned like text_entry, 11 57 2 input_line char (1020) var,/* input buffer */ 11 58 2 line_area, 11 59 3 first ptr, /* head of line area thread */ 11 60 3 cur ptr, /* current line area */ 11 61 2 next_text ptr, /* next text string */ 11 62 /* text formatting parameters */ 11 63 2 parms aligned like default_parms, 11 64 2 text_area, 11 65 3 first ptr, /* head of text area thread */ 11 66 3 cur ptr; /* current text area */ 11 67 /* an empty text block line */ 11 68 dcl 1 text_entry aligned based (const.text_entry_ptr), 11 69 2 sws, /* unaligned switches, etc. */ 11 70 3 art bit (1) unal, /* line has artwork */ 11 71 3 cbar, /* change bar flags */ 11 72 4 add bit (1) unal, /* text addition flag */ 11 73 4 del bit (1) unal, /* text deletion flag */ 11 74 4 mod bit (1) unal, /* text modification flag */ 11 75 3 default bit (1) unal, /* 1 = default case as needed */ 11 76 3 DVctl bit (1) unal, /* 1 = line is a device ctl string */ 11 77 3 embedded bit (1) unal, /* 1 = line has an embedded control */ 11 78 3 end_keep bit (1) unal, /* 1= line ends a keep */ 11 79 3 fnt_chng bit (1) unal, /* 1 = text is a font change string */ 11 80 3 footref bit (1) unal, /* 1 = line has a footnote reference */ 11 81 3 hanging bit (1) unal, /* 1 = a hanging undent */ 11 82 3 keep bit (1) unal, /* 1 = unsplittable line */ 11 83 3 no_trim bit (1) unal, /* 1 = untrimmable white line */ 11 84 3 oflo bit (1) unal, /* line causes overflow */ 11 85 3 punct bit (1) unal, /* 1 = line ends with punctuation */ 11 86 3 quad bit (6) unal, /* text alignment flags */ 11 87 3 space_added /* 1= line has added space */ 11 88 bit (1) unal, 11 89 3 spcl, /* special entry - not output text */ 11 90 4 file bit (1) unal, /* 1= output to special file */ 11 91 4 blk_splt /* 1= action at block split time */ 11 92 bit (1) unal, 11 93 4 page_mkup /* 1= action at page makeup time */ 11 94 bit (1) unal, 11 95 3 table bit (1) unal, /* 1= line is a table entry */ 11 96 3 tblspc bit (1) unal, /* 1= WS fill for table mode */ 11 97 3 title bit (1) unal, /* 1= line is a */ 11 98 3 unspnct bit (1) unal, /* 1= underscore punctuation */ 11 99 3 unstop bit (1) unal, /* 1= line is/ends with UNSTOP */ 11 100 3 unstrt bit (1) unal, /* 1= line is/ends with UNSTART */ 11 101 3 unswrds bit (1) unal, /* 1= underscore words only */ 11 102 3 white bit (1) unal, /* 1= line is white space */ 11 103 3 und_prot bit (1) unal, /* 1= undent is protected */ 11 104 3 MBZ bit (4) unal, 11 105 2 art_start fixed bin unal, /* start of art string in line */ 11 106 2 art_len fixed bin unal, /* length of art string in line */ 11 107 2 cbar_level /* change level for cbars */ 11 108 char (1) aligned, 11 109 2 cur, /* current scanning data for line */ 11 110 3 chrct fixed bin, /* count of chars scanned */ 11 111 3 gaps fixed bin, /* gap count */ 11 112 3 width fixed bin (31), /* width of font chars */ 11 113 3 min fixed bin (31), /* width of min spbnds */ 11 114 3 avg fixed bin (31), /* width of avg spbnds */ 11 115 3 max fixed bin (31), /* width of max spbnds */ 11 116 3 font like fntstk_entry, 11 117 2 depth fixed bin (31), /* page depth for line */ 11 118 /* font at start of line */ 11 119 2 font like fntstk_entry, 11 120 2 index fixed bin (21), /* char index for line scanning */ 11 121 2 info, /* stuff created during line input */ 11 122 3 fileno fixed bin, /* input file index */ 11 123 3 lineno fixed bin, /* input file line number */ 11 124 3 lineno0 fixed bin, /* call_box0 line number */ 11 125 2 linespace fixed bin (31), /* linespace value for the line */ 11 126 2 lmarg fixed bin (31), /* adjusted left margin position */ 11 127 2 mod_len fixed bin, /* length of modified text */ 11 128 2 mod_start fixed bin, /* index for start of modified text */ 11 129 2 net fixed bin (31), /* net line width for filling */ 11 130 2 ptr ptr, /* pointer to the actual text */ 11 131 2 rmarg fixed bin (31), /* adjusted right margin position */ 11 132 2 spcl_iocbp ptr, /* iocb ptr for spcl line */ 11 133 2 sym_delim char (1) unal, /* symbol delimiter for this line */ 11 134 2 tblcol fixed bin, /* column for table entries */ 11 135 2 title_delim 11 136 char (1) unal, /* title delimiter if a <title> */ 11 137 2 title_index 11 138 fixed bin, /* <title> block index for line */ 11 139 2 width fixed bin (31), /* width of text */ 11 140 2 ftn, /* footnote info for line */ 11 141 3 ct fixed bin, /* number of footnote refs */ 11 142 3 used fixed bin (31), /* space used */ 11 143 3 e (40), /* limit is arbitrary */ 11 144 4 blkndx fixed bin unal, /* block index of footnote - if this 11 145* value is 0, then .frf was used */ 11 146 4 refno fixed bin unal; /* reference number */ 11 147 11 148 dcl ( 11 149 quadi init ("40"b3), /* set to the inside margin */ 11 150 quado init ("20"b3), /* set to the outside margin */ 11 151 quadl init ("10"b3), /* set left */ 11 152 quadc init ("04"b3), /* set centered */ 11 153 quadr init ("02"b3), /* set right */ 11 154 just init ("01"b3) /* justified */ 11 155 ) bit (6) static options (constant); 11 156 /* control line structure */ 11 157 dcl 1 ctl aligned like text_entry based (const.ctl_ptr); 11 158 dcl ctl_line char (1020) var based (ctl.ptr); 11 159 11 160 dcl txtlinptr ptr; /* the current text line */ 11 161 dcl 1 txtlin aligned like text_entry based (txtlinptr); 11 162 /* empty text header structure */ 11 163 dcl 1 text_header aligned based (const.text_header_ptr), 11 164 2 sws, /* control switches */ 11 165 3 art bit (1) unal, /* block has artwork */ 11 166 3 dfrftn bit (1) unal, /* block is a deferred footnote */ 11 167 3 modified bit (1) unal, /* block contains modified lines */ 11 168 3 no_trim bit (1) unal, /* 1 = dont trim WS block */ 11 169 3 oflo_ftn bit (1) unal, /* overflow footnote */ 11 170 3 tblblk bit (1) unal, /* a table block */ 11 171 3 unref bit (1) unal, /* block is an unreffed footnote */ 11 172 3 white bit (1) unal, /* block is a white space block */ 11 173 3 picture bit (1) unal, /* picture block */ 11 174 3 orphan bit (1) unal, /* 1= footnote is an orphan */ 11 175 3 MBZ bit (26) unal, 11 176 2 art_count fixed bin unal, /* to count input art lines */ 11 177 2 blkptr ptr, /* pointer to suspended block */ 11 178 2 cap_size fixed bin unal, /* line count of text caption */ 11 179 2 cap_used fixed bin (31), /* size of text caption */ 11 180 2 colno fixed bin unal, /* column owning the block */ 11 181 2 count fixed bin unal, /* line count for block */ 11 182 2 eqn_line_count 11 183 fixed bin unal, /* counter for equation lines */ 11 184 2 first_text fixed bin unal, /* OBSOLETE */ 11 185 2 ftn, /* footnotes */ 11 186 3 ct fixed bin, /* count */ 11 187 3 usd fixed bin (31), /* space used */ 11 188 3 blkndx (40) fixed bin, /* footnote block index values */ 11 189 2 head_size fixed bin, /* line count of text header */ 11 190 2 head_used fixed bin (31), /* size of text header */ 11 191 2 index fixed bin unal, /* block index of next output line */ 11 192 2 keep_count fixed bin unal, /* to count input keep lines */ 11 193 2 last_line fixed bin, /* last text line in column */ 11 194 2 mx_ttl_ndx fixed bin, /* max title index value in block */ 11 195 2 name char (32) var, /* block name, if any */ 11 196 2 nofill_count /* to count nofill lines */ 11 197 fixed bin, 11 198 2 parms_ptr ptr, /* parms for suspended block */ 11 199 2 refer fixed bin, /* inter-block reference */ 11 200 2 refer_index /* OBSOLETE */ 11 201 fixed bin, /* a reference */ 11 202 2 split fixed bin, /* split point for balancing */ 11 203 2 trl_ws fixed bin (31), /* trailing WS */ 11 204 2 used fixed bin (31); /* page space used by a column/block */ 11 205 /* text formatting parameters */ 11 206 dcl 1 text_parms aligned like default_parms 11 207 based (const.text_parms_ptr); 11 208 11 209 dcl 1 current_parms 11 210 aligned like default_parms 11 211 based (const.current_parms_ptr); 11 212 11 213 dcl 1 default_parms 11 214 aligned based (const.default_parms_ptr), 11 215 2 sws, /* control switches */ 11 216 3 quad bit (6) unal, /* text alignment mode */ 11 217 3 art bit (1) unal, /* 1 = block countains artwork */ 11 218 3 cbar, /* change bar flags */ 11 219 4 add bit (1) unal, /* text addition flag */ 11 220 4 del bit (1) unal, /* text deletion flag for next line */ 11 221 4 mod bit (1) unal, /* text modification flag */ 11 222 3 fill_mode 11 223 bit (1) unal, /* 1 = fill mode ON */ 11 224 3 footnote bit (1) unal, /* block is a footnote */ 11 225 3 hfc bit (1) unal, /* OBSOLETE */ 11 226 3 htab_mode 11 227 bit (1) unal, /* 1 = horizontal tab mode ON */ 11 228 3 keep bit (1) unal, /* keep mode */ 11 229 3 page bit (1) unal, /* block belongs to page, not text */ 11 230 3 title_mode 11 231 bit (1) unal, /* 0 = plain text, 1 = <title>s OK */ 11 232 3 MBZ bit (19) unal, 11 233 2 ftrptr ptr, /* text caption block */ 11 234 2 cbar_level /* change level for cbars */ 11 235 char (1) aligned, 11 236 2 hdrptr ptr, /* text header block */ 11 237 2 left, /* left margin data */ 11 238 3 indent fixed bin (31), 11 239 3 undent fixed bin (31), 11 240 2 linespace fixed bin (31), /* line spacing value */ 11 241 2 measure fixed bin (31), /* line space for text */ 11 242 /* right margin data */ 11 243 2 right like default_parms.left, 11 244 2 fntstk, /* stack of last 20 font changes */ 11 245 3 index fixed bin, /* which one in use */ 11 246 /* entry(0) is the default */ 11 247 3 entry (0:19) like fntstk_entry; 11 248 11 249 dcl hfcblk_ptr ptr; 11 250 dcl 1 hfcblk aligned like text based (hfcblk_ptr); 11 251 11 252 /* END INCLUDE FILE comp_text.incl.pl1 */ 1214 1215 dcl 1 info like text_entry.info based (a_info_ptr); 1216 dcl 1 af_err_copy static like af_err_info; 1217 dcl 1 af_err_info based (cond_info.info_ptr), 1218 2 hdr like condition_info_header, 1219 2 name_ptr ptr, 1220 2 name_lth fixed, 1221 2 errmsg_ptr ptr, 1222 2 errmsg_lth fixed, 1223 2 max_errmsg_lth 1224 fixed, 1225 2 print_sw bit (1); 12 1 /* BEGIN INCLUDE FILE condition_info_header.incl.pl1 BIM 1981 */ 12 2 /* format: style2 */ 12 3 12 4 declare condition_info_header_ptr 12 5 pointer; 12 6 declare 1 condition_info_header 12 7 aligned based (condition_info_header_ptr), 12 8 2 length fixed bin, /* length in words of this structure */ 12 9 2 version fixed bin, /* version number of this structure */ 12 10 2 action_flags aligned, /* tell handler how to proceed */ 12 11 3 cant_restart bit (1) unaligned, /* caller doesn't ever want to be returned to */ 12 12 3 default_restart bit (1) unaligned, /* caller can be returned to with no further action */ 12 13 3 quiet_restart bit (1) unaligned, /* return, and print no message */ 12 14 3 support_signal bit (1) unaligned, /* treat this signal as if the signalling procedure had the support bit set */ 12 15 /* if the signalling procedure had the support bit set, do the same for its caller */ 12 16 3 pad bit (32) unaligned, 12 17 2 info_string char (256) varying, /* may contain printable message */ 12 18 2 status_code fixed bin (35); /* if^=0, code interpretable by com_err_ */ 12 19 12 20 /* END INCLUDE FILE condition_info_header.incl.pl1 */ 1226 1227 dcl 1 cond_info static like condition_info; 13 1 /* BEGIN INCLUDE FILE ... condition_info.incl.pl1 */ 13 2 13 3 /* Structure for find_condition_info_. 13 4* 13 5* Written 1-Mar-79 by M. N. Davidoff. 13 6**/ 13 7 13 8 /* automatic */ 13 9 13 10 declare condition_info_ptr pointer; 13 11 13 12 /* based */ 13 13 13 14 declare 1 condition_info aligned based (condition_info_ptr), 13 15 2 mc_ptr pointer, /* pointer to machine conditions at fault time */ 13 16 2 version fixed binary, /* Must be 1 */ 13 17 2 condition_name char (32) varying, /* name of condition */ 13 18 2 info_ptr pointer, /* pointer to the condition data structure */ 13 19 2 wc_ptr pointer, /* pointer to wall crossing machine conditions */ 13 20 2 loc_ptr pointer, /* pointer to location where condition occured */ 13 21 2 flags unaligned, 13 22 3 crawlout bit (1), /* on if condition occured in lower ring */ 13 23 3 pad1 bit (35), 13 24 2 pad2 bit (36), 13 25 2 user_loc_ptr pointer, /* ptr to most recent nonsupport loc before condition occurred */ 13 26 2 pad3 (4) bit (36); 13 27 13 28 /* internal static */ 13 29 13 30 declare condition_info_version_1 13 31 fixed binary internal static options (constant) initial (1); 13 32 13 33 /* END INCLUDE FILE ... condition_info.incl.pl1 */ 1228 14 1 /* BEGIN INCLUDE FILE - comp_dvid.incl.pl1 */ 14 2 14 3 /* Written: JA Falksen - 6/81 14 4*/* Modified: EJ Wallman - 11/81 - Added comp_dvt.displayproc */ 14 5 /* Modified: EJW - 1/82 - added length arg to comp_dvt.displayproc */ 14 6 /* Modified: 2/82 - EJW - Deleted ptr arg from comp_dvt.displayproc */ 14 7 /* Modified: 3/83 - EJW - Changed footref arg of comp_dvt.footproc to 14 8* (3) char (*) var. Version 4. */ 14 9 /* Modified: 6/83 - EJW - Added error print control switch to calling 14 10* sequence for comp_dvt.displayproc. - Version 5. */ 14 11 14 12 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 14 13 14 14 dcl comp_dvid_version 14 15 fixed bin static options (constant) init (5); 14 16 14 17 dcl 1 comp_dvid aligned based (const.dvidptr), 14 18 2 version fixed bin, /* version of this structure and */ 14 19 /* of comp_dvt */ 14 20 2 devname char (32), /* name of device */ 14 21 2 dvt_r bit (18); /* device table offset */ 14 22 14 23 /* END INCLUDE FILE - comp_dvid.incl.pl1 */ 1229 15 1 /* BEGIN INCLUDE FILE - comp_dvt.incl.pl1 */ 15 2 15 3 /* Written: 9/80 - JA Falksen 15 4*/* Modified: 11/81 - EJW - Added comp_dvt.displayproc 15 5*/* Modified: 1/82 - EJW - Added length arg to comp_dvt.displayproc 15 6*/* Modified: 2/82 - EJW - Deleted ptr arg from comp_dvt.displayproc 15 7*/* Modified: 3/83 - EJW - Changed footref arg of comp_dvt.footproc to 15 8* (3) char (*) var. Version 4. */ 15 9 /* Modified: 6/83 - EJW - Added error print control switch to calling 15 10* sequence for comp_dvt.displayproc. - Version 5. 15 11*/* Modified: 11/84 - EJW - Renamed no_adjust to justifying. 15 12**/ 15 13 15 14 /* All names which end in "_r"are offset values within the device table */ 15 15 /* segment. The version of this structure is in comp_dvid.incl.pl1 */ 15 16 15 17 /* format: style2,ind3,ll79,dclind4,idind15,comcol41,linecom */ 15 18 15 19 dcl 1 comp_dvt aligned based (const.devptr), 15 20 2 devclass char (32), /* what general kind of device is */ 15 21 /* this, currently available: */ 15 22 /* "printer" (includes terminals), */ 15 23 /* "braille", "bitmap" */ 15 24 2 outproc entry /* page output processor */ 15 25 (fixed bin, /* function - 0=build */ 15 26 /* 1=init page */ 15 27 /* 2=init file */ 15 28 /* 3=cleanup */ 15 29 fixed bin (35)),/* error code */ 15 30 2 footproc entry /* footnote reference proc */ 15 31 ((3) char (*) var, 15 32 /* reference string (IN/OUT) */ 15 33 ptr), /* comp_dvt_p (IN) */ 15 34 2 artproc entry (), /* artwork proc */ 15 35 /* dont know how to describe yet */ 15 36 2 displayproc 15 37 entry /* string display interpreter */ 15 38 (char (*) var, /* raw input string */ 15 39 fixed bin (24), /* chars used in this call */ 15 40 bit (1)) /* 1= dont show display errors */ 15 41 returns (char (*) var), 15 42 /* interpreted output string */ 15 43 /* following values are in millipoints */ 15 44 2 min_WS fixed bin (31), /* minimum whitespace */ 15 45 2 min_lead fixed bin (31), /* minimun lead */ 15 46 2 vmt_min fixed bin (31), /* min usable .vmt */ 15 47 2 vmb_min fixed bin (31), /* min usable .vmb */ 15 48 2 def_vmt fixed bin (31), /* default .vmt */ 15 49 2 def_vmh fixed bin (31), /* default .vmh */ 15 50 2 def_vmf fixed bin (31), /* default .vmf */ 15 51 2 def_vmb fixed bin (31), /* default .vmb */ 15 52 2 pdw_max fixed bin (31), /* max page width available */ 15 53 2 pdl_max fixed bin (31), /* max page length available, */ 15 54 /* (0 = unlimited) */ 15 55 2 upshift fixed bin (31), /* footnote reference shift */ 15 56 2 init_ps fixed bin (31), /* initial pointsize (millipoints) */ 15 57 2 lettersp fixed bin (31), /* max letterspacing */ 15 58 2 max_pages fixed bin, /* max pages/"file" -1 ->unlimited */ 15 59 2 max_files fixed bin, /* max "files"/reel -1 ->unlimited */ 15 60 2 init_fam fixed bin, /* initial family index */ 15 61 2 init_mem fixed bin, /* initial member index */ 15 62 2 foot_fam fixed bin, /* initial foot family index */ 15 63 2 foot_mem fixed bin, /* initial foot member index */ 15 64 2 init_family 15 65 char (32), /* initial font family to use */ 15 66 2 init_member 15 67 char (32), /* initial font member to use */ 15 68 ( /* the following are offsets */ 15 69 2 atd_r, /* attach desc for on-line output */ 15 70 2 dvc_r, /* device control table relptr */ 15 71 2 comment_r, /* comment string relptr */ 15 72 2 cleanup_r, /* "cleanup" string relptr */ 15 73 2 medsel_table_r /* media select table relptr */ 15 74 ) bit (18) aligned, 15 75 2 foot_family 15 76 char (32), /* family for footnote reference */ 15 77 2 foot_member 15 78 char (32), /* member for footnote reference */ 15 79 /* if one was specified */ 15 80 2 sws unaligned, 15 81 3 interleave /* 0- page block has lines in column */ 15 82 bit (1), /* order left-to-right */ 15 83 /* 1- page block has lines in line */ 15 84 /* order top-to-bottom */ 15 85 3 justifying /* 1- device justifies lines */ 15 86 bit (1), 15 87 3 mbz bit (24), 15 88 3 endpage bit (9), /* EOP char if not "0"b */ 15 89 2 open_mode fixed bin (35), /* when going to a file */ 15 90 2 recleng fixed bin, /* length of tape records */ 15 91 2 family_ct fixed bin, /* # families present */ 15 92 2 family (comp_dvt.family_ct), 15 93 /* families of fonts defined */ 15 94 3 member_r bit (18) aligned, 15 95 /* member table relptr */ 15 96 3 name char (32); /* family name */ 15 97 15 98 15 99 /* The usage formula for units: */ 15 100 /* */ 15 101 /* rel_units * length_in_points */ 15 102 /* ---------------------------- = length_in_units */ 15 103 /* points_per_EM */ 15 104 15 105 /* END INCLUDE FILE comp_dvt.incl.pl1 */ 1230 16 1 /* BEGIN INCLUDE FILE comp_tree.incl.pl1 */ 16 2 16 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 16 4 16 5 dcl 1 tree /* symbol tree structure */ 16 6 based (const.tree_ptr) aligned, 16 7 ( 2 align_mode, /* current text alignment mode */ 16 8 2 art_mode, /* artwork mode */ 16 9 2 block_index, /* current block index */ 16 10 2 block_name, /* name of current block */ 16 11 2 bottom_margin, /* page bottom margin */ 16 12 2 calling_file_name, /* caller of inserted file */ 16 13 2 callers_lineno, /* lineno of .ifi in calling file */ 16 14 2 devclass, /* DeviceClass */ 16 15 2 devname, /* DeviceName */ 16 16 2 dot_addltr, /* add letter of dot page */ 16 17 2 equation_mode, /* equation mode */ 16 18 2 fill_mode, /* text filling mode */ 16 19 2 fontname, /* fontname function */ 16 20 2 footer_margin, /* page footer margin function */ 16 21 2 frontpage, /* front page flag function */ 16 22 2 head_space, /* head space function */ 16 23 2 header_margin, /* page header margin function */ 16 24 2 keep_mode, /* block splitting mode */ 16 25 2 left_indent, /* left margin indention */ 16 26 2 left_undent, /* left margin adjustment */ 16 27 2 line_input, /* line input function */ 16 28 2 linesleft, /* lines left function */ 16 29 2 linespace, /* linespace function */ 16 30 2 measure_bif, /* measure function */ 16 31 2 next_pageno, /* next page number */ 16 32 2 pagecount, /* total page count function */ 16 33 2 pagelines, /* line number on page function */ 16 34 2 page_length, /* current page length function */ 16 35 2 pageno, /* page number function */ 16 36 2 pointsize, /* pointsize function */ 16 37 2 right_indent, /* right margin indention */ 16 38 2 right_undent, /* right margin adjustment */ 16 39 2 symbol_delimiter, /* symbol delimiter function */ 16 40 2 text_depth, /* text depth function */ 16 41 2 text_lineno, /* input file line number for output_line */ 16 42 2 text_width, /* text width function */ 16 43 2 title_delimiter, /* title delimiter function */ 16 44 2 top_margin, /* page top margin function */ 16 45 2 trans, /* translation table for .trf */ 16 46 2 userinput /* terminal insert function */ 16 47 ) label, /**/ 16 48 /* VARIABLE TABLES */ 16 49 2 count fixed bin, /* variable areas allocated */ 16 50 2 areandx fixed bin, /* current area */ 16 51 /* entry count per area */ 16 52 2 entry_ct (MAX_TREE_AREAS) fixed bin, 16 53 2 entryndx fixed bin, /* current entry in area */ 16 54 ( /* storage area pointers */ 16 55 2 flag_ptr, /* flags */ 16 56 2 name_ptr, /* names */ 16 57 2 num_ptr, /* number values */ 16 58 2 incr_ptr, /* counter increments */ 16 59 2 var_ptr /* variable structures */ 16 60 ) ptr dimension (MAX_TREE_AREAS); 16 61 /* flag values */ 16 62 dcl tree_flags (MAX_TREE_AREA_CT) bit (1) aligned 16 63 based (tree.flag_ptr (tree.areandx)); 16 64 /* counter increment values */ 16 65 dcl tree_incrs (MAX_TREE_AREA_CT) fixed bin (31) 16 66 based (tree.incr_ptr (tree.areandx)); 16 67 /* variable names */ 16 68 dcl tree_names_ptr ptr init (null); 16 69 dcl tree_names (MAX_TREE_AREA_CT) char (32) unal 16 70 based (tree_names_ptr); 16 71 /* numeric values */ 16 72 dcl tree_nums (MAX_TREE_AREA_CT) fixed bin (31) 16 73 based (tree.num_ptr (tree.areandx)); 16 74 16 75 dcl tree_var_ptr ptr init (null);/* variable entry structures */ 16 76 dcl 1 tree_var (MAX_TREE_AREA_CT) aligned based (tree_var_ptr), 16 77 2 flags bit (9) aligned,/* type flags */ 16 78 2 mode fixed bin, /* numeric display mode */ 16 79 2 flag_loc ptr, /* flag value pointer */ 16 80 2 num_loc ptr, /* num value pointer */ 16 81 2 incr_loc ptr, /* num increment pointer */ 16 82 2 str_loc ptr; /* str value pointer */ 16 83 16 84 /* END INCLUDE FILE comp_tree.incl.pl1 */ 1231 17 1 /* BEGIN INDCLUDE FILE comp_varattrs.incl.pl1 */ 17 2 17 3 /* Written - 4/82 - EJW 17 4* 17 5* Defines constants for all variable attribute flag bits in compose */ 17 6 17 7 /* Modified - 5/83 - EJW - Changed binary_attr to unscaled_attr */ 17 8 17 9 dcl (numeric_attr init ("100000000"b), /* binary numeric */ 17 10 counter_attr init ("010000000"b), /* counter */ 17 11 string_attr init ("001000000"b), /* string */ 17 12 flag_attr init ("00010000"b), /* flag */ 17 13 unscaled_attr init ("000010000"b), /* unscaled numeric */ 17 14 function_attr init ("000001000"b), /* function value */ 17 15 hspace_attr init ("000000100"b), /* horizontal millipoint value */ 17 16 vspace_attr init ("000000010"b), /* vertical millipoint value */ 17 17 push_attr init ("000000001"b)) /* pushable variable */ 17 18 bit (9) unal static options (constant); 17 19 17 20 /* END INCLUDE FILE comp_varattrs.incl.pl1 */ 1232 18 1 /* BEGIN INCLUDE FILE compstat.incl.pl1 - external static data for compose 18 2* 18 3* This storage is converted from external (as declared) to internal by the 18 4* binder and contains items that must be accessible to both the bound and 18 5* unbound program. */ 18 6 18 7 /* Written: ??/??/7? - EJW 18 8* Modified: 10/18/84 - EJW - (First recorded change) Added current_parms_ptr 18 9* and removed the codes array; version 6. 18 10**/ 18 11 18 12 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 18 13 18 14 dcl 1 compstat$compconst 18 15 aligned like const ext static; 18 16 18 17 dcl const_version fixed bin (35) static options (constant) init (6); 18 18 dcl MAX_TREE_AREA_CT /* entries in a tree area */ 18 19 fixed bin static options (constant) init (80); 18 20 dcl MAX_TREE_AREAS /* number of tree areas */ 18 21 fixed bin static options (constant) init (20); 18 22 18 23 dcl 1 const aligned based (compstat$compconst.ptr), 18 24 2 ptr ptr, /* self pointer - MUST BE FIRST */ 18 25 2 version fixed bin (35), /* structure version */ 18 26 2 art_symbols /* string of art symbols */ 18 27 char (28) aligned, 18 28 2 builtin_count /* count of builtin variables */ 18 29 fixed bin, 18 30 2 comp_dir char (200), /* dir in which compose lives */ 18 31 2 comp_version 18 32 char (8) var, /* compose version id */ 18 33 2 date_value char (8) var, /* current date */ 18 34 2 dsm_name char (32), /* device support module name */ 18 35 2 dvt_name char (32), /* device table name */ 18 36 2 max_seg_chars 18 37 fixed bin (35), /* char count in a max seg */ 18 38 2 null_str char (1) var, /* an empty string */ 18 39 2 ptrs, 18 40 ( 3 call_stk_ptr, /* -> insert call stack */ 18 41 3 colhdrptr, /* empty column header structure */ 18 42 3 ctl_ptr, /* input line structure */ 18 43 3 current_parms_ptr, /* current formatting parms */ 18 44 3 default_parms_ptr, /* default initial text parms */ 18 45 3 devptr, /* -> comp_dvt structure */ 18 46 3 dvidptr, /* -> comp_dvid structure */ 18 47 3 errblk_ptr, /* error message block pointer */ 18 48 3 footnote_parms_ptr, /* footnote formatting parms */ 18 49 3 fnttbldata_ptr, /* -> font table data */ 18 50 3 global_area_ptr, /* per invocation storage */ 18 51 3 init_page_parms_ptr, /* default initial page parms */ 18 52 3 insert_data_ptr, /* insert file data block */ 18 53 3 local_area_ptr, /* per file storage */ 18 54 3 loctbl_ptr, /* for font copying */ 18 55 3 option_ptr, /* program options block */ 18 56 3 outproc_ptr, /* device writer for cleanup */ 18 57 3 page_ptr, /* active page structure */ 18 58 3 page_header_ptr, /* empty page header structure */ 18 59 3 page_parms_ptr, /* page formatting parameter block */ 18 60 3 save_shared_ptr, /* saved shared data */ 18 61 3 shared_ptr, /* shared data structure */ 18 62 3 text_entry_ptr, /* empty text entry structure */ 18 63 3 text_header_ptr, /* empty text header structure */ 18 64 3 text_parms_ptr, /* main body formatting parms */ 18 65 3 tree_ptr /* symbol tree structure */ 18 66 ) ptr, 18 67 2 time_value char (6) var; /* time at start */ 18 68 18 69 /* Other external */ 18 70 dcl ( 18 71 ioa_, 18 72 ioa_$nnl 18 73 ) entry options (variable); 18 74 dcl iox_$error_output 18 75 ptr ext static, /* iocb pointer for error_output */ 18 76 iox_$user_input 18 77 ptr ext static, /* iocb pointer for user_input */ 18 78 iox_$user_output 18 79 ptr ext static; /* iocb pointer for user_output */ 18 80 dcl sys_info$max_seg_size 18 81 fixed bin (18) ext static; 18 82 18 83 /* END INCLUDE FILE compstat.incl.pl1 */ 1233 1234 1235 end comp_use_ref_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/17/00 1943.5 comp_use_ref_.pl1 >udd>sm>ds>w>ml>comp_use_ref_.pl1 1204 1 04/23/85 1447.0 comp_column.incl.pl1 >ldd>incl>comp_column.incl.pl1 1205 2 03/01/85 1511.8 comp_DCdata.incl.pl1 >ldd>incl>comp_DCdata.incl.pl1 1206 3 03/01/85 1511.9 comp_entries.incl.pl1 >ldd>incl>comp_entries.incl.pl1 1207 4 03/01/85 1512.0 comp_fntstk.incl.pl1 >ldd>incl>comp_fntstk.incl.pl1 1208 5 03/01/85 1512.0 comp_insert.incl.pl1 >ldd>incl>comp_insert.incl.pl1 1209 6 04/23/85 1446.4 comp_metacodes.incl.pl1 >ldd>incl>comp_metacodes.incl.pl1 1210 7 03/01/85 1512.0 comp_option.incl.pl1 >ldd>incl>comp_option.incl.pl1 1211 8 04/23/85 1447.0 comp_page.incl.pl1 >ldd>incl>comp_page.incl.pl1 1212 9 03/01/85 1512.0 comp_shared.incl.pl1 >ldd>incl>comp_shared.incl.pl1 1213 10 03/01/85 1512.0 comp_stack_box.incl.pl1 >ldd>incl>comp_stack_box.incl.pl1 1214 11 04/23/85 1447.0 comp_text.incl.pl1 >ldd>incl>comp_text.incl.pl1 1226 12 03/24/82 1447.2 condition_info_header.incl.pl1 >ldd>incl>condition_info_header.incl.pl1 1228 13 06/28/79 1304.8 condition_info.incl.pl1 >ldd>incl>condition_info.incl.pl1 1229 14 03/01/85 1511.9 comp_dvid.incl.pl1 >ldd>incl>comp_dvid.incl.pl1 1230 15 03/01/85 1511.9 comp_dvt.incl.pl1 >ldd>incl>comp_dvt.incl.pl1 1231 16 03/01/85 1512.0 comp_tree.incl.pl1 >ldd>incl>comp_tree.incl.pl1 1232 17 03/01/85 1512.0 comp_varattrs.incl.pl1 >ldd>incl>comp_varattrs.incl.pl1 1233 18 03/01/85 1512.1 compstat.incl.pl1 >ldd>incl>compstat.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. CREATE constant bit(1) initial packed unaligned dcl 34 ref 233 DC1 constant char(1) initial packed unaligned dcl 6-6 ref 103 113 DCxx_p 002620 automatic pointer dcl 2-8 set ref 116* 117 EN_width 6 based fixed bin(31,0) level 2 dcl 9-7 ref 373 LINE_AREA_SIZE internal static fixed bin(17,0) initial dcl 11-24 ref 11-26 LOG constant fixed bin(17,0) initial dcl 49 ref 365 MAX_TREE_AREAS constant fixed bin(17,0) initial dcl 18-20 ref 234 234 234 234 234 236 244 244 244 244 244 276 286 290 293 295 295 299 312 315 317 602 605 605 608 610 613 616 623 626 643 646 646 646 649 659 659 659 659 659 660 661 789 798 NL constant char(1) initial packed unaligned dcl 6-6 ref 1198 NUM constant fixed bin(17,0) initial dcl 57 ref 370 TEXT_AREA_SIZE internal static fixed bin(17,0) initial dcl 11-34 ref 11-36 a_info_ptr parameter pointer dcl 23 set ref 14 151* 224* 263* 338* 362* 390* 393* 431* 445* 482* 505* 508* 516* 633* 792* 947* 1195* action_flags 2 based structure level 3 dcl 1217 active_function_error 000000 stack reference condition dcl 80 ref 475 522 add_text 000504 automatic bit(1) dcl 31 set ref 577* 580* addr builtin function dcl 76 ref 98 116 295 379 379 441 441 477 477 605 621 675 675 804 806 808 810 812 814 817 818 822 824 826 828 830 832 835 836 839 842 844 847 849 852 854 862 864 867 873 877 881 883 886 888 891 898 900 903 906 908 922 925 928 931 933 936 938 941 951 1001 1020 1022 1025 1030 1044 1059 1061 1072 1075 1123 1125 1130 1133 1136 1138 1141 1145 1164 1168 1170 1173 1175 1180 1189 1193 1193 af_err_copy 000010 internal static structure level 1 unaligned dcl 1216 set ref 489* af_err_info based structure level 1 unaligned dcl 1217 set ref 489 af_name 000505 automatic char(32) packed unaligned dcl 32 set ref 421* 424 427* 427* 431 441* 445 516 af_string_type 000100 automatic fixed bin(17,0) dcl 20 set ref 419* 498 498 498 498 498* align_mode based label variable level 2 dcl 16-5 set ref 748* align_modes 000412 constant varying char(8) initial array dcl 731 set ref 804 806 808 810 812 814 817 818 822 824 826 828 830 832 835 836 areandx 241 based fixed bin(17,0) level 2 dcl 16-5 set ref 234 658* arg_count 000101 automatic fixed bin(17,0) dcl 27 set ref 244* 251 arg_count_symb_index constant fixed bin(17,0) initial dcl 10-5 ref 244 660 argct 000102 automatic fixed bin(17,0) dcl 28 set ref 663* 692 701 708* argno 000103 automatic fixed bin(17,0) dcl 29 set ref 249* 251 663 692 701 708 argstr 000104 automatic varying char(1020) dcl 30 set ref 661* 664 671 678* 684 684 684 692* 692 694* 694 701* 701 703* 703 708* 708 710* 710 713 art 0(06) based bit(1) level 3 in structure "current_parms" packed packed unaligned dcl 11-209 in procedure "comp_use_ref_" set ref 839 art 1004(06) based bit(1) level 4 in structure "text" packed packed unaligned dcl 11-49 in procedure "comp_use_ref_" set ref 842 art_flag parameter bit(1) packed unaligned dcl 21 ref 14 art_mode 4 based label variable level 2 dcl 16-5 set ref 749* balftn 2 based structure level 2 in structure "colhdr" dcl 1-21 in procedure "comp_use_ref_" balftn 320 based structure level 3 in structure "col0" dcl 1-37 in procedure "comp_use_ref_" balftn 320 based structure level 3 in structure "col" dcl 1-5 in procedure "comp_use_ref_" before builtin function dcl 76 ref 421 633 710 1198 bin_value based fixed bin(35,0) dcl 33 ref 610 613 616 619 blkndx 1 based fixed bin(17,0) level 2 dcl 11-49 set ref 844 blkptr 3752 based pointer level 3 dcl 9-7 ref 800 822 824 826 828 830 832 832 839 842 844 844 849 849 883 888 891 893 897 897 928 931 933 936 938 941 1008 1011 1011 1012 1012 1014 1014 1016 1016 1022 1025 1038 1038 1051 1054 1055 1055 1075 1075 1084 1087 1087 1095 1095 1095 1125 1130 1130 1133 1136 1138 1141 1152 1155 1155 1156 1156 1158 1158 1160 1160 1170 1170 block_index 10 based label variable level 2 dcl 16-5 set ref 750* block_name 14 based label variable level 2 dcl 16-5 set ref 751* bool builtin function dcl 722 ref 724 bottom 10 based fixed bin(31,0) level 4 dcl 8-11 set ref 854 bottom_margin 20 based label variable level 2 dcl 16-5 set ref 752* buffer parameter varying char dcl 19 set ref 14 100* 103 103 113 116 121 121 121 130 130 135* 135 135 142 148 151* 154* 160 160 173 176 184 184 184 189 197 207 215 221 224* 226* 226 226 232 263* 267* 267 267 279* 279 279 304 304* 304 304 308* 308 324* 324 324 338 338* 342 342 342* 358 362* 382 385 390* 393* 399* 399 399 416 419 421 445* 453 457 462 465* 465 465 482* 498 498 505* 508* 509 516* 519 544* 544 544 567 567 574 587* 587 587 593* 633* 639* 639 639 792* 947* 1195* bug_mode 4113 based bit(1) level 3 packed packed unaligned dcl 9-7 ref 100 342 567 593 649 call_box based structure level 1 dcl 5-18 call_box_ptr 002622 automatic pointer dcl 5-17 set ref 957* 958 960* 999 999 call_info 002710 automatic structure level 1 unaligned dcl 735 call_stack based structure level 1 dcl 5-13 call_stk_ptr 126 based pointer level 3 dcl 18-23 ref 857 860 860 864 867 867 943 957 957 callers_lineno 30 based label variable level 2 dcl 16-5 set ref 754* calling_file_name 24 based label variable level 2 dcl 16-5 set ref 753* chars 1 based structure level 2 dcl 9-7 col based structure level 1 dcl 1-5 col0 based structure level 1 dcl 1-37 col_index 21 based fixed bin(17,0) level 3 dcl 8-11 ref 1003 1046 1147 colhdr based structure level 1 dcl 1-21 colptr 3754 based pointer level 3 dcl 9-7 ref 925 1003 1003 1003 1046 1147 1147 cols 14 based structure level 3 dcl 8-11 column_ptr 42 based pointer array level 2 dcl 8-11 ref 1006 1087 1087 1095 1106 1106 1106 1106 1150 com_err_ 000164 constant entry external dcl 85 ref 482 comp_abort 000000 stack reference condition dcl 80 ref 486 comp_ctls_ 000200 constant entry external dcl 3-14 ref 580 comp_dvid based structure level 1 dcl 14-17 comp_dvt based structure level 1 dcl 15-19 comp_error_table_$usage_error 000232 external static fixed bin(35,0) dcl 744 set ref 947* comp_expr_eval_ 000202 constant entry external dcl 3-17 ref 362 comp_read_$line 000204 constant entry external dcl 3-57 ref 960 comp_report_ 000206 constant entry external dcl 3-59 ref 151 224 390 393 431 445 505 508 516 633 675 792 1195 comp_report_$ctlstr 000210 constant entry external dcl 3-61 ref 263 947 comp_util_$display 000212 constant entry external dcl 3-77 ref 100 342 567 593 comp_util_$escape 000214 constant entry external dcl 3-80 ref 338 comp_util_$num_display 000216 constant entry external dcl 3-84 ref 379 626 comp_util_$pageno 000220 constant entry external dcl 3-86 ref 1070 1071 1117 comp_util_$search_tree 000222 constant entry external dcl 3-98 ref 233 compstat$compconst 000224 external static structure level 1 dcl 18-14 cond_info 000130 internal static structure level 1 unaligned dcl 1227 set ref 477 477 condition_info based structure level 1 dcl 13-14 condition_info_header based structure level 1 dcl 12-6 const based structure level 1 dcl 18-23 copy builtin function dcl 76 ref 97 count 14(18) based fixed bin(17,0) level 4 packed packed unaligned dcl 8-11 ref 1081 counter_attr 000442 constant bit(9) initial packed unaligned dcl 17-9 set ref 643* ctl based structure level 1 dcl 11-157 set ref 572 585* ctl_line based varying char(1020) dcl 11-158 set ref 573 574* 583 586* 675* ctl_ptr 132 based pointer level 3 dcl 18-23 ref 572 573 574 578 582 583 585 586 675 675 675 1166 cu_$evaluate_active_string 000166 constant entry external dcl 86 ref 498 cur 10 001730 automatic structure level 2 in structure "save_ctl" dcl 69 in procedure "comp_use_ref_" cur 10 based structure level 2 in structure "ctl" dcl 11-157 in procedure "comp_use_ref_" current_parms based structure level 1 dcl 11-209 current_parms_ptr 134 based pointer level 3 dcl 18-23 ref 804 806 808 810 812 814 814 839 888 893 893 928 933 938 1022 1125 1125 1133 1138 1173 dbl_delim 000515 automatic char(2) packed unaligned dcl 35 set ref 97* 130 148 dcxx based structure level 1 packed packed unaligned dcl 2-11 default_parms based structure level 1 dcl 11-213 devclass 34 based label variable level 2 in structure "tree" dcl 16-5 in procedure "comp_use_ref_" set ref 755* devclass based char(32) level 2 in structure "comp_dvt" dcl 15-19 in procedure "comp_use_ref_" ref 871 devname 40 based label variable level 2 in structure "tree" dcl 16-5 in procedure "comp_use_ref_" set ref 756* devname 1 based char(32) level 2 in structure "comp_dvid" dcl 14-17 in procedure "comp_use_ref_" ref 875 devptr 140 based pointer level 3 dcl 18-23 ref 871 dirname 000516 automatic char(168) initial packed unaligned dcl 37 set ref 37* 427* 438 divide builtin function dcl 76 ref 244 373 376 610 613 1087 1095 1106 dot_addltr 15(18) based char(1) level 4 in structure "page" packed packed unaligned dcl 8-11 in procedure "comp_use_ref_" ref 879 dot_addltr 44 based label variable level 2 in structure "tree" dcl 16-5 in procedure "comp_use_ref_" set ref 757* dvidptr 142 based pointer level 3 dcl 18-23 ref 875 embedded 2(02) based bit(1) level 3 packed packed unaligned dcl 11-157 set ref 578* entry 22 based structure array level 3 in structure "current_parms" dcl 11-209 in procedure "comp_use_ref_" entry 1026 based structure array level 4 in structure "text" dcl 11-49 in procedure "comp_use_ref_" entryndx based fixed bin(17,0) level 2 dcl 16-5 set ref 236 276 286 290 293 295 295 299 312 315 317 602 605 605 608 610 613 616 623 626 643 646 646 646 649 660* 661 789 798 eqn_refct 7 based fixed bin(17,0) level 2 dcl 9-7 set ref 329* 329 equation_mode 50 based label variable level 2 dcl 16-5 set ref 758* ercd 000570 automatic fixed bin(35,0) dcl 38 set ref 427* 428 431* 441* 442 445* 477* 479 482* 498* 502 505 508* 548 1193* 1195 1195* error_table_$null_brackets 000162 external static fixed bin(35,0) dcl 82 set ref 505* exit_lineno 64 based fixed bin(35,0) level 2 dcl 5-18 set ref 867 958 999* 999 expand_pathname_ 000170 constant entry external dcl 89 ref 427 exprtyp 002642 automatic fixed bin(17,0) dcl 352 set ref 362* 365 370 false 000511 constant bit(1) initial packed unaligned dcl 736 set ref 883 886 906 file based structure level 2 dcl 5-32 fileno 002710 automatic fixed bin(17,0) level 2 dcl 735 set ref 954* fill_mode 2 based bit(1) level 3 in structure "current_parms" packed packed unaligned dcl 11-209 in procedure "comp_use_ref_" set ref 814 888 fill_mode 1006 based bit(1) level 4 in structure "text" packed packed unaligned dcl 11-49 in procedure "comp_use_ref_" set ref 832 891 fill_mode 54 based label variable level 2 in structure "tree" dcl 16-5 in procedure "comp_use_ref_" set ref 759* find_condition_info_ 000172 constant entry external dcl 91 ref 477 flag1 parameter bit(9) dcl 719 ref 716 724 flag2 parameter bit(9) packed unaligned dcl 720 ref 716 724 flag_attr 000503 constant bit(9) initial packed unaligned dcl 17-9 set ref 312* flag_loc 2 based pointer array level 2 dcl 16-76 ref 317 flag_value based bit(1) packed unaligned dcl 9-132 ref 319 flags based bit(9) array level 2 dcl 16-76 set ref 276 286* 290* 293* 295* 312* 315* 602* 605* 610* 613* 616* 643* fntstk 20 based structure level 2 in structure "current_parms" dcl 11-209 in procedure "comp_use_ref_" fntstk 1024 based structure level 3 in structure "text" dcl 11-49 in procedure "comp_use_ref_" fntstk_entry based structure level 1 dcl 4-6 font 16 001730 automatic structure level 3 in structure "save_ctl" dcl 69 in procedure "comp_use_ref_" set ref 582* font 16 based structure level 3 in structure "ctl" dcl 11-157 in procedure "comp_use_ref_" set ref 582 fontname 60 based label variable level 2 dcl 16-5 set ref 760* footer 7 based fixed bin(31,0) level 4 dcl 8-11 set ref 900 footer_margin 64 based label variable level 2 dcl 16-5 set ref 761* frontpage 15(02) based bit(1) level 4 in structure "page" packed packed unaligned dcl 8-11 in procedure "comp_use_ref_" set ref 903 906 frontpage 70 based label variable level 2 in structure "tree" dcl 16-5 in procedure "comp_use_ref_" set ref 762* ftn 375 based structure level 3 in structure "col0" dcl 1-37 in procedure "comp_use_ref_" ftn 375 based structure level 3 in structure "col" dcl 1-5 in procedure "comp_use_ref_" ftn 14 based structure level 3 in structure "text" dcl 11-49 in procedure "comp_use_ref_" ftrptr 1010 based pointer level 3 dcl 11-49 ref 1016 1016 1160 1160 function_attr 000437 constant bit(9) initial packed unaligned dcl 17-9 set ref 293* 315* 602* fxbin_value 000571 automatic fixed bin(31,0) dcl 39 set ref 610* 613* 616* 619* 621 1003* 1006* 1011* 1011 1012* 1012 1014* 1014 1016* 1016 1020 1033* 1036* 1038* 1042* 1042 1044 1046* 1049* 1054* 1054 1055* 1055 1059 1147* 1150* 1155* 1155 1156* 1156 1158* 1158 1160* 1160 1164 1166* 1168 hcs_$make_ptr 000174 constant entry external dcl 93 ref 441 hdr 316 based structure level 2 in structure "col0" dcl 1-37 in procedure "comp_use_ref_" hdr based structure level 2 in structure "af_err_info" unaligned dcl 1217 in procedure "comp_use_ref_" hdr 4 based structure level 2 in structure "text" dcl 11-49 in procedure "comp_use_ref_" hdr 000010 internal static structure level 2 in structure "af_err_copy" unaligned dcl 1216 in procedure "comp_use_ref_" hdr 316 based structure level 2 in structure "col" dcl 1-5 in procedure "comp_use_ref_" hdr 4 based structure level 2 in structure "hfcblk" dcl 11-250 in procedure "comp_use_ref_" hdr 15 based structure level 2 in structure "page" dcl 8-11 in procedure "comp_use_ref_" hdrptr 1014 based pointer level 3 dcl 11-49 ref 1014 1014 1095 1095 1095 1158 1158 head_space 74 based label variable level 2 dcl 16-5 set ref 764* headed 15(03) based bit(1) level 4 packed packed unaligned dcl 8-11 ref 903 1067 1113 header 6 based fixed bin(31,0) level 4 dcl 8-11 set ref 922 header_margin 100 based label variable level 2 dcl 16-5 set ref 763* hfcblk based structure level 1 dcl 11-250 hspace_attr 000436 constant bit(9) initial packed unaligned dcl 17-9 set ref 373* 610* i 000572 automatic fixed bin(17,0) dcl 40 set ref 103* 106* 108 111 667* 671 681 684 684 684 684* 684 692 694 701 703 1184* 1185 1185* ii 002713 automatic fixed bin(17,0) dcl 737 set ref 962* 963 964 968* 968 969 969 987* 988 989 993* 993 994 994 in 4114 based varying char(128) level 3 dcl 9-7 ref 1184 1185 incr_loc 6 based pointer array level 2 dcl 16-76 ref 646 indent 1022 based fixed bin(31,0) level 4 in structure "text" dcl 11-49 in procedure "comp_use_ref_" set ref 1136 indent 12 based fixed bin(31,0) level 3 in structure "current_parms" dcl 11-209 in procedure "comp_use_ref_" set ref 933 indent 16 based fixed bin(31,0) level 3 in structure "current_parms" dcl 11-209 in procedure "comp_use_ref_" set ref 1133 indent 1016 based fixed bin(31,0) level 4 in structure "text" dcl 11-49 in procedure "comp_use_ref_" set ref 936 index 20 based fixed bin(17,0) level 3 in structure "current_parms" dcl 11-209 in procedure "comp_use_ref_" ref 893 1125 index builtin function dcl 76 in procedure "comp_use_ref_" ref 113 121 121 142 184 184 184 189 221 239 338 419 457 531 664 671 964 989 index 1 based fixed bin(17,0) level 2 in structure "insert_data" dcl 5-5 in procedure "comp_use_ref_" ref 954 index 1024 based fixed bin(17,0) level 4 in structure "text" dcl 11-49 in procedure "comp_use_ref_" ref 897 1130 index 1 based fixed bin(17,0) level 2 in structure "call_stack" dcl 5-13 in procedure "comp_use_ref_" ref 857 860 864 867 943 957 index 3502 based fixed bin(17,0) level 3 in structure "shared" dcl 9-7 in procedure "comp_use_ref_" ref 1119 1119 info 277 based structure level 3 in structure "hfcblk" dcl 11-250 in procedure "comp_use_ref_" info 161 based structure level 2 in structure "text_entry" dcl 11-68 in procedure "comp_use_ref_" info 161 based structure level 2 in structure "ctl" dcl 11-157 in procedure "comp_use_ref_" set ref 675 675 info 277 based structure level 3 in structure "text" dcl 11-49 in procedure "comp_use_ref_" info 161 001730 automatic structure level 2 in structure "save_ctl" dcl 69 in procedure "comp_use_ref_" info 161 based structure level 2 in structure "txtlin" dcl 11-161 in procedure "comp_use_ref_" info_ptr 14 000130 internal static pointer level 2 dcl 1227 set ref 489 490 491 496* 512 548 init_stack_box 000000 constant structure level 1 dcl 10-11 input 116 based structure level 2 dcl 11-49 input_line 375 based varying char(1020) level 2 dcl 11-49 ref 1012 1055 1156 insert based structure level 1 dcl 5-32 insert_data based structure level 1 dcl 5-5 insert_data_ptr 156 based pointer level 3 dcl 18-23 ref 954 954 ioa_ 000226 constant entry external dcl 18-70 ref 100 342 567 593 649 iox_$get_line 000176 constant entry external dcl 95 ref 1193 iox_$user_input 000230 external static pointer dcl 18-74 set ref 1193* j 000573 automatic fixed bin(17,0) dcl 40 set ref 142* 145 160 160 164 170 452* 456 457* 459 462 465 465 468* 468 471 528* 530 531* 533 533 533 537 537 540 671* 672 681 684 684 684 684 692 694 701 703 jj 002714 automatic fixed bin(17,0) dcl 737 set ref 962* 963 964* 965 968 987* 988 989* 990 993 junk_str 000576 automatic varying char(128) dcl 42 set ref 1064* 1071* just 000437 constant bit(6) initial packed unaligned dcl 11-148 ref 814 832 k 000574 automatic fixed bin(17,0) dcl 40 set ref 452* 456 457 457 462 465 465 471* 471 529* 531 533 533 533 537 537 540* 540 keep 2(04) based bit(1) level 3 in structure "current_parms" packed packed unaligned dcl 11-209 in procedure "comp_use_ref_" set ref 928 keep 1006(04) based bit(1) level 4 in structure "text" packed packed unaligned dcl 11-49 in procedure "comp_use_ref_" set ref 931 keep_mode 104 based label variable level 2 dcl 16-5 set ref 765* l 000575 automatic fixed bin(17,0) dcl 40 set ref 453* 455* 456 457 label_value based label variable dcl 43 ref 798 left 1016 based structure level 3 in structure "hfcblk" dcl 11-250 in procedure "comp_use_ref_" left 12 based structure level 2 in structure "default_parms" dcl 11-213 in procedure "comp_use_ref_" left 12 based structure level 2 in structure "text_parms" dcl 11-206 in procedure "comp_use_ref_" left 000637 automatic fixed bin(35,0) initial dcl 44 in procedure "comp_use_ref_" set ref 44* 103 103 111* 111 113 116 117* 117 121 121 121 121 121 121 127* 127 130 130 135 135 137* 137 142 148 154 156* 156 160 160 173 176 179* 179 184 184 184 189 192* 192 197 207 210* 210 215 221 226 226 232 267 267 279 279 304 304 304 308 324 324 331* 331 358 361 399 399 407* 407 416 419 421 453 457 462 465 465 498 498 509 519 544 544 548* 548 551* 551 558* 558 567 567 574 587 587 590* 590 639 639 left 12 based structure level 2 in structure "current_parms" dcl 11-209 in procedure "comp_use_ref_" left 1016 based structure level 3 in structure "text" dcl 11-49 in procedure "comp_use_ref_" left_indent 110 based label variable level 2 dcl 16-5 set ref 766* left_undent 114 based label variable level 2 dcl 16-5 set ref 767* len 001256 automatic fixed bin(35,0) initial level 2 dcl 60 set ref 60* 1193* leng 0(18) based fixed bin(9,0) level 2 packed packed unsigned unaligned dcl 2-11 ref 117 length builtin function dcl 76 in procedure "comp_use_ref_" ref 103 130 302 304 323 342 342 382 524 524 548 584 628 963 988 1012 1055 1156 1184 length 2 based fixed bin(31,0) level 3 in structure "page" dcl 8-11 in procedure "comp_use_ref_" set ref 1061 line_area_ptr 002624 automatic pointer initial dcl 11-25 set ref 11-25* line_input 120 based label variable level 2 dcl 16-5 set ref 768* lineno 1 002710 automatic fixed bin(17,0) level 2 in structure "call_info" dcl 735 in procedure "use_fcn" set ref 958* lineno 162 based fixed bin(17,0) level 3 in structure "ctl" dcl 11-157 in procedure "comp_use_ref_" set ref 1166 linesleft 124 based label variable level 2 dcl 16-5 set ref 769* linespace 14 based fixed bin(31,0) level 2 in structure "current_parms" dcl 11-209 in procedure "comp_use_ref_" set ref 1022 linespace 1020 based fixed bin(31,0) level 3 in structure "text" dcl 11-49 in procedure "comp_use_ref_" set ref 1025 1087 linespace 130 based label variable level 2 in structure "tree" dcl 16-5 in procedure "comp_use_ref_" set ref 770* linespace 302 based fixed bin(31,0) level 3 in structure "text" dcl 11-49 in procedure "comp_use_ref_" ref 1012 1055 1156 linespace 1020 based fixed bin(31,0) level 3 in structure "hfcblk" dcl 11-250 in procedure "comp_use_ref_" ref 1095 local_string 000640 automatic varying char(1020) dcl 46 set ref 857* 860* 862 871* 873 875* 877 879* 881 893* 897* 898 1064* 1070* 1072 1143* 1145 1178* 1180 1182* 1185* 1185 1189 locater 001240 automatic pointer dcl 48 set ref 293* 295* 299* 301 315* 317* 319 602* 605* 608* 610 613 616 619 621* 626* lrepl 001242 automatic fixed bin(35,0) dcl 50 set ref 282* 302* 323* 331 584* 590 591 628* ltrim builtin function dcl 76 ref 692 701 708 margin 5 based structure level 3 dcl 8-11 max builtin function dcl 76 ref 1087 1095 max_image_lines internal static fixed bin(17,0) initial dcl 8-5 ref 8-56 measure 15 based fixed bin(31,0) level 2 in structure "current_parms" dcl 11-209 in procedure "comp_use_ref_" set ref 1173 measure 1021 based fixed bin(31,0) level 3 in structure "text" dcl 11-49 in procedure "comp_use_ref_" set ref 1170 measure_bif 134 based label variable level 2 dcl 16-5 set ref 771* mode 1 based fixed bin(17,0) array level 2 dcl 16-76 ref 623 626 myname 000444 constant char(8) initial packed unaligned dcl 53 set ref 441 441 name 1060 based varying char(65) array level 5 in structure "text" dcl 11-49 in procedure "comp_use_ref_" ref 897 name 54 based varying char(65) array level 4 in structure "current_parms" dcl 11-209 in procedure "comp_use_ref_" ref 893 name 73 based varying char(32) level 3 in structure "text" dcl 11-49 in procedure "comp_use_ref_" set ref 849 net 25 based fixed bin(31,0) level 3 in structure "page" dcl 8-11 in procedure "comp_use_ref_" ref 1006 net 450 based fixed bin(31,0) level 3 in structure "col" dcl 1-5 in procedure "comp_use_ref_" ref 1003 net 450 based fixed bin(31,0) level 3 in structure "col0" dcl 1-37 in procedure "comp_use_ref_" ref 1087 1095 1106 1106 next_pagenmbr 3457 based varying char(32) level 2 dcl 9-7 set ref 1030 next_pageno 140 based label variable level 2 dcl 16-5 set ref 772* nextchar 001243 automatic char(1) packed unaligned dcl 56 set ref 385* 386 390 nmbr 3510 based fixed bin(31,0) array level 3 dcl 9-7 set ref 1119* 1119 null builtin function dcl 76 ref 11-25 11-35 16-68 16-75 441 441 477 477 496 498 498 512 548 789 800 839 844 849 883 888 893 928 933 938 1008 1014 1016 1022 1027 1038 1051 1075 1084 1095 1125 1133 1138 1152 1158 1160 1170 null_str 000410 constant varying char(1) initial dcl 738 set ref 852 951 num_loc 4 based pointer array level 2 dcl 16-76 ref 244 295 605 608 646 646 649 661 789 798 num_value based fixed bin(31,0) dcl 9-133 set ref 646* 646 646 649* numeric_attr 000457 constant bit(9) initial packed unaligned dcl 17-9 set ref 286* numval 5 based fixed bin(31,0) initial level 2 dcl 10-9 set ref 244 605 nxtcndx 002643 automatic fixed bin(21,0) dcl 353 set ref 361* 362* 382 382 385 386 out 4155 based varying char(128) level 3 dcl 9-7 ref 1185 page based structure level 1 dcl 8-11 in procedure "comp_use_ref_" page 1006(05) based bit(1) level 4 in structure "text" packed packed unaligned dcl 11-49 in procedure "comp_use_ref_" ref 1075 page_header based structure level 1 dcl 8-27 page_length 154 based label variable level 2 dcl 16-5 set ref 775* page_parms based structure level 1 dcl 8-86 page_ptr 170 based pointer level 3 dcl 18-23 ref 854 879 900 903 903 906 922 1003 1006 1006 1006 1033 1046 1049 1061 1067 1075 1081 1087 1087 1095 1106 1106 1106 1106 1113 1147 1150 1150 1175 pagecount 3501 based fixed bin(17,0) level 2 in structure "shared" dcl 9-7 in procedure "comp_use_ref_" ref 1042 pagecount 144 based label variable level 2 in structure "tree" dcl 16-5 in procedure "comp_use_ref_" set ref 773* pagelines 150 based label variable level 2 dcl 16-5 set ref 774* pageno 26 based varying char(32) level 3 in structure "page" dcl 8-11 in procedure "comp_use_ref_" set ref 1075 pageno 160 based label variable level 2 in structure "tree" dcl 16-5 in procedure "comp_use_ref_" set ref 776* pageno_adj 002715 automatic fixed bin(17,0) dcl 739 set ref 1079* 1087* 1095* 1095 1106* 1113* 1117* 1119 1119 pageno_str 001244 automatic varying char(32) dcl 58 set ref 1080* 1117* 1123 pagenum 3502 based structure level 2 dcl 9-7 parms 1 based structure level 2 in structure "page" dcl 8-11 in procedure "comp_use_ref_" parms 1004 based structure level 2 in structure "hfcblk" dcl 11-250 in procedure "comp_use_ref_" parms 1004 based structure level 2 in structure "text" dcl 11-49 in procedure "comp_use_ref_" picture 3644 based structure level 2 dcl 9-7 pointsize 164 based label variable level 2 dcl 16-5 set ref 777* print_sw 116 based bit(1) level 2 packed packed unaligned dcl 1217 set ref 491* pspc 447 based fixed bin(31,0) level 3 dcl 1-5 set ref 925 ptr 2 based pointer array level 2 in structure "insert_data" dcl 5-5 in procedure "comp_use_ref_" ref 954 ptr 172 based pointer level 2 in structure "ctl" dcl 11-157 in procedure "comp_use_ref_" set ref 573 574 583 586 675 ptr 000224 external static pointer level 2 in structure "compstat$compconst" dcl 18-14 in procedure "comp_use_ref_" ref 97 100 103 142 234 234 236 244 276 286 290 293 295 295 299 312 315 317 329 329 342 373 567 572 573 574 578 582 583 585 586 593 602 605 605 608 610 613 616 623 626 643 646 646 646 649 649 658 659 660 661 675 675 675 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 789 798 800 804 806 808 810 812 814 814 822 824 826 828 830 832 832 839 839 842 844 844 849 849 854 857 860 860 864 867 867 871 875 879 883 888 888 891 893 893 893 897 897 900 903 903 906 922 925 928 928 931 933 933 936 938 938 941 943 954 954 957 957 1003 1003 1003 1003 1006 1006 1006 1008 1011 1011 1012 1012 1014 1014 1016 1016 1022 1022 1025 1030 1033 1038 1038 1042 1046 1046 1049 1051 1054 1055 1055 1061 1067 1075 1075 1075 1081 1084 1087 1087 1087 1087 1087 1087 1095 1095 1095 1095 1095 1106 1106 1106 1106 1106 1106 1113 1119 1119 1119 1119 1125 1125 1125 1130 1130 1133 1133 1136 1138 1138 1141 1143 1147 1147 1147 1150 1150 1152 1155 1155 1156 1156 1158 1158 1160 1160 1166 1170 1170 1173 1175 1178 1184 1185 1185 ptr 2 based pointer array level 2 in structure "call_stack" dcl 5-13 in procedure "comp_use_ref_" ref 860 867 957 ptrs 126 based structure level 2 in structure "const" dcl 18-23 in procedure "comp_use_ref_" ptrs 3742 based structure level 2 in structure "shared" dcl 9-7 in procedure "comp_use_ref_" push_attr 000434 constant bit(9) initial packed unaligned dcl 17-9 set ref 295* 605* qt_found 001255 automatic bit(1) packed unaligned dcl 59 set ref 668* 670 677* 691* 700* quad based bit(6) level 3 in structure "current_parms" packed packed unaligned dcl 11-209 in procedure "comp_use_ref_" ref 804 806 808 810 812 814 quad 1004 based bit(6) level 4 in structure "text" packed packed unaligned dcl 11-49 in procedure "comp_use_ref_" ref 822 824 826 828 830 832 quadc constant bit(6) initial packed unaligned dcl 11-148 ref 810 828 quadi constant bit(6) initial packed unaligned dcl 11-148 ref 804 822 quadl 000441 constant bit(6) initial packed unaligned dcl 11-148 ref 808 826 quado 000442 constant bit(6) initial packed unaligned dcl 11-148 ref 806 824 quadr 000440 constant bit(6) initial packed unaligned dcl 11-148 ref 812 830 quiet_restart 2(02) based bit(1) level 4 packed packed unaligned dcl 1217 set ref 490* rd_bfr 001256 automatic structure level 1 unaligned dcl 60 set ref 98 rd_bfr_ptr 001316 automatic pointer dcl 63 set ref 98* 1191 1198 1198 1199 rd_buffer based varying char(120) dcl 64 set ref 1191* 1198* 1198 refname 165 based varying char(200) level 2 dcl 5-18 ref 860 replace 001320 automatic varying char(1020) dcl 65 set ref 301* 302 304 308 319* 321* 323 324 362* 365* 368* 379* 399 495* 498* 509* 519* 524 524 524* 524 524 531 533 537* 537 537 544 548 576* 583* 584 587 626* 628 639 713* 960* 963 964 969* 969 969 988 989 994* 994 994 1001 replchar 001720 automatic varying char(20) initial dcl 66 set ref 66* resattr 002644 automatic bit(9) packed unaligned dcl 354 set ref 362* 373 376 reslog 002646 automatic bit(1) packed unaligned dcl 356 set ref 362* 365 resnum 002645 automatic fixed bin(31,0) dcl 355 set ref 362* 373* 373 376* 376 379 379 right 001726 automatic fixed bin(35,0) dcl 68 in procedure "comp_use_ref_" set ref 141* 142 160 160 164* 164 170* 170 176 179 189 192 207 210 221 226 232 267 279 304 304 324 358 399 407 416 419 421 453 456 457 469* 469 498 498 509 519 544 551 558 567 567 574 587 591* 639 right 16 based structure level 2 in structure "current_parms" dcl 11-209 in procedure "comp_use_ref_" right 1022 based structure level 3 in structure "text" dcl 11-49 in procedure "comp_use_ref_" right_indent 170 based label variable level 2 dcl 16-5 set ref 778* right_undent 174 based label variable level 2 dcl 16-5 set ref 779* rtrim builtin function dcl 76 ref 239 249 263 263 379 445 516 524 567 567 574 871 875 save_ctl 001730 automatic structure level 1 dcl 69 set ref 572* 585 save_ctl_line 002207 automatic varying char(1020) dcl 71 set ref 573* 586 shared based structure level 1 dcl 9-7 shared_ptr 200 based pointer level 3 dcl 18-23 ref 97 100 103 142 329 329 342 373 567 593 649 800 822 824 826 828 830 832 832 839 842 844 844 849 849 883 888 891 893 897 897 925 928 931 933 936 938 941 1003 1003 1003 1008 1011 1011 1012 1012 1014 1014 1016 1016 1022 1025 1030 1038 1038 1042 1046 1051 1054 1055 1055 1075 1075 1084 1087 1087 1087 1087 1095 1095 1095 1095 1106 1106 1119 1119 1119 1119 1125 1130 1130 1133 1136 1138 1141 1143 1147 1147 1152 1155 1155 1156 1156 1158 1158 1160 1160 1170 1170 1178 1184 1185 1185 size 1102 based fixed bin(31,0) array level 5 in structure "text" dcl 11-49 in procedure "comp_use_ref_" set ref 1130 size 76 based fixed bin(31,0) array level 4 in structure "current_parms" dcl 11-209 in procedure "comp_use_ref_" set ref 1125 space 3645 based fixed bin(31,0) level 3 dcl 9-7 ref 1087 1106 1106 stack_box based structure level 1 dcl 10-9 status_code 104 000010 internal static fixed bin(35,0) level 3 dcl 1216 set ref 516* str 1 001256 automatic char(120) initial level 2 packed packed unaligned dcl 60 set ref 60* 1193 1193 str_loc 10 based pointer array level 2 dcl 16-76 ref 299 string_attr 000441 constant bit(9) initial packed unaligned dcl 17-9 set ref 290* substr builtin function dcl 76 set ref 103 113 116 121 121 121 130 135 135 142 148 154* 160 160 173 176 184 184 184 189 197 207 215 221 226 226 232 239 249 267 267 279 279 304 304 308 324 324 358 385 399 399 416 419 421 453 457 462 465 465 498 498 509 519 524 524 531 533 537 537 544 544 567 567 574 587 587 639 639 671 684 684 684 692 694 701 703 964 969 969 989 994 994 1185 1185 sws 1004 based structure level 3 in structure "text" dcl 11-49 in procedure "comp_use_ref_" sws 15 based structure level 3 in structure "page" dcl 8-11 in procedure "comp_use_ref_" sws 4113 based structure level 2 in structure "shared" dcl 9-7 in procedure "comp_use_ref_" sws based structure level 2 in structure "ctl" dcl 11-157 in procedure "comp_use_ref_" sws based structure level 2 in structure "current_parms" dcl 11-209 in procedure "comp_use_ref_" sym_delim 1 based char(1) level 3 packed packed unaligned dcl 9-7 ref 97 103 142 1143 symbol_delimiter 200 based label variable level 2 dcl 16-5 set ref 780* text based structure level 1 dcl 11-49 text_area_ptr 002626 automatic pointer initial dcl 11-35 set ref 11-35* text_depth 204 based label variable level 2 dcl 16-5 set ref 781* text_entry based structure level 1 dcl 11-68 text_header based structure level 1 dcl 11-163 text_lineno 210 based label variable level 2 dcl 16-5 set ref 782* text_ref parameter bit(1) packed unaligned dcl 22 ref 14 338 text_width 214 based label variable level 2 dcl 16-5 set ref 783* thrb 303 based fixed bin(17,0) level 2 unsigned dcl 5-32 ref 954 title_delimiter 220 based label variable level 2 dcl 16-5 set ref 785* top 5 based fixed bin(31,0) level 4 dcl 8-11 set ref 1175 top_margin 224 based label variable level 2 dcl 16-5 set ref 784* trans 230 based label variable level 2 in structure "tree" dcl 16-5 in procedure "comp_use_ref_" set ref 786* trans 4114 based structure level 2 in structure "shared" dcl 9-7 in procedure "comp_use_ref_" tree based structure level 1 dcl 16-5 tree_names_ptr 002630 automatic pointer initial dcl 16-68 set ref 16-68* tree_ptr 210 based pointer level 3 dcl 18-23 ref 234 234 236 244 276 286 290 293 295 295 299 312 315 317 602 605 605 608 610 613 616 623 626 643 646 646 646 649 658 659 660 661 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 789 798 tree_var based structure array level 1 dcl 16-76 tree_var_ptr 002632 automatic pointer initial dcl 16-75 set ref 234* 276 286 290 293 295 295 299 312 315 317 16-75* 602 605 605 608 610 613 616 623 626 643 646 646 646 649 659* 661 789 798 true 000457 constant bit(1) initial packed unaligned dcl 740 set ref 908 tsymb 002607 automatic char(32) packed unaligned dcl 72 set ref 232* 233* 239 239 239 239 249 263 263 329 633 649* ttl_delim 1(09) based char(1) level 3 packed packed unaligned dcl 9-7 ref 1178 txtstr 7 based varying char(1020) initial level 2 in structure "stack_box" dcl 10-9 in procedure "comp_use_ref_" set ref 295 661 txtstr based varying char(1020) dcl 11-45 in procedure "comp_use_ref_" ref 301 undent 17 based fixed bin(31,0) level 3 in structure "current_parms" dcl 11-209 in procedure "comp_use_ref_" set ref 1138 undent 1017 based fixed bin(31,0) level 4 in structure "text" dcl 11-49 in procedure "comp_use_ref_" set ref 941 undent 13 based fixed bin(31,0) level 3 in structure "current_parms" dcl 11-209 in procedure "comp_use_ref_" set ref 938 undent 1023 based fixed bin(31,0) level 4 in structure "text" dcl 11-49 in procedure "comp_use_ref_" set ref 1141 unscaled_attr 000440 constant bit(9) initial packed unaligned dcl 17-9 set ref 616* usd 376 based fixed bin(31,0) level 4 in structure "col0" dcl 1-37 in procedure "comp_use_ref_" ref 1006 1150 usd 376 based fixed bin(31,0) level 4 in structure "col" dcl 1-5 in procedure "comp_use_ref_" ref 1003 1147 usd 15 based fixed bin(31,0) level 4 in structure "text" dcl 11-49 in procedure "comp_use_ref_" ref 1011 1155 used 37 based fixed bin(31,0) level 3 in structure "page" dcl 8-11 in procedure "comp_use_ref_" ref 1006 1033 1049 1150 used 114 based fixed bin(31,0) level 3 in structure "text" dcl 11-49 in procedure "comp_use_ref_" ref 1011 1038 1054 1087 1155 used 451 based fixed bin(31,0) level 3 in structure "col0" dcl 1-37 in procedure "comp_use_ref_" ref 1087 1106 1106 used 114 based fixed bin(31,0) level 3 in structure "hfcblk" dcl 11-250 in procedure "comp_use_ref_" ref 1014 1016 1095 1158 1160 used 451 based fixed bin(31,0) level 3 in structure "col" dcl 1-5 in procedure "comp_use_ref_" ref 1003 1046 1147 userinput 234 based label variable level 2 dcl 16-5 set ref 787* var_ptr based pointer array level 2 dcl 16-5 ref 234 244 659 verify builtin function dcl 76 ref 239 vspace_attr 000435 constant bit(9) initial packed unaligned dcl 17-9 set ref 376* 613* widow_size 4216 based fixed bin(31,0) level 2 dcl 9-7 ref 1087 1095 zero 000511 constant fixed bin(35,0) initial dcl 73 set ref 847 864 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ACK internal static char(1) initial packed unaligned dcl 6-6 BEL internal static char(1) initial packed unaligned dcl 6-6 BRS internal static char(1) initial packed unaligned dcl 6-6 BSP internal static char(1) initial packed unaligned dcl 6-6 CAN internal static char(1) initial packed unaligned dcl 6-6 CR internal static char(1) initial packed unaligned dcl 6-6 DC2 internal static char(1) initial packed unaligned dcl 6-6 DC3 internal static char(1) initial packed unaligned dcl 6-6 DC4 internal static char(1) initial packed unaligned dcl 6-6 DEL internal static char(1) initial packed unaligned dcl 6-6 DEVIT internal static char(1) initial packed unaligned dcl 6-6 DLE internal static char(1) initial packed unaligned dcl 6-6 EM internal static char(1) initial packed unaligned dcl 6-6 EM_ internal static char(1) initial packed unaligned dcl 6-6 EMdash internal static char(1) initial packed unaligned dcl 6-6 EN internal static char(1) initial packed unaligned dcl 6-6 ENQ internal static char(1) initial packed unaligned dcl 6-6 EN_ internal static char(1) initial packed unaligned dcl 6-6 ENd internal static char(1) initial packed unaligned dcl 6-6 EOT internal static char(1) initial packed unaligned dcl 6-6 ESC internal static char(1) initial packed unaligned dcl 6-6 ETB internal static char(1) initial packed unaligned dcl 6-6 ETX internal static char(1) initial packed unaligned dcl 6-6 FF internal static char(1) initial packed unaligned dcl 6-6 FS internal static char(1) initial packed unaligned dcl 6-6 GS internal static char(1) initial packed unaligned dcl 6-6 HAIR internal static char(1) initial packed unaligned dcl 6-6 HLF internal static char(1) initial packed unaligned dcl 6-6 HLR internal static char(1) initial packed unaligned dcl 6-6 HT internal static char(1) initial packed unaligned dcl 6-6 HUGE internal static char(1) initial packed unaligned dcl 6-6 LF internal static char(1) initial packed unaligned dcl 6-6 MAX_TREE_AREA_CT internal static fixed bin(17,0) initial dcl 18-18 MEDIUM internal static char(1) initial packed unaligned dcl 6-6 NAK internal static char(1) initial packed unaligned dcl 6-6 NUL internal static char(1) initial packed unaligned dcl 6-6 PAD internal static char(1) initial packed unaligned dcl 6-6 PI internal static char(1) initial packed unaligned dcl 6-6 PS internal static char(1) initial packed unaligned dcl 6-6 RRS internal static char(1) initial packed unaligned dcl 6-6 RS internal static char(1) initial packed unaligned dcl 6-6 SI internal static char(1) initial packed unaligned dcl 6-6 SO internal static char(1) initial packed unaligned dcl 6-6 SOH internal static char(1) initial packed unaligned dcl 6-6 STROKE internal static char(1) initial packed unaligned dcl 6-6 STX internal static char(1) initial packed unaligned dcl 6-6 SUB internal static char(1) initial packed unaligned dcl 6-6 SYN internal static char(1) initial packed unaligned dcl 6-6 TEXT_VERSION internal static fixed bin(17,0) initial dcl 11-47 THICK internal static char(1) initial packed unaligned dcl 6-6 THIN internal static char(1) initial packed unaligned dcl 6-6 US internal static char(1) initial packed unaligned dcl 6-6 VT internal static char(1) initial packed unaligned dcl 6-6 abs builtin function dcl 76 approx internal static char(1) initial packed unaligned dcl 6-6 bullet internal static char(1) initial packed unaligned dcl 6-6 call_box0 based structure level 1 dcl 5-19 char builtin function dcl 76 collate builtin function dcl 76 comp_ 000000 constant entry external dcl 3-7 comp_art_ 000000 constant entry external dcl 3-8 comp_block_ctls_ 000000 constant entry external dcl 3-9 comp_break_ 000000 constant entry external dcl 3-11 comp_break_ctls_ 000000 constant entry external dcl 3-12 comp_dvid_version internal static fixed bin(17,0) initial dcl 14-14 comp_eject_page_ 000000 constant entry external dcl 3-15 comp_error_table_$syntax_error external static fixed bin(35,0) dcl 742 comp_extr_str_ 000000 constant entry external dcl 3-21 comp_fill_ 000000 constant entry external dcl 3-24 comp_font_ 000000 constant entry external dcl 3-25 comp_format_ctls_ 000000 constant entry external dcl 3-26 comp_get_file_$find 000000 constant entry external dcl 3-28 comp_get_file_$open 000000 constant entry external dcl 3-31 comp_head_page_ 000000 constant entry external dcl 3-33 comp_hft_ctls_ 000000 constant entry external dcl 3-35 comp_hft_ctls_$title 000000 constant entry external dcl 3-36 comp_init_$one 000000 constant entry external dcl 3-38 comp_init_$three 000000 constant entry external dcl 3-40 comp_init_$two 000000 constant entry external dcl 3-39 comp_insert_ctls_ 000000 constant entry external dcl 3-42 comp_make_page_ 000000 constant entry external dcl 3-44 comp_make_page_$cleanup 000000 constant entry external dcl 3-46 comp_measure_ 000000 constant entry external dcl 3-48 comp_read_$name 000000 constant entry external dcl 3-50 comp_read_$number 000000 constant entry external dcl 3-53 comp_report_$exact 000000 constant entry external dcl 3-64 comp_space_ 000000 constant entry external dcl 3-66 comp_tbl_ctls_ 000000 constant entry external dcl 3-68 comp_title_block_ 000000 constant entry external dcl 3-69 comp_update_symbol_ 000000 constant entry external dcl 3-71 comp_use_ref_ 000000 constant entry external dcl 3-74 comp_util_$add_text 000000 constant entry external dcl 3-75 comp_util_$getblk 000000 constant entry external dcl 3-82 comp_util_$pictures 000000 constant entry external dcl 3-88 comp_util_$pop 000000 constant entry external dcl 3-91 comp_util_$push 000000 constant entry external dcl 3-92 comp_util_$relblk 000000 constant entry external dcl 3-94 comp_util_$replace_text 000000 constant entry external dcl 3-96 comp_util_$set_bin 000000 constant entry external dcl 3-100 comp_util_$set_net_page 000000 constant entry external dcl 3-104 comp_util_$translate 000000 constant entry external dcl 3-106 comp_write_block_ 000000 constant entry external dcl 3-108 comp_write_page_ 000000 constant entry external dcl 3-110 compose_severity_ external static fixed bin(35,0) dcl 3-5 condition_info_header_ptr automatic pointer dcl 12-4 condition_info_ptr automatic pointer dcl 13-10 condition_info_version_1 internal static fixed bin(17,0) initial dcl 13-30 const_version internal static fixed bin(35,0) initial dcl 18-17 cright internal static char(1) initial packed unaligned dcl 6-6 dagger internal static char(1) initial packed unaligned dcl 6-6 dbldag internal static char(1) initial packed unaligned dcl 6-6 dcctl based structure level 1 packed packed unaligned dcl 2-34 dcfs based structure level 1 packed packed unaligned dcl 2-80 dcfs_len internal static fixed bin(17,0) initial dcl 2-88 dclit based structure level 1 packed packed unaligned dcl 2-45 dclong1_len internal static fixed bin(17,0) initial dcl 2-62 dclong_len internal static fixed bin(17,0) initial dcl 2-62 dclong_val based structure level 1 packed packed unaligned dcl 2-54 dcshort1_len internal static fixed bin(17,0) initial dcl 2-75 dcshort_len internal static fixed bin(17,0) initial dcl 2-75 dcshort_val based structure level 1 packed packed unaligned dcl 2-67 delmark internal static char(1) initial packed unaligned dcl 6-6 delta internal static char(1) initial packed unaligned dcl 6-6 dot_addltr_symb_index internal static fixed bin(17,0) initial dcl 9-126 fixed builtin function dcl 76 fntstk_eptr automatic pointer dcl 4-5 hbound builtin function dcl 76 hfcblk_ptr automatic pointer dcl 11-249 infin internal static char(1) initial packed unaligned dcl 6-6 info based structure level 1 unaligned dcl 1215 init_file_data internal static structure level 1 unaligned dcl 5-64 init_page_parms based structure level 1 dcl 8-108 insert_refs based structure level 1 dcl 5-21 ioa_$nnl 000000 constant entry external dcl 18-70 ioa_$rsnnl 000000 constant entry external dcl 94 iox_$error_output external static pointer dcl 18-74 iox_$user_output external static pointer dcl 18-74 line_area based structure level 1 dcl 11-26 lquote internal static char(1) initial packed unaligned dcl 6-6 lreplchar automatic fixed bin(35,0) dcl 51 lslnt internal static char(1) initial packed unaligned dcl 6-6 m automatic fixed bin(17,0) dcl 40 max_cols internal static fixed bin(17,0) initial dcl 8-7 max_text_lines internal static fixed bin(17,0) initial dcl 9-128 mod builtin function dcl 76 mode automatic fixed bin(17,0) dcl 52 mode_string internal static char(16) initial packed unaligned dcl 9-129 modmark internal static char(1) initial packed unaligned dcl 6-6 multiply internal static char(1) initial packed unaligned dcl 6-6 n automatic fixed bin(17,0) dcl 40 nabla internal static char(1) initial packed unaligned dcl 6-6 not_eq internal static char(1) initial packed unaligned dcl 6-6 oct031 internal static char(1) initial packed unaligned dcl 6-6 option based structure level 1 dcl 7-5 option_version internal static fixed bin(35,0) initial dcl 7-3 overbar internal static char(1) initial packed unaligned dcl 6-6 page_image based structure level 1 dcl 8-56 page_image_version internal static fixed bin(35,0) initial dcl 8-53 page_version internal static fixed bin(17,0) initial dcl 8-9 perpen internal static char(1) initial packed unaligned dcl 6-6 pi internal static char(1) initial packed unaligned dcl 6-6 pl_mi internal static char(1) initial packed unaligned dcl 6-6 prll internal static char(1) initial packed unaligned dcl 6-6 refname_str based char packed unaligned dcl 5-27 refstr_len automatic fixed bin(17,0) dcl 5-29 refstr_ptr automatic pointer dcl 5-30 rquote internal static char(1) initial packed unaligned dcl 6-6 save_shared based structure level 1 dcl 9-124 shared_version internal static fixed bin(35,0) initial dcl 9-5 slash internal static char(1) initial packed unaligned dcl 6-6 square internal static char(1) initial packed unaligned dcl 6-6 stkbox_ptr automatic pointer dcl 10-8 string_area based fixed bin(17,0) array dcl 11-43 sup0 internal static char(1) initial packed unaligned dcl 6-6 sup1 internal static char(1) initial packed unaligned dcl 6-6 sup2 internal static char(1) initial packed unaligned dcl 6-6 sup3 internal static char(1) initial packed unaligned dcl 6-6 sup4 internal static char(1) initial packed unaligned dcl 6-6 sup5 internal static char(1) initial packed unaligned dcl 6-6 sup6 internal static char(1) initial packed unaligned dcl 6-6 sup7 internal static char(1) initial packed unaligned dcl 6-6 sup8 internal static char(1) initial packed unaligned dcl 6-6 sup9 internal static char(1) initial packed unaligned dcl 6-6 sys_info$max_seg_size external static fixed bin(18,0) dcl 18-80 tblkdata based structure level 1 dcl 11-5 text_area based structure level 1 dcl 11-36 text_parms based structure level 1 dcl 11-206 tfore internal static char(1) initial packed unaligned dcl 6-6 theta internal static char(1) initial packed unaligned dcl 6-6 tmark internal static char(1) initial packed unaligned dcl 6-6 tree_flags based bit(1) array dcl 16-62 tree_incrs based fixed bin(31,0) array dcl 16-65 tree_names based char(32) array packed unaligned dcl 16-69 tree_nums based fixed bin(31,0) array dcl 16-72 txtlin based structure level 1 dcl 11-161 txtlinptr automatic pointer dcl 11-160 txtstrptr automatic pointer dcl 11-44 type_font internal static char(1) initial packed unaligned dcl 2-90 type_lit internal static char(1) initial packed unaligned dcl 2-90 type_slx internal static char(1) initial packed unaligned dcl 2-90 type_slxly internal static char(1) initial packed unaligned dcl 2-90 type_sly internal static char(1) initial packed unaligned dcl 2-90 type_sx internal static char(1) initial packed unaligned dcl 2-90 type_sxy internal static char(1) initial packed unaligned dcl 2-90 type_sy internal static char(1) initial packed unaligned dcl 2-90 type_unstart internal static char(1) initial packed unaligned dcl 2-90 type_unstop internal static char(1) initial packed unaligned dcl 2-90 type_v0lx internal static char(1) initial packed unaligned dcl 2-90 type_v0lxly internal static char(1) initial packed unaligned dcl 2-90 type_v0ly internal static char(1) initial packed unaligned dcl 2-90 type_v0x internal static char(1) initial packed unaligned dcl 2-90 type_v0xy internal static char(1) initial packed unaligned dcl 2-90 type_v0y internal static char(1) initial packed unaligned dcl 2-90 type_vlx internal static char(1) initial packed unaligned dcl 2-90 type_vlxly internal static char(1) initial packed unaligned dcl 2-90 type_vly internal static char(1) initial packed unaligned dcl 2-90 type_vx internal static char(1) initial packed unaligned dcl 2-90 type_vxy internal static char(1) initial packed unaligned dcl 2-90 type_vy internal static char(1) initial packed unaligned dcl 2-90 type_wait internal static char(1) initial packed unaligned dcl 2-90 unspec builtin function dcl 76 unstart_signal internal static char(3) initial packed unaligned dcl 2-39 unstop_signal internal static char(3) initial packed unaligned dcl 2-39 vrule internal static char(1) initial packed unaligned dcl 6-6 wait_signal internal static char(3) initial packed unaligned dcl 2-39 NAMES DECLARED BY EXPLICIT CONTEXT. OR 007074 constant entry internal dcl 716 ref 286 290 293 295 312 315 373 376 602 605 610 613 616 643 act_fcn 003726 constant entry internal dcl 413 ref 184 af_done 005264 constant label dcl 548 ref 434 448 af_err 004750 constant label dcl 512 ref 492 align_mode 007367 constant label dcl 800 ref 748 art_mode 007545 constant label dcl 839 ref 749 block_index 007572 constant label dcl 844 ref 750 block_name 007613 constant label dcl 849 ref 751 bottom_margin 007634 constant label dcl 854 ref 752 callers_line 007670 constant label dcl 864 ref 754 calling_file 007644 constant label dcl 857 ref 753 comp_use_ref_ 001010 constant entry external dcl 14 delim_loop 001135 constant label dcl 103 ref 118 128 138 157 180 193 211 229 335 402 553 636 devclass 007710 constant label dcl 871 ref 755 devname 007740 constant label dcl 875 ref 756 dot_addltr 007770 constant label dcl 879 ref 757 embed_ctl 005324 constant entry internal dcl 564 ref 215 eqn_mode 010006 constant label dcl 883 ref 758 eval_expr 003265 constant entry internal dcl 349 ref 173 fill_mode 010026 constant label dcl 888 ref 759 find_closer 001407 constant label dcl 142 ref 165 fontname 010050 constant label dcl 893 ref 760 footer_margin 010111 constant label dcl 900 ref 761 frontpage 010121 constant label dcl 903 ref 762 get_argi 006442 constant entry internal dcl 655 ref 256 header_margin 010151 constant label dcl 922 ref 763 headspace 010161 constant label dcl 925 ref 764 invalid_arg 002211 constant label dcl 263 ref 251 keep_mode 010172 constant label dcl 928 ref 765 left_indent 010220 constant label dcl 933 ref 766 left_undent 010242 constant label dcl 938 ref 767 lineinput 010264 constant label dcl 943 ref 768 linesleft 010603 constant label dcl 1003 ref 769 linespace 010665 constant label dcl 1022 ref 770 measure 010707 constant label dcl 1027 ref 771 next_pageno 010713 constant label dcl 1030 ref 772 numerics 005713 constant entry internal dcl 599 ref 286 pagecount 010723 constant label dcl 1033 ref 773 pagelength 011012 constant label dcl 1061 ref 775 pagelines 010755 constant label dcl 1046 ref 774 pageno 011022 constant label dcl 1064 ref 776 pointsize 011243 constant label dcl 1125 ref 777 repl_str 002605 constant label dcl 302 ref 257 return_ 003136 constant label dcl 338 ref 795 right_indent 011271 constant label dcl 1133 ref 778 right_undent 011313 constant label dcl 1138 ref 779 symdelim 011335 constant label dcl 1143 ref 780 test_dbl 001333 constant label dcl 130 ref 408 559 text_depth 011352 constant label dcl 1147 ref 781 text_lineno 011432 constant label dcl 1166 ref 782 text_width 011444 constant label dcl 1170 ref 783 top_margin 011466 constant label dcl 1175 ref 784 tr_tab 011514 constant label dcl 1182 set ref 786 ttldelim 011476 constant label dcl 1178 ref 785 use_abort_ 011704 constant label dcl 1201 use_fcn 007114 constant entry internal dcl 728 ref 293 315 602 user_input 011600 constant label dcl 1191 set ref 787 NAMES DECLARED BY CONTEXT OR IMPLICATION. after builtin function ref 421 708 bin builtin function ref 249 search builtin function ref 103 424 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 12642 13076 12345 12652 Length 13724 12345 234 611 275 152 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME comp_use_ref_ 2044 external procedure is an external procedure. eval_expr internal procedure shares stack frame of external procedure comp_use_ref_. act_fcn 127 internal procedure enables or reverts conditions. on unit on line 475 124 on unit embed_ctl internal procedure shares stack frame of external procedure comp_use_ref_. numerics internal procedure shares stack frame of external procedure comp_use_ref_. get_argi internal procedure shares stack frame of external procedure comp_use_ref_. OR internal procedure shares stack frame of external procedure comp_use_ref_. use_fcn internal procedure shares stack frame of external procedure comp_use_ref_. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 af_err_copy comp_use_ref_ 000130 cond_info comp_use_ref_ STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME comp_use_ref_ 000100 af_string_type comp_use_ref_ 000101 arg_count comp_use_ref_ 000102 argct comp_use_ref_ 000103 argno comp_use_ref_ 000104 argstr comp_use_ref_ 000504 add_text comp_use_ref_ 000505 af_name comp_use_ref_ 000515 dbl_delim comp_use_ref_ 000516 dirname comp_use_ref_ 000570 ercd comp_use_ref_ 000571 fxbin_value comp_use_ref_ 000572 i comp_use_ref_ 000573 j comp_use_ref_ 000574 k comp_use_ref_ 000575 l comp_use_ref_ 000576 junk_str comp_use_ref_ 000637 left comp_use_ref_ 000640 local_string comp_use_ref_ 001240 locater comp_use_ref_ 001242 lrepl comp_use_ref_ 001243 nextchar comp_use_ref_ 001244 pageno_str comp_use_ref_ 001255 qt_found comp_use_ref_ 001256 rd_bfr comp_use_ref_ 001316 rd_bfr_ptr comp_use_ref_ 001320 replace comp_use_ref_ 001720 replchar comp_use_ref_ 001726 right comp_use_ref_ 001730 save_ctl comp_use_ref_ 002207 save_ctl_line comp_use_ref_ 002607 tsymb comp_use_ref_ 002620 DCxx_p comp_use_ref_ 002622 call_box_ptr comp_use_ref_ 002624 line_area_ptr comp_use_ref_ 002626 text_area_ptr comp_use_ref_ 002630 tree_names_ptr comp_use_ref_ 002632 tree_var_ptr comp_use_ref_ 002642 exprtyp eval_expr 002643 nxtcndx eval_expr 002644 resattr eval_expr 002645 resnum eval_expr 002646 reslog eval_expr 002710 call_info use_fcn 002713 ii use_fcn 002714 jj use_fcn 002715 pageno_adj use_fcn THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_ne_as alloc_char_temp cat_realloc_chars call_ext_out_desc call_ext_out call_int_this return_mac tra_ext_1 tra_ext_2 signal_op enable_op shorten_stack ext_entry_desc int_entry trunc_fx1 repeat set_chars_eis index_chars_eis search_eis any_to_any_truncate_divide_fx3 fetch_chars_eis THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ comp_ctls_ comp_expr_eval_ comp_read_$line comp_report_ comp_report_$ctlstr comp_util_$display comp_util_$escape comp_util_$num_display comp_util_$pageno comp_util_$search_tree cu_$evaluate_active_string expand_pathname_ find_condition_info_ hcs_$make_ptr ioa_ iox_$get_line THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. comp_error_table_$usage_error compstat$compconst error_table_$null_brackets iox_$user_input LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 14 001003 37 001023 44 001026 60 001030 66 001034 11 25 001035 11 35 001037 16 68 001040 16 75 001041 97 001042 98 001054 100 001057 103 001135 106 001177 108 001200 111 001202 113 001211 116 001236 117 001242 118 001255 121 001256 127 001326 128 001332 130 001333 135 001344 137 001400 138 001405 141 001406 142 001407 145 001443 148 001444 151 001451 154 001510 155 001516 156 001517 157 001523 160 001524 164 001540 165 001544 170 001545 173 001551 176 001562 179 001572 180 001576 184 001577 189 001646 192 001677 193 001701 197 001702 205 001705 207 001706 210 001711 211 001713 215 001714 221 001721 224 001736 226 001775 229 002045 232 002047 233 002053 234 002066 236 002112 239 002115 244 002162 249 002171 251 002205 256 002207 257 002210 263 002211 267 002275 270 002346 271 002347 276 002350 279 002355 282 002425 283 002427 286 002430 290 002447 293 002474 295 002524 299 002565 301 002577 302 002605 304 002607 308 002701 309 002726 312 002730 315 002755 317 003005 319 003017 321 003031 323 003035 324 003037 327 003117 329 003120 331 003131 335 003135 338 003136 342 003175 346 003263 349 003265 358 003266 361 003277 362 003303 365 003362 368 003375 370 003401 373 003404 376 003431 379 003451 382 003510 385 003520 386 003524 390 003531 393 003574 399 003637 402 003716 407 003720 408 003724 413 003725 416 003733 419 003745 421 003762 424 004014 427 004026 428 004051 431 004054 434 004120 438 004121 441 004125 442 004161 445 004164 448 004247 452 004251 453 004254 455 004270 456 004272 457 004307 459 004333 462 004334 465 004342 468 004421 469 004423 471 004427 473 004433 475 004434 477 004450 479 004470 482 004474 486 004534 489 004537 490 004544 491 004546 492 004550 495 004553 496 004555 498 004560 502 004632 505 004636 508 004676 509 004733 512 004750 516 004755 519 005040 522 005056 524 005057 528 005111 529 005113 530 005114 531 005117 533 005131 537 005151 540 005200 542 005204 544 005205 548 005264 551 005305 553 005312 558 005315 559 005321 564 005324 567 005325 572 005435 573 005445 574 005453 576 005501 577 005502 578 005503 580 005505 582 005513 583 005522 584 005530 585 005532 586 005535 587 005543 590 005623 591 005630 593 005632 596 005711 599 005713 602 005714 605 005744 608 006005 610 006017 613 006055 616 006113 619 006143 621 006146 623 006150 626 006164 628 006204 629 006206 633 006207 636 006266 639 006270 643 006350 646 006376 649 006411 653 006441 655 006442 658 006443 659 006451 660 006464 661 006467 663 006477 664 006507 667 006522 668 006524 670 006525 671 006530 672 006547 675 006550 677 006615 678 006617 679 006620 681 006621 684 006625 691 006647 692 006651 694 006712 696 006723 700 006724 701 006726 703 006767 705 007001 706 007002 708 007003 710 007052 711 007064 713 007066 714 007073 716 007074 724 007076 728 007114 748 007116 749 007125 750 007130 751 007133 752 007136 753 007141 754 007144 755 007147 756 007152 757 007155 758 007160 759 007163 760 007166 761 007171 762 007174 763 007177 764 007202 765 007205 766 007210 767 007213 768 007216 769 007221 770 007224 771 007227 772 007232 773 007235 774 007240 775 007243 776 007246 777 007251 778 007254 779 007257 780 007262 781 007265 782 007270 783 007273 784 007276 785 007301 786 007304 787 007307 789 007312 792 007323 795 007363 798 007364 800 007367 804 007377 806 007410 808 007416 810 007424 812 007432 814 007440 817 007452 818 007456 822 007462 824 007474 826 007502 828 007510 830 007516 832 007524 835 007535 836 007541 839 007545 842 007563 844 007572 847 007607 849 007613 852 007630 854 007634 857 007644 860 007654 862 007664 864 007670 867 007702 871 007710 873 007734 875 007740 877 007764 879 007770 881 010002 883 010006 886 010022 888 010026 891 010043 893 010050 897 010073 898 010105 900 010111 903 010121 906 010136 908 010145 922 010151 925 010161 928 010172 931 010211 933 010220 936 010235 938 010242 941 010257 943 010264 947 010272 951 010331 954 010335 957 010343 958 010347 960 010351 962 010373 963 010376 964 010403 965 010422 968 010423 969 010426 971 010470 972 010471 987 010472 988 010475 989 010503 990 010522 993 010523 994 010526 996 010570 997 010571 999 010572 1001 010577 1003 010603 1006 010620 1008 010625 1011 010632 1012 010637 1014 010643 1016 010652 1020 010661 1022 010665 1025 010702 1027 010707 1030 010713 1033 010723 1036 010734 1038 010735 1042 010747 1044 010751 1046 010755 1049 010770 1051 010772 1054 010777 1055 011002 1059 011006 1061 011012 1064 011022 1067 011024 1070 011036 1071 011054 1072 011073 1075 011077 1079 011114 1080 011115 1081 011116 1084 011122 1087 011126 1095 011151 1104 011173 1106 011174 1113 011206 1117 011212 1119 011226 1123 011237 1125 011243 1130 011262 1133 011271 1136 011306 1138 011313 1141 011330 1143 011335 1145 011346 1147 011352 1150 011366 1152 011372 1155 011377 1156 011404 1158 011410 1160 011417 1164 011426 1166 011432 1168 011440 1170 011444 1173 011461 1175 011466 1178 011476 1180 011510 1182 011514 1184 011515 1185 011531 1188 011571 1189 011574 1191 011600 1193 011601 1195 011624 1198 011666 1199 011701 1201 011704 ----------------------------------------------------------- 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