COMPILATION LISTING OF SEGMENT comp_hft_ctls_ Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 04/23/85 0959.5 mst Tue 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 implementing the header/footer/title block controls */ 11 12 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 13 14 comp_hft_ctls_: 15 proc (ctl_index); 16 17 /* PARAMETERS */ 18 19 dcl ctl_index fixed bin; /* control index */ 20 21 /* LOCAL STORAGE */ 22 23 dcl blnkct fixed bin (31); /* blank line count */ 24 dcl block_type char (1) static init (" "); 25 dcl EMPTY bit (1) static options (constant) init ("1"b); 26 dcl ercd fixed bin (35); /* error code */ 27 dcl err_sw bit (1); 28 dcl exit_str char (256) var; /* debug message */ 29 dcl fnxt fixed bin (21); /* next variable field char */ 30 dcl hf_lin_key char (1) var; /* a|e|o for hdrs & ftrs */ 31 dcl hscales (7) fixed bin (31) static options (constant) 32 init (7200, 6000, 72000, 2834.65, 12000, 1000, 0); 33 dcl (i, ii, j) fixed bin; /* working index */ 34 dcl lino fixed init (0); /* line index */ 35 dcl loc_lead fixed bin (31); 36 dcl LOOSE fixed bin static options (constant) init (-1); 37 dcl new_indent fixed bin (31); /* indent value for formatted blocks */ 38 dcl save_varfld char (1020) var; 39 dcl tf_art bit (1); /* for art mode promotion */ 40 dcl tf_keep bit (1); /* for keep mode promotion */ 41 dcl th_art bit (1); /* for art mode promotion */ 42 dcl th_keep bit (1); /* for keep mode promotion */ 43 dcl unscaled (1) fixed bin (31) static options (constant) init (1); 44 /* control line variable field */ 45 dcl varfld char (1020) var; 46 dcl vscales (7) fixed bin (31) static options (constant) 47 init (12000, 9000, 72000, 2834.65, 12000, 1000, 0); 48 49 dcl (divide, index, length, max, null, round, substr) 50 builtin; 51 52 dcl comp_abort condition; 53 54 dcl ioa_$rsnnl entry options (variable); 55 56 exit_str = ""; /* initialize */ 57 th_keep, th_art = "0"b; 58 hfcblk_ptr = null; 59 60 if shared.bug_mode 61 then call ioa_ ("hft_ctls: (^d) ""^a""", ctl_index, 62 comp_util_$display (ctl_line, 0, "0"b)); 63 /* copy variable field */ 64 varfld = substr (ctl_line, ctl.index); 65 66 goto ctl_ (ctl_index); 67 68 ctl_ (20): /* ".bcf" = begin-column-footer */ 69 goto return_; /* HMMM! */ 70 71 ctl_ (21): /* ".bch" = begin-column-header */ 72 goto return_; 73 74 ctl_ (32): /* ".bpf" = begin-page-footer */ 75 bpf_ctl: 76 if current_parms.title_mode /* if already in a formatted block */ 77 then 78 do; 79 call comp_report_ (2, 0, "Already processing a formatted title block", 80 addr (ctl.info), ctl_line); 81 goto bpf_err; 82 end; 83 84 if ctl.index <= length (ctl_line) /* if a numeric is given */ 85 & index ("+-0123456789", substr (ctl_line, ctl.index, 1)) ^= 0 86 then call comp_util_$set_bin (new_indent, "header indent", 0, 0, 87 page.parms.measure, hscales, comp_dvt.min_WS); 88 else new_indent = 0; 89 90 if ctl.index <= length (ctl_line) /* if type is given */ 91 then block_type = substr (ctl_line, ctl.index, 1); 92 else block_type = "a"; /* otherwise, all */ 93 /* even or all */ 94 if (block_type = "e" | block_type = "a") 95 then 96 do; 97 call comp_util_$relblk (LOOSE, shared.epftrptr); 98 call comp_util_$getblk (LOOSE, shared.epftrptr, "ef", 99 const.default_parms_ptr, ^EMPTY); 100 hfcblk_ptr = shared.epftrptr; 101 hfcblk.parms.page = "1"b; 102 103 if shared.ephdrptr ^= null /* copy art flag from header */ 104 then hfcblk.hdr.art, hfcblk.parms.art = 105 shared.ephdrptr -> hfcblk.parms.art; 106 end; /**/ 107 /* odd or all */ 108 if (block_type = "o" | block_type = "a") 109 then 110 do; 111 call comp_util_$relblk (LOOSE, shared.opftrptr); 112 call comp_util_$getblk (LOOSE, shared.opftrptr, "of", 113 const.default_parms_ptr, ^EMPTY); 114 hfcblk_ptr = shared.opftrptr; 115 hfcblk.parms.page = "1"b; 116 117 if shared.ophdrptr ^= null /* copy art flag from header */ 118 then hfcblk.hdr.art, hfcblk.parms.art = 119 shared.ophdrptr -> hfcblk.parms.art; 120 end; /**/ 121 /* unknown block type? */ 122 else if index ("aeo", block_type) = 0 123 then 124 do; 125 call comp_report_ (2, 0, "Unknown block type.", addr (ctl.info), 126 ctl_line); 127 128 bpf_err: 129 do while (substr (ctl_line, verify (ctl_line, " "), 4) ^= ".fbe" 130 & substr (ctl_line, verify (ctl_line, " "), 4) ^= ".epf"); 131 call_box_ptr = call_stack.ptr (call_stack.index); 132 call comp_read_$line (call_box_ptr, "", "1"b); 133 ctl.info = call_box.info; 134 end; 135 goto return_; 136 end; 137 138 hfcblk.hdr.blkptr = shared.blkptr; /* save pointers for end */ 139 hfcblk.hdr.parms_ptr = const.current_parms_ptr; 140 /* switch block pointers */ 141 if block_type = "a" | block_type = "o" 142 then shared.blkptr = shared.opftrptr; 143 else shared.blkptr = shared.epftrptr; 144 /* dont disturb main body parms */ 145 const.current_parms_ptr = addr (text.parms); 146 text.parms.title_mode = "1"b; /* set flag */ 147 text.parms.left.indent = new_indent; 148 text.parms.measure = page.parms.measure; 149 150 goto return_; /* go process the block */ 151 152 ctl_ (33): /* ".bph" = begin-page-header */ 153 bph_ctl: 154 if current_parms.title_mode /* if already in a formatted block */ 155 then 156 do; 157 call comp_report_ (2, 0, "Already processing a formatted title block", 158 addr (ctl.info), ctl_line); 159 goto bph_err; 160 end; 161 162 if ctl.index <= length (ctl_line) /* if a numeric is given */ 163 & index ("+-0123456789", substr (ctl_line, ctl.index, 1)) ^= 0 164 then call comp_util_$set_bin (new_indent, "header indent", 0, 0, 165 page.parms.measure, hscales, comp_dvt.min_WS); 166 else new_indent = 0; 167 168 if ctl.index <= length (ctl_line) /* if type is given */ 169 then block_type = substr (ctl_line, ctl.index, 1); 170 else block_type = "a"; /* otherwise, all */ 171 /* even or all */ 172 if (block_type = "e" | block_type = "a") 173 then 174 do; 175 call comp_util_$relblk (LOOSE, shared.ephdrptr); 176 call comp_util_$getblk (LOOSE, shared.ephdrptr, "eh", 177 const.default_parms_ptr, ^EMPTY); 178 hfcblk_ptr = shared.ephdrptr; 179 hfcblk.parms.page = "1"b; 180 end; /**/ 181 /* odd or all */ 182 if (block_type = "o" | block_type = "a") 183 then 184 do; 185 call comp_util_$relblk (LOOSE, shared.ophdrptr); 186 call comp_util_$getblk (LOOSE, shared.ophdrptr, "oh", 187 const.default_parms_ptr, ^EMPTY); 188 hfcblk_ptr = shared.ophdrptr; 189 hfcblk.parms.page = "1"b; 190 end; /**/ 191 /* unknown block type? */ 192 else if index ("aeo", block_type) = 0 193 then 194 do; 195 call comp_report_ (2, 0, "Unknown block type.", addr (ctl.info), 196 ctl_line); 197 198 bph_err: 199 do while (substr (ctl_line, verify (ctl_line, " "), 4) ^= ".hbe" 200 & substr (ctl_line, verify (ctl_line, " "), 4) ^= ".eph"); 201 call_box_ptr = call_stack.ptr (call_stack.index); 202 call comp_read_$line (call_box_ptr, "", "1"b); 203 ctl.info = call_box.info; 204 end; 205 goto return_; 206 end; 207 208 hfcblk.hdr.blkptr = shared.blkptr; /* save pointers for end */ 209 hfcblk.hdr.parms_ptr = const.current_parms_ptr; 210 /* switch block pointers */ 211 if block_type = "a" | block_type = "o" 212 then shared.blkptr = shared.ophdrptr; 213 else shared.blkptr = shared.ephdrptr; 214 /* dont disturb main body parms */ 215 const.current_parms_ptr = addr (text.parms); 216 text.parms.title_mode = "1"b; /* set flag */ 217 text.parms.left.indent = new_indent; 218 text.parms.measure = page.parms.measure; 219 220 goto return_; 221 222 ctl_ (42): /* ".btc" = begin-text-caption */ 223 block_type = "c"; 224 goto join_btt1; 225 226 ctl_ (43): /* ".btt" = begin-text-title */ 227 block_type = "h"; 228 229 join_btt1: /* initialize local storage */ 230 new_indent = current_parms.left.indent; 231 232 if ctl.index <= length (ctl_line) /* if a numeric is given */ 233 & index ("+-0123456789", substr (ctl_line, ctl.index, 1)) ^= 0 234 then call comp_util_$set_bin (new_indent, "title indent", new_indent, 0, 235 current_parms.measure, hscales, comp_dvt.min_WS); 236 237 join_btt2: 238 if search (block_type, "hc") = 0 239 then 240 do; /* unknown block type */ 241 call comp_report_ (2, 0, "Unknown text title block type.", 242 addr (ctl.info), ctl_line);/**/ 243 /* skip the block */ 244 do while (substr (ctl_line, 1, 4) ^= ".tbe" 245 & substr (ctl_line, 1, 4) ^= ".tbe"); 246 call_box_ptr = call_stack.ptr (call_stack.index); 247 call comp_read_$line (call_box_ptr, "", "1"b); 248 ctl.info = call_box.info; 249 end; 250 251 goto return_; 252 end; 253 254 if shared.blkptr = null /* if no text block yet */ 255 then 256 do; 257 if ^(page.hdr.headed | option.galley_opt) 258 then call comp_head_page_ (0); 259 call comp_util_$getblk (page.hdr.col_index, shared.blkptr, "tx", 260 const.current_parms_ptr, ^EMPTY); 261 end; 262 263 if block_type = "h" 264 then 265 do; 266 if text.parms.hdrptr = null /* if no header block yet */ 267 then call comp_util_$getblk (LOOSE, text.parms.hdrptr, "th", 268 const.current_parms_ptr, ^EMPTY); 269 hfcblk_ptr = text.parms.hdrptr; /**/ 270 /* set parms */ 271 hfcblk.parms = current_parms; /* in case they changed */ 272 hfcblk.parms.title_mode = "1"b; 273 hfcblk.parms.left.indent = new_indent; 274 /* save pointers for end */ 275 hfcblk.hdr.blkptr = shared.blkptr; 276 hfcblk.hdr.parms_ptr = const.current_parms_ptr; 277 /* switch blocks */ 278 shared.blkptr = text.parms.hdrptr; 279 const.current_parms_ptr = addr (text.parms); 280 end; 281 282 else if block_type = "c" 283 then 284 do; 285 if text.parms.ftrptr = null /* if no footer block yet */ 286 then call comp_util_$getblk (LOOSE, text.parms.ftrptr, "tf", 287 const.current_parms_ptr, ^EMPTY); 288 hfcblk_ptr = text.parms.ftrptr; /**/ 289 /* set parms */ 290 hfcblk.parms = current_parms; /* in case they changed */ 291 hfcblk.parms.title_mode = "1"b; 292 hfcblk.parms.left.indent = new_indent; 293 /* save pointers for end */ 294 hfcblk.hdr.blkptr = shared.blkptr; 295 hfcblk.hdr.parms_ptr = const.current_parms_ptr; 296 /* switch blocks */ 297 shared.blkptr = text.parms.ftrptr; 298 const.current_parms_ptr = addr (text.parms); 299 end; /**/ 300 /* if multi-column mode */ 301 if ^shared.table_mode & page.hdr.col_count > 0 302 then text.parms.measure, current_parms.measure = col.parms.measure; 303 304 goto return_; 305 306 ctl_ (49): /* ".cfl" = column-footer-line */ 307 if ctl.index > length (ctl_line) /* cancelling? */ 308 then 309 do; 310 call comp_util_$relblk (LOOSE, col.ftrptr); 311 /* if multicolumn, erase all tracks of it */ 312 do i = 0 to page.parms.cols.count; 313 page.column_ptr (i) -> col.hdr.net = 314 page.column_ptr (i) -> col.hdr.net 315 + page.column_ptr (i) -> col.ftrusd; 316 page.column_ptr (i) -> col.ftrusd = 0; 317 page.column_ptr (i) -> col.ftrptr = null; 318 end; 319 end; 320 321 else /* (re)defining the footer */ 322 do; 323 hfcblk_ptr = col.ftrptr; /* copy the footer pointer */ 324 /* if no block yet */ 325 if hfcblk_ptr = null () 326 then 327 do; 328 call comp_util_$getblk (LOOSE, hfcblk_ptr, "rf", 329 const.current_parms_ptr, ^EMPTY); 330 col.ftrptr = hfcblk_ptr; /* record the new pointer */ 331 /* set all for multicolumn */ 332 if page.parms.cols.count > 0 333 then 334 do i = 1 to page.parms.cols.count; 335 page.column_ptr (i) -> col.ftrptr = hfcblk_ptr; 336 end; 337 end; 338 339 if hfcblk.hdr.count = 0 /* re-initialize if empty */ 340 then 341 do; 342 hfcblk.parms.linespace = 12000; 343 hfcblk.parms.art, hfcblk.hdr.art = "0"b; 344 end; 345 346 call set_hf_lines ("1"b, hfcblk_ptr, 0); 347 col.ftrusd = hfcblk.hdr.used; 348 col.hdr.net = col.hdr.net - hfcblk.parms.linespace; 349 if page.parms.cols.count > 1 350 then 351 do i = 1 to page.parms.cols.count; 352 page.column_ptr (i) -> col.ftrusd = hfcblk.hdr.used; 353 page.column_ptr (i) -> col.hdr.net = 354 page.column_ptr (i) -> col.hdr.net - hfcblk.parms.linespace; 355 end; 356 end; 357 358 goto return_; 359 360 ctl_ (50): /* ".chl" = column-header-line */ 361 if ctl.index > length (ctl_line) /* cancelling? */ 362 then if col.hdrptr ^= null 363 then 364 do; 365 col.hdrptr -> text.hdr.count = 0; 366 col.hdrusd = 0; /* erase hdrusd */ 367 368 if page.parms.cols.count > 0 369 /* if multicolumn, erase all hdrusd */ 370 then 371 do i = 1 to page.parms.cols.count; 372 if page.column_ptr (i) ^= null 373 then page.column_ptr (i) -> col.hdrusd = 0; 374 end; 375 end; 376 else ; 377 378 else /* (re)defining the header */ 379 do; /* if no block yet */ 380 if col.hdrptr = null () 381 then 382 do; 383 call comp_util_$getblk (LOOSE, col.hdrptr, "rh", 384 const.current_parms_ptr, ^EMPTY); 385 col.hdrptr -> text.parms.linespace = 12000; 386 col.hdrptr -> text.parms.art, col.hdrptr -> text.hdr.art = "0"b; 387 unspec (col.hdrptr -> text.parms.cbar) = "0"b; 388 389 if page.parms.cols.count > 0 390 then 391 do i = 1 to page.parms.cols.count; 392 page.column_ptr (i) -> col.hdrptr = col.hdrptr; 393 end; 394 end; 395 396 if shared.bug_mode 397 then hfcblk_ptr = col.hdrptr; 398 399 call set_hf_lines ("1"b, col.hdrptr, 0); 400 col.hdrusd = col.hdrptr -> text.hdr.used; 401 if page.parms.cols.count > 1 402 then 403 do i = 1 to page.parms.cols.count; 404 page.column_ptr (i) -> col.hdrusd = col.hdrptr -> text.hdr.used; 405 end; 406 end; 407 408 goto return_; 409 410 ctl_ (58): /* ".ecf" = end-column-footer */ 411 goto return_; /* HMMM! */ 412 413 ctl_ (59): /* ".ech" = end-column-header */ 414 goto return_; 415 416 ctl_ (64): /* ".epf" = end-page-footer */ 417 epf_ctl: /* if not a page footer */ 418 if (shared.blkptr ^= shared.opftrptr & shared.blkptr ^= shared.epftrptr) 419 then goto return_; /* ignore it */ 420 421 if shared.blkptr ^= null () /* if there is a block */ 422 then 423 do; 424 if ^text.parms.title_mode /* if not a formatted block */ 425 then goto return_; /* ignore it */ 426 /* even footers */ 427 if (shared.blkptr = shared.epftrptr 428 & text.hdr.used >= page.parms.net.even) 429 /* odd footers */ 430 | (shared.blkptr = shared.opftrptr 431 & text.hdr.used >= page.parms.net.odd) 432 then 433 do; 434 call comp_report_ (2, 0, 435 "Footer block exceeds page size. It will be ignored.", 436 addr (ctl.info), ctl_line); 437 438 text.hdr.count = 0; /* erase the whole block */ 439 text.input = text_entry; /* overwrite old text */ 440 text.input.ptr = addr (text.input_line); 441 line_area_ptr, hfcblk.line_area.cur = hfcblk.line_area.first; 442 line_area.ndx = 0; 443 text_area_ptr, hfcblk.text_area.cur = hfcblk.text_area.first; 444 text_area.ndx = 1; 445 hfcblk.next_text = text_area.strareaptr (1); 446 end; 447 448 else 449 do; /* finish the block */ 450 call comp_break_ (format_break, 0); 451 /* shut off title flag */ 452 text.parms.title_mode = "0"b; 453 454 if ^option.galley_opt 455 then call comp_util_$set_net_page ("0"b); 456 457 if block_type = "a" /* if type is all */ 458 then /* current block is the odd footer */ 459 do; /* copy odd footer to even footer */ 460 hfcblk_ptr = shared.epftrptr; 461 hfcblk.parms = text.parms; 462 hfcblk.hdr.count, hfcblk.hdr.used = 0; 463 /* overwrite old text */ 464 line_area_ptr, hfcblk.line_area.cur = hfcblk.line_area.first; 465 line_area.ndx = 0; 466 text_area_ptr, hfcblk.text_area.cur = hfcblk.text_area.first; 467 text_area.ndx = 1; 468 hfcblk.next_text = text_area.strareaptr (1); 469 470 do line_area_ptr = text.line_area.first 471 repeat (line_area.next) while (line_area_ptr ^= null); 472 do i = 1 to line_area.ndx; 473 txtlinptr = line_area.linptr (i); 474 call comp_util_$add_text (shared.epftrptr, "0"b, "0"b, 475 "0"b, "0"b, txtlinptr); 476 end; 477 end; 478 479 if shared.bug_mode 480 then call ioa_$rsnnl ( 481 "^5x(hft_ctls: ef=^d e^d u^f hspc=col^d ^f pag^f)", 482 exit_str, 0, shared.epftrptr -> hfcblk.blkndx, 483 shared.epftrptr -> hfcblk.hdr.count, 484 dec ( 485 divide (shared.epftrptr -> hfcblk.hdr.used, 12000, 486 31, 10), 11, 3), page.hdr.col_index, 487 dec (divide (col.hdr.pspc, 12000, 31, 10), 11, 3), 488 dec (divide (page.hdr.hdspc, 12000, 31, 10), 11, 3)); 489 490 if ^option.galley_opt 491 then call comp_util_$set_net_page ("0"b); 492 end; /**/ 493 /* switch back to text block */ 494 const.current_parms_ptr = text.hdr.parms_ptr; 495 shared.blkptr = text.hdr.blkptr; 496 497 if shared.blkptr ^= null 498 then ctl.font = text.input.font; 499 end; 500 end; 501 goto return_; 502 503 ctl_ (65): /* ".eph" = end-page-header */ 504 eph_ctl: /**/ 505 /* if not a page header */ 506 if (shared.blkptr ^= shared.ophdrptr & shared.blkptr ^= shared.ephdrptr) 507 then goto return_; /* ignore it */ 508 509 if shared.blkptr ^= null () /* if there is a block */ 510 then 511 do; 512 if ^text.parms.title_mode /* if not a formatted block */ 513 then goto return_; /* ignore it */ 514 /* even headers */ 515 if (shared.blkptr = shared.ephdrptr 516 & text.hdr.used >= page.parms.net.even) 517 /* odd headers */ 518 | (shared.blkptr = shared.ophdrptr 519 & text.hdr.used >= page.parms.net.odd) 520 then 521 do; 522 call comp_report_ (2, 0, 523 "Header block exceeds page size. It will be ignored.", 524 addr (ctl.info), ctl_line); 525 526 text.hdr.count = 0; /* erase the whole block */ 527 text.input = text_entry; /* overwrite old text */ 528 text.input.ptr = addr (text.input_line); 529 line_area_ptr, hfcblk.line_area.cur = hfcblk.line_area.first; 530 line_area.ndx = 0; 531 text_area_ptr, hfcblk.text_area.cur = hfcblk.text_area.first; 532 text_area.ndx = 1; 533 hfcblk.next_text = text_area.strareaptr (1); 534 end; 535 536 else 537 do; /* finish the block */ 538 call comp_break_ (format_break, 0); 539 /* turn off the block flag */ 540 text.parms.title_mode = "0"b; 541 542 if ^option.galley_opt 543 then call comp_util_$set_net_page ("1"b); 544 545 if block_type = "a" /* if odd block of all */ 546 & shared.blkptr = shared.ophdrptr 547 then 548 do; /* copy it to the even block */ 549 hfcblk_ptr = shared.ephdrptr; 550 hfcblk.parms = text.parms; 551 hfcblk.hdr.count, hfcblk.hdr.used = 0; 552 /* overwrite old text */ 553 line_area_ptr, hfcblk.line_area.cur = hfcblk.line_area.first; 554 line_area.ndx = 0; 555 text_area_ptr, hfcblk.text_area.cur = hfcblk.text_area.first; 556 text_area.ndx = 1; 557 hfcblk.next_text = text_area.strareaptr (1); 558 559 do line_area_ptr = text.line_area.first 560 repeat (line_area.next) while (line_area_ptr ^= null); 561 do i = 1 to line_area.ndx; 562 txtlinptr = line_area.linptr (i); 563 564 call comp_util_$add_text (shared.ephdrptr, "0"b, "0"b, 565 "0"b, "0"b, txtlinptr); 566 end; 567 end; 568 569 if shared.bug_mode 570 then call ioa_$rsnnl ("^5x(hft_ctls: eh=^d e^d u^f" 571 || " hspc=col^d ^f pag^f)", exit_str, 0, 572 hfcblk.blkndx, hfcblk.hdr.count, 573 dec (divide (hfcblk.hdr.used, 12000, 31, 10), 11, 3), 574 page.hdr.col_index, 575 dec (divide (col.hdr.pspc, 12000, 31, 10), 11, 3), 576 dec (divide (page.hdr.hdspc, 12000, 31, 10), 11, 3)); 577 578 if ^option.galley_opt 579 then call comp_util_$set_net_page ("1"b); 580 end; /**/ 581 /* switch back to text block */ 582 const.current_parms_ptr = text.hdr.parms_ptr; 583 shared.blkptr = text.hdr.blkptr; 584 end; 585 end; 586 goto return_; 587 588 ctl_ (68): /* ".etc" = end-text-caption */ 589 etf_ctl: 590 ctl_ (69): /* ".ett" = end-text-title */ 591 ett_ctl: 592 if shared.blkptr ^= null () /* if there is a block */ 593 then 594 do; 595 hfcblk_ptr = shared.blkptr; /* for debugging */ 596 if ^text.parms.title_mode /* not a formatted block? */ 597 then goto return_; /* ignore it */ 598 /* finish the block */ 599 call comp_break_ (format_break, 0); 600 /* save modes for promotion */ 601 if text.blktype = "th" /* is this a text header? */ 602 then 603 do; 604 th_keep = text.parms.keep; 605 th_art = text.parms.art; 606 end; 607 608 else /* its a caption */ 609 do; 610 tf_keep = text.parms.keep; 611 tf_art = text.parms.art; 612 end; /**/ 613 /* switch back to text block */ 614 const.current_parms_ptr = text.hdr.parms_ptr; 615 shared.blkptr = text.hdr.blkptr;/**/ 616 /* promote art and keep modes */ 617 if hfcblk.blktype = "th" /* is this a text header? */ 618 then 619 do; 620 current_parms.keep = current_parms.keep | th_keep; 621 text.hdr.art, current_parms.art = current_parms.art | th_art; 622 end; 623 624 else /* its a caption */ 625 do; 626 current_parms.keep = current_parms.keep & tf_keep; 627 current_parms.art = current_parms.art & tf_art; 628 end; 629 end; 630 631 goto return_; 632 633 ctl_ (71): /* ".fb" = footer-block-begin */ 634 ctl_ (72): /* ".fbb" = footer-block-begin */ 635 goto bpf_ctl; 636 637 ctl_ (73): /* ".fbe" = footer-block-end */ 638 goto epf_ctl; 639 640 ctl_ (77): /* ".fl" ".fla" = footer-line-all */ 641 ctl_ (78): 642 hf_lin_key = "a"; 643 goto join_pfl; 644 645 /* ".fle" = footer-line-even */ 646 ctl_ (79): 647 hf_lin_key = "e"; 648 goto join_pfl; 649 650 /* ".flo" = footer-line-odd */ 651 ctl_ (80): 652 hf_lin_key = "o"; 653 goto join_pfl; 654 655 ctl_ (90): /* ".hb" = header-block-begin */ 656 ctl_ (91): /* ".hbb" = header-block-begin */ 657 goto bph_ctl; 658 659 ctl_ (92): /* ".hbe" = header-block-end */ 660 goto eph_ctl; 661 662 ctl_ (95): /* ".hl" = header-line */ 663 ctl_ (96): /* ".hla" = header-line-all */ 664 hf_lin_key = "a"; 665 goto join_phl; 666 667 /* ".hle" = header-line-even */ 668 ctl_ (97): 669 hf_lin_key = "e"; 670 goto join_phl; 671 672 /* ".hlf" = header-line-footnote */ 673 ctl_ (98): /* if no block yet */ 674 if shared.footnote_header_ptr = null () 675 then 676 do; 677 call comp_util_$getblk (LOOSE, shared.footnote_header_ptr, "fh", 678 addr (footnote_parms), ^EMPTY); 679 /* no cbars on headers */ 680 unspec (ftnhdr.parms.cbar) = "0"b; 681 end; 682 683 if ctl.index <= length (ctl_line) 684 then call set_hf_lines ("1"b, shared.footnote_header_ptr, 0); 685 686 else 687 do; 688 ftnhdr.hdr.count = 1; 689 txtlinptr = ftnhdr.line_area.first -> line_area.linptr (1); 690 txtlin.title = "1"b; 691 txtlin.linespace, loc_lead = 12000; 692 txtlin.font.famndx = comp_dvt.init_fam; 693 txtlin.font.memndx = comp_dvt.init_mem; 694 txtlin.font.size = comp_dvt.init_ps; 695 txtlin.lmarg = 0; 696 txtlin.default = "1"b; /* set default flag */ 697 end; 698 699 goto return_; 700 701 ctl_ (99): /* ".hlo" = header-line-odd */ 702 hf_lin_key = "o"; 703 goto join_phl; 704 705 ctl_ (125): /* ".pfl" = page-footer-line */ 706 pfl_ctl: 707 if search (varfld, "aeo") = 1 708 then 709 do; 710 hf_lin_key = comp_read_$name (varfld, 1, fnxt, addr (ctl.info)); 711 varfld = ltrim (substr (varfld, fnxt)); 712 end; 713 else hf_lin_key = "a"; 714 715 join_pfl: 716 if hf_lin_key = "a" | hf_lin_key = "e" 717 then 718 do; 719 save_varfld = varfld; /* save for other page if "a" */ 720 721 if varfld = "" /* if cancelling */ 722 then if shared.epftrptr ^= null 723 then call comp_util_$relblk (LOOSE, shared.epftrptr); 724 else ; 725 726 else 727 do; /* no block yet? */ 728 if shared.epftrptr = null ()/* if no block yet */ 729 then call comp_util_$getblk (LOOSE, shared.epftrptr, "ef", 730 const.default_parms_ptr, ^EMPTY); 731 hfcblk_ptr = shared.epftrptr; 732 733 if hfcblk.hdr.count = 0 /* re-initialize if empty */ 734 then 735 do; /* set default parms */ 736 hfcblk.parms = current_parms; 737 hfcblk.parms.page = "1"b; 738 hfcblk.parms.linespace = 12000; 739 hfcblk.input.lmarg = 0; 740 hfcblk.input.rmarg, hfcblk.input.net = page.parms.measure; 741 end; 742 743 call set_hf_lines ("1"b, shared.epftrptr, 0); 744 end; 745 746 if ^option.galley_opt 747 then 748 do; 749 call comp_util_$set_net_page ("0"b); 750 if page.parms.net.even <= 0 751 then 752 do; 753 call comp_report_ (4, 0, 754 "Page footer size results in zero net page size.", 755 addr (ctl.info), ctl_line); 756 signal comp_abort; 757 goto return_; 758 end; 759 end; 760 761 if hf_lin_key = "a" 762 then 763 do; 764 varfld = save_varfld; 765 goto do_pflo; 766 end; 767 end; 768 769 else if hf_lin_key = "a" | hf_lin_key = "o" 770 then 771 do; 772 do_pflo: 773 if varfld = "" /* if cancelling */ 774 then if shared.opftrptr ^= null 775 then call comp_util_$relblk (LOOSE, shared.opftrptr); 776 else ; 777 778 else 779 do; /* no block yet? */ 780 if shared.opftrptr = null () 781 then call comp_util_$getblk (LOOSE, shared.opftrptr, "of", 782 const.default_parms_ptr, ^EMPTY); 783 hfcblk_ptr = shared.opftrptr; 784 785 if hfcblk.hdr.count = 0 /* re-initialize if empty */ 786 then 787 do; /* set default parms */ 788 hfcblk.parms = current_parms; 789 hfcblk.parms.page = "1"b; 790 hfcblk.parms.linespace = 12000; 791 end; 792 793 call set_hf_lines ("1"b, shared.opftrptr, 0); 794 end; 795 796 if ^option.galley_opt 797 then 798 do; 799 call comp_util_$set_net_page ("0"b); 800 if page.parms.net.odd <= 0 801 then 802 do; 803 call comp_report_ (4, 0, 804 "Page footer size results in zero net page size.", 805 addr (ctl.info), ctl_line); 806 signal comp_abort; 807 goto return_; 808 end; 809 end; 810 /**** if ^option.galley_opt 811*/**** then call comp_util_$set_net_page ("0"b);*/ 812 end; 813 814 else call comp_report_ (2, 0, "Unknown footer position keyword.", 815 addr (ctl.info), ctl_line); 816 817 goto return_; 818 819 ctl_ (126): /* ".phl" = page-header-line */ 820 phl_ctl: 821 if search (varfld, "aeo") = 1 822 then 823 do; 824 hf_lin_key = comp_read_$name (varfld, 1, fnxt, addr (ctl.info)); 825 varfld = ltrim (substr (varfld, fnxt)); 826 end; 827 else hf_lin_key = "a"; 828 829 join_phl: 830 if hf_lin_key = "a" | hf_lin_key = "e" 831 then 832 do; 833 save_varfld = varfld; /* in case its 'a' */ 834 835 if varfld = "" /* if cancelling */ 836 then if shared.ephdrptr ^= null 837 then call comp_util_$relblk (LOOSE, shared.ephdrptr); 838 else ; 839 840 else 841 do; /* no block yet? */ 842 if shared.ephdrptr = null () 843 then 844 do; 845 call comp_util_$getblk (LOOSE, shared.ephdrptr, "eh", 846 const.default_parms_ptr, ^EMPTY); 847 hfcblk_ptr = shared.ephdrptr; 848 hfcblk.parms.page = "1"b; 849 end; 850 else hfcblk_ptr = shared.ephdrptr; 851 852 if hfcblk.hdr.count = 0 /* reset flags if empty */ 853 then hfcblk.parms.art, hfcblk.hdr.art = "0"b; 854 855 call set_hf_lines ("1"b, shared.ephdrptr, 0); 856 end; 857 858 if ^option.galley_opt 859 then 860 do; 861 call comp_util_$set_net_page ("1"b); 862 if page.parms.net.even <= 0 863 then 864 do; 865 call comp_report_ (4, 0, 866 "Page header size results in zero net page size.", 867 addr (ctl.info), ctl_line); 868 signal comp_abort; 869 goto return_; 870 end; 871 end; 872 873 if hf_lin_key = "a" 874 then varfld = save_varfld; 875 else goto return_; 876 end; 877 878 if hf_lin_key = "a" | hf_lin_key = "o" 879 then 880 do; 881 if varfld = "" /* if cancelling */ 882 then if shared.ophdrptr ^= null 883 then call comp_util_$relblk (LOOSE, shared.ophdrptr); 884 else ; 885 886 else 887 do; /* no block yet? */ 888 if shared.ophdrptr = null () 889 then 890 do; 891 call comp_util_$getblk (LOOSE, shared.ophdrptr, "oh", 892 const.default_parms_ptr, ^EMPTY); 893 hfcblk_ptr = shared.ophdrptr; 894 hfcblk.parms.page = "1"b; 895 end; 896 else hfcblk_ptr = shared.ophdrptr; 897 898 if hfcblk.hdr.count = 0 /* re-initialize if empty */ 899 then 900 do; /* set default parms */ 901 hfcblk.parms.page = "1"b; 902 hfcblk.parms.linespace = 12000; 903 hfcblk.parms.art, hfcblk.hdr.art = "0"b; 904 end; 905 906 call set_hf_lines ("1"b, shared.ophdrptr, 0); 907 908 if hfcblk.hdr.count = 0 /* reset flags if empty */ 909 then hfcblk.parms.art, hfcblk.hdr.art = "0"b; 910 end; 911 912 if ^option.galley_opt 913 then 914 do; 915 call comp_util_$set_net_page ("1"b); 916 if page.parms.net.odd <= 0 917 then 918 do; 919 call comp_report_ (4, 0, 920 "Page header size results in zero net page size.", 921 addr (ctl.info), ctl_line); 922 signal comp_abort; 923 goto return_; 924 end; 925 end; 926 goto return_; 927 end; 928 929 else call comp_report_ (2, 0, "Unknown header keyword.", addr (ctl.info), 930 ctl_line); 931 932 goto return_; 933 934 ctl_ (143): /* ".stl" = split_header_line */ 935 if shared.spcl_blkptr ^= null () | ctl.index <= length (ctl_line) 936 then 937 do; /* if no block yet */ 938 if shared.spcl_blkptr = null () 939 then call comp_util_$getblk (LOOSE, shared.spcl_blkptr, "sh", 940 addr (current_parms), ^EMPTY); 941 hfcblk_ptr = shared.spcl_blkptr; 942 943 if hfcblk.hdr.count = 0 /* re-initialize if empty */ 944 then hfcblk.parms = current_parms; 945 946 call set_hf_lines ("1"b, shared.spcl_blkptr, 0); 947 948 if hfcblk.hdr.count = 0 /* reset flags if empty */ 949 then hfcblk.parms.art, hfcblk.hdr.art = "0"b; 950 end; 951 952 goto return_; 953 954 ctl_ (148): /* ".tb" = title-block-begin */ 955 ctl_ (149): /* ".tbb" = title-block-begin */ 956 new_indent = current_parms.left.indent; 957 958 if ctl.index <= length (ctl_line) /* if a numeric is given */ 959 & index ("+-0123456789", substr (ctl_line, ctl.index, 1)) ^= 0 960 then call comp_util_$set_bin (new_indent, "title indent", new_indent, 0, 961 current_parms.measure, hscales, comp_dvt.min_WS); 962 963 if ctl.index < length (ctl_line) /* skip white space */ 964 then ctl.index = 965 ctl.index - 1 + verify (substr (ctl_line, ctl.index), " "); 966 967 if ctl.index <= length (ctl_line) 968 then block_type = substr (ctl_line, ctl.index, 1); 969 else block_type = "h"; 970 971 goto join_btt2; 972 973 ctl_ (150): /* ".tbe" = title-block-end */ 974 goto ett_ctl; 975 976 ctl_ (151): /* ".tcl" = text-caption-line */ 977 tcl_ctl: 978 if shared.blkptr = null () /* need a text block for hdr ptr */ 979 then call comp_util_$getblk (page.hdr.col_index, shared.blkptr, "tx", 980 addr (current_parms), ^EMPTY); 981 982 if text.parms.ftrptr = null () /* if no block yet */ 983 then call comp_util_$getblk (LOOSE, text.parms.ftrptr, "tf", 984 addr (current_parms), ^EMPTY); 985 986 hfcblk_ptr = text.parms.ftrptr; 987 hfcblk.parms = current_parms; /* update parms in case they're old */ 988 hfcblk.parms.linespace = 12000; 989 990 varfld = substr (ctl_line, ctl.index); 991 992 if search (varfld, "0123456789") = 1 993 then /* is a blank line count given? */ 994 do; 995 blnkct = 996 comp_read_$number (varfld, vscales, 1, fnxt, addr (ctl.info), 0); 997 varfld = ltrim (substr (varfld, fnxt)); 998 end; 999 else blnkct = 0; /* non-numeric = no blank lines */ 1000 1001 if blnkct > 0 /* add leading blank lines */ 1002 then 1003 do; 1004 ctl.linespace = blnkct; /* add white space */ 1005 call comp_space_ (blnkct, text.parms.ftrptr, "1"b, "1"b, "1"b, "0"b); 1006 ctl.linespace = 12000; 1007 end; 1008 1009 if varfld ^= "" /* if theres more */ 1010 then 1011 do; 1012 call set_hf_lines ("0"b, text.parms.ftrptr, 0); 1013 /* if title isnt null */ 1014 /**** if search (varfld, shared.ttl_delim) ^= 0 1015*/**** then col.hdr.pspc = 0;*/ 1016 end; 1017 1018 if shared.blkptr ^= null () 1019 then text.hdr.cap_used = hfcblk.hdr.used; 1020 goto return_; 1021 1022 ctl_ (153): /* ".thl" = text-header-line */ 1023 thl_ctl: 1024 if shared.blkptr = null () /* if no text block yet */ 1025 then 1026 do; /* head page? */ 1027 if ^(page.hdr.headed | option.galley_opt) 1028 then call comp_head_page_ (0); /**/ 1029 1030 call comp_util_$getblk (page.hdr.col_index, shared.blkptr, "tx", 1031 addr (current_parms), ^EMPTY); 1032 1033 if text.parms.hdrptr = null () /* if no block yet */ 1034 then call comp_util_$getblk (LOOSE, text.parms.hdrptr, "th", 1035 addr (current_parms), ^EMPTY); 1036 hfcblk_ptr = text.parms.hdrptr; 1037 1038 hfcblk.parms = current_parms; /* update parms in case they're old */ 1039 end; 1040 1041 else if text.parms.hdrptr ^= null 1042 then hfcblk_ptr = text.parms.hdrptr; 1043 1044 else hfcblk_ptr = shared.blkptr; /**/ 1045 /* numeric = blank line count */ 1046 if search (varfld, "0123456789") = 1 1047 then 1048 do; 1049 blnkct = 1050 comp_read_$number (varfld, vscales, 1, fnxt, addr (ctl.info), 1051 ercd); 1052 if ercd ^= 0 1053 then goto return_; 1054 varfld = ltrim (substr (varfld, fnxt)); 1055 end; 1056 else blnkct = 0; /* non-numeric = no blank lines */ 1057 /* set change bar flags */ 1058 hfcblk.input.cbar = current_parms.cbar; 1059 current_parms.cbar.del = "0"b; 1060 if hfcblk.input.cbar.del 1061 then shared.cbar_type = ""; 1062 1063 if varfld ^= "" /* if theres more */ 1064 then call set_hf_lines ("0"b, hfcblk_ptr, blnkct); 1065 else call comp_space_ (blnkct, hfcblk_ptr, "1"b, "1"b, "1"b, "0"b); 1066 1067 /**** col.hdr.pspc = blnkct;*/ 1068 1069 goto return_; 1070 1071 ctl_ (154): /* ".tlc" = title-line-caption */ 1072 goto tcl_ctl; 1073 1074 ctl_ (155): /* ".tlh" = title-line-heading */ 1075 goto thl_ctl; 1076 1077 ctl_ (159): /* ".ttl" = text-title-line */ 1078 goto thl_ctl; 1079 1080 return_: 1081 if shared.bug_mode 1082 then 1083 do; 1084 call ioa_$nnl ("^5x(hft_ctls:"); 1085 if hfcblk_ptr ^= null 1086 then call ioa_$nnl (" ^a=^d e^d u^f(^f) hspc=col^d ^f pag^f)^[^/^a^]", 1087 hfcblk.blktype, hfcblk.blkndx, hfcblk.hdr.count, 1088 dec (divide (hfcblk.hdr.used, 12000, 31, 10), 11, 3), 1089 dec (divide (hfcblk.hdr.trl_ws, 12000, 31, 10), 11, 3), 1090 page.hdr.col_index, 1091 dec (divide (col.hdr.pspc, 12000, 31, 10), 11, 3), 1092 dec (divide (page.hdr.hdspc, 12000, 31, 10), 11, 3), 1093 (exit_str ^= ""), exit_str); 1094 call ioa_ (")"); 1095 end; 1096 1097 return; 1098 1099 title: 1100 entry (blkptr, linptr, line_text, lead); 1101 1102 /* PARAMETERS */ 1103 1104 dcl blkptr ptr; /* the containing block */ 1105 dcl linptr ptr; /* line to added */ 1106 dcl line_text char (*) var; /* title line to be parsed */ 1107 dcl lead fixed bin (31); /* total lead for line */ 1108 1109 hfcblk_ptr = blkptr; /* copy the block pointer */ 1110 1111 if shared.bug_mode 1112 then call ioa_ ("title: (^a=^d ld=^f ""^a"")", hfcblk.blktype, 1113 hfcblk.blkndx, dec (divide (lead, 12000, 31, 10), 11, 3), 1114 comp_util_$display (line_text, 0, "0"b)); 1115 /* if theres no delimiter */ 1116 if index (line_text, shared.ttl_delim) ^= 1 1117 then 1118 do; 1119 call comp_report_ (0, 0, "<title> must start with a title delimiter.", 1120 addr (ctl.info), ctl_line); 1121 goto ttl_return; 1122 end; 1123 1124 if index (line_text, "*") ^= 0 & ^hfcblk.parms.art 1125 then call comp_util_$escape (line_text, addr (ctl.info)); 1126 1127 call title_ (lead, linptr, line_text, 1128 bin (hfcblk_ptr = shared.blank_footer_ptr 1129 | hfcblk_ptr = shared.blank_header_ptr 1130 | hfcblk_ptr = shared.opftrptr | hfcblk_ptr = shared.ophdrptr 1131 | hfcblk_ptr = shared.epftrptr | hfcblk_ptr = shared.spcl_blkptr)); 1132 1133 blkptr = hfcblk_ptr; /* in case the block grew */ 1134 1135 ttl_return: 1136 if shared.bug_mode 1137 then call ioa_ ("^5x(title: ^a=^d e^d u^f(^f)^[ A^]", hfcblk.blktype, 1138 hfcblk.blkndx, hfcblk.hdr.count, 1139 dec (divide (hfcblk.hdr.used, 12000, 31, 10), 11, 3), 1140 dec (divide (hfcblk.hdr.trl_ws, 12000, 31, 10), 11, 3), 1141 hfcblk.hdr.art); 1142 1143 set_hf_lines: 1144 proc (ndx_flag, blkptr, lead); 1145 1146 /* PARAMETERS */ 1147 1148 dcl ndx_flag bit (1); /* 1 = indexed block, 1149* 0 = formatted block */ 1150 dcl blkptr ptr; /* pointer to receiving block */ 1151 dcl lead fixed bin (31); /* total lead */ 1152 1153 dcl (index, max) builtin; 1154 1155 hfcblk_ptr = blkptr; /* copy the block pointer */ 1156 1157 if shared.bug_mode 1158 then call ioa_ ("set_hf_lines: (^[NDX^;FMT^] " 1159 || "^a=^d e^d u^f(^f) xld=^f) ^[^/^5x^]""^a""", ndx_flag, 1160 hfcblk.blktype, hfcblk.blkndx, hfcblk.hdr.count, 1161 dec (divide (hfcblk.hdr.used, 12000, 31, 10), 11, 3), 1162 dec (divide (hfcblk.hdr.trl_ws, 12000, 31, 10), 11, 3), 1163 dec (divide (lead, 12000, 31, 10), 11, 3), 1164 (length (varfld) > 40), comp_util_$display (varfld, 0, "0"b)); 1165 1166 if varfld = "" /* if no variable field */ 1167 then 1168 do; 1169 cancel_all: 1170 hfcblk.hdr.mx_ttl_ndx, hfcblk.hdr.count, hfcblk.hdr.used = 0; 1171 goto set_return; 1172 end; 1173 1174 if ndx_flag /* if an indexed block */ 1175 then 1176 do; 1177 if search (varfld, "0123456789") = 1 1178 then 1179 do; /* if a line index is given */ 1180 lino = 1181 comp_read_$number (varfld, unscaled, 1, fnxt, addr (ctl.info), 1182 0); 1183 varfld = ltrim (substr (varfld, fnxt)); 1184 /* check lino for ... */ 1185 if (lino > divide (page.parms.net.even, 12000, 31, 10) 1186 & (hfcblk_ptr = shared.spcl_blkptr 1187 /* even pages */ 1188 | hfcblk_ptr = shared.epftrptr)) 1189 | (lino > divide (page.parms.net.odd, 12000, 31, 10) 1190 /* odd pages */ 1191 & (hfcblk_ptr = shared.ophdrptr | blkptr = shared.opftrptr)) 1192 then 1193 do; 1194 call comp_report_ (2, 0, 1195 "Invalid header/footer index value," 1196 || " it exceeds lines left on page.", addr (ctl.info), 1197 ctl_line); 1198 goto set_return; 1199 end; 1200 1201 else if lino = 0 /* cancel all for a zero and */ 1202 then if varfld = "" /* theres nothing more */ 1203 then goto cancel_all; 1204 else goto replace_all; 1205 end; 1206 1207 else 1208 do; 1209 replace_all: 1210 lino = 1; /* otherwise, this is line 1 of 1 */ 1211 hfcblk.hdr.count = 0; /* erase the block */ 1212 /* overwrite old text */ 1213 line_area_ptr, hfcblk.line_area.cur = hfcblk.line_area.first; 1214 line_area.ndx = 0; 1215 text_area_ptr, hfcblk.text_area.cur = hfcblk.text_area.first; 1216 text_area.ndx = 1; 1217 hfcblk.next_text = text_area.strareaptr (1); 1218 end; /**/ 1219 /* the line may already exist */ 1220 if lino <= hfcblk.hdr.mx_ttl_ndx 1221 then 1222 do line_area_ptr = hfcblk.line_area.first 1223 repeat (line_area.next) while (line_area_ptr ^= null); 1224 do ii = 1 to line_area.ndx; 1225 txtlinptr = line_area.linptr (ii); 1226 /* discard lines with this index */ 1227 if txtlin.title_index = lino 1228 then 1229 do; /* adjust space used */ 1230 hfcblk.hdr.used = hfcblk.hdr.used - txtlin.linespace; 1231 txtlin.linespace = 0; /* make it null */ 1232 txtlin.ptr -> txtstr = ""; 1233 end; 1234 end; 1235 end; 1236 end; 1237 else lino = 0; /* for text titles */ 1238 /* if theres more */ 1239 if varfld ^= "" /* and its numeric */ 1240 & search (varfld, "+-0123456789") = 1 1241 then 1242 do; 1243 if index ("+-", substr (varfld, 1, 1)) ^= 0 1244 then hfcblk.input.lmarg = /* an adjustment */ 1245 max (0, 1246 current_parms.left.indent 1247 + 1248 comp_read_$number (varfld, hscales, 1, fnxt, addr (ctl.info), 1249 0)); 1250 else hfcblk.input.lmarg = /* a column */ 1251 comp_read_$number (varfld, hscales, 1, fnxt, addr (ctl.info), 1252 0); 1253 varfld = ltrim (substr (varfld, fnxt)); 1254 end; 1255 1256 else if ndx_flag 1257 then hfcblk.input.lmarg = 0; 1258 1259 else hfcblk.input.lmarg = 1260 hfcblk.parms.left.indent - hfcblk.parms.left.undent; 1261 1262 hfcblk.input.rmarg = 1263 hfcblk.parms.measure - hfcblk.parms.right.indent 1264 + hfcblk.parms.right.undent; 1265 1266 if varfld ^= "" /* if theres more */ 1267 then 1268 do; 1269 if index (varfld, shared.ttl_delim) ^= 1 1270 then 1271 do; /* if theres no delimiter */ 1272 call comp_report_ (0, 0, 1273 "<title> must start with a title delimiter.", addr (ctl.info), 1274 ctl_line); 1275 goto set_return; 1276 end; 1277 1278 if ndx_flag 1279 then 1280 do; 1281 call title_ (hfcblk.parms.linespace, addr (hfcblk.input), varfld, 1282 lino); 1283 /**** call comp_space_ (hfcblk.parms.linespace, hfcblk_ptr, "1"b, "1"b, 1284*/**** (unspec (hfcblk.parms.cbar) ^= "0"b), "0"b);*/ 1285 end; 1286 1287 else 1288 do; 1289 call title_ (hfcblk.parms.linespace, addr (hfcblk.input), varfld, 1290 lino); 1291 /**** call comp_space_ (hfcblk.parms.linespace, hfcblk_ptr, "1"b, "1"b, 1292*/**** (unspec (hfcblk.parms.cbar) ^= "0"b), "0"b);*/ 1293 end; 1294 1295 if lead > 0 /* add the extra lead */ 1296 then call comp_space_ (lead, hfcblk_ptr, "1"b, "1"b, 1297 (unspec (hfcblk.parms.cbar) ^= "0"b), "0"b); 1298 end; 1299 1300 if ndx_flag 1301 then 1302 do; 1303 hfcblk.hdr.mx_ttl_ndx = max (hfcblk.hdr.mx_ttl_ndx, lino); 1304 1305 hfcblk.hdr.used = 0; 1306 do line_area_ptr = hfcblk.line_area.first repeat (line_area.next) 1307 while (line_area_ptr ^= null); 1308 do ii = 1 to line_area.ndx; 1309 txtlinptr = line_area.linptr (ii); 1310 hfcblk.hdr.used = hfcblk.hdr.used + txtlin.linespace; 1311 end; 1312 end; 1313 end; 1314 1315 set_return: 1316 if shared.bug_mode 1317 then call ioa_ ("^5x(set_hf_lines: ^a=^d e=^d u=^f(^f))", hfcblk.blktype, 1318 hfcblk.blkndx, hfcblk.hdr.count, 1319 dec (divide (hfcblk.hdr.used, 12000, 31, 10), 11, 3), 1320 dec (divide (hfcblk.hdr.trl_ws, 12000, 31, 10), 11, 3)); 1321 1322 return; 1323 end set_hf_lines; 1324 1325 /* contruct an expanded <title> line */ 1326 title_: 1327 proc (lead, linptr, p_field, lndx); 1328 1329 /* PARAMETERS */ 1330 1331 dcl lead fixed bin (31); /* total lead for line */ 1332 dcl linptr ptr; /* line to be expanded */ 1333 dcl p_field char (*) var; 1334 dcl lndx fixed bin; /* line index for page header/footer, 1335* 0 for all other */ 1336 1337 /* LOCAL STORAGE */ 1338 1339 dcl artline char (1020) var; /* title line with artwork */ 1340 dcl field char (1020) var; 1341 dcl (ipart, k, l) fixed; /* working index */ 1342 dcl 1 line aligned like text_entry based (linptr); 1343 dcl meas bit (1); /* controls part measuring */ 1344 /* for title measuring */ 1345 dcl 1 meas1 aligned like text_entry.cur; 1346 dcl 1 meas2 aligned like text_entry.cur; 1347 dcl part char (1020) var based (addr (hfcblk.input_line)); 1348 dcl part_added bit (1); 1349 dcl pquad (3) bit (6); /* part alignments */ 1350 dcl pwidth fixed bin (31); /* width of a part */ 1351 dcl 1 shift_ctl like dclong_val; /* for part positioning */ 1352 dcl shift_str char (7) based (shift_str_ptr); 1353 dcl shift_str_ptr ptr; /* expanded text */ 1354 dcl tlen fixed bin (21); /* for WS control */ 1355 1356 dcl (index, max) builtin; 1357 1358 if shared.bug_mode 1359 then call ioa_ ("title_: (ln=^d ld=^f ""^a"")", lndx, 1360 dec (divide (lead, 12000, 31, 10), 11, 3), 1361 comp_util_$display (p_field, 0, "0"b)); 1362 1363 field = p_field; /* copy the field */ 1364 1365 shift_str_ptr = addr (shift_ctl); 1366 shift_ctl.leng = dclong1_len; 1367 shift_ctl.mark = DC1; 1368 shift_ctl.type = type_slx; 1369 part_added = "0"b; 1370 artline, part = ""; 1371 pquad (1) = quadl; 1372 pquad (2) = quadc; 1373 pquad (3) = quadr; 1374 1375 hfcblk.input.info = ctl.info; 1376 hfcblk.input.width, hfcblk.input.linespace = 0; 1377 hfcblk.input.title_index = lndx; 1378 hfcblk.input.title = "1"b; 1379 hfcblk.input.art = hfcblk.parms.art; 1380 hfcblk.input.cbar = hfcblk.parms.cbar; 1381 hfcblk.input.cur.font, hfcblk.input.font = 1382 hfcblk.parms.fntstk.entry (hfcblk.parms.fntstk.index); 1383 tlen = 0; /* title starts out null */ 1384 /* trim opening delimiter */ 1385 field = after (field, shared.ttl_delim); 1386 /* for each title part */ 1387 do ipart = 1 to 3 while (field ^= ""); 1388 /* extract a part */ 1389 part = before (field, shared.ttl_delim); 1390 field = after (field, part); 1391 find_closer: /* if its escaped */ 1392 if (index (reverse (part), "¿") = 1 | index (reverse (part), "*") = 1) 1393 & index (reverse (part), "¿" || "¿") ^= 1 1394 & index (reverse (part), "*" || "*") ^= 1 1395 & index (reverse (part), "*" || "¿") ^= 1 1396 then 1397 do; 1398 part = part || shared.ttl_delim; 1399 field = after (field, shared.ttl_delim); 1400 part = part || before (field, shared.ttl_delim); 1401 field = shared.ttl_delim || after (field, shared.ttl_delim); 1402 goto find_closer; 1403 end; 1404 1405 if part ^= "" /* anything there? */ 1406 then 1407 do; 1408 if hfcblk.hdr.colno >= 0 /* measure now? */ 1409 then meas = (ipart > 1) & ^hfcblk.input.art; 1410 else meas = "0"b; /* measure later */ 1411 tlen = tlen + length (part); /**/ 1412 /* if no art, add part to block */ 1413 if ^hfcblk.input.art 1414 then 1415 do; 1416 hfcblk.input.quad = pquad (ipart); 1417 hfcblk.input_line = part; 1418 part_added = "1"b; 1419 call comp_util_$add_text (hfcblk_ptr, meas, ^hfcblk.input.art, 1420 "0"b, "0"b, addr (hfcblk.input)); 1421 end; 1422 1423 else 1424 do; /* accumulate artwork parts */ 1425 unspec (meas1) = "0"b; 1426 call comp_measure_ (part, addr (hfcblk.input.font), "0"b, "1"b, 1427 pquad (ipart), 0, addr (meas1), addr (meas2), 1428 addr (ctl.info)); 1429 pwidth = meas1.width + meas1.avg; 1430 1431 if ipart = 1 /* first part */ 1432 then 1433 do; 1434 artline = part; 1435 hfcblk.input.width = pwidth; 1436 end; 1437 1438 else if ipart = 2 /* second part */ 1439 then 1440 do; 1441 shift_ctl.v1 = 1442 -hfcblk.input.width 1443 + comp_dvt.min_WS 1444 * 1445 round ( 1446 divide (hfcblk.input.net - pwidth - ctl.lmarg, 1447 2 * comp_dvt.min_WS, 31, 1), 0); 1448 artline = artline || shift_str || part; 1449 hfcblk.input.width = 1450 hfcblk.input.width + shift_ctl.v1 + pwidth; 1451 end; 1452 1453 else if ipart = 3 /* third part */ 1454 then 1455 do; 1456 shift_ctl.v1 = 1457 hfcblk.input.net - max (pwidth, shared.EN_width) 1458 - hfcblk.input.width; 1459 artline = artline || shift_str || part; 1460 hfcblk.input.width = 1461 hfcblk.input.width + shift_ctl.v1 + pwidth; 1462 end; 1463 end; 1464 end; 1465 1466 field = after (field, shared.ttl_delim); 1467 end; 1468 1469 if hfcblk.input.art /* add art line to block */ 1470 then 1471 do; 1472 hfcblk.input_line = artline; 1473 hfcblk.input.quad = quadl; 1474 part_added = "1"b; 1475 call comp_util_$add_text (hfcblk_ptr, "0"b, "0"b, "0"b, "0"b, 1476 addr (hfcblk.input)); 1477 end; 1478 1479 if lead > 0 /* add given lead */ 1480 then 1481 do; 1482 if part_added /* if anything was added */ 1483 then 1484 do; 1485 line_area_ptr = hfcblk.line_area.cur; 1486 line_area.linptr (line_area.ndx) -> txtlin.linespace = lead; 1487 hfcblk.hdr.used = hfcblk.hdr.used + lead; 1488 1489 if (shared.table_mode | hfcblk.tblblk) & hfcblk.colno >= 0 1490 then 1491 do; 1492 tblfmtptr = tbldata.fmt (tbldata.ndx).ptr; 1493 tblcolptr = tblfmt.colptr (tblfmt.ccol); 1494 tblcol.depth = tblcol.depth + lead; 1495 tblfmt.maxdepth = max (tblfmt.maxdepth, tblcol.depth); 1496 end; 1497 end; 1498 1499 else 1500 do; 1501 call comp_space_ (lead, hfcblk_ptr, "1"b, "1"b, 1502 (unspec (hfcblk.parms.cbar) ^= "0"b), "0"b); 1503 hfcblk.line_area.cur 1504 -> line_area.linptr (hfcblk.line_area.cur -> line_area.ndx) 1505 -> txtlin.title_index = lino; 1506 end; 1507 end; 1508 1509 hfcblk.input_line = ""; /* erase leftovers */ 1510 hfcblk.input.linespace = hfcblk.parms.linespace; 1511 hfcblk.input.quad = hfcblk.parms.quad; 1512 1513 if shared.bug_mode 1514 then call ioa_ ("^5x(title_: ^a=^d e^d u^f(^f)^[ A^])", hfcblk.blktype, 1515 hfcblk.blkndx, hfcblk.hdr.count, 1516 dec (divide (hfcblk.hdr.used, 12000, 31, 10), 11, 3), 1517 dec (divide (hfcblk.hdr.trl_ws, 12000, 31, 10), 11, 3), 1518 hfcblk.hdr.art); 1519 1520 end title_; 1521 1 1 /* BEGINE INCLUDE FILE comp_brktypes.incl.pl1 */ 1 2 1 3 /* Written - 4/18 - EJW 1 4* 1 5* Defines constants for all the types of text breaks in compose */ 1 6 1 7 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 1 8 1 9 dcl ( 1 10 format_break init (0), 1 11 block_break init (1), 1 12 column_break init (2), 1 13 page_break init (3), 1 14 need_break init (4), 1 15 footnote_break init (5), 1 16 footer_break init (7) 1 17 ) fixed bin static options (constant); 1 18 1 19 /* END INCLUDE FILE comp_brktypes.incl.pl1 */ 1522 2 1 /* BEGIN INCLUDE FILE comp_column.incl.pl1 */ 2 2 2 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 2 4 2 5 dcl 1 col /* the text column */ 2 6 aligned based (shared.colptr), 2 7 2 blkptr (100) ptr, /* pointers to text blocks */ 2 8 2 depth_adj fixed bin (31), /* for variable start depth */ 2 9 2 ftrptr ptr, /* -> column footer */ 2 10 2 ftrusd fixed bin (31), /* column footer space used */ 2 11 2 gutter fixed bin (31), /* column separation */ 2 12 2 hdr like colhdr, /* column control stuff */ 2 13 2 hdrptr ptr, /* -> column header */ 2 14 2 hdrusd fixed bin (31), /* column header space used */ 2 15 2 margin, /* margin settings for column */ 2 16 3 left fixed bin (31), 2 17 3 right fixed bin (31), 2 18 2 parms, /* text parms for the column */ 2 19 3 measure fixed bin (31); /* column width */ 2 20 2 21 dcl 1 colhdr aligned based (const.colhdrptr), 2 22 /* an empty column header */ 2 23 2 balblk fixed bin, /* block to begin column balancing */ 2 24 2 baldepth fixed bin (31), /* page depth at balance point */ 2 25 2 balftn, /* footnotes at balance point */ 2 26 3 ct fixed bin, /* count */ 2 27 3 usd fixed bin (31), /* space used */ 2 28 3 blkndx (40) fixed bin, /* block index values */ 2 29 2 balusd fixed bin (31), /* space used up to balance point */ 2 30 2 blkct fixed bin, /* text block count */ 2 31 2 depth fixed bin (31), /* current page depth in the column */ 2 32 2 ftn like balftn, /* footnotes */ 2 33 2 pspc fixed bin (31), /* current white space */ 2 34 2 net fixed bin (31), /* net usable space in the column */ 2 35 2 used fixed bin (31); /* space used in this column */ 2 36 /* for quick reference */ 2 37 dcl 1 col0 aligned like col based (page.column_ptr (0)); 2 38 2 39 /* END INCLUDE FILE comp_column.incl.pl1 */ 1523 3 1 /* BEGIN INCLUDE FILE ..... comp_DCdata.incl.pl1 ..... 11/16/78 J Falksen 3 2* Modified: ??/81 - EJW - Addded type_wait 3 3* Modified: 4/83 - EJW - Added type_un(strt stop), reorganized file. 3 4**/ 3 5 3 6 /* format: style2,ind3,ll79,dclind4,idind15,comcol41,linecom */ 3 7 3 8 dcl DCxx_p ptr; /* for qualification of embedded */ 3 9 /* control strings */ 3 10 /* an embedded control string */ 3 11 dcl 1 dcxx unal based (DCxx_p), 3 12 2 mark char (1) unal, /* control marker - DC1 (\021) */ 3 13 2 ctl, 3 14 3 type bit (3) unal, /* 000- device/writer control */ 3 15 /* 001- */ 3 16 /* 010- literal data */ 3 17 /* 011- family/member/size data */ 3 18 /* 100- shift */ 3 19 /* 101- */ 3 20 /* 110- vector */ 3 21 /* 111- zero-offset vector */ 3 22 3 fill1 bit (1) unal, 3 23 3 Xctl bit (2) unal, /* 00- no X value present */ 3 24 /* 01- short X value */ 3 25 /* 10- long X value */ 3 26 3 fill2 bit (1) unal, 3 27 3 Yctl bit (2) unal, /* 00- no Y value present */ 3 28 /* 01- short Y value present */ 3 29 /* 10- long Y value present */ 3 30 2 leng fixed bin (9) unal unsigned, 3 31 /* # of remaining bytes */ 3 32 2 etc; /* the rest of the control bytes */ 3 33 /* device/writer controls */ 3 34 dcl 1 dcctl unal based (DCxx_p), 3 35 2 mark char (1) unal, 3 36 2 type char (1) unal, /* control type */ 3 37 /* leng is always 0 for these */ 3 38 2 leng fixed bin (9) unal unsigned; 3 39 dcl ( 3 40 wait_signal init (""), /* = 021001000 */ 3 41 unstart_signal init (""), /* = 021002000 */ 3 42 unstop_signal init ("") /* = 021003000 */ 3 43 ) char (3) static options (constant); 3 44 /* the "literal" control string */ 3 45 dcl 1 dclit unal based (DCxx_p), 3 46 2 mark char (1) unal, 3 47 2 type char (1) unal, /* control type */ 3 48 2 leng fixed bin (9) unal unsigned, 3 49 /* width in milli-points of literal */ 3 50 2 width fixed bin (31) unal, 3 51 /* actual literal, max length 509 */ 3 52 2 data char (dclit.leng - 4); 3 53 /* long (31 bits) values */ 3 54 dcl 1 dclong_val unal based (DCxx_p), 3 55 2 mark char (1) unal, 3 56 2 type char (1) unal, /* control type */ 3 57 2 leng fixed bin (9) unal unsigned, 3 58 ( 3 59 2 v1 fixed bin (31), /* long value */ 3 60 2 v2 fixed bin (31) /* long value */ 3 61 ) unal; 3 62 dcl ( 3 63 dclong_len init (8), /* 2 long values */ 3 64 dclong1_len init (4) /* 1 long value */ 3 65 ) fixed bin static options (constant); 3 66 /* short (17 bit) values */ 3 67 dcl 1 dcshort_val unal based (DCxx_p), 3 68 2 mark char (1) unal, 3 69 2 type char (1) unal, /* control type */ 3 70 2 leng fixed bin (9) unal unsigned, 3 71 ( 3 72 2 v1 fixed bin, /* short value */ 3 73 2 v2 fixed bin /* short value */ 3 74 ) unal; 3 75 dcl ( 3 76 dcshort_len init (4), /* 2 short values */ 3 77 dcshort1_len init (2) /* 1 short value */ 3 78 ) fixed bin static options (constant); 3 79 /* a font change string */ 3 80 dcl 1 dcfs unal based (DCxx_p), 3 81 2 mark char (1) unal, /* font/size data */ 3 82 2 type char (1) unal, /* control type */ 3 83 2 leng fixed bin (9) unal unsigned, 3 84 /* fnttbldata index */ 3 85 2 f fixed bin (9) unal unsigned, 3 86 /* point size in milli-points */ 3 87 2 p fixed bin (31) unal; 3 88 dcl dcfs_len fixed bin init (5) static options (constant); 3 89 3 90 dcl ( /* symbolic definitions of DC types */ 3 91 type_wait init (""), /* writer wait */ 3 92 type_unstart init (""), /* underscore start */ 3 93 type_unstop init (""), /* underscore stop */ 3 94 type_lit init ("ˆ"), /* literal data */ 3 95 type_font init ("À"), /* family/member/size data */ 3 96 /* SHIFTS - */ 3 97 type_sy init (""), /* -- no x, short y */ 3 98 type_sly init (""), /* -- no x, long y */ 3 99 type_sx init (""), /* -- short x, no y */ 3 100 type_sxy init (" "), /* -- short x, short y */ 3 101 type_slx init (""), /* -- long x, no y */ 3 102 type_slxly init (""), /* -- long x, long y */ 3 103 /* VECTORS */ 3 104 type_vy init (""), /* -- no x, short y */ 3 105 type_vly init ("‚"), /* -- no x, long y */ 3 106 type_vx init ("ˆ"), /* -- short x, no y */ 3 107 type_vxy init ("‰"), /* -- short x, short y */ 3 108 type_vlx init (""), /* -- long x, no y */ 3 109 type_vlxly init ("’"), /* -- long x, long y */ 3 110 /* ZERO-OFFSET VECTORS- */ 3 111 type_v0y init ("Á"), /* -- no x, short y */ 3 112 type_v0ly init ("Â"), /* -- no x, long y */ 3 113 type_v0x init ("È"), /* -- short x, no y */ 3 114 type_v0xy init ("É"), /* -- short x, short y */ 3 115 type_v0lx init ("Ð"), /* -- long x, no y */ 3 116 type_v0lxly init ("Ò") /* -- long x, long y */ 3 117 ) char (1) unal int static options (constant); 3 118 3 119 /* END INCLUDE FILE ..... comp_DCdata.incl.pl1 ..... */ 1524 4 1 /* BEGIN INCLUDE FILE comp_entries.incl.pl1 */ 4 2 4 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 4 4 4 5 dcl compose_severity_ 4 6 fixed bin (35) ext static; 4 7 dcl comp_ entry; 4 8 dcl comp_art_ entry (ptr, bit (1)); 4 9 dcl comp_block_ctls_ 4 10 entry (fixed bin); 4 11 dcl comp_break_ entry (fixed bin, fixed bin); 4 12 dcl comp_break_ctls_ 4 13 entry (fixed bin); 4 14 dcl comp_ctls_ entry (bit (1) aligned); 4 15 dcl comp_eject_page_ 4 16 entry; 4 17 dcl comp_expr_eval_ 4 18 entry (char (*) var, fixed bin (21), ptr, fixed bin, 4 19 fixed bin, bit (1), fixed bin (31), char (*) var, 4 20 bit (9), fixed bin (35)); 4 21 dcl comp_extr_str_ entry (bit (1), char (*) var, fixed bin (21), 4 22 fixed bin (21), fixed bin (21), ptr) 4 23 returns (char (*) var); 4 24 dcl comp_fill_ entry; 4 25 dcl comp_font_ entry (bit (1), char (*) var, char (8) aligned); 4 26 dcl comp_format_ctls_ 4 27 entry (fixed bin); 4 28 dcl comp_get_file_$find 4 29 entry (char (*), ptr, char (*), bit (1), char (*) var, 4 30 fixed bin (35)); 4 31 dcl comp_get_file_$open 4 32 entry (ptr, bit (1), fixed bin (35)); 4 33 dcl comp_head_page_ 4 34 entry (fixed bin (31)); 4 35 dcl comp_hft_ctls_ entry (fixed bin); 4 36 dcl comp_hft_ctls_$title 4 37 entry (ptr, ptr, char (*) var, fixed bin (31)); 4 38 dcl comp_init_$one entry; 4 39 dcl comp_init_$two entry; 4 40 dcl comp_init_$three 4 41 entry; 4 42 dcl comp_insert_ctls_ 4 43 entry (fixed bin); 4 44 dcl comp_make_page_ 4 45 entry (fixed bin, bit (1)); 4 46 dcl comp_make_page_$cleanup 4 47 entry; 4 48 dcl comp_measure_ entry (char (1020) var, ptr, bit (1), bit (1), bit (6), 4 49 fixed bin (31), ptr, ptr, ptr); 4 50 dcl comp_read_$name 4 51 entry (char (*) var, fixed bin (21), fixed bin (21), 4 52 ptr) returns (char (*) var); 4 53 dcl comp_read_$number 4 54 entry (char (*) var, (*) fixed bin (31), 4 55 fixed bin (21), fixed bin (21), ptr, fixed bin (35)) 4 56 returns (fixed bin (31)); 4 57 dcl comp_read_$line 4 58 entry (ptr, char (*) var, bit (1)); 4 59 dcl comp_report_ entry (fixed bin, fixed bin (35), char (*), ptr, 4 60 char (*) var); 4 61 dcl comp_report_$ctlstr 4 62 entry options (variable); 4 63 /**** (sev, code, info, line, ctl_str, args... */ 4 64 dcl comp_report_$exact 4 65 entry (char (*), ptr); 4 66 dcl comp_space_ entry (fixed bin (31), ptr, bit (1), bit (1), bit (1), 4 67 bit (1)); 4 68 dcl comp_tbl_ctls_ entry (fixed bin); 4 69 dcl comp_title_block_ 4 70 entry (ptr); 4 71 dcl comp_update_symbol_ 4 72 entry (bit (1), bit (1), bit (1), char (32), 4 73 char (*) var); 4 74 dcl comp_use_ref_ entry (char (*) var, bit (1), bit (1), ptr); 4 75 dcl comp_util_$add_text 4 76 entry (ptr, bit (1), bit (1), bit (1), bit (1), ptr); 4 77 dcl comp_util_$display 4 78 entry (char (*) var, fixed bin, bit (1)) 4 79 returns (char (*) var); 4 80 dcl comp_util_$escape 4 81 entry (char (*) var, ptr); 4 82 dcl comp_util_$getblk 4 83 entry (fixed bin, ptr, char (2), ptr, bit (1)); 4 84 dcl comp_util_$num_display 4 85 entry (ptr, fixed bin) returns (char (256) var); 4 86 dcl comp_util_$pageno 4 87 entry (fixed bin, char (*) var); 4 88 dcl comp_util_$pictures /* emit pending pictures */ 4 89 entry /**/ 4 90 (ptr); /* current text block */ 4 91 dcl comp_util_$pop entry (char (32)); 4 92 dcl comp_util_$push 4 93 entry (char (32)); 4 94 dcl comp_util_$relblk 4 95 entry (fixed bin, ptr); 4 96 dcl comp_util_$replace_text 4 97 entry (ptr, bit (1), ptr, ptr); 4 98 dcl comp_util_$search_tree 4 99 entry (char (32), bit (1)); 4 100 dcl comp_util_$set_bin 4 101 entry (fixed bin (31), char (32) var, fixed bin (31), 4 102 fixed bin (31), fixed bin (31), (*) fixed bin (31), 4 103 fixed bin (31)); 4 104 dcl comp_util_$set_net_page 4 105 entry (bit (1)); 4 106 dcl comp_util_$translate 4 107 entry (char (*) var) returns (char (*) var); 4 108 dcl comp_write_block_ 4 109 entry (fixed bin); 4 110 dcl comp_write_page_ 4 111 entry; 4 112 4 113 /* END INCLUDE FILE comp_entries.incl.pl1 */ 1525 5 1 /* BEGIN INCLUDE FILE comp_fntstk.incl.pl1 */ 5 2 5 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 5 4 5 5 dcl fntstk_eptr ptr; /* font stack entry structure */ 5 6 dcl 1 fntstk_entry aligned based (fntstk_eptr), 5 7 2 bachelor bit (1), /* 1= has no members */ 5 8 2 devfnt fixed bin, /* font in the device */ 5 9 2 fam_name char (32), /* family name */ 5 10 2 famndx fixed bin, /* family index */ 5 11 2 fntptr ptr, /* font table pointer */ 5 12 2 mem_name char (32), /* /member name (or null) */ 5 13 2 memndx fixed bin, /* member index */ 5 14 2 memptr ptr, /* member table pointer */ 5 15 2 name char (65) var, /* font name */ 5 16 2 size fixed bin (31), /* requested point size */ 5 17 2 ps fixed bin (31), /* effective point size */ 5 18 2 fcs_str char (8); /* FCS string */ 5 19 5 20 /* END INCLUDE FILE comp_fntstk.incl.pl1 */ 1526 6 1 /* BEGIN INCLUDE FILE comp_footnotes.incl.pl1 */ 6 2 6 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 6 4 6 5 dcl 1 ftnblk_data aligned based (shared.ftnblk_data_ptr), 6 6 /* data for footnote blocks */ 6 7 2 highndx fixed (35), /* highest active footnote index */ 6 8 2 blkptr (250) ptr; /* block pointers */ 6 9 /* footnote header data block */ 6 10 dcl 1 ftnhdr aligned like text based (shared.footnote_header_ptr); 6 11 /* formatting parms for footnotes */ 6 12 dcl 1 footnote_parms 6 13 aligned like default_parms 6 14 based (const.footnote_parms_ptr); 6 15 6 16 /* END INCLUDE FILE comp_footnotes.incl.pl1 */ 1527 7 1 /* BEGIN INSERT FILE ... comp_insert.incl.pl1 */ 7 2 7 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 7 4 7 5 dcl 1 insert_data aligned based (const.insert_data_ptr), 7 6 2 count fixed bin, /* count of allocated data blocks */ 7 7 2 index fixed bin, /* the current block */ 7 8 2 ptr (1000) ptr, /* insert file data block pointers */ 7 9 2 ref_area, /* ref name string area data */ 7 10 3 count fixed bin, /* count of allocated areas */ 7 11 3 ptr (100) ptr; /* area pointers */ 7 12 /* insert call stack */ 7 13 dcl 1 call_stack aligned based (const.call_stk_ptr), 7 14 2 count fixed bin, /* count of allocated boxes */ 7 15 2 index fixed bin, /* current stack index */ 7 16 2 ptr (0:50) ptr; /* stack entry ptrs */ 7 17 dcl call_box_ptr ptr; 7 18 dcl 1 call_box aligned like insert.file based (call_box_ptr); 7 19 dcl 1 call_box0 aligned like insert.file based (call_stack.ptr (0)); 7 20 7 21 dcl 1 insert_refs aligned based, /* ref names structure */ 7 22 2 count fixed bin, /* count of names in area */ 7 23 2 index (60) fixed bin, /* insert_data index values */ 7 24 2 name (60) char (32) unal; 7 25 /* the ref names */ 7 26 7 27 dcl refname_str char (refstr_len) based (refstr_ptr); 7 28 /* for searching */ 7 29 dcl refstr_len fixed bin; /* length of refname search string */ 7 30 dcl refstr_ptr ptr; /* refname string pointer */ 7 31 /* data for an insert file */ 7 32 dcl 1 insert aligned based (shared.insert_ptr), 7 33 2 file, /* also used for source files */ 7 34 3 charcount 7 35 fixed bin (21), /* segment character count */ 7 36 3 comp_no fixed bin, /* msf component number */ 7 37 3 dir char (168), /* containing dir */ 7 38 3 entryname 7 39 char (32), /* primary entryname */ 7 40 3 exit_lineno 7 41 fixed bin (35), /* line number of .ifi */ 7 42 3 fcb_ptr ptr, /* FCB pointer for msf manager */ 7 43 3 info like text_entry.info, 7 44 3 insert_ptr /* self pointer - needed when */ 7 45 ptr, /* struc is in the call stack */ 7 46 /* 3 ntext fixed bin (21), /* character count of text line */ 7 47 3 path char (200) var, /* complete pathname */ 7 48 3 pointer ptr, /* segment pointer */ 7 49 3 posn fixed bin (21), /* input character position */ 7 50 3 refname char (200) var, /* for source files only */ 7 51 2 callers_name 7 52 char (100), /* refname of calling file */ 7 53 2 dtcm bit (36), /* fs date-time-modified */ 7 54 2 refndx fixed bin, /* CURRENT refname index for file */ 7 55 2 thrb fixed bin unsigned, 7 56 /* backward thread index in insert stack */ 7 57 2 label, /* label data per insert level */ 7 58 3 count fixed bin, 7 59 3 line (250) fixed bin unsigned, 7 60 3 position (250) fixed bin (21), 7 61 3 value (250) char (32); 7 62 7 63 /* empty file data structure */ 7 64 dcl 1 init_file_data 7 65 static options (constant), 7 66 2 charcount fixed bin (21) init (0), 7 67 /* segment character count */ 7 68 2 comp_no fixed bin init (0), 7 69 /* msf component number */ 7 70 2 dir char (168) init (""), 7 71 /* containing dir */ 7 72 2 entryname char (32) init (""), 7 73 /* primary entryname */ 7 74 2 exit_lineno 7 75 fixed bin (35) init (0), 7 76 /* line number of .ifi */ 7 77 2 fcb_ptr ptr init (null),/* FCB pointer for msf manager */ 7 78 2 info, /* stuff created during line input */ 7 79 3 fileno /* input file index */ 7 80 fixed bin init (0), 7 81 3 lineno /* input file line number */ 7 82 fixed bin init (0), 7 83 3 lineno0 /* call_box0 line number */ 7 84 fixed bin init (0), 7 85 2 insert_ptr ptr init (null),/* self pointer - needed when */ 7 86 /* struc is in the call stack */ 7 87 /* 2 ntext fixed bin (21) init (0), 7 88*/* /* character count of text line */ 7 89 2 path char (200) var init (""), 7 90 /* complete pathname */ 7 91 2 pointer ptr init (null),/* segment pointer */ 7 92 2 posn fixed bin (21) init (1), 7 93 /* input character position */ 7 94 2 refname char (200) var init (""); 7 95 /* for source files only */ 7 96 7 97 /* END INSERT FILE ... comp_insert.incl.pl1 */ 1528 8 1 /* BEGIN INCLUDE FILE - comp_metacodes.incl.pl1 */ 8 2 8 3 /* format: style2,ind2,ll79,dclind4,idind25,comcol51,linecom */ 8 4 8 5 /* ASCII control characters */ 8 6 dcl ( 8 7 NUL init (""), /* 000 */ 8 8 SOH init (""), /* 001 */ 8 9 STX init (""), /* 002 */ 8 10 ETX init (""), /* 003 */ 8 11 EOT init (""), /* 004 */ 8 12 ENQ init (""), /* 005 */ 8 13 ACK init (""), /* 006 */ 8 14 BEL init (""), /* 007 */ 8 15 BSP init (""), /* 010 */ 8 16 HT init (" "), 8 17 /* 011 */ 8 18 (NL, LF) init (" 8 19 "), /* 012 */ 8 20 VT init (" "), /* 013 */ 8 21 FF init (" "), /* 014 */ 8 22 CR init (" "), /* 015 */ 8 23 (RRS, SO) init (""), /* 016 */ 8 24 (BRS, SI) init (""), /* 017 */ 8 25 DLE init (""), /* 020 */ 8 26 DC1 init (""), /* 021 */ 8 27 (DC2, HLF, HUGE) init (""), /* 022 */ 8 28 DC3 init (""), /* 023 */ 8 29 (DC4, HLR, THICK) init (""), /* 024 */ 8 30 (NAK, MEDIUM) init (""), /* 025 */ 8 31 SYN init (""), /* 026 */ 8 32 (ETB, HAIR) init (""), /* 027 */ 8 33 (CAN, STROKE) init (""), /* 030 */ 8 34 oct031 init (""), /* 031 */ 8 35 SUB init (""), /* 032 */ 8 36 ESC init (""), /* 033 */ 8 37 FS init (""), /* 034 */ 8 38 GS init (""), /* 035 */ 8 39 RS init (""), /* 036 */ 8 40 US init (""), /* 037 */ 8 41 (DEL, PAD) init (""), /* 177 */ 8 42 /* compose meta-characters */ 8 43 multiply init ("ª"), /* 252 - multiply symbol */ 8 44 pl_mi init ("«"), /* 253 - plus/minus sign */ 8 45 nabla init ("¬"), /* 254 */ 8 46 EMdash init ("­"), /* 255 - EM dash */ 8 47 slash init ("¯"), /* 256 */ 8 48 dagger init ("±"), /* 261 */ 8 49 perpen init ("»"), /* 273 - perpendicular mark */ 8 50 not_eq init ("½"), /* 275 - not-equal mark */ 8 51 dbldag init ("Á"), /* 301 - double daggar */ 8 52 cright init ("Ã"), /* 303 - copyright mark */ 8 53 delta init ("Ä"), /* 304 */ 8 54 bullet init ("Í"), /* 315 */ 8 55 prll init ("Î"), /* 316 - parallel mark */ 8 56 PI init ("Ð"), /* 320 - uppercase Greek pi */ 8 57 tmark init ("Ô"), /* 324 - trademark */ 8 58 tfore init ("Ö"), /* 326 - therefore mark */ 8 59 approx init ("Ú"), /* 332 - approximately-equal mark */ 8 60 infin init ("ß"), /* 337 - infinity */ 8 61 theta init ("ê"), /* 352 */ 8 62 pi init ("ð"), /* 360 - lowercase Greek pi */ 8 63 square init ("ý"), /* 375 */ 8 64 overbar init ("þ"), /* 376 */ 8 65 PS init ("ÿ"), /* 377 - punctuation space */ 8 66 sup0 init (""), /* 400 - superior digit 0 */ 8 67 sup1 init (""), /* 401 - superior digit 1 */ 8 68 sup2 init (""), /* 402 - superior digit 2 */ 8 69 sup3 init (""), /* 403 - superior digit 3 */ 8 70 sup4 init (""), /* 404 - superior digit 4 */ 8 71 sup5 init (""), /* 405 - superior digit 5 */ 8 72 sup6 init (""), /* 406 - superior digit 6 */ 8 73 sup7 init (""), /* 407 - superior digit 7 */ 8 74 sup8 init (""), /* 410 - superior digit 8 */ 8 75 sup9 init (" "), /* 411 - superior digit 9 */ 8 76 EM init (" "), /* 412 - EM space */ 8 77 EM_ init (" "), /* 413 - EM aligned dash */ 8 78 EN init (" "), /* 414 - EN space */ 8 79 EN_ init (" "), /* 415 - EN aligned dash */ 8 80 ENd init (""), /* 416 - EN dash */ 8 81 THIN init (""), /* 417 - thinspace */ 8 82 DEVIT init (""), /* 420 - device unit */ 8 83 lquote init (""), /* 421 - left double quote */ 8 84 rquote init (""), /* 422 - right double quote */ 8 85 modmark init (""), /* 424 - text modification/addition mark */ 8 86 delmark init (""), /* 430 - deletion mark */ 8 87 vrule init ("Z"), /* 532 - vertical rule */ 8 88 lslnt init ("^") /* 536 - left slant */ 8 89 ) char (1) unaligned static options (constant); 8 90 8 91 /* END INCLUDE FILE comp_metacodes.incl.pl1 */ 1529 9 1 /* BEGIN INCLUDE FILE comp_option.incl.pl1 */ 9 2 9 3 dcl option_version fixed bin (35) static options (constant) init (2); 9 4 9 5 dcl 1 option aligned based (const.option_ptr), /* program options */ 9 6 2 version fixed bin (35), 9 7 /* Options with parameters */ 9 8 (2 argument_opt, /* -argument option flag */ 9 9 2 cbar_opt, /* -change_bars option flag */ 9 10 2 cbar_art_opt, /* -change_bars_art option flag */ 9 11 2 debug_opt, /* -debug option flag */ 9 12 2 db_all_opt, /* -debug_all option flag */ 9 13 2 db_file_opt, /* -debug_file option flag */ 9 14 2 device_opt, /* -device option flag */ 9 15 2 execute_opt, /* -execute option flag */ 9 16 2 from_opt, /* -from option flag */ 9 17 2 galley_opt, /* -galley option flag */ 9 18 2 hyph_opt, /* -hyphenation option flag */ 9 19 2 indent_opt, /* -indent option flag */ 9 20 2 input_file_opt, /* -input_file option flag */ 9 21 2 linespace_opt, /* -linespace option flag */ 9 22 2 output_file_opt, /* -output_file option flag */ 9 23 2 pages_opt, /* -pages option flag */ 9 24 2 page_chng_opt, /* -pages_changed option flag */ 9 25 2 parameter_opt, /* -parameter option flag */ 9 26 2 passes_opt, /* -passes option flag */ 9 27 2 tdir_opt, /* -temp_dir option flag */ 9 28 2 to_opt, /* -to option flag */ 9 29 /* Options without parameters */ 9 30 2 annot_opt, /* -annotate */ 9 31 2 brief_opt, /* -brief option flag */ 9 32 2 check_opt, /* -check option flag */ 9 33 2 cws_opt, /* -cws option flag */ 9 34 2 db_pause_opt, /* -debug_pause option flag */ 9 35 2 noart_opt, /* -noart option flag */ 9 36 2 nobell_opt, /* -no_bell option flag */ 9 37 2 nofill_opt, /* -nofill option flag */ 9 38 2 nohit_opt, /* -nohit option flag */ 9 39 2 number_opt, /* -number option flag */ 9 40 2 number_append_opt, /* -number_append option flag */ 9 41 2 number_brief_opt, /* -number_brief option flag */ 9 42 2 stop_opt, /* -stop option flag */ 9 43 2 wait_opt) unal bit (1), /* -wait option flag */ 9 44 2 MBZ bit (2) unal, 9 45 /* Optional parameters */ 9 46 2 arg_count fixed bin, /* count of -ag values */ 9 47 2 cbar, /* change bar data */ 9 48 3 level char (1), /* change level character (ASCII NUL) */ 9 49 3 place char (1), /* placement character */ 9 50 3 space fixed bin (31), /* extra left margin space needed */ 9 51 3 left, /* left margin mark data */ 9 52 4 sep fixed bin (31), /* separation */ 9 53 4 width fixed bin (31), /* mark width */ 9 54 4 mark char (80) varying, /* the left margin mark */ 9 55 3 right, /* right margin mark data */ 9 56 4 sep fixed bin (31), /* separation */ 9 57 4 width fixed bin (31), /* mark width */ 9 58 4 mark char (80) varying, /* the right margin mark */ 9 59 3 del, /* deletion mark data */ 9 60 4 sep fixed bin (31), /* separation */ 9 61 4 width fixed bin (31), /* mark width */ 9 62 4 mark char (80) varying, /* the deletion mark */ 9 63 2 db_after_line fixed bin (35), /* source line for enabling insert debug */ 9 64 2 db_before_line fixed bin (35), /* source line for disabling insert debug */ 9 65 2 db_file char (200) var, /* file pathanme for debug */ 9 66 2 db_file_after fixed bin (35), /* debug file starting line */ 9 67 2 db_line_end fixed bin (35), /* final line for -debug output */ 9 68 2 db_line_strt fixed bin (35), /* initial line for -debug output */ 9 69 2 device char (32) varying, /* output device */ 9 70 2 extra_indent fixed bin (31), /* extra indent value */ 9 71 2 hyph_size fixed bin (31), /* least word part size for hyphenation */ 9 72 2 line_1 fixed bin (35), /* initial line for output */ 9 73 2 line_2 fixed bin (35), /* final line for output */ 9 74 2 linespace fixed bin (31), /* line spacing value */ 9 75 2 pglstct fixed bin (35), /* number of page list entries */ 9 76 2 pglstndx fixed bin (35), /* index for -pages list */ 9 77 2 pglst (0:49), /* list of requested pages */ 9 78 3 from char (32) var, 9 79 3 to char (32) var, 9 80 2 parameter char (80) varying, /* parameter <value> from command line */ 9 81 2 passes fixed bin, /* passes remaining */ 9 82 2 pgc_select char (1) aligned; /* addendum key to control change page printing - init = NUL */ 9 83 9 84 /* END INCLUDE FILE comp_option.incl.pl1 */ 9 85 1530 10 1 /* BEGIN INCLUDE FILE comp_page.incl.pl1 */ 10 2 10 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 10 4 10 5 dcl max_image_lines 10 6 fixed static options (constant) init (1000); 10 7 dcl max_cols fixed static options (constant) init (20); 10 8 10 9 dcl page_version fixed bin static options (constant) init (5); 10 10 /* composed page structure */ 10 11 dcl 1 page aligned based (const.page_ptr), 10 12 2 version fixed bin, /* version of this structure */ 10 13 2 parms aligned like page_parms, 10 14 /* page formatting parameters */ 10 15 2 hdr aligned like page_header, 10 16 /* page control stuff */ 10 17 2 image_ptr ptr, /* pointer to the madeup page image */ 10 18 2 column_ptr (0:20) ptr, /* pointers to the column structures */ 10 19 2 col_image_ptr 10 20 (-2:21) ptr; /* pointers to column images */ 10 21 /* col -1 is for line numbers and */ 10 22 /* left margin change bars; */ 10 23 /* col -2 is for */ 10 24 /* right margin change bars */ 10 25 /* and/or annotation * / 10 26* /* page control stuff */ 10 27 dcl 1 page_header aligned based (const.page_header_ptr), 10 28 2 sws, 10 29 3 art bit (1) unal, /* 1 = header/footer art */ 10 30 3 blankpage 10 31 bit (1) unal, /* 1 = intentional blank page */ 10 32 3 frontpage 10 33 bit (1) unal, /* 1 = odd page number */ 10 34 3 headed bit (1) unal, /* 1 = page header has been written */ 10 35 3 modified bit (1) unal, /* 1 = page has been modified */ 10 36 3 overflow bit (1) unal, /* OBSOLETE */ 10 37 3 MBZ bit (12) unal, 10 38 3 dot_addltr 10 39 char (1) unal, /* dot page add letter, if any */ 10 40 3 pgc_select 10 41 char (1) unal, /* for selecting change pages */ 10 42 2 baldepth fixed bin (31), /* page depth at balance point */ 10 43 2 balusd fixed bin (31), /* space used at balance point */ 10 44 2 col_count fixed bin, /* highest value of col_index for the page */ 10 45 2 col_index fixed bin, /* column index */ 10 46 2 depth fixed bin (31), /* current page depth */ 10 47 2 hdspc fixed bin (31), /* TOP white space */ 10 48 2 lmarg fixed bin (31), /* left margin for this page */ 10 49 2 net fixed bin (31), /* net usable space on the page */ 10 50 2 pageno char (32) var, /* current page number */ 10 51 2 used fixed bin (31); /* space already used on the page */ 10 52 10 53 dcl page_image_version 10 54 fixed bin (35) static options (constant) init (2); 10 55 /* structure passed to writers */ 10 56 dcl 1 page_image aligned based (page.image_ptr), 10 57 2 version fixed bin (35), /* structure version no */ 10 58 2 count fixed bin, /* count of page image lines */ 10 59 2 file_id char (32) var, /* compout identifier */ 10 60 2 func fixed bin, /* function code; 0 = build, 10 61* 1 = intialize, 2 = cleanup */ 10 62 2 text_ptr ptr, /* pointer to the text area */ 10 63 /* the image lines */ 10 64 2 line (max_image_lines), 10 65 3 sws, 10 66 4 quad bit (6) unal, /* text set position flags */ 10 67 4 art bit (1) unal, /* 1 = artwork in the line */ 10 68 4 cbar bit (1) unal, /* 1= line has a cbar, dont erase */ 10 69 4 mrgtxt bit (1) unal, /* line number or marginal note */ 10 70 4 white bit (1) unal, /* line is white */ 10 71 4 MBZ bit (26) unal, 10 72 3 depth fixed bin (31), /* page depth for the text */ 10 73 3 gaps fixed bin, /* number of WS gaps in the line */ 10 74 3 info like text_entry.info, 10 75 /* input file info */ 10 76 3 lead fixed bin (31), /* lead value if trailing WS */ 10 77 3 lfnt fixed bin, /* font at the left margin */ 10 78 3 lmarg fixed bin (31), /* text left margin position */ 10 79 3 lsize fixed bin (31), /* pointsize at the left margin */ 10 80 3 net fixed bin (31), /* net width for filling */ 10 81 3 pos fixed bin (31), /* current horiz position */ 10 82 3 ptr ptr, /* pointer to the text */ 10 83 3 rmarg fixed bin (31), /* text right margin position */ 10 84 3 width fixed bin (31); /* width of the text */ 10 85 /* current page formatting parms */ 10 86 dcl 1 page_parms aligned based (const.page_parms_ptr), 10 87 2 init_page_depth 10 88 fixed bin (31), /* initial page depth */ 10 89 2 length fixed bin (31), /* page length */ 10 90 2 lmarg, /* page left margin */ 10 91 3 even fixed bin (31), 10 92 3 odd fixed bin (31), 10 93 2 margin, /* margin values */ 10 94 3 top fixed bin (31), 10 95 3 header fixed bin (31), 10 96 3 footer fixed bin (31), 10 97 3 bottom fixed bin (31), 10 98 2 measure fixed bin (31), /* line space available for text */ 10 99 2 net, /* net usable space on page */ 10 100 3 even fixed bin (31), /* even pages */ 10 101 3 odd fixed bin (31), /* odd pages */ 10 102 /* arrays at the end */ 10 103 2 cols, /* columns defined for the page */ 10 104 3 bal bit (1) unal, /* column balancing control flag */ 10 105 3 MBZ bit (17) unal, 10 106 3 count fixed bin unal; /* the number of columns */ 10 107 /* default page formatting parms */ 10 108 dcl 1 init_page_parms 10 109 aligned like page_parms 10 110 based (const.init_page_parms_ptr); 10 111 10 112 /* END INCLUDE FILE comp_page.incl.pl1 */ 1531 11 1 /* BEGIN INCLUDE FILE comp_shared.incl.pl1 */ 11 2 11 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 11 4 11 5 dcl shared_version fixed bin (35) static options (constant) init (17); 11 6 11 7 dcl 1 shared aligned based (const.shared_ptr), 11 8 2 version fixed bin (35), /* version of this structure */ 11 9 2 chars, 11 10 ( 3 sym_delim, /* delimiter for symbols */ 11 11 3 ttl_delim, /* delimiter for title parts */ 11 12 3 wrd_brkr /* word break character */ 11 13 ) char (1) unal, 11 14 3 PAD char (1) unal, 11 15 2 cbar_type char (4) var, /* change bar type */ 11 16 2 dot_add_letter /* dot page add letter */ 11 17 char (1) var, 11 18 2 EN_width fixed bin (31), /* width of EN in current font */ 11 19 2 eqn_refct fixed bin, /* equation reference counter */ 11 20 2 footref_fcs /* footnote ref FCS string */ 11 21 char (8) aligned, 11 22 2 ftn_reset char (8) var, /* footnote reset mode */ 11 23 2 ftnrefct fixed bin, /* footnote ref counter */ 11 24 2 hyph_size fixed bin (31), /* least word part size for hyphing */ 11 25 2 if_nest, /* if/then/else logic control */ 11 26 3 ndx fixed bin, /* depth of logic nest */ 11 27 3 e (25), /* nest entries */ 11 28 /* .if control switch */ 11 29 4 sw fixed bin, /* 0=off, 1=(then), -1=(else) */ 11 30 4 info aligned like text_entry.info, 11 31 4 line char (256) var, /* the control line */ 11 32 2 indctl, /* indent ctls stack */ 11 33 3 ndx fixed bin, /* current level */ 11 34 /* switch bits */ 11 35 3 stk (0:35) bit (1) unal, 11 36 2 input_dirname 11 37 char (168) var, /* dir containing current input file */ 11 38 2 input_filename 11 39 char (200) var, /* current input file name */ 11 40 2 lead fixed bin (31), /* current linespacing value */ 11 41 2 lit_count fixed bin (35), /* count of literal lines */ 11 42 2 next_pagenmbr 11 43 char (32) var, /* next page number / */ 11 44 2 output_file 11 45 char (32) var, /* output file identifier */ 11 46 2 pagecount fixed bin, /* number of pages produced */ 11 47 2 pagenum, /* page number structure */ 11 48 3 index fixed bin, /* level currently counting */ 11 49 ( 11 50 3 sep char (1) unal, /* separator chars */ 11 51 3 nmbr fixed bin (31), /* the counters */ 11 52 3 mode /* display modes */ 11 53 fixed bin (8) unal 11 54 ) dimension (20), 11 55 2 parameter char (254) var, /* command line parameter */ 11 56 2 param_pres bit (1), /* passed parameter flag */ 11 57 2 pass_counter 11 58 fixed bin, /* pass counter */ 11 59 2 picture, /* picture blocks */ 11 60 3 count fixed bin, /* number of them */ 11 61 3 space fixed bin (31), /* total picture space */ 11 62 3 blk (10), /* picture blocks */ 11 63 4 type char (4), /* type = page/col */ 11 64 4 place char (4), /* place = top/cen/bot */ 11 65 4 ptr ptr, /* pointer to block */ 11 66 4 size fixed bin (31), /* size of the picture */ 11 67 2 ptrs, 11 68 ( 3 aux_file_data_ptr, /* -> auxiliary file data */ 11 69 3 blank_footer_ptr, /* -> blank page footer */ 11 70 3 blank_header_ptr, /* -> blank page header */ 11 71 3 blank_text_ptr, /* -> blank page text */ 11 72 3 blkptr, /* -> active text */ 11 73 3 colptr, /* current column */ 11 74 3 compout_ptr, /* iocb pointer for output */ 11 75 3 compx_ptr, /* iocb pointer for compx file */ 11 76 3 ctb_ptr, /* current line artwork table */ 11 77 3 epftrptr, /* even page footer block */ 11 78 3 ephdrptr, /* even page header block */ 11 79 3 fcb_ptr, /* input file control block pointer */ 11 80 3 ftnblk_data_ptr, /* footnote block data pointer */ 11 81 3 footnote_header_ptr, /* footnote header "title" */ 11 82 3 graphic_page_ptr, /* graphic output page */ 11 83 3 hit_data_ptr, /* hit data pointer */ 11 84 3 htab_ptr, /* horizontal tab tables */ 11 85 3 hwrd_data_ptr, /* local hyphenation table */ 11 86 3 insert_ptr, /* data entry for current input file */ 11 87 3 opftrptr, /* odd page footer block */ 11 88 3 ophdrptr, /* odd page header block */ 11 89 3 ptb_ptr, /* previous line artwork table */ 11 90 3 spcl_blkptr, /* "special" block pointer */ 11 91 3 tbldata_ptr, /* table column data structure */ 11 92 3 tblkdata_ptr, /* text block data array */ 11 93 3 text_header_ptr /* empty text header structure */ 11 94 ) ptr, 11 95 2 scale, /* space conversion scale factors */ 11 96 3 horz fixed bin (31), /* horizontal */ 11 97 3 vert fixed bin (31), /* vertical */ 11 98 2 source_filename 11 99 char (200) var, /* current source file name */ 11 100 2 sws, /* switch bits */ 11 101 ( 3 bug_mode, /* debug mode */ 11 102 3 compout_not_headed, /* compout is not headed */ 11 103 3 end_input, /* EOF for current input file */ 11 104 3 end_output, /* no more output is wanted */ 11 105 3 firstpass, /* first pass over input */ 11 106 3 ftn_mode, /* in footnote mode */ 11 107 3 hyph_mode, /* hyphenating mode */ 11 108 3 inserting_hfc, /* inserting hdr, ftr, or cap */ 11 109 3 literal_mode, /* literal line mode flag */ 11 110 3 pageblock, /* blocks belong to page */ 11 111 3 picture_mode, /* building a picture */ 11 112 3 print_flag, /* producing output */ 11 113 3 purge_ftns, /* purging footnotes */ 11 114 3 suppress_footref, /* suppress next footnote ref */ 11 115 3 table_mode /* table mode */ 11 116 ) bit (1) unal, 11 117 3 MBZ bit (21) unal, 11 118 2 trans, /* trans table for .tr */ 11 119 3 in char (128) var, /* input chars */ 11 120 3 out char (128) var, /* output chars */ 11 121 2 widow_size fixed bin (31), /* widow size */ 11 122 2 widow_foot fixed bin (31); /* widow for footnotes */ 11 123 /* to save shared data between files/passes */ 11 124 dcl 1 save_shared aligned like shared based (const.save_shared_ptr); 11 125 11 126 dcl dot_addltr_symb_index 11 127 fixed bin static options (constant) init (12); 11 128 dcl max_text_lines fixed bin static options (constant) init (1000); 11 129 dcl mode_string char (16) static options (constant) 11 130 init ("arbihxocalaurlru"); 11 131 /* value overlays */ 11 132 dcl flag_value bit (1) based; 11 133 dcl num_value fixed bin (31) based; 11 134 11 135 /* END INCLUDE FILE comp_shared.incl.pl1 */ 1532 12 1 /* BEGIN INCLUDE FILE comp_table.incl.pl1 */ 12 2 12 3 /* format: style2,ind3,ll79,dclind4,idind15,comcol41,linecom */ 12 4 12 5 dcl 1 tbldata aligned based (shared.tbldata_ptr), 12 6 2 ct fixed bin, /* number of active table formats */ 12 7 2 ndx fixed bin, /* index of current active format */ 12 8 2 fmt (20), /* the format */ 12 9 3 name char (32) var, /* name of the format */ 12 10 3 ptr ptr; /* pointer to the format data */ 12 11 12 12 dcl tblfmtndx fixed bin; /* current table format index */ 12 13 dcl tblfmtptr ptr; /* -> current table format */ 12 14 /* table format data */ 12 15 dcl 1 tblfmt aligned based (tblfmtptr), 12 16 2 context bit (1), /* =1 if context mode */ 12 17 2 ccol fixed bin, /* the current table column */ 12 18 2 maxdepth fixed bin (31), /* max depth in table */ 12 19 2 ncols fixed bin, /* number of columns in this format */ 12 20 2 colptr (0:20) ptr; /* pointers to the columns */ 12 21 12 22 dcl tblcolndx fixed bin; /* current table column index */ 12 23 /* -> current table column */ 12 24 dcl tblcolptr ptr init (null ()); 12 25 /* table column data */ 12 26 dcl 1 tblcol aligned based (tblcolptr), 12 27 2 align, /* column alignment mode */ 12 28 3 posn fixed bin (31), 12 29 3 str char (32) var, 12 30 2 depth fixed bin (31), /* current depth for column */ 12 31 2 gutter fixed bin (31), 12 32 2 leader char (16) var, /* leadering string */ 12 33 2 margin, 12 34 3 left fixed bin (31), 12 35 3 right fixed bin (31), 12 36 2 valign bit (4) unal, /* vertical alignment flags */ 12 37 2 MBZ bit (29) unal, 12 38 2 parms /* parms for columns */ 12 39 aligned like default_parms; 12 40 12 41 dcl 1 tblcol0 aligned like tblcol based (tblfmt.colptr (0)); 12 42 /* -> previous table column */ 12 43 dcl prvtblcolptr ptr init (null ()); 12 44 dcl 1 prvtblcol like tblcol aligned based (prvtblcolptr); 12 45 12 46 dcl vtop bit (4) static options (constant) init ("1000"b); 12 47 dcl vcen bit (4) static options (constant) init ("0100"b); 12 48 dcl vbot bit (4) static options (constant) init ("0010"b); 12 49 dcl vjust bit (4) static options (constant) init ("0001"b); 12 50 12 51 /* END INCLUDE FILE comp_table.incl.pl1 */ 1533 13 1 /* BEGIN INCLUDE FILE comp_text.incl.pl1 */ 13 2 13 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 13 4 13 5 dcl 1 tblkdata /* data for allocated text blocks */ 13 6 aligned based (shared.tblkdata_ptr), 13 7 2 block, /* block pool */ 13 8 3 count fixed bin, 13 9 3 ptr (500) ptr, /* block pointers */ 13 10 /* block state flags */ 13 11 3 free (500) bit (1) unal, 13 12 2 line_area, /* line area pool */ 13 13 3 count fixed bin, 13 14 3 ptr (500) ptr, /* area pointers */ 13 15 /* area state flags */ 13 16 3 free (500) bit (1) unal, 13 17 2 text_area, /* text area pool */ 13 18 3 count fixed bin, 13 19 3 ptr (500) ptr, /* area pointers */ 13 20 /* area state flags */ 13 21 3 free (500) bit (1) unal, 13 22 3 string_area_count 13 23 fixed bin; /* line areas */ 13 24 dcl LINE_AREA_SIZE fixed bin static options (constant) init (24); 13 25 dcl line_area_ptr ptr init (null); 13 26 dcl 1 line_area aligned based (line_area_ptr), 13 27 2 next ptr, /* forward thread */ 13 28 2 prev ptr, /* backward thread */ 13 29 2 count fixed bin, /* number of lines allocated */ 13 30 2 ndx fixed bin, /* index of current line */ 13 31 2 pndx fixed bin, /* area pool index */ 13 32 2 linptr (LINE_AREA_SIZE) ptr; 13 33 /* text areas */ 13 34 dcl TEXT_AREA_SIZE fixed bin static options (constant) init (6); 13 35 dcl text_area_ptr ptr init (null); 13 36 dcl 1 text_area aligned based (text_area_ptr), 13 37 2 next ptr, /* forward thread */ 13 38 2 count fixed bin, /* number of areas allocated */ 13 39 2 ndx fixed bin, /* index of current strarea */ 13 40 2 pndx fixed bin, /* area pool index */ 13 41 2 strareaptr (TEXT_AREA_SIZE) ptr; 13 42 /* text string area */ 13 43 dcl string_area (256) fixed bin based; 13 44 dcl txtstrptr ptr; /* current text string */ 13 45 dcl txtstr char (1020) var based (txtstrptr); 13 46 13 47 dcl TEXT_VERSION fixed bin static options (constant) init (9); 13 48 /* general text block */ 13 49 dcl 1 text aligned based (shared.blkptr), 13 50 2 version fixed bin, /* version of structure */ 13 51 2 blkndx fixed bin, /* block data index */ 13 52 2 blktype char (2), /* block type code */ 13 53 /* dynamic block control stuff */ 13 54 2 hdr aligned like text_header, 13 55 /* text read from input file */ 13 56 2 input aligned like text_entry, 13 57 2 input_line char (1020) var,/* input buffer */ 13 58 2 line_area, 13 59 3 first ptr, /* head of line area thread */ 13 60 3 cur ptr, /* current line area */ 13 61 2 next_text ptr, /* next text string */ 13 62 /* text formatting parameters */ 13 63 2 parms aligned like default_parms, 13 64 2 text_area, 13 65 3 first ptr, /* head of text area thread */ 13 66 3 cur ptr; /* current text area */ 13 67 /* an empty text block line */ 13 68 dcl 1 text_entry aligned based (const.text_entry_ptr), 13 69 2 sws, /* unaligned switches, etc. */ 13 70 3 art bit (1) unal, /* line has artwork */ 13 71 3 cbar, /* change bar flags */ 13 72 4 add bit (1) unal, /* text addition flag */ 13 73 4 del bit (1) unal, /* text deletion flag */ 13 74 4 mod bit (1) unal, /* text modification flag */ 13 75 3 default bit (1) unal, /* 1 = default case as needed */ 13 76 3 DVctl bit (1) unal, /* 1 = line is a device ctl string */ 13 77 3 embedded bit (1) unal, /* 1 = line has an embedded control */ 13 78 3 end_keep bit (1) unal, /* 1= line ends a keep */ 13 79 3 fnt_chng bit (1) unal, /* 1 = text is a font change string */ 13 80 3 footref bit (1) unal, /* 1 = line has a footnote reference */ 13 81 3 hanging bit (1) unal, /* 1 = a hanging undent */ 13 82 3 keep bit (1) unal, /* 1 = unsplittable line */ 13 83 3 no_trim bit (1) unal, /* 1 = untrimmable white line */ 13 84 3 oflo bit (1) unal, /* line causes overflow */ 13 85 3 punct bit (1) unal, /* 1 = line ends with punctuation */ 13 86 3 quad bit (6) unal, /* text alignment flags */ 13 87 3 space_added /* 1= line has added space */ 13 88 bit (1) unal, 13 89 3 spcl, /* special entry - not output text */ 13 90 4 file bit (1) unal, /* 1= output to special file */ 13 91 4 blk_splt /* 1= action at block split time */ 13 92 bit (1) unal, 13 93 4 page_mkup /* 1= action at page makeup time */ 13 94 bit (1) unal, 13 95 3 table bit (1) unal, /* 1= line is a table entry */ 13 96 3 tblspc bit (1) unal, /* 1= WS fill for table mode */ 13 97 3 title bit (1) unal, /* 1= line is a <title> */ 13 98 3 unspnct bit (1) unal, /* 1= underscore punctuation */ 13 99 3 unstop bit (1) unal, /* 1= line is/ends with UNSTOP */ 13 100 3 unstrt bit (1) unal, /* 1= line is/ends with UNSTART */ 13 101 3 unswrds bit (1) unal, /* 1= underscore words only */ 13 102 3 white bit (1) unal, /* 1= line is white space */ 13 103 3 und_prot bit (1) unal, /* 1= undent is protected */ 13 104 3 MBZ bit (4) unal, 13 105 2 art_start fixed bin unal, /* start of art string in line */ 13 106 2 art_len fixed bin unal, /* length of art string in line */ 13 107 2 cbar_level /* change level for cbars */ 13 108 char (1) aligned, 13 109 2 cur, /* current scanning data for line */ 13 110 3 chrct fixed bin, /* count of chars scanned */ 13 111 3 gaps fixed bin, /* gap count */ 13 112 3 width fixed bin (31), /* width of font chars */ 13 113 3 min fixed bin (31), /* width of min spbnds */ 13 114 3 avg fixed bin (31), /* width of avg spbnds */ 13 115 3 max fixed bin (31), /* width of max spbnds */ 13 116 3 font like fntstk_entry, 13 117 2 depth fixed bin (31), /* page depth for line */ 13 118 /* font at start of line */ 13 119 2 font like fntstk_entry, 13 120 2 index fixed bin (21), /* char index for line scanning */ 13 121 2 info, /* stuff created during line input */ 13 122 3 fileno fixed bin, /* input file index */ 13 123 3 lineno fixed bin, /* input file line number */ 13 124 3 lineno0 fixed bin, /* call_box0 line number */ 13 125 2 linespace fixed bin (31), /* linespace value for the line */ 13 126 2 lmarg fixed bin (31), /* adjusted left margin position */ 13 127 2 mod_len fixed bin, /* length of modified text */ 13 128 2 mod_start fixed bin, /* index for start of modified text */ 13 129 2 net fixed bin (31), /* net line width for filling */ 13 130 2 ptr ptr, /* pointer to the actual text */ 13 131 2 rmarg fixed bin (31), /* adjusted right margin position */ 13 132 2 spcl_iocbp ptr, /* iocb ptr for spcl line */ 13 133 2 sym_delim char (1) unal, /* symbol delimiter for this line */ 13 134 2 tblcol fixed bin, /* column for table entries */ 13 135 2 title_delim 13 136 char (1) unal, /* title delimiter if a <title> */ 13 137 2 title_index 13 138 fixed bin, /* <title> block index for line */ 13 139 2 width fixed bin (31), /* width of text */ 13 140 2 ftn, /* footnote info for line */ 13 141 3 ct fixed bin, /* number of footnote refs */ 13 142 3 used fixed bin (31), /* space used */ 13 143 3 e (40), /* limit is arbitrary */ 13 144 4 blkndx fixed bin unal, /* block index of footnote - if this 13 145* value is 0, then .frf was used */ 13 146 4 refno fixed bin unal; /* reference number */ 13 147 13 148 dcl ( 13 149 quadi init ("40"b3), /* set to the inside margin */ 13 150 quado init ("20"b3), /* set to the outside margin */ 13 151 quadl init ("10"b3), /* set left */ 13 152 quadc init ("04"b3), /* set centered */ 13 153 quadr init ("02"b3), /* set right */ 13 154 just init ("01"b3) /* justified */ 13 155 ) bit (6) static options (constant); 13 156 /* control line structure */ 13 157 dcl 1 ctl aligned like text_entry based (const.ctl_ptr); 13 158 dcl ctl_line char (1020) var based (ctl.ptr); 13 159 13 160 dcl txtlinptr ptr; /* the current text line */ 13 161 dcl 1 txtlin aligned like text_entry based (txtlinptr); 13 162 /* empty text header structure */ 13 163 dcl 1 text_header aligned based (const.text_header_ptr), 13 164 2 sws, /* control switches */ 13 165 3 art bit (1) unal, /* block has artwork */ 13 166 3 dfrftn bit (1) unal, /* block is a deferred footnote */ 13 167 3 modified bit (1) unal, /* block contains modified lines */ 13 168 3 no_trim bit (1) unal, /* 1 = dont trim WS block */ 13 169 3 oflo_ftn bit (1) unal, /* overflow footnote */ 13 170 3 tblblk bit (1) unal, /* a table block */ 13 171 3 unref bit (1) unal, /* block is an unreffed footnote */ 13 172 3 white bit (1) unal, /* block is a white space block */ 13 173 3 picture bit (1) unal, /* picture block */ 13 174 3 orphan bit (1) unal, /* 1= footnote is an orphan */ 13 175 3 MBZ bit (26) unal, 13 176 2 art_count fixed bin unal, /* to count input art lines */ 13 177 2 blkptr ptr, /* pointer to suspended block */ 13 178 2 cap_size fixed bin unal, /* line count of text caption */ 13 179 2 cap_used fixed bin (31), /* size of text caption */ 13 180 2 colno fixed bin unal, /* column owning the block */ 13 181 2 count fixed bin unal, /* line count for block */ 13 182 2 eqn_line_count 13 183 fixed bin unal, /* counter for equation lines */ 13 184 2 first_text fixed bin unal, /* OBSOLETE */ 13 185 2 ftn, /* footnotes */ 13 186 3 ct fixed bin, /* count */ 13 187 3 usd fixed bin (31), /* space used */ 13 188 3 blkndx (40) fixed bin, /* footnote block index values */ 13 189 2 head_size fixed bin, /* line count of text header */ 13 190 2 head_used fixed bin (31), /* size of text header */ 13 191 2 index fixed bin unal, /* block index of next output line */ 13 192 2 keep_count fixed bin unal, /* to count input keep lines */ 13 193 2 last_line fixed bin, /* last text line in column */ 13 194 2 mx_ttl_ndx fixed bin, /* max title index value in block */ 13 195 2 name char (32) var, /* block name, if any */ 13 196 2 nofill_count /* to count nofill lines */ 13 197 fixed bin, 13 198 2 parms_ptr ptr, /* parms for suspended block */ 13 199 2 refer fixed bin, /* inter-block reference */ 13 200 2 refer_index /* OBSOLETE */ 13 201 fixed bin, /* a reference */ 13 202 2 split fixed bin, /* split point for balancing */ 13 203 2 trl_ws fixed bin (31), /* trailing WS */ 13 204 2 used fixed bin (31); /* page space used by a column/block */ 13 205 /* text formatting parameters */ 13 206 dcl 1 text_parms aligned like default_parms 13 207 based (const.text_parms_ptr); 13 208 13 209 dcl 1 current_parms 13 210 aligned like default_parms 13 211 based (const.current_parms_ptr); 13 212 13 213 dcl 1 default_parms 13 214 aligned based (const.default_parms_ptr), 13 215 2 sws, /* control switches */ 13 216 3 quad bit (6) unal, /* text alignment mode */ 13 217 3 art bit (1) unal, /* 1 = block countains artwork */ 13 218 3 cbar, /* change bar flags */ 13 219 4 add bit (1) unal, /* text addition flag */ 13 220 4 del bit (1) unal, /* text deletion flag for next line */ 13 221 4 mod bit (1) unal, /* text modification flag */ 13 222 3 fill_mode 13 223 bit (1) unal, /* 1 = fill mode ON */ 13 224 3 footnote bit (1) unal, /* block is a footnote */ 13 225 3 hfc bit (1) unal, /* OBSOLETE */ 13 226 3 htab_mode 13 227 bit (1) unal, /* 1 = horizontal tab mode ON */ 13 228 3 keep bit (1) unal, /* keep mode */ 13 229 3 page bit (1) unal, /* block belongs to page, not text */ 13 230 3 title_mode 13 231 bit (1) unal, /* 0 = plain text, 1 = <title>s OK */ 13 232 3 MBZ bit (19) unal, 13 233 2 ftrptr ptr, /* text caption block */ 13 234 2 cbar_level /* change level for cbars */ 13 235 char (1) aligned, 13 236 2 hdrptr ptr, /* text header block */ 13 237 2 left, /* left margin data */ 13 238 3 indent fixed bin (31), 13 239 3 undent fixed bin (31), 13 240 2 linespace fixed bin (31), /* line spacing value */ 13 241 2 measure fixed bin (31), /* line space for text */ 13 242 /* right margin data */ 13 243 2 right like default_parms.left, 13 244 2 fntstk, /* stack of last 20 font changes */ 13 245 3 index fixed bin, /* which one in use */ 13 246 /* entry(0) is the default */ 13 247 3 entry (0:19) like fntstk_entry; 13 248 13 249 dcl hfcblk_ptr ptr; 13 250 dcl 1 hfcblk aligned like text based (hfcblk_ptr); 13 251 13 252 /* END INCLUDE FILE comp_text.incl.pl1 */ 1534 14 1 /* BEGIN INCLUDE FILE - comp_dvt.incl.pl1 */ 14 2 14 3 /* Written: 9/80 - JA Falksen 14 4*/* Modified: 11/81 - EJW - Added comp_dvt.displayproc 14 5*/* Modified: 1/82 - EJW - 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*/* Modified: 11/84 - EJW - Renamed no_adjust to justifying. 14 12**/ 14 13 14 14 /* All names which end in "_r"are offset values within the device table */ 14 15 /* segment. The version of this structure is in comp_dvid.incl.pl1 */ 14 16 14 17 /* format: style2,ind3,ll79,dclind4,idind15,comcol41,linecom */ 14 18 14 19 dcl 1 comp_dvt aligned based (const.devptr), 14 20 2 devclass char (32), /* what general kind of device is */ 14 21 /* this, currently available: */ 14 22 /* "printer" (includes terminals), */ 14 23 /* "braille", "bitmap" */ 14 24 2 outproc entry /* page output processor */ 14 25 (fixed bin, /* function - 0=build */ 14 26 /* 1=init page */ 14 27 /* 2=init file */ 14 28 /* 3=cleanup */ 14 29 fixed bin (35)),/* error code */ 14 30 2 footproc entry /* footnote reference proc */ 14 31 ((3) char (*) var, 14 32 /* reference string (IN/OUT) */ 14 33 ptr), /* comp_dvt_p (IN) */ 14 34 2 artproc entry (), /* artwork proc */ 14 35 /* dont know how to describe yet */ 14 36 2 displayproc 14 37 entry /* string display interpreter */ 14 38 (char (*) var, /* raw input string */ 14 39 fixed bin (24), /* chars used in this call */ 14 40 bit (1)) /* 1= dont show display errors */ 14 41 returns (char (*) var), 14 42 /* interpreted output string */ 14 43 /* following values are in millipoints */ 14 44 2 min_WS fixed bin (31), /* minimum whitespace */ 14 45 2 min_lead fixed bin (31), /* minimun lead */ 14 46 2 vmt_min fixed bin (31), /* min usable .vmt */ 14 47 2 vmb_min fixed bin (31), /* min usable .vmb */ 14 48 2 def_vmt fixed bin (31), /* default .vmt */ 14 49 2 def_vmh fixed bin (31), /* default .vmh */ 14 50 2 def_vmf fixed bin (31), /* default .vmf */ 14 51 2 def_vmb fixed bin (31), /* default .vmb */ 14 52 2 pdw_max fixed bin (31), /* max page width available */ 14 53 2 pdl_max fixed bin (31), /* max page length available, */ 14 54 /* (0 = unlimited) */ 14 55 2 upshift fixed bin (31), /* footnote reference shift */ 14 56 2 init_ps fixed bin (31), /* initial pointsize (millipoints) */ 14 57 2 lettersp fixed bin (31), /* max letterspacing */ 14 58 2 max_pages fixed bin, /* max pages/"file" -1 ->unlimited */ 14 59 2 max_files fixed bin, /* max "files"/reel -1 ->unlimited */ 14 60 2 init_fam fixed bin, /* initial family index */ 14 61 2 init_mem fixed bin, /* initial member index */ 14 62 2 foot_fam fixed bin, /* initial foot family index */ 14 63 2 foot_mem fixed bin, /* initial foot member index */ 14 64 2 init_family 14 65 char (32), /* initial font family to use */ 14 66 2 init_member 14 67 char (32), /* initial font member to use */ 14 68 ( /* the following are offsets */ 14 69 2 atd_r, /* attach desc for on-line output */ 14 70 2 dvc_r, /* device control table relptr */ 14 71 2 comment_r, /* comment string relptr */ 14 72 2 cleanup_r, /* "cleanup" string relptr */ 14 73 2 medsel_table_r /* media select table relptr */ 14 74 ) bit (18) aligned, 14 75 2 foot_family 14 76 char (32), /* family for footnote reference */ 14 77 2 foot_member 14 78 char (32), /* member for footnote reference */ 14 79 /* if one was specified */ 14 80 2 sws unaligned, 14 81 3 interleave /* 0- page block has lines in column */ 14 82 bit (1), /* order left-to-right */ 14 83 /* 1- page block has lines in line */ 14 84 /* order top-to-bottom */ 14 85 3 justifying /* 1- device justifies lines */ 14 86 bit (1), 14 87 3 mbz bit (24), 14 88 3 endpage bit (9), /* EOP char if not "0"b */ 14 89 2 open_mode fixed bin (35), /* when going to a file */ 14 90 2 recleng fixed bin, /* length of tape records */ 14 91 2 family_ct fixed bin, /* # families present */ 14 92 2 family (comp_dvt.family_ct), 14 93 /* families of fonts defined */ 14 94 3 member_r bit (18) aligned, 14 95 /* member table relptr */ 14 96 3 name char (32); /* family name */ 14 97 14 98 14 99 /* The usage formula for units: */ 14 100 /* */ 14 101 /* rel_units * length_in_points */ 14 102 /* ---------------------------- = length_in_units */ 14 103 /* points_per_EM */ 14 104 14 105 /* END INCLUDE FILE comp_dvt.incl.pl1 */ 1535 15 1 /* BEGIN INCLUDE FILE compstat.incl.pl1 - external static data for compose 15 2* 15 3* This storage is converted from external (as declared) to internal by the 15 4* binder and contains items that must be accessible to both the bound and 15 5* unbound program. */ 15 6 15 7 /* Written: ??/??/7? - EJW 15 8* Modified: 10/18/84 - EJW - (First recorded change) Added current_parms_ptr 15 9* and removed the codes array; version 6. 15 10**/ 15 11 15 12 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 15 13 15 14 dcl 1 compstat$compconst 15 15 aligned like const ext static; 15 16 15 17 dcl const_version fixed bin (35) static options (constant) init (6); 15 18 dcl MAX_TREE_AREA_CT /* entries in a tree area */ 15 19 fixed bin static options (constant) init (80); 15 20 dcl MAX_TREE_AREAS /* number of tree areas */ 15 21 fixed bin static options (constant) init (20); 15 22 15 23 dcl 1 const aligned based (compstat$compconst.ptr), 15 24 2 ptr ptr, /* self pointer - MUST BE FIRST */ 15 25 2 version fixed bin (35), /* structure version */ 15 26 2 art_symbols /* string of art symbols */ 15 27 char (28) aligned, 15 28 2 builtin_count /* count of builtin variables */ 15 29 fixed bin, 15 30 2 comp_dir char (200), /* dir in which compose lives */ 15 31 2 comp_version 15 32 char (8) var, /* compose version id */ 15 33 2 date_value char (8) var, /* current date */ 15 34 2 dsm_name char (32), /* device support module name */ 15 35 2 dvt_name char (32), /* device table name */ 15 36 2 max_seg_chars 15 37 fixed bin (35), /* char count in a max seg */ 15 38 2 null_str char (1) var, /* an empty string */ 15 39 2 ptrs, 15 40 ( 3 call_stk_ptr, /* -> insert call stack */ 15 41 3 colhdrptr, /* empty column header structure */ 15 42 3 ctl_ptr, /* input line structure */ 15 43 3 current_parms_ptr, /* current formatting parms */ 15 44 3 default_parms_ptr, /* default initial text parms */ 15 45 3 devptr, /* -> comp_dvt structure */ 15 46 3 dvidptr, /* -> comp_dvid structure */ 15 47 3 errblk_ptr, /* error message block pointer */ 15 48 3 footnote_parms_ptr, /* footnote formatting parms */ 15 49 3 fnttbldata_ptr, /* -> font table data */ 15 50 3 global_area_ptr, /* per invocation storage */ 15 51 3 init_page_parms_ptr, /* default initial page parms */ 15 52 3 insert_data_ptr, /* insert file data block */ 15 53 3 local_area_ptr, /* per file storage */ 15 54 3 loctbl_ptr, /* for font copying */ 15 55 3 option_ptr, /* program options block */ 15 56 3 outproc_ptr, /* device writer for cleanup */ 15 57 3 page_ptr, /* active page structure */ 15 58 3 page_header_ptr, /* empty page header structure */ 15 59 3 page_parms_ptr, /* page formatting parameter block */ 15 60 3 save_shared_ptr, /* saved shared data */ 15 61 3 shared_ptr, /* shared data structure */ 15 62 3 text_entry_ptr, /* empty text entry structure */ 15 63 3 text_header_ptr, /* empty text header structure */ 15 64 3 text_parms_ptr, /* main body formatting parms */ 15 65 3 tree_ptr /* symbol tree structure */ 15 66 ) ptr, 15 67 2 time_value char (6) var; /* time at start */ 15 68 15 69 /* Other external */ 15 70 dcl ( 15 71 ioa_, 15 72 ioa_$nnl 15 73 ) entry options (variable); 15 74 dcl iox_$error_output 15 75 ptr ext static, /* iocb pointer for error_output */ 15 76 iox_$user_input 15 77 ptr ext static, /* iocb pointer for user_input */ 15 78 iox_$user_output 15 79 ptr ext static; /* iocb pointer for user_output */ 15 80 dcl sys_info$max_seg_size 15 81 fixed bin (18) ext static; 15 82 15 83 /* END INCLUDE FILE compstat.incl.pl1 */ 1536 1537 1538 end comp_hft_ctls_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/23/85 0910.0 comp_hft_ctls_.pl1 >spec>online>comp>comp_hft_ctls_.pl1 1522 1 04/23/85 0912.1 comp_brktypes.incl.pl1 >spec>online>comp>comp_brktypes.incl.pl1 1523 2 04/23/85 0912.2 comp_column.incl.pl1 >spec>online>comp>comp_column.incl.pl1 1524 3 03/01/85 1411.8 comp_DCdata.incl.pl1 >ldd>include>comp_DCdata.incl.pl1 1525 4 03/01/85 1411.9 comp_entries.incl.pl1 >ldd>include>comp_entries.incl.pl1 1526 5 03/01/85 1412.0 comp_fntstk.incl.pl1 >ldd>include>comp_fntstk.incl.pl1 1527 6 03/01/85 1412.0 comp_footnotes.incl.pl1 >ldd>include>comp_footnotes.incl.pl1 1528 7 03/01/85 1412.0 comp_insert.incl.pl1 >ldd>include>comp_insert.incl.pl1 1529 8 04/23/85 0912.3 comp_metacodes.incl.pl1 >spec>online>comp>comp_metacodes.incl.pl1 1530 9 03/01/85 1412.0 comp_option.incl.pl1 >ldd>include>comp_option.incl.pl1 1531 10 04/23/85 0912.4 comp_page.incl.pl1 >spec>online>comp>comp_page.incl.pl1 1532 11 03/01/85 1412.0 comp_shared.incl.pl1 >ldd>include>comp_shared.incl.pl1 1533 12 03/01/85 1412.0 comp_table.incl.pl1 >ldd>include>comp_table.incl.pl1 1534 13 04/23/85 0912.6 comp_text.incl.pl1 >spec>online>comp>comp_text.incl.pl1 1535 14 03/01/85 1411.9 comp_dvt.incl.pl1 >ldd>include>comp_dvt.incl.pl1 1536 15 03/01/85 1412.1 compstat.incl.pl1 >ldd>include>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. DC1 constant char(1) initial unaligned dcl 8-6 ref 1367 EMPTY constant bit(1) initial unaligned dcl 25 ref 98 112 176 186 259 266 285 328 383 677 728 780 845 891 938 976 982 1030 1033 EN_width 6 based fixed bin(31,0) level 2 dcl 11-7 ref 1456 LOOSE 000250 constant fixed bin(17,0) initial dcl 36 set ref 97* 98* 111* 112* 175* 176* 185* 186* 266* 285* 310* 328* 383* 677* 721* 728* 772* 780* 835* 845* 881* 891* 938* 982* 1033* art 4 based bit(1) level 4 in structure "text" packed unaligned dcl 13-49 in procedure "comp_hft_ctls_" set ref 386* 621* art 0(06) based bit(1) level 3 in structure "current_parms" packed unaligned dcl 13-209 in procedure "comp_hft_ctls_" set ref 621 621* 627* 627 art 1004(06) based bit(1) level 4 in structure "hfcblk" packed unaligned dcl 13-250 in procedure "comp_hft_ctls_" set ref 103 103* 117 117* 343* 852* 903* 908* 948* 1124 1379 art 116 based bit(1) level 4 in structure "hfcblk" packed unaligned dcl 13-250 in procedure "comp_hft_ctls_" set ref 1379* 1408 1413 1419 1469 art 1004(06) based bit(1) level 4 in structure "text" packed unaligned dcl 13-49 in procedure "comp_hft_ctls_" set ref 386* 605 611 art 4 based bit(1) level 4 in structure "hfcblk" packed unaligned dcl 13-250 in procedure "comp_hft_ctls_" set ref 103* 117* 343* 852* 903* 908* 948* 1135* 1513* artline 001442 automatic varying char(1020) dcl 1339 set ref 1370* 1434* 1448* 1448 1459* 1459 1472 avg 4 002444 automatic fixed bin(31,0) level 2 dcl 1345 set ref 1429 balftn 320 based structure level 3 in structure "col" dcl 2-5 in procedure "comp_hft_ctls_" balftn 2 based structure level 2 in structure "colhdr" dcl 2-21 in procedure "comp_hft_ctls_" balftn 320 based structure level 3 in structure "col0" dcl 2-37 in procedure "comp_hft_ctls_" blank_footer_ptr 3744 based pointer level 3 dcl 11-7 ref 1127 1127 blank_header_ptr 3746 based pointer level 3 dcl 11-7 ref 1127 1127 blkndx 1 based fixed bin(17,0) level 2 dcl 13-250 set ref 479* 569* 1085* 1111* 1135* 1157* 1315* 1513* blkptr parameter pointer dcl 1104 in procedure "comp_hft_ctls_" set ref 1099 1109 1133* blkptr 6 based pointer level 3 in structure "hfcblk" dcl 13-250 in procedure "comp_hft_ctls_" set ref 138* 208* 275* 294* blkptr 3752 based pointer level 3 in structure "shared" dcl 11-7 in procedure "comp_hft_ctls_" set ref 138 141* 143* 145 146 147 148 208 211* 213* 215 216 217 218 254 259* 266 266 269 275 278* 278 279 285 285 288 294 297* 297 298 301 416 416 421 424 427 427 427 427 438 439 440 440 452 461 470 494 495* 495 497 497 503 503 509 512 515 515 515 515 526 527 528 528 540 545 550 559 582 583* 583 588 595 596 601 604 605 610 611 614 615* 615 621 976 976* 982 982 986 1005 1012 1018 1018 1022 1030* 1033 1033 1036 1041 1041 1044 blkptr parameter pointer dcl 1150 in procedure "set_hf_lines" ref 1143 1155 1185 blkptr 6 based pointer level 3 in structure "text" dcl 13-49 in procedure "comp_hft_ctls_" ref 495 583 615 blktype 2 based char(2) level 2 in structure "text" dcl 13-49 in procedure "comp_hft_ctls_" ref 601 blktype 2 based char(2) level 2 in structure "hfcblk" dcl 13-250 in procedure "comp_hft_ctls_" set ref 617 1085* 1111* 1135* 1157* 1315* 1513* blnkct 000100 automatic fixed bin(31,0) dcl 23 set ref 995* 999* 1001 1004 1005* 1049* 1056* 1063* 1065* block_type 000010 internal static char(1) initial unaligned dcl 24 set ref 90* 92* 94 94 108 108 122 141 141 168* 170* 172 172 182 182 192 211 211 222* 226* 237 263 282 457 545 967* 969* bug_mode 4113 based bit(1) level 3 packed unaligned dcl 11-7 ref 60 396 479 569 1080 1111 1135 1157 1315 1358 1513 call_box based structure level 1 dcl 7-18 call_box_ptr 001226 automatic pointer dcl 7-17 set ref 131* 132* 133 201* 202* 203 246* 247* 248 call_stack based structure level 1 dcl 7-13 call_stk_ptr 126 based pointer level 3 dcl 15-23 ref 131 131 201 201 246 246 cap_used 11 based fixed bin(31,0) level 3 dcl 13-49 set ref 1018* cbar 117 based structure level 4 in structure "hfcblk" dcl 13-250 in procedure "comp_hft_ctls_" set ref 1058* 1380* cbar 1005 based structure level 4 in structure "text" dcl 13-49 in procedure "comp_hft_ctls_" set ref 387* cbar 1005 based structure level 4 in structure "ftnhdr" dcl 6-10 in procedure "comp_hft_ctls_" set ref 680* cbar 1 based structure level 3 in structure "current_parms" dcl 13-209 in procedure "comp_hft_ctls_" set ref 1058 cbar 1005 based structure level 4 in structure "hfcblk" dcl 13-250 in procedure "comp_hft_ctls_" set ref 1295 1380 1501 cbar_type 2 based varying char(4) level 2 dcl 11-7 set ref 1060* ccol 1 based fixed bin(17,0) level 2 dcl 12-15 ref 1493 chars 1 based structure level 2 dcl 11-7 col based structure level 1 dcl 2-5 col_count 20 based fixed bin(17,0) level 3 dcl 10-11 ref 301 col_index 21 based fixed bin(17,0) level 3 dcl 10-11 set ref 259* 479* 569* 976* 1030* 1085* colhdr based structure level 1 dcl 2-21 colno 12 based fixed bin(17,0) level 3 packed unaligned dcl 13-250 ref 1408 1489 colptr 4 based pointer array level 2 in structure "tblfmt" dcl 12-15 in procedure "comp_hft_ctls_" ref 1493 colptr 3754 based pointer level 3 in structure "shared" dcl 11-7 in procedure "comp_hft_ctls_" ref 301 310 323 330 347 348 348 360 365 366 380 383 385 386 386 387 392 396 399 400 400 404 479 479 569 569 1085 1085 cols 14 based structure level 3 dcl 10-11 column_ptr 42 based pointer array level 2 dcl 10-11 ref 313 313 313 316 317 335 352 353 353 372 372 392 404 comp_abort 001220 stack reference condition dcl 52 ref 756 806 868 922 comp_break_ 000014 constant entry external dcl 4-11 ref 450 538 599 comp_dvt based structure level 1 dcl 14-19 comp_head_page_ 000016 constant entry external dcl 4-33 ref 257 1027 comp_measure_ 000020 constant entry external dcl 4-48 ref 1426 comp_read_$line 000026 constant entry external dcl 4-57 ref 132 202 247 comp_read_$name 000022 constant entry external dcl 4-50 ref 710 824 comp_read_$number 000024 constant entry external dcl 4-53 ref 995 1049 1180 1243 1250 comp_report_ 000030 constant entry external dcl 4-59 ref 79 125 157 195 241 434 522 753 803 814 865 919 929 1119 1194 1272 comp_space_ 000032 constant entry external dcl 4-66 ref 1005 1065 1295 1501 comp_util_$add_text 000034 constant entry external dcl 4-75 ref 474 564 1419 1475 comp_util_$display 000036 constant entry external dcl 4-77 ref 60 1111 1157 1358 comp_util_$escape 000040 constant entry external dcl 4-80 ref 1124 comp_util_$getblk 000042 constant entry external dcl 4-82 ref 98 112 176 186 259 266 285 328 383 677 728 780 845 891 938 976 982 1030 1033 comp_util_$relblk 000044 constant entry external dcl 4-94 ref 97 111 175 185 310 721 772 835 881 comp_util_$set_bin 000046 constant entry external dcl 4-100 ref 84 162 232 958 comp_util_$set_net_page 000050 constant entry external dcl 4-104 ref 454 490 542 578 749 799 861 915 compstat$compconst 000052 external static structure level 1 dcl 15-14 const based structure level 1 dcl 15-23 count 12(18) based fixed bin(17,0) level 3 in structure "text" packed unaligned dcl 13-49 in procedure "comp_hft_ctls_" set ref 365* 438* 526* count 12(18) based fixed bin(17,0) level 3 in structure "ftnhdr" packed unaligned dcl 6-10 in procedure "comp_hft_ctls_" set ref 688* count 12(18) based fixed bin(17,0) level 3 in structure "hfcblk" packed unaligned dcl 13-250 in procedure "comp_hft_ctls_" set ref 339 462* 479* 551* 569* 733 785 852 898 908 943 948 1085* 1135* 1157* 1169* 1211* 1315* 1513* count 14(18) based fixed bin(17,0) level 4 in structure "page" packed unaligned dcl 10-11 in procedure "comp_hft_ctls_" ref 312 332 332 349 349 368 368 389 389 401 401 ctl based structure level 1 dcl 13-157 ctl_index parameter fixed bin(17,0) dcl 19 set ref 14 60* 66 ctl_line based varying char(1020) dcl 13-158 set ref 60* 64 79* 84 84 90 90 125* 128 128 128 128 157* 162 162 168 168 195* 198 198 198 198 232 232 241* 244 244 306 360 434* 522* 683 753* 803* 814* 865* 919* 929* 934 958 958 963 963 967 967 990 1119* 1194* 1272* ctl_ptr 132 based pointer level 3 dcl 15-23 ref 60 64 64 79 79 79 84 84 84 84 90 90 90 90 125 125 125 128 128 128 128 133 157 157 157 162 162 162 162 168 168 168 168 195 195 195 198 198 198 198 203 232 232 232 232 241 241 241 244 244 248 306 306 360 360 434 434 434 497 522 522 522 683 683 710 710 753 753 753 803 803 803 814 814 814 824 824 865 865 865 919 919 919 929 929 929 934 934 958 958 958 958 963 963 963 963 963 963 967 967 967 967 990 990 995 995 1004 1006 1049 1049 1119 1119 1119 1124 1124 1180 1180 1194 1194 1194 1243 1243 1250 1250 1272 1272 1272 1375 1426 1426 1441 cur 126 based structure level 3 in structure "hfcblk" dcl 13-250 in procedure "comp_hft_ctls_" cur 10 based structure level 2 in structure "txtlin" dcl 13-161 in procedure "comp_hft_ctls_" cur 10 based structure level 2 in structure "text_entry" dcl 13-68 in procedure "comp_hft_ctls_" cur 1000 based pointer level 3 in structure "hfcblk" dcl 13-250 in procedure "comp_hft_ctls_" set ref 441* 464* 529* 553* 1213* 1485 1503 1503 cur 126 based structure level 3 in structure "text" dcl 13-49 in procedure "comp_hft_ctls_" cur 2730 based pointer level 3 in structure "hfcblk" dcl 13-250 in procedure "comp_hft_ctls_" set ref 443* 466* 531* 555* 1215* cur 10 based structure level 2 in structure "ctl" dcl 13-157 in procedure "comp_hft_ctls_" cur 10 based structure level 2 in structure "line" dcl 1342 in procedure "title_" cur 126 based structure level 3 in structure "ftnhdr" dcl 6-10 in procedure "comp_hft_ctls_" current_parms based structure level 1 dcl 13-209 set ref 271 290 736 788 938 938 943 976 976 982 982 987 1030 1030 1033 1033 1038 current_parms_ptr 134 based pointer level 3 dcl 15-23 set ref 74 139 145* 152 209 215* 229 232 259* 266* 271 276 279* 285* 290 295 298* 301 328* 383* 494* 582* 614* 620 620 621 621 626 626 627 627 736 788 938 938 943 954 958 976 976 982 982 987 1030 1030 1033 1033 1038 1058 1059 1243 dclong1_len constant fixed bin(17,0) initial dcl 3-62 ref 1366 dclong_val based structure level 1 packed unaligned dcl 3-54 default 2 based bit(1) level 3 packed unaligned dcl 13-161 set ref 696* default_parms based structure level 1 dcl 13-213 default_parms_ptr 136 based pointer level 3 dcl 15-23 set ref 98* 112* 176* 186* 728* 780* 845* 891* del 117(01) based bit(1) level 5 in structure "hfcblk" packed unaligned dcl 13-250 in procedure "comp_hft_ctls_" set ref 1060 del 1(01) based bit(1) level 4 in structure "current_parms" packed unaligned dcl 13-209 in procedure "comp_hft_ctls_" set ref 1059* depth 12 based fixed bin(31,0) level 2 dcl 12-26 set ref 1494* 1494 1495 devptr 140 based pointer level 3 dcl 15-23 ref 84 162 232 692 693 694 958 1441 1441 divide builtin function dcl 49 ref 479 479 479 479 479 479 569 569 569 569 569 569 1085 1085 1085 1085 1085 1085 1085 1085 1111 1111 1135 1135 1135 1135 1157 1157 1157 1157 1157 1157 1185 1185 1315 1315 1315 1315 1358 1358 1441 1513 1513 1513 1513 entry 1026 based structure array level 4 dcl 13-250 set ref 1381 epftrptr 3764 based pointer level 3 dcl 11-7 set ref 97* 98* 100 143 416 427 460 474* 479 479 479 479 721 721* 728 728* 731 743* 1127 1127 1185 ephdrptr 3766 based pointer level 3 dcl 11-7 set ref 103 103 175* 176* 178 213 503 515 549 564* 835 835* 842 845* 847 850 855* ercd 000101 automatic fixed bin(35,0) dcl 26 set ref 1049* 1052 even 12 based fixed bin(31,0) level 4 dcl 10-11 ref 427 515 750 862 1185 exit_str 000102 automatic varying char(256) dcl 28 set ref 56* 479* 569* 1085 1085* famndx 112 based fixed bin(17,0) level 3 dcl 13-161 set ref 692* field 002042 automatic varying char(1020) dcl 1340 set ref 1363* 1385* 1385 1387 1389 1390* 1390 1399* 1399 1400 1401* 1401 1466* 1466 file based structure level 2 dcl 7-32 first 776 based pointer level 3 in structure "text" dcl 13-49 in procedure "comp_hft_ctls_" ref 470 559 first 776 based pointer level 3 in structure "hfcblk" dcl 13-250 in procedure "comp_hft_ctls_" ref 441 464 529 553 1213 1220 1306 first 2726 based pointer level 3 in structure "hfcblk" dcl 13-250 in procedure "comp_hft_ctls_" ref 443 466 531 555 1215 first 776 based pointer level 3 in structure "ftnhdr" dcl 6-10 in procedure "comp_hft_ctls_" ref 689 fmt 2 based structure array level 2 dcl 12-5 fntstk 1024 based structure level 3 dcl 13-250 fntstk_entry based structure level 1 dcl 5-6 fnxt 000203 automatic fixed bin(21,0) dcl 29 set ref 710* 711 824* 825 995* 997 1049* 1054 1180* 1183 1243* 1250* 1253 font 100 based structure level 2 in structure "txtlin" dcl 13-161 in procedure "comp_hft_ctls_" font 100 based structure level 2 in structure "ctl" dcl 13-157 in procedure "comp_hft_ctls_" set ref 497* font 216 based structure level 3 in structure "hfcblk" dcl 13-250 in procedure "comp_hft_ctls_" set ref 1381* 1426 1426 font 134 based structure level 4 in structure "hfcblk" dcl 13-250 in procedure "comp_hft_ctls_" set ref 1381* font 216 based structure level 3 in structure "text" dcl 13-49 in procedure "comp_hft_ctls_" set ref 497 footnote_header_ptr 3774 based pointer level 3 dcl 11-7 set ref 673 677* 680 683* 688 689 footnote_parms based structure level 1 dcl 6-12 set ref 677 677 footnote_parms_ptr 146 based pointer level 3 dcl 15-23 ref 677 677 format_break 000275 constant fixed bin(17,0) initial dcl 1-9 set ref 450* 538* 599* ftnhdr based structure level 1 dcl 6-10 ftrptr 312 based pointer level 2 in structure "col" dcl 2-5 in procedure "comp_hft_ctls_" set ref 310* 317* 323 330* 335* ftrptr 1010 based pointer level 3 in structure "text" dcl 13-49 in procedure "comp_hft_ctls_" set ref 285 285* 288 297 982 982* 986 1005* 1012* ftrusd 314 based fixed bin(31,0) level 2 dcl 2-5 set ref 313 316* 347* 352* galley_opt 1(09) based bit(1) level 2 packed unaligned dcl 9-5 ref 257 454 490 542 578 746 796 858 912 1027 hdr 4 based structure level 2 in structure "ftnhdr" dcl 6-10 in procedure "comp_hft_ctls_" hdr 4 based structure level 2 in structure "text" dcl 13-49 in procedure "comp_hft_ctls_" hdr 15 based structure level 2 in structure "page" dcl 10-11 in procedure "comp_hft_ctls_" hdr 316 based structure level 2 in structure "col" dcl 2-5 in procedure "comp_hft_ctls_" hdr 4 based structure level 2 in structure "hfcblk" dcl 13-250 in procedure "comp_hft_ctls_" hdrptr 1014 based pointer level 3 in structure "text" dcl 13-49 in procedure "comp_hft_ctls_" set ref 266 266* 269 278 1033 1033* 1036 1041 1041 hdrptr 452 based pointer level 2 in structure "col" dcl 2-5 in procedure "comp_hft_ctls_" set ref 360 365 380 383* 385 386 386 387 392* 392 396 399* 400 404 hdrusd 454 based fixed bin(31,0) level 2 dcl 2-5 set ref 366* 372* 400* 404* hdspc 23 based fixed bin(31,0) level 3 dcl 10-11 ref 479 479 569 569 1085 1085 headed 15(03) based bit(1) level 4 packed unaligned dcl 10-11 ref 257 1027 hf_lin_key 000204 automatic varying char(1) dcl 30 set ref 640* 646* 651* 662* 668* 701* 710* 713* 715 715 761 769 769 824* 827* 829 829 873 878 878 hfcblk based structure level 1 dcl 13-250 hfcblk_ptr 001244 automatic pointer dcl 13-249 set ref 58* 100* 101 103 103 114* 115 117 117 138 139 178* 179 188* 189 208 209 269* 271 272 273 275 276 288* 290 291 292 294 295 323* 325 328* 330 335 339 342 343 343 346* 347 348 352 353 396* 441 441 443 443 445 460* 461 462 462 464 464 466 466 468 529 529 531 531 533 549* 550 551 551 553 553 555 555 557 569 569 569 569 595* 617 731* 733 736 737 738 739 740 740 783* 785 788 789 790 847* 848 850* 852 852 852 893* 894 896* 898 901 902 903 903 908 908 908 941* 943 943 948 948 948 986* 987 988 1018 1036* 1038 1041* 1044* 1058 1060 1063* 1065* 1085 1085 1085 1085 1085 1085 1085 1085 1109* 1111 1111 1124 1127 1127 1127 1127 1127 1127 1127 1127 1127 1127 1127 1127 1133 1135 1135 1135 1135 1135 1135 1135 1135 1155* 1157 1157 1157 1157 1157 1157 1157 1169 1169 1169 1185 1185 1185 1211 1213 1213 1215 1215 1217 1220 1220 1230 1230 1243 1250 1256 1259 1259 1259 1262 1262 1262 1262 1281 1281 1281 1289 1289 1289 1295* 1295 1303 1303 1305 1306 1310 1310 1315 1315 1315 1315 1315 1315 1315 1370 1375 1376 1376 1377 1378 1379 1379 1380 1380 1381 1381 1381 1381 1389 1390 1391 1391 1391 1391 1391 1398 1398 1400 1400 1405 1408 1408 1411 1413 1416 1417 1417 1419* 1419 1419 1419 1426 1426 1426 1434 1435 1441 1441 1448 1449 1449 1456 1456 1459 1460 1460 1469 1472 1473 1475* 1475 1475 1485 1487 1487 1489 1489 1501* 1501 1503 1503 1509 1510 1510 1511 1511 1513 1513 1513 1513 1513 1513 1513 1513 hscales 000223 constant fixed bin(31,0) initial array dcl 31 set ref 84* 162* 232* 958* 1243* 1250* i 000206 automatic fixed bin(17,0) dcl 33 set ref 312* 313 313 313 316 317* 332* 335* 349* 352 353 353* 368* 372 372* 389* 392* 401* 404* 472* 473* 561* 562* ii 000207 automatic fixed bin(17,0) dcl 33 set ref 1224* 1225* 1308* 1309* indent 12 based fixed bin(31,0) level 3 in structure "current_parms" dcl 13-209 in procedure "comp_hft_ctls_" set ref 229 954 1243 indent 1016 based fixed bin(31,0) level 4 in structure "hfcblk" dcl 13-250 in procedure "comp_hft_ctls_" set ref 273* 292* 1259 indent 1016 based fixed bin(31,0) level 4 in structure "text" dcl 13-49 in procedure "comp_hft_ctls_" set ref 147* 217* indent 1022 based fixed bin(31,0) level 4 in structure "hfcblk" dcl 13-250 in procedure "comp_hft_ctls_" set ref 1262 index 1 based fixed bin(17,0) level 2 in structure "call_stack" dcl 7-13 in procedure "comp_hft_ctls_" ref 131 201 246 index 1024 based fixed bin(17,0) level 4 in structure "hfcblk" dcl 13-250 in procedure "comp_hft_ctls_" set ref 1381 index builtin function dcl 1356 in procedure "title_" ref 1391 1391 1391 1391 1391 index 160 based fixed bin(21,0) level 2 in structure "ctl" dcl 13-157 in procedure "comp_hft_ctls_" set ref 64 84 84 90 90 162 162 168 168 232 232 306 360 683 934 958 958 963 963* 963 963 967 967 990 index builtin function dcl 49 in procedure "comp_hft_ctls_" ref 84 122 162 192 232 958 1116 1124 index builtin function dcl 1153 in procedure "set_hf_lines" ref 1243 1269 info 161 based structure level 2 in structure "line" dcl 1342 in procedure "title_" info 277 based structure level 3 in structure "text" dcl 13-49 in procedure "comp_hft_ctls_" info 161 based structure level 2 in structure "text_entry" dcl 13-68 in procedure "comp_hft_ctls_" info 277 based structure level 3 in structure "ftnhdr" dcl 6-10 in procedure "comp_hft_ctls_" info 161 based structure level 2 in structure "txtlin" dcl 13-161 in procedure "comp_hft_ctls_" info 277 based structure level 3 in structure "hfcblk" dcl 13-250 in procedure "comp_hft_ctls_" set ref 1375* info 161 based structure level 2 in structure "ctl" dcl 13-157 in procedure "comp_hft_ctls_" set ref 79 79 125 125 133* 157 157 195 195 203* 241 241 248* 434 434 522 522 710 710 753 753 803 803 814 814 824 824 865 865 919 919 929 929 995 995 1049 1049 1119 1119 1124 1124 1180 1180 1194 1194 1243 1243 1250 1250 1272 1272 1375 1426 1426 info 70 based structure level 2 in structure "call_box" dcl 7-18 in procedure "comp_hft_ctls_" ref 133 203 248 init_fam 47 based fixed bin(17,0) level 2 dcl 14-19 ref 692 init_mem 50 based fixed bin(17,0) level 2 dcl 14-19 ref 693 init_ps 43 based fixed bin(31,0) level 2 dcl 14-19 ref 694 input 116 based structure level 2 in structure "text" dcl 13-49 in procedure "comp_hft_ctls_" set ref 439* 527* input 116 based structure level 2 in structure "hfcblk" dcl 13-250 in procedure "comp_hft_ctls_" set ref 1281 1281 1289 1289 1419 1419 1475 1475 input_line 375 based varying char(1020) level 2 in structure "text" dcl 13-49 in procedure "comp_hft_ctls_" set ref 440 528 input_line 375 based varying char(1020) level 2 in structure "hfcblk" dcl 13-250 in procedure "comp_hft_ctls_" set ref 1370 1389 1390 1391 1391 1391 1391 1391 1398 1398 1400 1400 1405 1411 1417* 1417 1426 1434 1448 1459 1472* 1509* insert based structure level 1 dcl 7-32 ioa_ 000054 constant entry external dcl 15-70 ref 60 1094 1111 1135 1157 1315 1358 1513 ioa_$nnl 000056 constant entry external dcl 15-70 ref 1084 1085 ioa_$rsnnl 000012 constant entry external dcl 54 ref 479 569 ipart 002442 automatic fixed bin(17,0) dcl 1341 set ref 1387* 1408 1416 1426 1431 1438 1453* keep 1006(04) based bit(1) level 4 in structure "text" packed unaligned dcl 13-49 in procedure "comp_hft_ctls_" set ref 604 610 keep 2(04) based bit(1) level 3 in structure "current_parms" packed unaligned dcl 13-209 in procedure "comp_hft_ctls_" set ref 620* 620 626* 626 lead parameter fixed bin(31,0) dcl 1331 in procedure "title_" set ref 1326 1358 1358 1479 1486 1487 1494 1501* lead parameter fixed bin(31,0) dcl 1151 in procedure "set_hf_lines" set ref 1143 1157 1157 1295 1295* lead parameter fixed bin(31,0) dcl 1107 in procedure "comp_hft_ctls_" set ref 1099 1111 1111 1127* left 36 based structure level 3 in structure "prvtblcol" dcl 12-44 in procedure "comp_hft_ctls_" left 12 based structure level 2 in structure "text_parms" dcl 13-206 in procedure "comp_hft_ctls_" left 1016 based structure level 3 in structure "hfcblk" dcl 13-250 in procedure "comp_hft_ctls_" left 1016 based structure level 3 in structure "ftnhdr" dcl 6-10 in procedure "comp_hft_ctls_" left 1016 based structure level 3 in structure "text" dcl 13-49 in procedure "comp_hft_ctls_" left 12 based structure level 2 in structure "current_parms" dcl 13-209 in procedure "comp_hft_ctls_" left 36 based structure level 3 in structure "tblcol" dcl 12-26 in procedure "comp_hft_ctls_" left 36 based structure level 3 in structure "tblcol0" dcl 12-41 in procedure "comp_hft_ctls_" left 12 based structure level 2 in structure "default_parms" dcl 13-213 in procedure "comp_hft_ctls_" left 12 based structure level 2 in structure "footnote_parms" dcl 6-12 in procedure "comp_hft_ctls_" leng 0(18) 002623 automatic fixed bin(9,0) level 2 packed unsigned unaligned dcl 1351 set ref 1366* length builtin function dcl 49 ref 84 90 162 168 232 306 360 683 934 958 963 967 1157 1411 line_area 776 based structure level 2 in structure "text" dcl 13-49 in procedure "comp_hft_ctls_" line_area 776 based structure level 2 in structure "hfcblk" dcl 13-250 in procedure "comp_hft_ctls_" line_area 776 based structure level 2 in structure "ftnhdr" dcl 6-10 in procedure "comp_hft_ctls_" line_area based structure level 1 dcl 13-26 in procedure "comp_hft_ctls_" line_area_ptr 001236 automatic pointer initial dcl 13-25 set ref 441* 442 464* 465 470* 470* 472 473* 477 529* 530 553* 554 559* 559* 561 562* 567 13-25* 1213* 1214 1220* 1220* 1224 1225* 1235 1306* 1306* 1308 1309* 1312 1485* 1486 1486 line_text parameter varying char dcl 1106 set ref 1099 1111* 1116 1124 1124* 1127* linespace 164 based fixed bin(31,0) level 2 in structure "ctl" dcl 13-157 in procedure "comp_hft_ctls_" set ref 1004* 1006* linespace 1020 based fixed bin(31,0) level 3 in structure "text" dcl 13-49 in procedure "comp_hft_ctls_" set ref 385* linespace 164 based fixed bin(31,0) level 2 in structure "txtlin" dcl 13-161 in procedure "comp_hft_ctls_" set ref 691* 1230 1231* 1310 1486* linespace 302 based fixed bin(31,0) level 3 in structure "hfcblk" dcl 13-250 in procedure "comp_hft_ctls_" set ref 1376* 1510* linespace 1020 based fixed bin(31,0) level 3 in structure "hfcblk" dcl 13-250 in procedure "comp_hft_ctls_" set ref 342* 348 353 738* 790* 902* 988* 1281* 1289* 1510 lino 000210 automatic fixed bin(17,0) initial dcl 34 set ref 34* 1180* 1185 1185 1201 1209* 1220 1227 1237* 1281* 1289* 1303 1503 linptr parameter pointer dcl 1332 in procedure "title_" ref 1326 linptr 10 based pointer array level 2 in structure "line_area" dcl 13-26 in procedure "comp_hft_ctls_" ref 473 562 689 1225 1309 1486 1503 linptr parameter pointer dcl 1105 in procedure "comp_hft_ctls_" set ref 1099 1127* lmarg 303 based fixed bin(31,0) level 3 in structure "hfcblk" dcl 13-250 in procedure "comp_hft_ctls_" set ref 739* 1243* 1250* 1256* 1259* lmarg 165 based fixed bin(31,0) level 2 in structure "txtlin" dcl 13-161 in procedure "comp_hft_ctls_" set ref 695* lmarg 165 based fixed bin(31,0) level 2 in structure "ctl" dcl 13-157 in procedure "comp_hft_ctls_" ref 1441 lndx parameter fixed bin(17,0) dcl 1334 set ref 1326 1358* 1377 loc_lead 000211 automatic fixed bin(31,0) dcl 35 set ref 691* mark 002623 automatic char(1) level 2 packed unaligned dcl 1351 set ref 1367* max builtin function dcl 1356 in procedure "title_" ref 1456 1495 max builtin function dcl 1153 in procedure "set_hf_lines" ref 1243 1303 maxdepth 2 based fixed bin(31,0) level 2 dcl 12-15 set ref 1495* 1495 meas 002443 automatic bit(1) unaligned dcl 1343 set ref 1408* 1410* 1419* meas1 002444 automatic structure level 1 dcl 1345 set ref 1425* 1426 1426 meas2 002532 automatic structure level 1 dcl 1346 set ref 1426 1426 measure 1021 based fixed bin(31,0) level 3 in structure "text" dcl 13-49 in procedure "comp_hft_ctls_" set ref 148* 218* 301* measure 1021 based fixed bin(31,0) level 3 in structure "hfcblk" dcl 13-250 in procedure "comp_hft_ctls_" set ref 1262 measure 11 based fixed bin(31,0) level 3 in structure "page" dcl 10-11 in procedure "comp_hft_ctls_" set ref 84* 148 162* 218 740 measure 457 based fixed bin(31,0) level 3 in structure "col" dcl 2-5 in procedure "comp_hft_ctls_" ref 301 measure 15 based fixed bin(31,0) level 2 in structure "current_parms" dcl 13-209 in procedure "comp_hft_ctls_" set ref 232* 301* 958* memndx 126 based fixed bin(17,0) level 3 dcl 13-161 set ref 693* min_WS 30 based fixed bin(31,0) level 2 dcl 14-19 set ref 84* 162* 232* 958* 1441 1441 mx_ttl_ndx 72 based fixed bin(17,0) level 3 dcl 13-250 set ref 1169* 1220 1303* 1303 ndx 1 based fixed bin(17,0) level 2 in structure "tbldata" dcl 12-5 in procedure "comp_hft_ctls_" ref 1492 ndx 5 based fixed bin(17,0) level 2 in structure "line_area" dcl 13-26 in procedure "comp_hft_ctls_" set ref 442* 465* 472 530* 554* 561 1214* 1224 1308 1486 1503 ndx 3 based fixed bin(17,0) level 2 in structure "text_area" dcl 13-36 in procedure "comp_hft_ctls_" set ref 444* 467* 532* 556* 1216* ndx_flag parameter bit(1) unaligned dcl 1148 set ref 1143 1157* 1174 1256 1278 1300 net 306 based fixed bin(31,0) level 3 in structure "hfcblk" dcl 13-250 in procedure "comp_hft_ctls_" set ref 740* 1441 1456 net 12 based structure level 3 in structure "page" dcl 10-11 in procedure "comp_hft_ctls_" net 450 based fixed bin(31,0) level 3 in structure "col" dcl 2-5 in procedure "comp_hft_ctls_" set ref 313* 313 348* 348 353* 353 new_indent 000212 automatic fixed bin(31,0) dcl 37 set ref 84* 88* 147 162* 166* 217 229* 232* 232* 273 292 954* 958* 958* next based pointer level 2 dcl 13-26 ref 477 567 1235 1312 next_text 1002 based pointer level 2 dcl 13-250 set ref 445* 468* 533* 557* 1217* null builtin function dcl 49 ref 58 103 117 254 266 285 317 325 360 372 380 421 470 497 509 559 588 673 721 728 772 780 835 842 881 888 934 938 976 982 1018 1022 1033 1041 1085 12-24 12-43 13-25 13-35 1220 1306 odd 13 based fixed bin(31,0) level 4 dcl 10-11 ref 427 515 800 916 1185 opftrptr 4010 based pointer level 3 dcl 11-7 set ref 111* 112* 114 141 416 427 772 772* 780 780* 783 793* 1127 1127 1185 ophdrptr 4012 based pointer level 3 dcl 11-7 set ref 117 117 185* 186* 188 211 503 515 545 881 881* 888 891* 893 896 906* 1127 1127 1185 option based structure level 1 dcl 9-5 option_ptr 164 based pointer level 3 dcl 15-23 ref 257 454 490 542 578 746 796 858 912 1027 p_field parameter varying char dcl 1333 set ref 1326 1358* 1363 page based structure level 1 dcl 10-11 in procedure "comp_hft_ctls_" page 1006(05) based bit(1) level 4 in structure "hfcblk" packed unaligned dcl 13-250 in procedure "comp_hft_ctls_" set ref 101* 115* 179* 189* 737* 789* 848* 894* 901* page_header based structure level 1 dcl 10-27 page_parms based structure level 1 dcl 10-86 page_ptr 170 based pointer level 3 dcl 15-23 ref 84 148 162 218 257 259 301 312 313 313 313 316 317 332 332 335 349 349 352 353 353 368 368 372 372 389 389 392 401 401 404 427 427 479 479 479 515 515 569 569 569 740 750 800 862 916 976 1027 1030 1085 1085 1085 1185 1185 parms 1004 based structure level 2 in structure "hfcblk" dcl 13-250 in procedure "comp_hft_ctls_" set ref 271* 290* 461* 550* 736* 788* 943* 987* 1038* parms 1004 based structure level 2 in structure "text" dcl 13-49 in procedure "comp_hft_ctls_" set ref 145 215 279 298 461 550 parms 457 based structure level 2 in structure "col" dcl 2-5 in procedure "comp_hft_ctls_" parms 1004 based structure level 2 in structure "ftnhdr" dcl 6-10 in procedure "comp_hft_ctls_" parms 1 based structure level 2 in structure "page" dcl 10-11 in procedure "comp_hft_ctls_" parms_ptr 106 based pointer level 3 in structure "text" dcl 13-49 in procedure "comp_hft_ctls_" ref 494 582 614 parms_ptr 106 based pointer level 3 in structure "hfcblk" dcl 13-250 in procedure "comp_hft_ctls_" set ref 139* 209* 276* 295* part based varying char(1020) dcl 1347 set ref 1370* 1389* 1390 1391 1391 1391 1391 1391 1398* 1398 1400* 1400 1405 1411 1417 1426* 1434 1448 1459 part_added 002620 automatic bit(1) unaligned dcl 1348 set ref 1369* 1418* 1474* 1482 pquad 002621 automatic bit(6) array unaligned dcl 1349 set ref 1371* 1372* 1373* 1416 1426* prvtblcolptr 001234 automatic pointer initial dcl 12-43 set ref 12-43* pspc 447 based fixed bin(31,0) level 3 dcl 2-5 ref 479 479 569 569 1085 1085 ptr 2 based pointer array level 2 in structure "call_stack" dcl 7-13 in procedure "comp_hft_ctls_" ref 131 201 246 ptr 172 based pointer level 2 in structure "txtlin" dcl 13-161 in procedure "comp_hft_ctls_" ref 1232 ptr 310 based pointer level 3 in structure "text" dcl 13-49 in procedure "comp_hft_ctls_" set ref 440* 528* ptr 14 based pointer array level 3 in structure "tbldata" dcl 12-5 in procedure "comp_hft_ctls_" ref 1492 ptr 172 based pointer level 2 in structure "ctl" dcl 13-157 in procedure "comp_hft_ctls_" ref 60 64 79 84 84 90 90 125 128 128 128 128 157 162 162 168 168 195 198 198 198 198 232 232 241 244 244 306 360 434 522 683 753 803 814 865 919 929 934 958 958 963 963 967 967 990 1119 1194 1272 ptr 000052 external static pointer level 2 in structure "compstat$compconst" dcl 15-14 in procedure "comp_hft_ctls_" ref 60 60 64 64 74 79 79 79 84 84 84 84 84 84 90 90 90 90 97 98 98 100 103 103 111 112 112 114 117 117 125 125 125 128 128 128 128 131 131 133 138 139 141 141 143 143 145 145 146 147 148 148 152 157 157 157 162 162 162 162 162 162 168 168 168 168 175 176 176 178 185 186 186 188 195 195 195 198 198 198 198 201 201 203 208 209 211 211 213 213 215 215 216 217 218 218 229 232 232 232 232 232 232 241 241 241 244 244 246 246 248 254 257 257 259 259 259 266 266 266 269 271 275 276 278 278 279 279 285 285 285 288 290 294 295 297 297 298 298 301 301 301 301 301 306 306 310 312 313 313 313 316 317 323 328 330 332 332 335 347 348 348 349 349 352 353 353 360 360 360 365 366 368 368 372 372 380 383 383 385 386 386 387 389 389 392 392 396 396 399 400 400 401 401 404 404 416 416 416 416 421 424 427 427 427 427 427 427 427 427 434 434 434 438 439 439 440 440 452 454 460 461 470 474 479 479 479 479 479 479 479 479 479 479 490 494 494 495 495 497 497 497 503 503 503 503 509 512 515 515 515 515 515 515 515 515 522 522 522 526 527 527 528 528 540 542 545 545 549 550 559 564 569 569 569 569 569 569 578 582 582 583 583 588 595 596 601 604 605 610 611 614 614 615 615 620 620 621 621 621 626 626 627 627 673 677 677 677 680 683 683 683 688 689 692 693 694 710 710 721 721 728 728 728 731 736 740 743 746 750 753 753 753 772 772 780 780 780 783 788 793 796 800 803 803 803 814 814 814 824 824 835 835 842 845 845 847 850 855 858 862 865 865 865 881 881 888 891 891 893 896 906 912 916 919 919 919 929 929 929 934 934 934 938 938 938 938 941 943 946 954 958 958 958 958 958 958 963 963 963 963 963 963 967 967 967 967 976 976 976 976 976 982 982 982 982 986 987 990 990 995 995 1004 1005 1006 1012 1018 1018 1022 1027 1027 1030 1030 1030 1030 1033 1033 1033 1033 1036 1038 1041 1041 1044 1049 1049 1058 1059 1060 1080 1085 1085 1085 1085 1085 1111 1116 1119 1119 1119 1124 1124 1127 1127 1127 1127 1127 1127 1127 1127 1127 1127 1127 1127 1135 1157 1180 1180 1185 1185 1185 1185 1185 1185 1194 1194 1194 1243 1243 1243 1250 1250 1269 1272 1272 1272 1315 1358 1375 1385 1389 1398 1399 1400 1401 1401 1426 1426 1441 1441 1441 1456 1466 1489 1492 1492 1513 ptrs 126 based structure level 2 in structure "const" dcl 15-23 in procedure "comp_hft_ctls_" ptrs 3742 based structure level 2 in structure "shared" dcl 11-7 in procedure "comp_hft_ctls_" pwidth 002622 automatic fixed bin(31,0) dcl 1350 set ref 1429* 1435 1441 1449 1456 1460 quad 1004 based bit(6) level 4 in structure "hfcblk" packed unaligned dcl 13-250 in procedure "comp_hft_ctls_" set ref 1511 quad 120(11) based bit(6) level 4 in structure "hfcblk" packed unaligned dcl 13-250 in procedure "comp_hft_ctls_" set ref 1416* 1473* 1511* quadc constant bit(6) initial unaligned dcl 13-148 ref 1372 quadl constant bit(6) initial unaligned dcl 13-148 ref 1371 1473 quadr constant bit(6) initial unaligned dcl 13-148 ref 1373 right 1022 based structure level 3 dcl 13-250 rmarg 312 based fixed bin(31,0) level 3 dcl 13-250 set ref 740* 1262* round builtin function dcl 49 ref 1441 save_varfld 000213 automatic varying char(1020) dcl 38 set ref 719* 764 833* 873 shared based structure level 1 dcl 11-7 shared_ptr 200 based pointer level 3 dcl 15-23 ref 60 97 98 100 103 103 111 112 114 117 117 138 141 141 143 143 145 146 147 148 175 176 178 185 186 188 208 211 211 213 213 215 216 217 218 254 259 266 266 269 275 278 278 279 285 285 288 294 297 297 298 301 301 301 310 323 330 347 348 348 360 365 366 380 383 385 386 386 387 392 396 396 399 400 400 404 416 416 416 416 421 424 427 427 427 427 427 427 438 439 440 440 452 460 461 470 474 479 479 479 479 479 479 479 494 495 495 497 497 503 503 503 503 509 512 515 515 515 515 515 515 526 527 528 528 540 545 545 549 550 559 564 569 569 569 582 583 583 588 595 596 601 604 605 610 611 614 615 615 621 673 677 680 683 688 689 721 721 728 728 731 743 772 772 780 780 783 793 835 835 842 845 847 850 855 881 881 888 891 893 896 906 934 938 938 941 946 976 976 982 982 986 1005 1012 1018 1018 1022 1030 1033 1033 1036 1041 1041 1044 1060 1080 1085 1085 1111 1116 1127 1127 1127 1127 1127 1127 1127 1127 1127 1127 1127 1127 1135 1157 1185 1185 1185 1185 1269 1315 1358 1385 1389 1398 1399 1400 1401 1401 1456 1466 1489 1492 1492 1513 shift_ctl 002623 automatic structure level 1 packed unaligned dcl 1351 set ref 1365 shift_str based char(7) unaligned dcl 1352 ref 1448 1459 shift_str_ptr 002626 automatic pointer dcl 1353 set ref 1365* 1448 1459 size 154 based fixed bin(31,0) level 3 dcl 13-161 set ref 694* spcl_blkptr 4016 based pointer level 3 dcl 11-7 set ref 934 938 938* 941 946* 1127 1127 1185 strareaptr 6 based pointer array level 2 dcl 13-36 ref 445 468 533 557 1217 substr builtin function dcl 49 ref 64 84 90 128 128 162 168 198 198 232 244 244 711 825 958 963 967 990 997 1054 1183 1243 1253 sws 4 based structure level 3 in structure "hfcblk" dcl 13-250 in procedure "comp_hft_ctls_" sws 1004 based structure level 3 in structure "text" dcl 13-49 in procedure "comp_hft_ctls_" sws 4 based structure level 3 in structure "text" dcl 13-49 in procedure "comp_hft_ctls_" sws 15 based structure level 3 in structure "page" dcl 10-11 in procedure "comp_hft_ctls_" sws based structure level 2 in structure "current_parms" dcl 13-209 in procedure "comp_hft_ctls_" sws 1004 based structure level 3 in structure "hfcblk" dcl 13-250 in procedure "comp_hft_ctls_" sws 1004 based structure level 3 in structure "ftnhdr" dcl 6-10 in procedure "comp_hft_ctls_" sws based structure level 2 in structure "txtlin" dcl 13-161 in procedure "comp_hft_ctls_" sws 116 based structure level 3 in structure "hfcblk" dcl 13-250 in procedure "comp_hft_ctls_" sws 4113 based structure level 2 in structure "shared" dcl 11-7 in procedure "comp_hft_ctls_" table_mode 4113(14) based bit(1) level 3 packed unaligned dcl 11-7 ref 301 1489 tblblk 4(05) based bit(1) level 4 packed unaligned dcl 13-250 ref 1489 tblcol based structure level 1 dcl 12-26 tblcolptr 001232 automatic pointer initial dcl 12-24 set ref 12-24* 1493* 1494 1494 1495 tbldata based structure level 1 dcl 12-5 tbldata_ptr 4020 based pointer level 3 dcl 11-7 ref 1492 1492 tblfmt based structure level 1 dcl 12-15 tblfmtptr 001230 automatic pointer dcl 12-13 set ref 1492* 1493 1493 1495 1495 text based structure level 1 dcl 13-49 text_area 2726 based structure level 2 in structure "hfcblk" dcl 13-250 in procedure "comp_hft_ctls_" text_area based structure level 1 dcl 13-36 in procedure "comp_hft_ctls_" text_area_ptr 001240 automatic pointer initial dcl 13-35 set ref 443* 444 445 466* 467 468 531* 532 533 555* 556 557 13-35* 1215* 1216 1217 text_entry based structure level 1 dcl 13-68 ref 439 527 text_entry_ptr 202 based pointer level 3 dcl 15-23 ref 439 527 text_header based structure level 1 dcl 13-163 tf_art 000613 automatic bit(1) unaligned dcl 39 set ref 611* 627 tf_keep 000614 automatic bit(1) unaligned dcl 40 set ref 610* 626 th_art 000615 automatic bit(1) unaligned dcl 41 set ref 57* 605* 621 th_keep 000616 automatic bit(1) unaligned dcl 42 set ref 57* 604* 620 title 122(02) based bit(1) level 4 in structure "hfcblk" packed unaligned dcl 13-250 in procedure "comp_hft_ctls_" set ref 1378* title 4(02) based bit(1) level 3 in structure "txtlin" packed unaligned dcl 13-161 in procedure "comp_hft_ctls_" set ref 690* title_index 321 based fixed bin(17,0) level 3 in structure "hfcblk" dcl 13-250 in procedure "comp_hft_ctls_" set ref 1377* title_index 203 based fixed bin(17,0) level 2 in structure "txtlin" dcl 13-161 in procedure "comp_hft_ctls_" set ref 1227 1503* title_mode 1006(06) based bit(1) level 4 in structure "text" packed unaligned dcl 13-49 in procedure "comp_hft_ctls_" set ref 146* 216* 424 452* 512 540* 596 title_mode 1006(06) based bit(1) level 4 in structure "hfcblk" packed unaligned dcl 13-250 in procedure "comp_hft_ctls_" set ref 272* 291* title_mode 2(06) based bit(1) level 3 in structure "current_parms" packed unaligned dcl 13-209 in procedure "comp_hft_ctls_" set ref 74 152 tlen 002630 automatic fixed bin(21,0) dcl 1354 set ref 1383* 1411* 1411 trl_ws 113 based fixed bin(31,0) level 3 dcl 13-250 ref 1085 1085 1135 1135 1157 1157 1315 1315 1513 1513 ttl_delim 1(09) based char(1) level 3 packed unaligned dcl 11-7 ref 1116 1269 1385 1389 1398 1399 1400 1401 1401 1466 txtlin based structure level 1 dcl 13-161 txtlinptr 001242 automatic pointer dcl 13-160 set ref 473* 474* 562* 564* 689* 690 691 692 693 694 695 696 1225* 1227 1230 1231 1232 1309* 1310 txtstr based varying char(1020) dcl 13-45 set ref 1232* type 0(09) 002623 automatic char(1) level 2 packed unaligned dcl 1351 set ref 1368* type_slx constant char(1) initial unaligned dcl 3-90 ref 1368 undent 1023 based fixed bin(31,0) level 4 in structure "hfcblk" dcl 13-250 in procedure "comp_hft_ctls_" set ref 1262 undent 1017 based fixed bin(31,0) level 4 in structure "hfcblk" dcl 13-250 in procedure "comp_hft_ctls_" set ref 1259 unscaled 000303 constant fixed bin(31,0) initial array dcl 43 set ref 1180* used 114 based fixed bin(31,0) level 3 in structure "hfcblk" dcl 13-250 in procedure "comp_hft_ctls_" set ref 347 352 462* 479 479 551* 569 569 1018 1085 1085 1135 1135 1157 1157 1169* 1230* 1230 1305* 1310* 1310 1315 1315 1487* 1487 1513 1513 used 114 based fixed bin(31,0) level 3 in structure "text" dcl 13-49 in procedure "comp_hft_ctls_" ref 400 404 427 427 515 515 v1 0(27) 002623 automatic fixed bin(31,0) level 2 packed unaligned dcl 1351 set ref 1441* 1449 1456* 1460 varfld 000617 automatic varying char(1020) dcl 45 set ref 64* 705 710* 711* 711 719 721 764* 772 819 824* 825* 825 833 835 873* 881 990* 992 995* 997* 997 1009 1046 1049* 1054* 1054 1063 1157 1157* 1166 1177 1180* 1183* 1183 1201 1239 1239 1243 1243* 1250* 1253* 1253 1266 1269 1281* 1289* vscales 000214 constant fixed bin(31,0) initial array dcl 46 set ref 995* 1049* width 2 002444 automatic fixed bin(31,0) level 2 in structure "meas1" dcl 1345 in procedure "title_" set ref 1429 width 322 based fixed bin(31,0) level 3 in structure "hfcblk" dcl 13-250 in procedure "comp_hft_ctls_" set ref 1376* 1435* 1441 1449* 1449 1456 1460* 1460 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ACK internal static char(1) initial unaligned dcl 8-6 BEL internal static char(1) initial unaligned dcl 8-6 BRS internal static char(1) initial unaligned dcl 8-6 BSP internal static char(1) initial unaligned dcl 8-6 CAN internal static char(1) initial unaligned dcl 8-6 CR internal static char(1) initial unaligned dcl 8-6 DC2 internal static char(1) initial unaligned dcl 8-6 DC3 internal static char(1) initial unaligned dcl 8-6 DC4 internal static char(1) initial unaligned dcl 8-6 DCxx_p automatic pointer dcl 3-8 DEL internal static char(1) initial unaligned dcl 8-6 DEVIT internal static char(1) initial unaligned dcl 8-6 DLE internal static char(1) initial unaligned dcl 8-6 EM internal static char(1) initial unaligned dcl 8-6 EM_ internal static char(1) initial unaligned dcl 8-6 EMdash internal static char(1) initial unaligned dcl 8-6 EN internal static char(1) initial unaligned dcl 8-6 ENQ internal static char(1) initial unaligned dcl 8-6 EN_ internal static char(1) initial unaligned dcl 8-6 ENd internal static char(1) initial unaligned dcl 8-6 EOT internal static char(1) initial unaligned dcl 8-6 ESC internal static char(1) initial unaligned dcl 8-6 ETB internal static char(1) initial unaligned dcl 8-6 ETX internal static char(1) initial unaligned dcl 8-6 FF internal static char(1) initial unaligned dcl 8-6 FS internal static char(1) initial unaligned dcl 8-6 GS internal static char(1) initial unaligned dcl 8-6 HAIR internal static char(1) initial unaligned dcl 8-6 HLF internal static char(1) initial unaligned dcl 8-6 HLR internal static char(1) initial unaligned dcl 8-6 HT internal static char(1) initial unaligned dcl 8-6 HUGE internal static char(1) initial unaligned dcl 8-6 LF internal static char(1) initial unaligned dcl 8-6 LINE_AREA_SIZE internal static fixed bin(17,0) initial dcl 13-24 MAX_TREE_AREAS internal static fixed bin(17,0) initial dcl 15-20 MAX_TREE_AREA_CT internal static fixed bin(17,0) initial dcl 15-18 MEDIUM internal static char(1) initial unaligned dcl 8-6 NAK internal static char(1) initial unaligned dcl 8-6 NL internal static char(1) initial unaligned dcl 8-6 NUL internal static char(1) initial unaligned dcl 8-6 PAD internal static char(1) initial unaligned dcl 8-6 PI internal static char(1) initial unaligned dcl 8-6 PS internal static char(1) initial unaligned dcl 8-6 RRS internal static char(1) initial unaligned dcl 8-6 RS internal static char(1) initial unaligned dcl 8-6 SI internal static char(1) initial unaligned dcl 8-6 SO internal static char(1) initial unaligned dcl 8-6 SOH internal static char(1) initial unaligned dcl 8-6 STROKE internal static char(1) initial unaligned dcl 8-6 STX internal static char(1) initial unaligned dcl 8-6 SUB internal static char(1) initial unaligned dcl 8-6 SYN internal static char(1) initial unaligned dcl 8-6 TEXT_AREA_SIZE internal static fixed bin(17,0) initial dcl 13-34 TEXT_VERSION internal static fixed bin(17,0) initial dcl 13-47 THICK internal static char(1) initial unaligned dcl 8-6 THIN internal static char(1) initial unaligned dcl 8-6 US internal static char(1) initial unaligned dcl 8-6 VT internal static char(1) initial unaligned dcl 8-6 approx internal static char(1) initial unaligned dcl 8-6 block_break internal static fixed bin(17,0) initial dcl 1-9 bullet internal static char(1) initial unaligned dcl 8-6 call_box0 based structure level 1 dcl 7-19 col0 based structure level 1 dcl 2-37 column_break internal static fixed bin(17,0) initial dcl 1-9 comp_ 000000 constant entry external dcl 4-7 comp_art_ 000000 constant entry external dcl 4-8 comp_block_ctls_ 000000 constant entry external dcl 4-9 comp_break_ctls_ 000000 constant entry external dcl 4-12 comp_ctls_ 000000 constant entry external dcl 4-14 comp_eject_page_ 000000 constant entry external dcl 4-15 comp_expr_eval_ 000000 constant entry external dcl 4-17 comp_extr_str_ 000000 constant entry external dcl 4-21 comp_fill_ 000000 constant entry external dcl 4-24 comp_font_ 000000 constant entry external dcl 4-25 comp_format_ctls_ 000000 constant entry external dcl 4-26 comp_get_file_$find 000000 constant entry external dcl 4-28 comp_get_file_$open 000000 constant entry external dcl 4-31 comp_hft_ctls_ 000000 constant entry external dcl 4-35 comp_hft_ctls_$title 000000 constant entry external dcl 4-36 comp_init_$one 000000 constant entry external dcl 4-38 comp_init_$three 000000 constant entry external dcl 4-40 comp_init_$two 000000 constant entry external dcl 4-39 comp_insert_ctls_ 000000 constant entry external dcl 4-42 comp_make_page_ 000000 constant entry external dcl 4-44 comp_make_page_$cleanup 000000 constant entry external dcl 4-46 comp_report_$ctlstr 000000 constant entry external dcl 4-61 comp_report_$exact 000000 constant entry external dcl 4-64 comp_tbl_ctls_ 000000 constant entry external dcl 4-68 comp_title_block_ 000000 constant entry external dcl 4-69 comp_update_symbol_ 000000 constant entry external dcl 4-71 comp_use_ref_ 000000 constant entry external dcl 4-74 comp_util_$num_display 000000 constant entry external dcl 4-84 comp_util_$pageno 000000 constant entry external dcl 4-86 comp_util_$pictures 000000 constant entry external dcl 4-88 comp_util_$pop 000000 constant entry external dcl 4-91 comp_util_$push 000000 constant entry external dcl 4-92 comp_util_$replace_text 000000 constant entry external dcl 4-96 comp_util_$search_tree 000000 constant entry external dcl 4-98 comp_util_$translate 000000 constant entry external dcl 4-106 comp_write_block_ 000000 constant entry external dcl 4-108 comp_write_page_ 000000 constant entry external dcl 4-110 compose_severity_ external static fixed bin(35,0) dcl 4-5 const_version internal static fixed bin(35,0) initial dcl 15-17 cright internal static char(1) initial unaligned dcl 8-6 dagger internal static char(1) initial unaligned dcl 8-6 dbldag internal static char(1) initial unaligned dcl 8-6 dcctl based structure level 1 packed unaligned dcl 3-34 dcfs based structure level 1 packed unaligned dcl 3-80 dcfs_len internal static fixed bin(17,0) initial dcl 3-88 dclit based structure level 1 packed unaligned dcl 3-45 dclong_len internal static fixed bin(17,0) initial dcl 3-62 dcshort1_len internal static fixed bin(17,0) initial dcl 3-75 dcshort_len internal static fixed bin(17,0) initial dcl 3-75 dcshort_val based structure level 1 packed unaligned dcl 3-67 dcxx based structure level 1 packed unaligned dcl 3-11 delmark internal static char(1) initial unaligned dcl 8-6 delta internal static char(1) initial unaligned dcl 8-6 dot_addltr_symb_index internal static fixed bin(17,0) initial dcl 11-126 err_sw automatic bit(1) unaligned dcl 27 flag_value based bit(1) unaligned dcl 11-132 fntstk_eptr automatic pointer dcl 5-5 footer_break internal static fixed bin(17,0) initial dcl 1-9 footnote_break internal static fixed bin(17,0) initial dcl 1-9 ftnblk_data based structure level 1 dcl 6-5 infin internal static char(1) initial unaligned dcl 8-6 init_file_data internal static structure level 1 unaligned dcl 7-64 init_page_parms based structure level 1 dcl 10-108 insert_data based structure level 1 dcl 7-5 insert_refs based structure level 1 dcl 7-21 iox_$error_output external static pointer dcl 15-74 iox_$user_input external static pointer dcl 15-74 iox_$user_output external static pointer dcl 15-74 j automatic fixed bin(17,0) dcl 33 just internal static bit(6) initial unaligned dcl 13-148 k automatic fixed bin(17,0) dcl 1341 l automatic fixed bin(17,0) dcl 1341 line based structure level 1 dcl 1342 lquote internal static char(1) initial unaligned dcl 8-6 lslnt internal static char(1) initial unaligned dcl 8-6 max builtin function dcl 49 max_cols internal static fixed bin(17,0) initial dcl 10-7 max_image_lines internal static fixed bin(17,0) initial dcl 10-5 max_text_lines internal static fixed bin(17,0) initial dcl 11-128 mode_string internal static char(16) initial unaligned dcl 11-129 modmark internal static char(1) initial unaligned dcl 8-6 multiply internal static char(1) initial unaligned dcl 8-6 nabla internal static char(1) initial unaligned dcl 8-6 need_break internal static fixed bin(17,0) initial dcl 1-9 not_eq internal static char(1) initial unaligned dcl 8-6 num_value based fixed bin(31,0) dcl 11-133 oct031 internal static char(1) initial unaligned dcl 8-6 option_version internal static fixed bin(35,0) initial dcl 9-3 overbar internal static char(1) initial unaligned dcl 8-6 page_break internal static fixed bin(17,0) initial dcl 1-9 page_image based structure level 1 dcl 10-56 page_image_version internal static fixed bin(35,0) initial dcl 10-53 page_version internal static fixed bin(17,0) initial dcl 10-9 perpen internal static char(1) initial unaligned dcl 8-6 pi internal static char(1) initial unaligned dcl 8-6 pl_mi internal static char(1) initial unaligned dcl 8-6 prll internal static char(1) initial unaligned dcl 8-6 prvtblcol based structure level 1 dcl 12-44 quadi internal static bit(6) initial unaligned dcl 13-148 quado internal static bit(6) initial unaligned dcl 13-148 refname_str based char unaligned dcl 7-27 refstr_len automatic fixed bin(17,0) dcl 7-29 refstr_ptr automatic pointer dcl 7-30 rquote internal static char(1) initial unaligned dcl 8-6 save_shared based structure level 1 dcl 11-124 shared_version internal static fixed bin(35,0) initial dcl 11-5 slash internal static char(1) initial unaligned dcl 8-6 square internal static char(1) initial unaligned dcl 8-6 string_area based fixed bin(17,0) array dcl 13-43 sup0 internal static char(1) initial unaligned dcl 8-6 sup1 internal static char(1) initial unaligned dcl 8-6 sup2 internal static char(1) initial unaligned dcl 8-6 sup3 internal static char(1) initial unaligned dcl 8-6 sup4 internal static char(1) initial unaligned dcl 8-6 sup5 internal static char(1) initial unaligned dcl 8-6 sup6 internal static char(1) initial unaligned dcl 8-6 sup7 internal static char(1) initial unaligned dcl 8-6 sup8 internal static char(1) initial unaligned dcl 8-6 sup9 internal static char(1) initial unaligned dcl 8-6 sys_info$max_seg_size external static fixed bin(18,0) dcl 15-80 tblcol0 based structure level 1 dcl 12-41 tblcolndx automatic fixed bin(17,0) dcl 12-22 tblfmtndx automatic fixed bin(17,0) dcl 12-12 tblkdata based structure level 1 dcl 13-5 text_parms based structure level 1 dcl 13-206 tfore internal static char(1) initial unaligned dcl 8-6 theta internal static char(1) initial unaligned dcl 8-6 tmark internal static char(1) initial unaligned dcl 8-6 txtstrptr automatic pointer dcl 13-44 type_font internal static char(1) initial unaligned dcl 3-90 type_lit internal static char(1) initial unaligned dcl 3-90 type_slxly internal static char(1) initial unaligned dcl 3-90 type_sly internal static char(1) initial unaligned dcl 3-90 type_sx internal static char(1) initial unaligned dcl 3-90 type_sxy internal static char(1) initial unaligned dcl 3-90 type_sy internal static char(1) initial unaligned dcl 3-90 type_unstart internal static char(1) initial unaligned dcl 3-90 type_unstop internal static char(1) initial unaligned dcl 3-90 type_v0lx internal static char(1) initial unaligned dcl 3-90 type_v0lxly internal static char(1) initial unaligned dcl 3-90 type_v0ly internal static char(1) initial unaligned dcl 3-90 type_v0x internal static char(1) initial unaligned dcl 3-90 type_v0xy internal static char(1) initial unaligned dcl 3-90 type_v0y internal static char(1) initial unaligned dcl 3-90 type_vlx internal static char(1) initial unaligned dcl 3-90 type_vlxly internal static char(1) initial unaligned dcl 3-90 type_vly internal static char(1) initial unaligned dcl 3-90 type_vx internal static char(1) initial unaligned dcl 3-90 type_vxy internal static char(1) initial unaligned dcl 3-90 type_vy internal static char(1) initial unaligned dcl 3-90 type_wait internal static char(1) initial unaligned dcl 3-90 unstart_signal internal static char(3) initial unaligned dcl 3-39 unstop_signal internal static char(3) initial unaligned dcl 3-39 vbot internal static bit(4) initial unaligned dcl 12-48 vcen internal static bit(4) initial unaligned dcl 12-47 vjust internal static bit(4) initial unaligned dcl 12-49 vrule internal static char(1) initial unaligned dcl 8-6 vtop internal static bit(4) initial unaligned dcl 12-46 wait_signal internal static char(3) initial unaligned dcl 3-39 NAMES DECLARED BY EXPLICIT CONTEXT. bpf_ctl 001036 constant label dcl 74 ref 633 bpf_err 001470 constant label dcl 128 ref 81 bph_ctl 001636 constant label dcl 152 ref 655 bph_err 002236 constant label dcl 198 ref 159 cancel_all 011644 constant label dcl 1169 ref 1201 comp_hft_ctls_ 000706 constant entry external dcl 14 ctl_ 000000 constant label array(20:159) dcl 68 set ref 66 do_pflo 006075 constant label dcl 772 ref 765 epf_ctl 003634 constant label dcl 416 ref 637 eph_ctl 004402 constant label dcl 503 ref 659 etf_ctl 005137 constant label dcl 588 ett_ctl 005137 constant label dcl 588 ref 973 find_closer 013405 constant label dcl 1391 ref 1402 join_btt1 002413 constant label dcl 229 ref 224 join_btt2 002477 constant label dcl 237 ref 971 join_pfl 005607 constant label dcl 715 ref 643 648 653 join_phl 006503 constant label dcl 829 ref 665 670 703 pfl_ctl 005463 constant label dcl 705 phl_ctl 006357 constant label dcl 819 replace_all 012127 constant label dcl 1209 ref 1204 return_ 010501 constant label dcl 1080 ref 68 71 135 150 205 220 251 304 358 408 410 413 416 424 501 503 512 586 596 631 699 757 807 817 869 873 923 926 932 952 1020 1052 1069 set_hf_lines 011433 constant entry internal dcl 1143 ref 346 399 683 743 793 855 906 946 1012 1063 set_return 012752 constant label dcl 1315 ref 1171 1198 1275 tcl_ctl 007540 constant label dcl 976 ref 1071 thl_ctl 010124 constant label dcl 1022 ref 1074 1077 title 010744 constant entry external dcl 1099 title_ 013060 constant entry internal dcl 1326 ref 1127 1281 1289 ttl_return 011321 constant label dcl 1135 ref 1121 NAMES DECLARED BY CONTEXT OR IMPLICATION. addr builtin function ref 79 79 125 125 145 157 157 195 195 215 241 241 279 298 434 434 440 522 522 528 677 677 710 710 753 753 803 803 814 814 824 824 865 865 919 919 929 929 938 938 976 976 982 982 995 995 1030 1030 1033 1033 1049 1049 1119 1119 1124 1124 1180 1180 1194 1194 1243 1243 1250 1250 1272 1272 1281 1281 1289 1289 1365 1370 1389 1390 1391 1391 1391 1391 1391 1398 1398 1400 1400 1405 1411 1417 1419 1419 1426 1426 1426 1426 1426 1426 1426 1426 1426 1434 1448 1459 1475 1475 after builtin function ref 1385 1390 1399 1401 1466 before builtin function ref 1389 1400 bin builtin function ref 1127 1127 dec builtin function ref 479 479 479 479 479 479 569 569 569 569 569 569 1085 1085 1085 1085 1085 1085 1085 1085 1111 1111 1135 1135 1135 1135 1157 1157 1157 1157 1157 1157 1315 1315 1315 1315 1358 1358 1513 1513 1513 1513 ltrim builtin function ref 711 825 997 1054 1183 1253 reverse builtin function ref 1391 1391 1391 1391 1391 search builtin function ref 237 705 819 992 1046 1177 1239 unspec builtin function set ref 387 680* 1295 1425* 1501 verify builtin function ref 128 128 198 198 963 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 15630 15710 15412 15640 Length 16622 15412 60 675 215 2 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME comp_hft_ctls_ 1906 external procedure is an external procedure. set_hf_lines internal procedure shares stack frame of external procedure comp_hft_ctls_. title_ internal procedure shares stack frame of external procedure comp_hft_ctls_. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 block_type comp_hft_ctls_ STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME comp_hft_ctls_ 000100 blnkct comp_hft_ctls_ 000101 ercd comp_hft_ctls_ 000102 exit_str comp_hft_ctls_ 000203 fnxt comp_hft_ctls_ 000204 hf_lin_key comp_hft_ctls_ 000206 i comp_hft_ctls_ 000207 ii comp_hft_ctls_ 000210 lino comp_hft_ctls_ 000211 loc_lead comp_hft_ctls_ 000212 new_indent comp_hft_ctls_ 000213 save_varfld comp_hft_ctls_ 000613 tf_art comp_hft_ctls_ 000614 tf_keep comp_hft_ctls_ 000615 th_art comp_hft_ctls_ 000616 th_keep comp_hft_ctls_ 000617 varfld comp_hft_ctls_ 001226 call_box_ptr comp_hft_ctls_ 001230 tblfmtptr comp_hft_ctls_ 001232 tblcolptr comp_hft_ctls_ 001234 prvtblcolptr comp_hft_ctls_ 001236 line_area_ptr comp_hft_ctls_ 001240 text_area_ptr comp_hft_ctls_ 001242 txtlinptr comp_hft_ctls_ 001244 hfcblk_ptr comp_hft_ctls_ 001442 artline title_ 002042 field title_ 002442 ipart title_ 002443 meas title_ 002444 meas1 title_ 002532 meas2 title_ 002620 part_added title_ 002621 pquad title_ 002622 pwidth title_ 002623 shift_ctl title_ 002626 shift_str_ptr title_ 002630 tlen title_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_g_a r_e_as r_ne_as alloc_cs cat_realloc_cs call_ext_out_desc call_ext_out return signal shorten_stack ext_entry ext_entry_desc round_fx1 set_cs_eis real_to_real_tr divide_fx1 divide_fx2 index_after_cs THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. comp_break_ comp_head_page_ comp_measure_ comp_read_$line comp_read_$name comp_read_$number comp_report_ comp_space_ comp_util_$add_text comp_util_$display comp_util_$escape comp_util_$getblk comp_util_$relblk comp_util_$set_bin comp_util_$set_net_page ioa_ ioa_$nnl ioa_$rsnnl THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. compstat$compconst LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 34 000673 12 24 000674 12 43 000676 13 25 000677 13 35 000700 14 000703 56 000714 57 000715 58 000717 60 000721 64 001006 66 001031 68 001034 71 001035 74 001036 79 001045 81 001107 84 001110 88 001174 90 001175 92 001212 94 001214 97 001224 98 001235 100 001264 101 001272 103 001274 108 001313 111 001322 112 001333 114 001362 115 001370 117 001372 120 001411 122 001412 125 001423 128 001470 131 001517 132 001524 133 001547 134 001561 135 001562 138 001563 139 001567 141 001573 143 001605 145 001612 146 001622 147 001630 148 001632 150 001635 152 001636 157 001645 159 001707 162 001710 166 001774 168 001775 170 002012 172 002014 175 002024 176 002035 178 002064 179 002072 182 002074 185 002103 186 002116 188 002145 189 002153 190 002155 192 002156 195 002167 198 002236 201 002265 202 002272 203 002315 204 002327 205 002330 208 002331 209 002337 211 002343 213 002355 215 002362 216 002372 217 002400 218 002402 220 002405 222 002406 224 002410 226 002411 229 002413 232 002416 237 002477 241 002510 244 002554 246 002566 247 002573 248 002616 249 002630 251 002631 254 002632 257 002641 259 002660 263 002710 266 002714 269 002747 271 002756 272 002762 273 002764 275 002766 276 002767 278 002773 279 003001 280 003011 282 003012 285 003014 288 003047 290 003056 291 003062 292 003064 294 003066 295 003067 297 003073 298 003101 301 003111 304 003130 306 003131 310 003134 312 003146 313 003163 316 003174 317 003175 318 003177 319 003201 323 003202 325 003206 328 003212 330 003237 332 003246 335 003263 336 003273 339 003275 342 003302 343 003304 346 003310 347 003315 348 003325 349 003327 352 003343 353 003355 355 003357 358 003361 360 003362 365 003373 366 003376 368 003377 372 003415 374 003432 376 003434 380 003435 383 003443 385 003470 386 003500 387 003504 389 003505 392 003521 393 003535 396 003537 399 003551 400 003567 401 003577 404 003613 405 003627 408 003631 410 003632 413 003633 416 003634 421 003650 424 003654 427 003660 434 003700 438 003742 439 003751 440 003755 441 003757 442 003763 443 003765 444 003770 445 003773 446 003775 450 003776 452 004007 454 004016 457 004032 460 004036 461 004043 462 004047 464 004052 465 004055 466 004057 467 004062 468 004065 470 004067 472 004102 473 004113 474 004117 476 004150 477 004152 479 004156 490 004327 494 004346 495 004357 497 004365 501 004401 503 004402 509 004416 512 004422 515 004426 522 004446 526 004510 527 004517 528 004523 529 004525 530 004531 531 004533 532 004536 533 004541 534 004543 538 004544 540 004555 542 004564 545 004600 549 004613 550 004615 551 004621 553 004624 554 004627 555 004631 556 004634 557 004637 559 004641 561 004654 562 004665 564 004671 566 004722 567 004724 569 004730 578 005100 582 005117 583 005130 586 005136 588 005137 595 005147 596 005151 599 005154 601 005165 604 005175 605 005201 606 005205 610 005206 611 005212 614 005216 615 005220 617 005226 620 005233 621 005241 622 005256 626 005257 627 005272 631 005300 633 005301 637 005302 640 005303 643 005307 646 005310 648 005314 651 005315 653 005321 655 005322 659 005323 662 005324 665 005330 668 005331 670 005335 673 005336 677 005343 680 005372 683 005400 688 005425 689 005431 690 005434 691 005436 692 005441 693 005446 694 005450 695 005452 696 005453 699 005455 701 005456 703 005462 705 005463 710 005477 711 005544 712 005602 713 005603 715 005607 719 005623 721 005630 724 005655 728 005656 731 005711 733 005717 736 005723 737 005727 738 005731 739 005733 740 005734 743 005742 746 005757 749 005766 750 005776 753 006004 756 006046 757 006051 761 006052 764 006057 765 006064 767 006065 769 006066 772 006075 776 006122 780 006123 783 006156 785 006164 788 006170 789 006174 790 006176 793 006200 796 006215 799 006224 800 006234 803 006242 806 006304 807 006307 812 006310 814 006311 817 006356 819 006357 824 006373 825 006440 826 006476 827 006477 829 006503 833 006515 835 006522 838 006547 842 006550 845 006560 847 006603 848 006611 849 006613 850 006614 852 006616 855 006627 858 006647 861 006656 862 006666 865 006674 868 006736 869 006741 873 006742 878 006754 881 006766 884 007013 888 007014 891 007024 893 007047 894 007055 895 007057 896 007060 898 007062 901 007067 902 007071 903 007073 906 007077 908 007117 912 007130 915 007137 916 007147 919 007155 922 007217 923 007222 926 007223 929 007224 932 007274 934 007275 938 007305 941 007340 943 007346 946 007356 948 007373 952 007404 954 007405 958 007410 963 007471 967 007523 969 007534 971 007536 973 007537 976 007540 982 007576 986 007634 987 007643 988 007651 990 007653 992 007674 995 007710 997 007754 998 010011 999 010012 1001 010013 1004 010015 1005 010022 1006 010052 1009 010060 1012 010065 1018 010107 1020 010123 1022 010124 1027 010134 1030 010153 1033 010207 1036 010245 1038 010254 1039 010262 1041 010263 1044 010273 1046 010274 1049 010310 1052 010356 1054 010360 1055 010415 1056 010416 1058 010417 1059 010426 1060 010430 1063 010435 1065 010447 1069 010475 1071 010476 1074 010477 1077 010500 1080 010501 1084 010510 1085 010524 1094 010723 1097 010736 1099 010737 1109 010760 1111 010764 1116 011076 1119 011120 1121 011161 1124 011162 1127 011220 1133 011316 1135 011321 1538 011432 1143 011433 1155 011435 1157 011440 1166 011636 1169 011644 1171 011651 1174 011652 1177 011660 1180 011674 1183 011746 1185 012003 1194 012053 1198 012115 1201 012116 1204 012125 1205 012126 1209 012127 1211 012131 1213 012134 1214 012137 1215 012141 1216 012146 1217 012150 1220 012153 1224 012166 1225 012177 1227 012203 1230 012206 1231 012211 1232 012212 1234 012213 1235 012215 1236 012221 1237 012222 1239 012223 1243 012244 1250 012341 1253 012412 1254 012447 1256 012450 1259 012461 1262 012465 1266 012472 1269 012477 1272 012516 1275 012557 1278 012560 1281 012566 1285 012614 1289 012615 1295 012643 1300 012701 1303 012707 1305 012715 1306 012716 1308 012724 1309 012735 1310 012741 1311 012744 1312 012746 1315 012752 1322 013057 1326 013060 1358 013071 1363 013200 1365 013213 1366 013215 1367 013217 1368 013221 1369 013223 1370 013224 1371 013227 1372 013231 1373 013233 1375 013235 1376 013247 1377 013251 1378 013253 1379 013255 1380 013261 1381 013263 1383 013300 1385 013301 1387 013327 1389 013342 1390 013364 1391 013405 1398 013477 1399 013512 1400 013535 1401 013557 1402 013616 1405 013620 1408 013625 1410 013642 1411 013644 1413 013646 1416 013650 1417 013655 1418 013662 1419 013664 1421 013715 1425 013716 1426 013721 1429 013775 1431 014000 1434 014003 1435 014011 1436 014013 1438 014014 1441 014016 1448 014051 1449 014106 1451 014116 1453 014117 1456 014121 1459 014144 1460 014201 1466 014211 1467 014240 1469 014242 1472 014245 1473 014252 1474 014256 1475 014260 1479 014310 1482 014313 1485 014315 1486 014320 1487 014326 1489 014331 1492 014346 1493 014353 1494 014357 1495 014361 1497 014366 1501 014367 1503 014422 1509 014432 1510 014434 1511 014436 1513 014443 1520 014553