COMPILATION LISTING OF SEGMENT comp_block_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 0946.4 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 for processing all block-begin and block-end controls */ 11 12 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 13 14 comp_block_ctls_: 15 proc (ctl_index); 16 17 /* PARAMETERS */ 18 19 dcl ctl_index fixed; /* index value for desired control */ 20 21 /* LOCAL STORAGE */ 22 23 dcl blkptr ptr; /* local value */ 24 dcl blkusd fixed bin (31); 25 dcl 1 block aligned like text based (blkptr); 26 dcl col_space fixed bin (31); /* for table mode column runout */ 27 dcl ctl_info_ptr ptr; 28 dcl current_fcs char (8); 29 dcl EMPTY bit (1) static options (constant) init ("1"b); 30 dcl exit_str char (256) var; /* for debugging */ 31 dcl footref_array (3) char (48) var static; 32 dcl footrefstr char (256) var static; 33 dcl ftnblkptr ptr; /* footnote block */ 34 dcl 1 ftnblk aligned like text based (ftnblkptr); 35 dcl ftncolptr ptr static; /* column holding the note */ 36 dcl ftncolndx fixed bin static;/* footnote block index */ 37 dcl ftnct fixed bin; /* line footnote count for debug */ 38 dcl ftndx fixed bin static;/* for footref measuring */ 39 dcl head_used fixed bin (31); /* space used by page header */ 40 dcl (i, j, k) fixed bin; /* working index */ 41 dcl ipic fixed bin; /* local picture block index */ 42 dcl LOAD bit (1) static options (constant) init ("1"b); 43 dcl 1 meas1 aligned like text_entry.cur; 44 dcl 1 meas2 aligned like text_entry.cur; 45 dcl orphan bit (1) static; /* note is an orphan */ 46 dcl pagenote bit (1) init ("0"b); 47 dcl 1 pline aligned like text_entry; 48 dcl pptr ptr; 49 dcl ptxt char (1020) var; /* referencing block */ 50 dcl refblkptr ptr static init (null); 51 dcl 1 refblk aligned like text based (refblkptr); 52 dcl refcolndx fixed bin static;/* referencing column */ 53 dcl reflin fixed bin; /* index of ftn refline */ 54 dcl save_colno fixed bin static;/* to save current column */ 55 dcl unscaled (1) fixed bin (31) static options (constant) init (1); 56 dcl vscales (7) fixed bin (31) static options (constant) 57 init (12000, 9000, 72000, 2834.65, 12000, 1000, 0); 58 59 dcl (addr, addrel, char, divide, fixed, length, ltrim, max, min, null, 60 size, substr) builtin; 61 62 dcl comp_error_table_$limitation 63 fixed bin (35) ext static; 64 dcl comp_error_table_$usage_error 65 fixed bin (35) ext static; 66 67 dcl ioa_$rs entry options (variable); 68 dcl ioa_$rsnnl entry options (variable); 69 70 if shared.bug_mode 71 then call ioa_ ("block_ctls: (^d) ""^a""", ctl_index, ctl_line); 72 73 exit_str = ""; 74 goto ctl_ (ctl_index); 75 76 ctl_ (7): /* ".bb" = block-begin OBSOLETE */ 77 goto bblk_ctl; 78 79 ctl_ (8): /* ".bart" = begin-artwork */ 80 ctl_ (9): /* ".bba" = block-begin-artwork */ 81 if shared.blkptr = null () /* needed now to set art line count */ 82 then 83 do; /**/ 84 /* head page, if needed */ 85 if ^(option.galley_opt | page.hdr.headed) 86 then call comp_head_page_ (head_used); 87 88 call comp_util_$getblk (page.hdr.col_index, shared.blkptr, "tx", 89 addr (current_parms), ^EMPTY); 90 end; /**/ 91 /* text with a pending header? */ 92 if ^text.parms.title_mode & text.parms.hdrptr ^= null () 93 & ^shared.inserting_hfc 94 then if text.parms.hdrptr -> hfcblk.hdr.count > 0 95 then call comp_title_block_ (text.parms.hdrptr); 96 97 if ctl.index > length (ctl_line) /* set artline counter */ 98 then text.hdr.art_count = -1; 99 else text.hdr.art_count = 100 comp_read_$number (ctl_line, unscaled, ctl.index, ctl.index, 101 addr (ctl.info), 0); /**/ 102 /* set flags */ 103 text.hdr.art, text.parms.art, current_parms.art = "1"b; 104 105 goto return_; 106 107 ctl_ (10): /* ".bblk" = begin-block */ 108 bblk_ctl: /* SUSPEND A NAMED BLOCK HERE */ 109 if shared.ftn_mode 110 then call comp_block_ctls_ (bef_ctl_index); 111 /* reset shared block modes */ 112 current_parms.art, current_parms.keep, current_parms.title_mode, 113 shared.literal_mode = "0"b; 114 115 if shared.blkptr ^= null () 116 then 117 do; 118 text.parms.art, /* reset active block modes */ 119 text.parms.keep, text.parms.title_mode = "0"b; 120 /* finish current block */ 121 call comp_break_ (block_break, 0); 122 end; 123 124 goto return_; 125 126 ctl_ (12): /* ".bbe" = block-begin-equations */ 127 goto bbt_ctl; 128 129 ctl_ (13): /* ".bbf" = block-begin-footnote */ 130 if shared.ftn_mode /* if nested .bbfs */ 131 then 132 do; 133 call comp_report_ (2, 0, "Nested footnotes.", addr (ctl.info), 134 ctl_line); 135 goto return_; 136 end; 137 138 footrefstr = "X"; /* preset footref as a signal */ 139 /* assume a column note */ 140 save_colno, ftncolndx, refcolndx = page.hdr.col_index; 141 142 if ctl.index <= length (ctl_line) /* if any parameters are given */ 143 then 144 do; /**/ 145 /* suppress reference? */ 146 if substr (ctl_line, ctl.index, 1) = "s" 147 | substr (ctl_line, ctl.index, 1) = "u" 148 then 149 do; 150 footrefstr = ""; /* reset the footref signal */ 151 ctl.index = ctl.index + 1; 152 end; /**/ 153 /* step over possible comma */ 154 if ctl.index <= length (ctl_line) 155 then if substr (ctl_line, ctl.index, 1) = "," 156 then ctl.index = ctl.index + 1; 157 /* if there's still more */ 158 if ctl.index <= length (ctl_line) 159 then 160 do; 161 if substr (ctl_line, ctl.index, 1) = "c" 162 then pagenote = "0"b; 163 164 else if substr (ctl_line, ctl.index, 1) = "p" 165 then 166 do; 167 pagenote = "1"b; 168 ftncolndx = 0; 169 if footrefstr = "" 170 then refcolndx = 0; 171 else refcolndx = page.hdr.col_index; 172 end; 173 else /* that's all we know about */ 174 call comp_report_ (2, 0, 175 "Unknown footnote format keyword," 176 || " default will be used.", addr (ctl.info), ctl_line); 177 end; 178 end; /**/ 179 180 /* /* insert text header in case */ 181 /* if text.parms.hdrptr ^= null () /* footnote is for it */ 182 /* & shared.blkptr ^= text.parms.hdrptr & ^shared.inserting_hfc 183*/* then if text.parms.hdrptr -> hfcblk.hdr.count > 0 184*/* then 185*/* do; 186*/* if shared.blkptr = null () 187*/* then call comp_util_$getblk (page.hdr.col_index, shared.blkptr, 188*/* "tx", addr (current_parms), ^EMPTY); 189*/* call comp_title_block_ (text.parms.hdrptr); 190*/* end;*/ 191 192 if shared.blkptr = null () /* an orphan? */ 193 then 194 do; 195 orphan, pagenote = "1"b; 196 refcolndx = 0; 197 end; 198 else orphan, pagenote = "0"b; 199 200 if shared.ftnblk_data_ptr = null /* allocate block data */ 201 then 202 do; 203 shared.ftnblk_data_ptr = 204 allocate (const.global_area_ptr, size (ftnblk_data)); 205 ftnblk_data.highndx = 0; 206 ftnblk_data.blkptr (*) = null; /* assure footnote fonts are loaded */ 207 call comp_font_ (LOAD, "footnote", ""); 208 call comp_font_ (LOAD, "footref", shared.footref_fcs); 209 end; /**/ 210 /* if no footnote header block */ 211 if shared.footnote_header_ptr = null 212 then 213 do; /* get one */ 214 call comp_util_$getblk (-1, shared.footnote_header_ptr, "fh", 215 const.footnote_parms_ptr, ^EMPTY); 216 ftnhdr.parms.page = pagenote; 217 ftnhdr.parms.footnote = "1"b; 218 ftnhdr.parms.left, ftnhdr.parms.right = 0; 219 ftnhdr.hdr.tblblk = "0"b; 220 ftnhdr.hdr.colno = -1; /**/ 221 /* put in a null line */ 222 call comp_util_$add_text (shared.footnote_header_ptr, "0"b, "0"b, "0"b, 223 "0"b, addr (ftnhdr.input)); 224 225 txtlinptr = ftnhdr.line_area.cur -> line_area.linptr (1); 226 txtlin.title, txtlin.default = "1"b; 227 ftnhdr.hdr.used, txtlin.linespace = 12000; 228 txtlin.font = 229 footnote_parms.fntstk (footnote_parms.fntstk.index).entry; 230 txtlin.lmarg, txtlin.depth = 0; 231 if pagenote 232 then txtlin.rmarg = page.parms.measure; 233 else txtlin.rmarg = col.parms.measure; 234 end; 235 236 if shared.suppress_footref /* if unreferenced mode */ 237 then footrefstr = ""; /* reset the footref signal */ 238 /* check limit for paged notes */ 239 if shared.ftn_reset = "paged" & shared.ftnrefct > 9 & ^option.galley_opt 240 then 241 do; /* report the error */ 242 call comp_report_$ctlstr (2, comp_error_table_$usage_error, 243 addr (ctl.info), ctl_line, 244 "More than nine footnotes given for this page." 245 || " This note will be unreferenced."); 246 footrefstr = ""; /* reset the footref signal */ 247 end; 248 249 /* /* head page if necessary */ 250 /* if ^(option.galley_opt | page.hdr.headed) 251*/* then call comp_head_page_ (head_used);*/ 252 /* count a new footnote */ 253 ftndx, ftnblk_data.highndx = ftnblk_data.highndx + 1; 254 /* get a block for the note */ 255 call comp_util_$getblk (-1, ftnblk_data.blkptr (ftndx), "fn", 256 const.footnote_parms_ptr, ^EMPTY); 257 ftnblkptr = ftnblk_data.blkptr (ftndx); 258 ftnblk.parms.page = pagenote; 259 ftnblk.parms.footnote = "1"b; /* show it a footnote */ 260 261 if pagenote /* use page parms? */ 262 then ftnblk.parms.measure = page.parms.measure; 263 else /* use column parms */ 264 do; 265 ftncolptr = page.column_ptr (ftncolndx); 266 ftnblk.parms.measure = ftncol.parms.measure; 267 end; 268 269 ftnblk.hdr.tblblk = "0"b; /* not a table block */ 270 ftnblk.hdr.orphan = orphan; /**/ 271 /* save refblk for exit */ 272 ftnblk.hdr.blkptr, refblkptr = shared.blkptr; 273 274 if shared.table_mode /* set table mode stuff */ 275 then 276 do; 277 tblfmtptr = tbldata.fmt (tbldata.ndx).ptr; 278 tblcolptr = tblfmt.colptr (tblfmt.ccol); 279 end; 280 281 current_fcs = ctl.font.fcs_str; 282 ftnblk.input.linespace = footnote_parms.linespace; 283 ctl.font, ctl.cur.font, ftnblk.input.font = 284 footnote_parms.fntstk (footnote_parms.fntstk.index).entry; 285 286 if footrefstr = "X" /* is the reference signal still on? */ 287 then 288 do; 289 footref_array (2) = ltrim (char (shared.ftnrefct)); 290 call comp_dvt.footproc (footref_array, addr (comp_dvt)); 291 292 footrefstr = 293 shared.footref_fcs || footref_array (1) || footref_array (2) 294 || footref_array (3) || current_fcs; 295 296 unspec (meas1) = "0"b; 297 call comp_measure_ ((footrefstr), addr (ftnblk.input.font), "0"b, "0"b, 298 "0"b, ftnblk.parms.measure, addr (meas1), addr (meas2), 299 addr (ftnblk.input.info)); /**/ 300 301 ftnblk.input_line = /* set reference into footnote */ 302 shared.footref_fcs || footref_array (1) || footref_array (2) 303 || footref_array (3) 304 || footnote_parms.fntstk.entry (footnote_parms.fntstk.index) 305 .fcs_str || EN; /**/ 306 /* set indent, user may change it */ 307 footnote_parms.left.indent, ftnblk.parms.left.indent = 308 max (ftnblk.parms.left.indent, meas1.width + meas1.avg + 7200); 309 ftnblk.input.hanging = "1"b; /* make it a hanger */ 310 ftnblk.input.lmarg = 0; /* set at col lmarg */ 311 ftnblk.input.linespace = 0; /* no lead for hangers */ 312 ftnblk.input.quad = quadl; /* set left */ 313 /* place the reference */ 314 call comp_util_$add_text (ftnblkptr, "0"b, "0"b, "0"b, "0"b, 315 addr (ftnblk.input)); /**/ 316 /* restore lead */ 317 ftnblk.input.linespace = ftnblk.parms.linespace; 318 ftnblk.input.hanging = "0"b; /* reset hanging switch */ 319 /* restore alignment */ 320 ftnblk.input.quad = ftnblk.parms.quad; 321 ftnblk.input_line = ""; /* erase the reference */ 322 end; 323 324 else 325 do; 326 ftnblk.hdr.unref = "1"b; /* show an unreffed note */ 327 ftnblk.parms.left.indent, footnote_parms.left.indent = 0; 328 end; 329 330 ftnblk.hdr.blkptr = shared.blkptr; /* save pointers for end */ 331 ftnblk.hdr.parms_ptr = const.current_parms_ptr; 332 shared.blkptr = ftnblkptr; /* switch to footnote block */ 333 const.current_parms_ptr = addr (ftnblk.parms); 334 335 text.hdr.refer = refcolndx; /* set ref col */ 336 shared.ftn_mode = "1"b; /* we're now in ftn mode */ 337 338 if shared.bug_mode 339 then call ioa_$rsnnl ("ftndx=^d^[ orph^]^[ unref^s^; refno=^d^] " 340 || "refcol=^d ftncol=^d", exit_str, 0, ftndx, orphan, 341 text.hdr.unref, shared.ftnrefct, refcolndx, ftncolndx); 342 343 goto return_; 344 345 ctl_ (14): /* ".bbi" = block-begin-inline */ 346 goto bblk_ctl; 347 348 ctl_ (15): /* ".bbk" = block-begin-keep */ 349 /* head page if necessary */ 350 if ^(option.galley_opt | page.hdr.headed) 351 then call comp_head_page_ (head_used); 352 353 if shared.blkptr = null () /* need block now to count keep */ 354 then call comp_util_$getblk (page.hdr.col_index, shared.blkptr, "tx", 355 addr (current_parms), ^EMPTY); 356 /* is there a header waiting? */ 357 if text.parms.hdrptr ^= null () & ^shared.inserting_hfc 358 then if text.parms.hdrptr -> hfcblk.hdr.count > 0 359 then call comp_title_block_ (text.parms.hdrptr); 360 361 if length (text.input_line) > 0 /* any leftovers? */ 362 then call comp_break_ (format_break, 0); 363 364 text.parms.keep = "1"b; /* set flag */ 365 366 if shared.table_mode 367 then 368 do; 369 tblfmtptr = tbldata.fmt (tbldata.ndx).ptr; 370 do i = 0 to tblfmt.ncols; 371 tblfmt.colptr (i) -> tblcol.parms.keep = "1"b; 372 end; 373 end; 374 375 if ctl.index > length (ctl_line) /* if no parameter */ 376 then text.hdr.keep_count = -1; /* keep count is indeterminant */ 377 else text.hdr.keep_count = 378 comp_read_$number (ctl_line, unscaled, ctl.index, ctl.index, 379 addr (ctl.info), 0); 380 381 goto return_; 382 383 ctl_ (16): /* ".bbl" = block-begin-literal */ 384 shared.literal_mode = "1"b; 385 386 if ctl.index > length (ctl_line) 387 then shared.lit_count = -1; 388 else shared.lit_count = 389 max ( 390 comp_read_$number (ctl_line, unscaled, ctl.index, ctl.index, 391 addr (ctl.info), 0), 1); 392 393 goto return_; 394 395 ctl_ (17): /* ".bbn" = block-begin-named - UNIMPLEMENTED */ 396 /* if ctl.index > length (ctl_line) 397* then call comp_report_ (2,0, "Block name must be given.", 398* addr(ctl.info), ctl_line); 399* else do; 400* call comp_break_ (block_break,0); 401* end; */ 402 goto return_; 403 404 ctl_ (18): /* ".bbp" = block-begin-picture */ 405 if shared.blkptr ^= null 406 then 407 do; 408 if text.blktype = "pi" /* check for nesting */ 409 then 410 do; 411 call comp_report_ (2, 0, "Nested pictures not allowed.", 412 addr (ctl.info), ctl_line); 413 goto return_; 414 end; 415 416 blkusd = 417 text.hdr.used + text.hdr.ftn.usd 418 + bin (text.input_line ^= "") * text.parms.linespace; 419 end; 420 421 else blkusd = 0; /**/ 422 /* check count limit */ 423 if shared.picture.count = hbound (shared.picture.ptr, 1) 424 then 425 do; 426 ctl_info_ptr = addr (ctl.info); 427 call comp_report_$ctlstr (2, comp_error_table_$limitation, 428 ctl_info_ptr, ctl_line, 429 "Too many picture blocks; program limit is ^d", 430 hbound (shared.picture.ptr, 1)); 431 goto return_; 432 end; /**/ 433 /* head page if necessary */ 434 if ^(option.galley_opt | page.hdr.headed) 435 then call comp_head_page_ (head_used); 436 437 ipic, shared.picture.count = shared.picture.count + 1; 438 439 if ctl.index <= length (ctl_line) /* size given? */ 440 then if search (substr (ctl_line, ctl.index), "0123456789") = 1 441 then 442 do; 443 shared.picture.blk (ipic).size = 444 comp_read_$number (ctl_line, vscales, ctl.index, ctl.index, 445 addr (ctl.info), 0); /**/ 446 /* validate given size */ 447 if shared.picture.blk (ipic).size > col.hdr.net - col.depth_adj 448 then 449 do; 450 call comp_report_ (2, 0, 451 "Picture size exceeds net page space.", addr (ctl.info), 452 ctl_line); 453 shared.picture.blk (ipic).size = col.hdr.net - col.depth_adj; 454 end; 455 end; /**/ 456 /* create the picture */ 457 call comp_util_$getblk (-1, shared.picture.blk (ipic).ptr, "pi", 458 addr (current_parms), ^EMPTY); /**/ 459 /* unformatted picture? */ 460 if shared.picture.blk (ipic).size > 0 461 then 462 do; 463 call comp_space_ (shared.picture.blk (ipic).size, 464 shared.picture.blk (ipic).ptr, "1"b, "1"b, "1"b, "0"b); 465 shared.picture.blk (ipic).ptr -> text.hdr.no_trim = "1"b; 466 shared.picture.space = /* count total space */ 467 shared.picture.space + shared.picture.blk (ipic).size; 468 469 if shared.blkptr = null 470 then call comp_util_$pictures (shared.blkptr); 471 472 if shared.bug_mode 473 then call ioa_$rsnnl ("pi=^d ^f", exit_str, 0, shared.picture.count, 474 show (shared.picture.space, 12000)); 475 476 goto return_; 477 end; /**/ 478 /* formatted picture */ 479 shared.picture_mode = "1"b; /* switch to picture block */ 480 shared.picture.blk (ipic).ptr -> text.hdr.blkptr = shared.blkptr; 481 shared.picture.blk (ipic).ptr -> text.hdr.parms_ptr = 482 const.current_parms_ptr; 483 shared.blkptr = shared.picture.blk (ipic).ptr; 484 text.parms.keep = "1"b; 485 const.current_parms_ptr = addr (text.parms); 486 487 if shared.bug_mode 488 then call ioa_$rsnnl ("pi=^d ^f", exit_str, 0, shared.picture.count, 489 dec (divide (shared.picture.space, 12000, 31, 10), 11, 3)); 490 491 goto return_; 492 493 ctl_ (19): /* ".bbt" = block-begin-title */ 494 bbt_ctl: 495 if shared.blkptr ^= null () 496 then if text.parms.title_mode 497 then 498 do; 499 call comp_report_ (2, 0, "Already processing a title block.", 500 addr (ctl.info), ctl_line); 501 goto return_; 502 end; /**/ 503 /* head the page if necessary */ 504 if ^(option.galley_opt | page.hdr.headed) 505 then call comp_head_page_ (head_used); 506 507 if shared.blkptr = null () 508 then call comp_util_$getblk (page.hdr.col_index, shared.blkptr, "tx", 509 addr (current_parms), ^EMPTY); 510 511 else if text.input_line ^= "" 512 then call comp_break_ (format_break, 0); 513 /* format break for current block */ 514 515 if ^text.parms.title_mode & text.parms.hdrptr ^= null () 516 & ^shared.inserting_hfc 517 then if text.parms.hdrptr -> hfcblk.hdr.count > 0 518 then call comp_title_block_ (text.parms.hdrptr); 519 520 text.parms.title_mode = "1"b; /* set the mode flag */ 521 if ctl.index > length (ctl_line) 522 then text.hdr.eqn_line_count = -1; 523 else text.hdr.eqn_line_count = 524 comp_read_$number (ctl_line, unscaled, ctl.index, ctl.index, 525 addr (ctl.info), 0); 526 527 goto return_; 528 529 ctl_ (22): /* ".be" = block-end */ 530 be_ctl: 531 goto bblk_ctl; 532 533 ctl_ (23): /* ".bea" = block-end-artwork */ 534 goto eart_ctl; 535 536 ctl_ (25): /* ".bee" = block-end-equations */ 537 goto bet_ctl; 538 539 ctl_ (26): /* ".bef" = block-end-footnote */ 540 if ^shared.ftn_mode /* not in footnote mode? */ 541 then goto return_; 542 else ftnblkptr = shared.blkptr; /**/ 543 /* was a note given? */ 544 if ftnblk.hdr.count > 0 | ftnblk.input_line ^= "" 545 then 546 do; /* finish the note */ 547 if ftnblk.hdr.count = 1 /* force lead in case only */ 548 then ftnblk.input.linespace = /* footref is there */ 549 max (ftnblk.input.linespace, ftnblk.parms.linespace); 550 call comp_break_ (format_break, 0); 551 552 if shared.ftn_reset ^= "hold" /* if not holding notes */ 553 then 554 do; 555 if orphan /* orphans are unreffed paged notes */ 556 then 557 do; 558 ftnblk.hdr.unref = "1"b; 559 ftncolndx, refcolndx = 0; 560 ftncolptr = page.column_ptr (0); 561 end; 562 563 /**** count notes in containing column */ 564 ftncol.hdr.ftn.ct = ftncol.hdr.ftn.ct + 1; 565 /* if first footnote, */ 566 if ftncol.hdr.ftn.ct = 1 /* count space for the header */ 567 then ftncol.hdr.ftn.usd = ftnhdr.hdr.used + 12000; 568 ftncol.hdr.ftn.usd = /* extra space for separator */ 569 ftncol.hdr.ftn.usd + ftnblk.hdr.used + 12000; 570 ftncol.hdr.ftn.blkndx (ftncol.hdr.ftn.ct) = ftndx; 571 /**** count notes in referring column */ 572 if ftncolndx ^= refcolndx 573 then refcol.hdr.ftn.ct = refcol.hdr.ftn.ct + 1; 574 /**** count notes in containing block */ 575 /* count it in the page header */ 576 if ftnblk.hdr.blkptr = null | ftncolndx ^= refcolndx 577 then blkptr = col0.blkptr (1); 578 /* count it in the current block */ 579 else blkptr = ftnblk.hdr.blkptr; 580 581 if blkptr ^= null 582 then 583 do; 584 block.hdr.ftn.ct = block.hdr.ftn.ct + 1; 585 block.hdr.ftn.usd = 586 block.hdr.ftn.usd + ftnblk.hdr.used + 12000; 587 block.hdr.ftn.blkndx (block.hdr.ftn.ct) = ftndx; 588 end; 589 /**** count notes in referring block */ 590 if refblkptr ^= null & ftnblk.hdr.count > 0 591 & ftncolndx ^= refcolndx 592 then refblk.hdr.ftn.ct = refblk.hdr.ftn.ct + 1; 593 end; 594 end; 595 596 footnote_parms = ftnblk.parms; /* save current footnote parms */ 597 598 shared.ftn_mode = "0"b; /* change back to text mode */ 599 const.current_parms_ptr = ftnblk.hdr.parms_ptr; 600 shared.blkptr = ftnblk.hdr.blkptr; /* recover suspended text block */ 601 602 page.hdr.col_index = save_colno; /* recover suspended column */ 603 shared.colptr = page.column_ptr (page.hdr.col_index); 604 605 ctl.linespace = current_parms.linespace; 606 ctl.cur.font, ctl.font = 607 current_parms.fntstk (current_parms.fntstk.index).entry; 608 609 if ftnblk.hdr.count = 0 /* give back empty block */ 610 then 611 do; 612 call comp_util_$relblk (-1, ftnblk_data.blkptr (ftndx)); 613 if ftndx = ftnblk_data.highndx /* adjust high index if last one */ 614 then 615 do i = ftnblk_data.highndx to 1 by -1 616 while (ftnblk_data.blkptr (i) = null); 617 end; 618 end; 619 620 if shared.bug_mode 621 then 622 do; 623 call ioa_$rsnnl ("ftndx=^d/^d ftncol=^d ^d/^f ftnblk=^d ^d/^f", 624 exit_str, 0, ftndx, ftnblk_data.highndx, ftncolndx, 625 ftncol.hdr.ftn.ct, 626 dec (divide (ftncol.hdr.ftn.usd, 12000, 31, 10), 11, 3), 627 ftnblk.blkndx, ftnblk.hdr.count, 628 dec (divide (ftnblk.hdr.used, 12000, 31, 10), 11, 3)); 629 end; 630 631 if footrefstr = "" /* if no reference */ 632 then 633 do; 634 if ^orphan /* if not an orphan */ 635 then 636 do; /* & notes arent held */ 637 if shared.ftn_reset ^= "hold" 638 then /* count the note and */ 639 do; /* attach to pending text, if any */ 640 if refblk.parms.fill_mode & refblk.input_line ^= "" 641 then 642 do; 643 ftnct, refblk.input.ftn.ct = refblk.input.ftn.ct + 1; 644 refblk.input.ftn.blkndx (refblk.input.ftn.ct) = ftndx; 645 if refcolndx = ftncolndx 646 then refblk.input.ftn.used = 647 refblk.input.ftn.used + ftnblk.hdr.used + 12000; 648 649 if shared.bug_mode 650 then call ioa_$rsnnl ("^a^-(unref refcol=^d ^d/^f" 651 || " refblk=^d ^d/^f reflin=^d ^d/^f", exit_str, 652 0, exit_str, refcolndx, refcol.hdr.ftn.ct, 653 dec (divide (refcol.hdr.ftn.usd, 12000, 31, 10), 654 11, 3), refblk.blkndx, refblk.hdr.ftn.ct, 655 dec (divide (refblk.hdr.ftn.usd, 12000, 31, 10), 656 11, 3), refblk.hdr.count + 1, 657 refblk.input.ftn.ct, 658 dec ( 659 divide (refblk.input.ftn.used, 12000, 31, 10), 660 11, 3)); 661 end; 662 663 else /* attach to last line in the block */ 664 do; 665 line_area_ptr = refblk.line_area.cur; 666 txtlinptr = line_area.linptr (line_area.ndx); 667 ftnct, txtlin.ftn.ct = txtlin.ftn.ct + 1; 668 txtlin.ftn.blkndx (txtlin.ftn.ct) = ftndx; 669 txtlin.ftn.used = 670 txtlin.ftn.used + ftnblk.hdr.used + 12000; 671 672 if shared.bug_mode 673 then call ioa_$rsnnl ("^a refblk=^d ^d/^f reflin=^d ^d/^f", 674 exit_str, 0, exit_str, refblk.blkndx, 675 refblk.hdr.ftn.ct, 676 dec (divide (refblk.hdr.ftn.usd, 12000, 31, 10), 677 11, 3), i, txtlin.ftn.ct, 678 dec (divide (txtlin.ftn.used, 12000, 31, 10), 11, 679 3)); 680 end; 681 end; 682 end; 683 684 else 685 do; 686 if shared.bug_mode 687 then call ioa_$rsnnl ("^a ORPH", exit_str, 0, exit_str); 688 689 if option.galley_opt 690 then call comp_insert_ctls_ (ift_ctl_index); 691 end; 692 693 goto return_; 694 end; 695 696 if shared.blkptr ^= null /* is there an active block? */ 697 then 698 do; 699 if text.parms.fill_mode /* insert reference into filled text */ 700 then 701 do; /* if there is pending text */ 702 if text.input_line ^= "" 703 then ; /**/ 704 705 else if text.hdr.count > 0 /* is last line a hanger? */ 706 then 707 do; 708 line_area_ptr = text.line_area.cur; 709 if line_area.linptr (line_area.ndx) -> text_entry.hanging 710 then 711 do; /* yes, hang the ref onto the hanger */ 712 reflin = text.hdr.count; 713 goto unfilled; 714 end; 715 end; 716 717 ctl_line = ""; 718 call append_footref (addr (ctl)); 719 reflin = text.hdr.count + 1;/* to be sure it fits */ 720 call comp_fill_; /**/ 721 /* if notes arent held */ 722 if shared.ftn_reset ^= "hold" 723 then 724 do; 725 ftnct, text.input.ftn.ct = text.input.ftn.ct + 1; 726 if ftncolndx = refcolndx 727 then text.input.ftn.used = 728 text.input.ftn.used + ftnblk.hdr.used; 729 text.input.ftn.blkndx (text.input.ftn.ct) = ftndx; 730 text.input.ftn.refno (text.input.ftn.ct) = shared.ftnrefct; 731 end; 732 733 if shared.bug_mode 734 then call ioa_$rsnnl ("^a^-(refno=^d refcol=^d ^d/^f" 735 || " refblk=^d ^d/^f reflin=^d ^d/^f", exit_str, 0, 736 exit_str, shared.ftnrefct, refcolndx, refcol.hdr.ftn.ct, 737 dec (divide (refcol.hdr.ftn.usd, 12000, 31, 10), 11, 3), 738 refblk.blkndx, refblk.hdr.ftn.ct, 739 dec (divide (refblk.hdr.ftn.usd, 12000, 31, 10), 11, 3), 740 text.hdr.count + 1, text.input.ftn.ct, 741 dec (divide (text.input.ftn.used, 12000, 31, 10), 11, 3)) 742 ; 743 end; 744 745 else /* append reference to end of */ 746 do; /* last unfilled output line */ 747 748 /* reflin = text.hdr.count; 749*/* if shared.table_mode /* back up to last */ 750 /* then /* line for this table column */ 751 /* do; 752*/* tblfmtptr = tbldata.fmt (tbldata.ndx).ptr; 753*/* do reflin = text.hdr.count to 1 by -1 754*/* while (text.linptr (reflin) -> txtlin.tblcol 755*/* ^= tblfmt.ccol); 756*/* end; 757*/* end;*/ 758 759 unfilled: 760 line_area_ptr = text.line_area.cur; 761 txtlinptr = line_area.linptr (line_area.ndx); 762 call append_footref (txtlinptr); 763 764 call comp_util_$replace_text (shared.blkptr, "0"b, txtlinptr, 765 addr (ctl_line)); /* if notes arent held */ 766 if shared.ftn_reset ^= "hold" 767 then 768 do; 769 ftnct, txtlin.ftn.ct = txtlin.ftn.ct + 1; 770 txtlin.ftn.used = txtlin.ftn.used + ftnblk.hdr.used; 771 txtlin.ftn.blkndx (txtlin.ftn.ct) = ftndx; 772 txtlin.ftn.refno (txtlin.ftn.ct) = shared.ftnrefct; 773 end; 774 775 if shared.bug_mode 776 then call ioa_$rsnnl ("^a refblk=^d ^d/^f reflin=^d ^d/^f" 777 || " ftnblk=^d ^d/^f refno=^d", exit_str, 0, exit_str, 778 refblk.blkndx, refblk.hdr.ftn.ct, 779 dec (divide (refblk.hdr.ftn.usd, 12000, 31, 10), 11, 3), 780 reflin, txtlin.ftn.ct, 781 dec (divide (txtlin.ftn.used, 12000, 31, 10), 11, 3), 782 ftnblk.blkndx, ftnblk.hdr.count, 783 dec (divide (ftnblk.hdr.used, 12000, 31, 10), 11, 3), 784 shared.ftnrefct); 785 end; 786 end; /**/ 787 /* step footnote reference count */ 788 shared.ftnrefct = shared.ftnrefct + 1; 789 790 goto return_; 791 792 append_footref: /* append footref string onto text */ 793 proc (reflineptr); 794 795 dcl reflineptr ptr; /* line to be appended */ 796 dcl 1 refline aligned like text_entry based (reflineptr); 797 798 txtstrptr = refline.ptr; 799 800 if refline.sws.footref /* does line already have a footref? */ 801 then ctl_line = /* add separator and new ref */ 802 txtstr || refline.cur.font.fntptr -> font.footsep || footrefstr; 803 else ctl_line = txtstr || footrefstr; 804 /* add the reference */ 805 806 refline.sws.footref = "1"b; /* set footref flag */ 807 808 end append_footref; 809 810 ctl_ (27): /* ".bek" = block-end-keep */ 811 current_parms.keep = "0"b; /* reset shared flag */ 812 813 if shared.table_mode /* reset all table column flags */ 814 then 815 do; 816 tblfmtptr = tbldata.fmt (tbldata.ndx).ptr; 817 do i = 0 to tblfmt.ncols; 818 tblfmt.colptr (i) -> tblcol.parms.keep = "0"b; 819 end; 820 end; 821 822 if shared.blkptr ^= null () /* is there a block? */ 823 then 824 do; 825 text.parms.keep = "0"b; /* reset block flag */ 826 if text.parms.fill_mode & text.input_line ^= "" 827 then text.input.end_keep = "1"b; 828 else 829 do; 830 line_area_ptr = text.line_area.cur; 831 if line_area.ndx > 0 /* if its not empty */ 832 then line_area.linptr (line_area.ndx) -> txtlin.end_keep = "1"b; 833 end; 834 end; 835 836 goto return_; 837 838 ctl_ (28): /* ".bel" = block-end-literal */ 839 bel_ctl: 840 shared.literal_mode = "0"b; 841 goto return_; 842 843 ctl_ (29): /* ".ben" = block-end-named - UNIMPLEMENTED */ 844 goto return_; 845 846 ctl_ (30): /* ".bep" = block-end-picture */ 847 if ^shared.picture_mode /* if not in picture mode */ 848 then 849 do; 850 call comp_report_ (2, 0, "Not building a picture block.", 851 addr (ctl.info), ctl_line); 852 goto return_; 853 end; /**/ 854 /* add caption(s) */ 855 if text.parms.ftrptr ^= null () & ^shared.inserting_hfc 856 then 857 do; 858 if text.input_line ^= "" 859 then call comp_break_ (format_break, 0); 860 if text.parms.ftrptr -> hfcblk.hdr.count > 0 861 then call comp_title_block_ (text.parms.ftrptr); 862 end; /**/ 863 /* finish it */ 864 call comp_break_ (format_break, 0); /**/ 865 /* record picture size */ 866 shared.picture.blk (shared.picture.count).size = text.hdr.used; 867 shared.picture.space = shared.picture.space + text.hdr.used; 868 869 shared.picture_mode = "0"b; /* leave picture mode */ 870 /* recover suspended block */ 871 const.current_parms_ptr = text.hdr.parms_ptr; 872 shared.blkptr = text.hdr.blkptr; 873 874 if shared.blkptr = null 875 then 876 do; /* head the page if necessary */ 877 if ^(option.galley_opt | page.hdr.headed) 878 then call comp_head_page_ (head_used); 879 call comp_util_$pictures (shared.blkptr); 880 end; 881 else if text.input_line = "" 882 then call comp_util_$pictures (shared.blkptr); 883 884 if shared.bug_mode 885 then call ioa_$rsnnl ("pi=^d ^f", exit_str, 0, shared.picture.count, 886 show (shared.picture.space, 12000)); 887 888 goto return_; 889 890 ctl_ (31): /* ".bet" = block-end-title */ 891 bet_ctl: 892 current_parms.title_mode = "0"b; /* reset shared flag */ 893 if shared.blkptr ^= null () /* and active flag */ 894 then 895 do; 896 text.parms.title_mode = "0"b; 897 call comp_break_ (format_break, 0); 898 /* a format break */ 899 end; 900 901 goto return_; 902 903 ctl_ (57): /* ".eart" = end-artwork */ 904 eart_ctl: 905 current_parms.art = "0"b; /* reset shared flag */ 906 if shared.blkptr ^= null () /* reset active flag */ 907 then text.parms.art = "0"b; 908 909 goto return_; 910 911 return_: 912 ctl_line = ""; 913 914 if shared.bug_mode 915 then call ioa_ ("^5x(block_ctls:^[ ^a^])", (exit_str ^= ""), exit_str); 916 917 return; 918 919 show: 920 proc (datum, scale) returns (fixed dec (11, 3)); 921 dcl datum fixed bin (31); 922 dcl scale fixed bin (31); 923 924 return (round (dec (round (divide (datum, scale, 31, 11), 10), 11, 4), 3)); 925 end show; 926 927 /* DCLS THAT MUST BE NEAR INCLS DUE TO SYMBOL TABLE SIZE LIMIT */ 928 929 dcl 1 ftncol aligned like col based (ftncolptr); 930 dcl 1 refcol aligned like col based (page.column_ptr (refcolndx)); 931 dcl 1 locol aligned like col based (locolptr); 932 dcl locolptr ptr; 933 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 */ 934 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 */ 935 3 1 /* BEGIN INCLUDE FILE comp_ctl_index.incl.pl1 */ 3 2 3 3 /* Written: 3/82 - EJW */ 3 4 3 5 /* Vector index values for controls that must be globally known. */ 3 6 3 7 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 3 8 3 9 dcl ( 3 10 be_ctl_index init (22), /* block-end */ 3 11 bef_ctl_index init (26), /* block-end-footnote */ 3 12 bel_ctl_index init (28), /* block-end-literal */ 3 13 bep_ctl_index init (30), /* block-end-picture */ 3 14 fin_ctl_index init (76), /* fill-on */ 3 15 ifi_ctl_index init (110), /* insert-file */ 3 16 ift_ctl_index init (111), /* insert-footnotes */ 3 17 tac_ctl_index init (145), /* table-column */ 3 18 taf_ctl_index init (146) /* table-off */ 3 19 ) fixed bin static options (constant); 3 20 3 21 /* END INCLUDE FILE comp_ctl_index.incl.pl1 */ 936 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 */ 937 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 */ 938 6 1 /* BEGIN INCLUDE FILE comp_font.incl.pl1 */ 6 2 6 3 /* Fonts already loaded into the compose (pdir) database */ 6 4 6 5 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 6 6 6 7 dcl 1 fnttbldata aligned based (const.fnttbldata_ptr), 6 8 2 count fixed bin, /* number of fonts loaded */ 6 9 2 ndx fixed bin, /* index of current font */ 6 10 2 medsel_ptr ptr, /* -> media select table */ 6 11 2 ptr (100) ptr; /* 100 fonts should be plenty! */ 6 12 6 13 dcl fnttbl_ptr ptr init (null); 6 14 dcl 1 fnttbl aligned based (fnttbl_ptr), 6 15 2 min_wsp fixed bin, /* min wordspace - in strokes */ 6 16 2 avg_wsp fixed bin, /* nominal wordspace - in strokes */ 6 17 2 max_wsp fixed bin, /* max wordspace - in strokes */ 6 18 2 rel_units fixed bin, /* stroke value for this font */ 6 19 2 siztbl_ptr ptr, /* -> loaded size table */ 6 20 2 entry /* stack entry for this font */ 6 21 like fntstk_entry, 6 22 ( /* for each font character */ 6 23 2 devfnt fixed bin, /* font in the device */ 6 24 2 replptr ptr, /* replacement string ptrs */ 6 25 2 units fixed bin, /* width in strokes */ 6 26 2 white bit (1) unal /* white space flags */ 6 27 ) dimension (0:511); 6 28 6 29 dcl repl_str_ptr ptr; /* replacement strings */ 6 30 dcl 1 repl_str based (repl_str_ptr), 6 31 2 len fixed bin (35), 6 32 2 str char (256); 6 33 dcl replstr char (256) var based (repl_str_ptr); 6 34 /* media select strings */ 6 35 /* (indexed on fnttbldata.ndx) */ 6 36 dcl medsel (100) char (12) based (fnttbldata.medsel_ptr); 6 37 6 38 dcl 1 siztbl based (fnttbl.siztbl_ptr), 6 39 2 ct fixed bin, /* number of sizes */ 6 40 2 size (siztbl.ct) fixed bin (31); 6 41 6 42 /* This is the storage referred by family.member_r in comp_dvt 6 43* 6 44* If member.count is 1 and member.name(1) is null, then the font is a 6 45* 'bachelor'. 6 46* 6 47* The font stack will hold the family/member names which were used to 6 48* originally get to the font. When a bachelor is accessed, the member name 6 49* will remain but the bachelor flag will be set to tell any displayers not 6 50* to include it. 6 51* 6 52* %FontName% will contain either "family" or "family/member" depending on 6 53* the setting of the bachelor switch. */ 6 54 6 55 dcl member_ptr ptr; 6 56 dcl 1 member based (member_ptr), 6 57 2 count fixed bin, /* # members present */ 6 58 2 e (member.count), /* members defined for this device */ 6 59 3 font_r bit (18) unal, /* font character table relptr */ 6 60 3 size_r bit (18) aligned, 6 61 /* point size list relptr */ 6 62 3 Scalex fixed bin (35), /* X (hor) scaling * 1e8 - FUTURE */ 6 63 3 Scaley fixed bin (35), /* Y (ver) scaling * 1e8 - FUTURE */ 6 64 3 name char (32); /* member name */ 6 65 6 66 /* Storage referred by member.font_r */ 6 67 dcl font_ptr ptr; 6 68 dcl 1 font based (font_ptr), 6 69 ( 2 oput_r, /* offset of output data array */ 6 70 2 units_r /* offset of width array */ 6 71 ) bit (18) aligned, 6 72 2 rel_units fixed bin, /* stroke value for this table */ 6 73 2 footsep char (1), /* footref separator */ 6 74 2 fill char (3), 6 75 2 min_wsp fixed bin, /* min wordspace */ 6 76 2 avg_wsp fixed bin, /* nominal wordspace */ 6 77 2 max_wsp fixed bin; /* max wordspace */ 6 78 6 79 /* storage referred by font.units_r */ 6 80 dcl units_ptr ptr; /* width in strokes */ 6 81 dcl units (0:511) fixed bin based (units_ptr); 6 82 6 83 /* media select table in the device table */ 6 84 dcl medsel_table_ptr 6 85 ptr; 6 86 dcl 1 medsel_table based (medsel_table_ptr), 6 87 2 count fixed bin, 6 88 2 ref_r (medsel_table.count) bit (18) aligned; 6 89 6 90 /* storage referred by font.oput_r */ 6 91 dcl oput_p ptr; 6 92 dcl 1 oput based (oput_p), 6 93 2 data_ct fixed bin, /* highest char defined */ 6 94 2 e (0:oput.data_ct), 6 95 3 which /* index into view array */ 6 96 fixed bin (17) unal, 6 97 3 what_r /* output string */ 6 98 bit (18) unal; 6 99 6 100 /* storage referred by member.size_r */ 6 101 6 102 dcl sizel_p ptr; 6 103 dcl 1 sizel based (sizel_p),/* list of allowed point sizes */ 6 104 2 val_ct fixed bin, 6 105 2 val (sizel.val_ct) fixed bin (31); 6 106 6 107 /* storage referred by oput.what_r */ 6 108 6 109 dcl medchar_sel_p ptr; /* MediaChar select string */ 6 110 dcl 1 medchar_sel based (medchar_sel_p), 6 111 2 str_l fixed bin, 6 112 2 str char (medchar_sel.str_l); 6 113 dcl medchar char (medchar_sel.str_l) var based (medchar_sel_p); 6 114 6 115 dcl med_sel_p ptr; /* media select string */ 6 116 dcl 1 med_sel based (med_sel_p), 6 117 2 str_l fixed bin, 6 118 2 str char (med_sel.str_l); 6 119 6 120 /* END INCLUDE FILE comp_font.incl.pl1 */ 939 7 1 /* BEGIN INCLUDE FILE comp_footnotes.incl.pl1 */ 7 2 7 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 7 4 7 5 dcl 1 ftnblk_data aligned based (shared.ftnblk_data_ptr), 7 6 /* data for footnote blocks */ 7 7 2 highndx fixed (35), /* highest active footnote index */ 7 8 2 blkptr (250) ptr; /* block pointers */ 7 9 /* footnote header data block */ 7 10 dcl 1 ftnhdr aligned like text based (shared.footnote_header_ptr); 7 11 /* formatting parms for footnotes */ 7 12 dcl 1 footnote_parms 7 13 aligned like default_parms 7 14 based (const.footnote_parms_ptr); 7 15 7 16 /* END INCLUDE FILE comp_footnotes.incl.pl1 */ 940 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 */ 941 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 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 942 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 */ 943 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 */ 944 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 */ 945 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 */ 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 */ 946 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 */ 947 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 */ 948 16 1 /* BEGINNING OF: translator_temp_alloc.incl.pl1 * * * * * * * * * * * * * * * * */ 16 2 16 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 16 4 /* */ 16 5 /* N__a_m_e: translator_temp_alloc.incl.pl1 */ 16 6 /* */ 16 7 /* This include segment allocates space in a translator's temporary segment. It */ 16 8 /* contains a complete space allocation function 'allocate' which can be a quick PL/I */ 16 9 /* internal procedure in the program which includes this include segment. The temporary */ 16 10 /* segment should be one obtained by using the translator_temp_ subroutine. */ 16 11 /* */ 16 12 /* S__t_a_t_u_s */ 16 13 /* */ 16 14 /* 0) Created by: G. C. Dixon in January, 1975. */ 16 15 /* 1) Modified by: G. C. Dixon in February, 1981 - use limit area structure. */ 16 16 /* */ 16 17 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 16 18 16 19 16 20 16 21 allocate: procedure (Parea, ANwords) returns (ptr); 16 22 16 23 dcl Parea ptr, /* ptr to the temporary segment. (In) */ 16 24 ANwords fixed bin; /* number of words to be allocated. (In) */ 16 25 16 26 dcl Nwords fixed bin, /* number of words to be allocated, rounded up */ 16 27 /* to a 0 mod 2 quantity. */ 16 28 P ptr, /* a temporary pointer. */ 16 29 code fixed bin(35), /* a status code. */ 16 30 (mod, null, ptr) builtin; 16 31 16 32 dcl 1 area based (Parea), 16 33 2 Pfirst_temp_seg ptr unal, /* ptr to first temp seg of a group. */ 16 34 2 Ofree fixed bin(35), /* offset of next free word in temp seg. */ 16 35 2 Lfree fixed bin(35); /* length of remaining free space in temp seg. */ 16 36 16 37 dcl translator_temp_$get_next_segment 16 38 entry (ptr, ptr, fixed bin(35)); 16 39 16 40 Nwords = ANwords + mod (ANwords, 2); /* round up word count to 0 + mod 2 quantity. */ 16 41 if Nwords > Lfree then do; /* handle area overflow. */ 16 42 call translator_temp_$get_next_segment (Parea, P, code); 16 43 if P = null then return (null); 16 44 Parea = P; 16 45 if Nwords > area.Lfree then return (null); 16 46 end; 16 47 P = ptr (Parea, area.Ofree); /* get pointer to next free word of area. */ 16 48 area.Ofree = area.Ofree + Nwords; /* increase offset of remaining free space. */ 16 49 area.Lfree = area.Lfree - Nwords; /* decrease length of remaining free space. */ 16 50 return (P); 16 51 16 52 end allocate; 16 53 16 54 /* END OF: translator_temp_alloc.incl.pl1 * * * * * * * * * * * * * * * * */ 949 950 951 end comp_block_ctls_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/23/85 0908.7 comp_block_ctls_.pl1 >spec>online>comp>comp_block_ctls_.pl1 934 1 04/23/85 0912.1 comp_brktypes.incl.pl1 >spec>online>comp>comp_brktypes.incl.pl1 935 2 04/23/85 0912.2 comp_column.incl.pl1 >spec>online>comp>comp_column.incl.pl1 936 3 03/01/85 1411.8 comp_ctl_index.incl.pl1 >ldd>include>comp_ctl_index.incl.pl1 937 4 03/01/85 1411.9 comp_entries.incl.pl1 >ldd>include>comp_entries.incl.pl1 938 5 03/01/85 1412.0 comp_fntstk.incl.pl1 >ldd>include>comp_fntstk.incl.pl1 939 6 04/23/85 0912.3 comp_font.incl.pl1 >spec>online>comp>comp_font.incl.pl1 940 7 03/01/85 1412.0 comp_footnotes.incl.pl1 >ldd>include>comp_footnotes.incl.pl1 941 8 04/23/85 0912.3 comp_metacodes.incl.pl1 >spec>online>comp>comp_metacodes.incl.pl1 942 9 03/01/85 1412.0 comp_option.incl.pl1 >ldd>include>comp_option.incl.pl1 943 10 04/23/85 0912.4 comp_page.incl.pl1 >spec>online>comp>comp_page.incl.pl1 944 11 03/01/85 1412.0 comp_shared.incl.pl1 >ldd>include>comp_shared.incl.pl1 945 12 03/01/85 1412.0 comp_table.incl.pl1 >ldd>include>comp_table.incl.pl1 946 13 04/23/85 0912.6 comp_text.incl.pl1 >spec>online>comp>comp_text.incl.pl1 947 14 03/01/85 1411.9 comp_dvt.incl.pl1 >ldd>include>comp_dvt.incl.pl1 948 15 03/01/85 1412.1 compstat.incl.pl1 >ldd>include>compstat.incl.pl1 949 16 07/22/81 2045.0 translator_temp_alloc.incl.pl1 >ldd>include>translator_temp_alloc.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. ANwords parameter fixed bin(17,0) dcl 16-23 ref 16-21 16-40 16-40 EMPTY constant bit(1) initial unaligned dcl 29 ref 88 214 255 353 457 507 EN 007465 constant char(1) initial unaligned dcl 8-6 ref 301 LOAD 000126 constant bit(1) initial unaligned dcl 42 set ref 207* 208* Lfree 2 based fixed bin(35,0) level 2 dcl 16-32 set ref 16-41 16-45 16-49* 16-49 Nwords 000444 automatic fixed bin(17,0) dcl 16-26 set ref 16-40* 16-41 16-45 16-48 16-49 Ofree 1 based fixed bin(35,0) level 2 dcl 16-32 set ref 16-47 16-48* 16-48 P 000446 automatic pointer dcl 16-26 set ref 16-42* 16-43 16-44 16-47* 16-50 Parea parameter pointer dcl 16-23 set ref 16-21 16-41 16-42* 16-44* 16-45 16-47 16-47 16-48 16-48 16-49 16-49 addr builtin function dcl 59 ref 88 88 99 99 133 133 173 173 222 222 242 242 290 290 297 297 297 297 297 297 297 297 314 314 333 353 353 377 377 388 388 411 411 426 443 443 450 450 457 457 485 499 499 507 507 523 523 718 718 764 764 850 850 area based structure level 1 unaligned dcl 16-32 art 1004(06) based bit(1) level 4 in structure "text" packed unaligned dcl 13-49 in procedure "comp_block_ctls_" set ref 103* 118* 906* art 0(06) based bit(1) level 3 in structure "current_parms" packed unaligned dcl 13-209 in procedure "comp_block_ctls_" set ref 103* 112* 903* art 4 based bit(1) level 4 in structure "text" packed unaligned dcl 13-49 in procedure "comp_block_ctls_" set ref 103* art_count 5 based fixed bin(17,0) level 3 packed unaligned dcl 13-49 set ref 97* 99* avg 4 000220 automatic fixed bin(31,0) level 2 dcl 43 set ref 307 balftn 320 based structure level 3 in structure "locol" dcl 931 in procedure "comp_block_ctls_" balftn 320 based structure level 3 in structure "ftncol" dcl 929 in procedure "comp_block_ctls_" balftn 320 based structure level 3 in structure "col" dcl 2-5 in procedure "comp_block_ctls_" balftn 320 based structure level 3 in structure "col0" dcl 2-37 in procedure "comp_block_ctls_" balftn 2 based structure level 2 in structure "colhdr" dcl 2-21 in procedure "comp_block_ctls_" balftn 320 based structure level 3 in structure "refcol" dcl 930 in procedure "comp_block_ctls_" bef_ctl_index 000064 constant fixed bin(17,0) initial dcl 3-9 set ref 107* blk 3646 based structure array level 3 dcl 11-7 blkndx 16 based fixed bin(17,0) array level 4 in structure "block" dcl 25 in procedure "comp_block_ctls_" set ref 587* blkndx 325 based fixed bin(17,0) array level 5 in structure "refblk" packed unaligned dcl 51 in procedure "comp_block_ctls_" set ref 644* blkndx 377 based fixed bin(17,0) array level 4 in structure "ftncol" dcl 929 in procedure "comp_block_ctls_" set ref 570* blkndx 207 based fixed bin(17,0) array level 4 in structure "txtlin" packed unaligned dcl 13-161 in procedure "comp_block_ctls_" set ref 668* 771* blkndx 325 based fixed bin(17,0) array level 5 in structure "text" packed unaligned dcl 13-49 in procedure "comp_block_ctls_" set ref 729* blkndx 1 based fixed bin(17,0) level 2 in structure "ftnblk" dcl 34 in procedure "comp_block_ctls_" set ref 623* 775* blkndx 1 based fixed bin(17,0) level 2 in structure "refblk" dcl 51 in procedure "comp_block_ctls_" set ref 649* 672* 733* 775* blkptr 2 based pointer array level 2 in structure "ftnblk_data" dcl 7-5 in procedure "comp_block_ctls_" set ref 206* 255* 257 612* 613 blkptr based pointer array level 2 in structure "col0" dcl 2-37 in procedure "comp_block_ctls_" ref 576 blkptr 6 based pointer level 3 in structure "text" dcl 13-49 in procedure "comp_block_ctls_" set ref 480* 872 blkptr 3752 based pointer level 3 in structure "shared" dcl 11-7 in procedure "comp_block_ctls_" set ref 79 88* 92 92 92 92 97 99 103 103 115 118 118 118 192 272 330 332* 335 338 353 353* 357 357 357 361 364 375 377 404 408 416 416 416 416 469 469* 480 483* 484 485 493 493 507 507* 511 515 515 515 515 520 521 523 542 600* 696 699 702 705 708 712 719 725 725 726 726 729 729 730 730 733 733 733 733 759 764* 822 825 826 826 826 830 855 858 860 860 866 867 871 872* 872 874 879* 881 881* 893 896 906 906 blkptr 6 based pointer level 3 in structure "ftnblk" dcl 34 in procedure "comp_block_ctls_" set ref 272* 330* 576 579 600 blkptr 000100 automatic pointer dcl 23 in procedure "comp_block_ctls_" set ref 576* 579* 581 584 584 585 585 587 587 blktype 2 based char(2) level 2 dcl 13-49 ref 408 blkusd 000102 automatic fixed bin(31,0) dcl 24 set ref 416* 421* block based structure level 1 dcl 25 block_break 000140 constant fixed bin(17,0) initial dcl 1-9 set ref 121* bug_mode 4113 based bit(1) level 3 packed unaligned dcl 11-7 ref 70 338 472 487 620 649 672 686 733 775 884 914 ccol 1 based fixed bin(17,0) level 2 dcl 12-15 ref 278 char builtin function dcl 59 ref 289 code 000450 automatic fixed bin(35,0) dcl 16-26 set ref 16-42* col based structure level 1 dcl 2-5 col0 based structure level 1 dcl 2-37 col_index 21 based fixed bin(17,0) level 3 dcl 10-11 set ref 88* 140 171 353* 507* 602* 603 colhdr based structure level 1 dcl 2-21 colno 12 based fixed bin(17,0) level 3 packed unaligned dcl 7-10 set ref 220* colptr 3754 based pointer level 3 in structure "shared" dcl 11-7 in procedure "comp_block_ctls_" set ref 233 447 447 453 453 603* colptr 4 based pointer array level 2 in structure "tblfmt" dcl 12-15 in procedure "comp_block_ctls_" ref 278 371 818 column_ptr 42 based pointer array level 2 dcl 10-11 ref 265 560 572 572 576 603 649 649 649 733 733 733 comp_block_ctls_ 000200 constant entry external dcl 4-9 ref 107 comp_break_ 000202 constant entry external dcl 4-11 ref 121 361 511 550 858 864 897 comp_dvt based structure level 1 dcl 14-19 set ref 290 290 comp_error_table_$limitation 000172 external static fixed bin(35,0) dcl 62 set ref 427* comp_error_table_$usage_error 000174 external static fixed bin(35,0) dcl 64 set ref 242* comp_fill_ 000204 constant entry external dcl 4-24 ref 720 comp_font_ 000206 constant entry external dcl 4-25 ref 207 208 comp_head_page_ 000210 constant entry external dcl 4-33 ref 85 348 434 504 877 comp_insert_ctls_ 000212 constant entry external dcl 4-42 ref 689 comp_measure_ 000214 constant entry external dcl 4-48 ref 297 comp_read_$number 000216 constant entry external dcl 4-53 ref 99 377 388 443 523 comp_report_ 000220 constant entry external dcl 4-59 ref 133 173 411 450 499 850 comp_report_$ctlstr 000222 constant entry external dcl 4-61 ref 242 427 comp_space_ 000224 constant entry external dcl 4-66 ref 463 comp_title_block_ 000226 constant entry external dcl 4-69 ref 92 357 515 860 comp_util_$add_text 000230 constant entry external dcl 4-75 ref 222 314 comp_util_$getblk 000232 constant entry external dcl 4-82 ref 88 214 255 353 457 507 comp_util_$pictures 000234 constant entry external dcl 4-88 ref 469 879 881 comp_util_$relblk 000236 constant entry external dcl 4-94 ref 612 comp_util_$replace_text 000240 constant entry external dcl 4-96 ref 764 compstat$compconst 000242 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_block_ctls_" ref 705 712 719 733 count 3644 based fixed bin(17,0) level 3 in structure "shared" dcl 11-7 in procedure "comp_block_ctls_" set ref 423 437 437* 472* 487* 866 884* count 12(18) based fixed bin(17,0) level 3 in structure "refblk" packed unaligned dcl 51 in procedure "comp_block_ctls_" ref 649 count 12(18) based fixed bin(17,0) level 3 in structure "ftnblk" packed unaligned dcl 34 in procedure "comp_block_ctls_" set ref 544 547 590 609 623* 775* count 12(18) based fixed bin(17,0) level 3 in structure "hfcblk" packed unaligned dcl 13-250 in procedure "comp_block_ctls_" ref 92 357 515 860 ct 323 based fixed bin(17,0) level 4 in structure "text" dcl 13-49 in procedure "comp_block_ctls_" set ref 725 725* 729 730 733* ct 323 based fixed bin(17,0) level 4 in structure "refblk" dcl 51 in procedure "comp_block_ctls_" set ref 643 643* 644 649* ct 14 based fixed bin(17,0) level 4 in structure "block" dcl 25 in procedure "comp_block_ctls_" set ref 584* 584 587 ct 375 based fixed bin(17,0) level 4 in structure "refcol" dcl 930 in procedure "comp_block_ctls_" set ref 572* 572 649* 733* ct 14 based fixed bin(17,0) level 4 in structure "refblk" dcl 51 in procedure "comp_block_ctls_" set ref 590* 590 649* 672* 733* 775* ct 205 based fixed bin(17,0) level 3 in structure "txtlin" dcl 13-161 in procedure "comp_block_ctls_" set ref 667 667* 668 672* 769 769* 771 772 775* ct 375 based fixed bin(17,0) level 4 in structure "ftncol" dcl 929 in procedure "comp_block_ctls_" set ref 564* 564 566 570 623* ctl based structure level 1 dcl 13-157 set ref 718 718 ctl_index parameter fixed bin(17,0) dcl 19 set ref 14 70* 74 ctl_info_ptr 000104 automatic pointer dcl 27 set ref 426* 427* ctl_line based varying char(1020) dcl 13-158 set ref 70* 97 99* 133* 142 146 146 154 154 158 161 164 173* 242* 375 377* 386 388* 411* 427* 439 439 443* 450* 499* 521 523* 717* 764 764 800* 803* 850* 911* ctl_ptr 132 based pointer level 3 dcl 15-23 ref 70 97 97 99 99 99 99 99 133 133 133 142 142 146 146 146 146 151 151 154 154 154 154 154 154 158 158 161 161 164 164 173 173 173 242 242 242 281 283 283 375 375 377 377 377 377 377 386 386 388 388 388 388 388 411 411 411 426 427 439 439 439 439 443 443 443 443 443 450 450 450 499 499 499 521 521 523 523 523 523 523 605 606 606 717 718 718 764 764 800 803 850 850 850 911 cur 1000 based pointer level 3 in structure "text" dcl 13-49 in procedure "comp_block_ctls_" ref 708 759 830 cur 10 based structure level 2 in structure "text_entry" dcl 13-68 in procedure "comp_block_ctls_" cur 10 automatic structure level 2 in structure "pline" dcl 47 in procedure "comp_block_ctls_" cur 126 based structure level 3 in structure "refblk" dcl 51 in procedure "comp_block_ctls_" cur 10 based structure level 2 in structure "refline" dcl 796 in procedure "append_footref" cur 126 based structure level 3 in structure "hfcblk" dcl 13-250 in procedure "comp_block_ctls_" cur 126 based structure level 3 in structure "ftnhdr" dcl 7-10 in procedure "comp_block_ctls_" cur 10 based structure level 2 in structure "ctl" dcl 13-157 in procedure "comp_block_ctls_" cur 10 based structure level 2 in structure "txtlin" dcl 13-161 in procedure "comp_block_ctls_" cur 126 based structure level 3 in structure "text" dcl 13-49 in procedure "comp_block_ctls_" cur 1000 based pointer level 3 in structure "refblk" dcl 51 in procedure "comp_block_ctls_" ref 665 cur 1000 based pointer level 3 in structure "ftnhdr" dcl 7-10 in procedure "comp_block_ctls_" ref 225 cur 126 based structure level 3 in structure "block" dcl 25 in procedure "comp_block_ctls_" cur 126 based structure level 3 in structure "ftnblk" dcl 34 in procedure "comp_block_ctls_" current_fcs 000106 automatic char(8) unaligned dcl 28 set ref 281* 292 current_parms based structure level 1 dcl 13-209 set ref 88 88 353 353 457 457 507 507 current_parms_ptr 134 based pointer level 3 dcl 15-23 set ref 88 88 103 112 112 112 331 333* 353 353 457 457 481 485* 507 507 599* 605 606 606 810 871* 890 903 datum parameter fixed bin(31,0) dcl 921 ref 919 924 default 2 based bit(1) level 3 packed unaligned dcl 13-161 set ref 226* default_parms based structure level 1 dcl 13-213 depth 76 based fixed bin(31,0) level 2 dcl 13-161 set ref 230* depth_adj 310 based fixed bin(31,0) level 2 dcl 2-5 ref 447 453 devptr 140 based pointer level 3 dcl 15-23 ref 290 290 290 divide builtin function dcl 59 ref 487 487 623 623 623 623 649 649 649 649 649 649 672 672 672 672 733 733 733 733 733 733 775 775 775 775 775 775 924 e 207 based structure array level 3 in structure "txtlin" dcl 13-161 in procedure "comp_block_ctls_" e 325 based structure array level 4 in structure "refblk" dcl 51 in procedure "comp_block_ctls_" e 325 based structure array level 4 in structure "text" dcl 13-49 in procedure "comp_block_ctls_" end_keep 120(03) based bit(1) level 4 in structure "text" packed unaligned dcl 13-49 in procedure "comp_block_ctls_" set ref 826* end_keep 2(03) based bit(1) level 3 in structure "txtlin" packed unaligned dcl 13-161 in procedure "comp_block_ctls_" set ref 831* entry 22 based structure array level 3 in structure "footnote_parms" dcl 7-12 in procedure "comp_block_ctls_" set ref 228 283 entry 22 based structure array level 3 in structure "current_parms" dcl 13-209 in procedure "comp_block_ctls_" set ref 606 eqn_line_count 13 based fixed bin(17,0) level 3 packed unaligned dcl 13-49 set ref 521* 523* exit_str 000110 automatic varying char(256) dcl 30 set ref 73* 338* 472* 487* 623* 649* 649* 672* 672* 686* 686* 733* 733* 775* 775* 884* 914 914* fcs_str 156 based char(8) level 3 in structure "ctl" dcl 13-157 in procedure "comp_block_ctls_" set ref 281 fcs_str 100 based char(8) array level 4 in structure "footnote_parms" dcl 7-12 in procedure "comp_block_ctls_" set ref 301 fill_mode 1006 based bit(1) level 4 in structure "refblk" packed unaligned dcl 51 in procedure "comp_block_ctls_" ref 640 fill_mode 1006 based bit(1) level 4 in structure "text" packed unaligned dcl 13-49 in procedure "comp_block_ctls_" set ref 699 826 fmt 2 based structure array level 2 dcl 12-5 fntptr 32 based pointer level 4 dcl 796 ref 800 fntstk 20 based structure level 2 in structure "current_parms" dcl 13-209 in procedure "comp_block_ctls_" fntstk 20 based structure level 2 in structure "footnote_parms" dcl 7-12 in procedure "comp_block_ctls_" fntstk_entry based structure level 1 dcl 5-6 fnttbl_ptr 000376 automatic pointer initial dcl 6-13 set ref 6-13* font 100 based structure level 2 in structure "txtlin" dcl 13-161 in procedure "comp_block_ctls_" set ref 228* font 16 based structure level 3 in structure "refline" dcl 796 in procedure "append_footref" font 216 based structure level 3 in structure "ftnblk" dcl 34 in procedure "comp_block_ctls_" set ref 283* 297 297 font based structure level 1 unaligned dcl 6-68 in procedure "comp_block_ctls_" font 100 based structure level 2 in structure "ctl" dcl 13-157 in procedure "comp_block_ctls_" set ref 283* 606* font 16 based structure level 3 in structure "ctl" dcl 13-157 in procedure "comp_block_ctls_" set ref 283* 606* footnote 1006(01) based bit(1) level 4 in structure "ftnblk" packed unaligned dcl 34 in procedure "comp_block_ctls_" set ref 259* footnote 1006(01) based bit(1) level 4 in structure "ftnhdr" packed unaligned dcl 7-10 in procedure "comp_block_ctls_" set ref 217* footnote_header_ptr 3774 based pointer level 3 dcl 11-7 set ref 211 214* 216 217 218 218 219 220 222* 222 222 225 227 566 footnote_parms based structure level 1 dcl 7-12 set ref 596* footnote_parms_ptr 146 based pointer level 3 dcl 15-23 set ref 214* 228 228 255* 282 283 283 301 301 307 327 596 footproc 14 based entry variable level 2 dcl 14-19 set ref 290 footref 2(05) based bit(1) level 3 packed unaligned dcl 796 set ref 800 806* footref_array 000010 internal static varying char(48) array dcl 31 set ref 289* 290* 292 292 292 301 301 301 footref_fcs 10 based char(8) level 2 dcl 11-7 set ref 208* 292 301 footrefstr 000057 internal static varying char(256) dcl 32 set ref 138* 150* 169 236* 246* 286 292* 297 631 800 803 footsep 3 based char(1) level 2 packed unaligned dcl 6-68 ref 800 format_break 000131 constant fixed bin(17,0) initial dcl 1-9 set ref 361* 511* 550* 858* 864* 897* ftn 375 based structure level 3 in structure "refcol" dcl 930 in procedure "comp_block_ctls_" ftn 375 based structure level 3 in structure "ftncol" dcl 929 in procedure "comp_block_ctls_" ftn 205 based structure level 2 in structure "txtlin" dcl 13-161 in procedure "comp_block_ctls_" ftn 14 based structure level 3 in structure "text" dcl 13-49 in procedure "comp_block_ctls_" ftn 323 based structure level 3 in structure "text" dcl 13-49 in procedure "comp_block_ctls_" ftn 14 based structure level 3 in structure "refblk" dcl 51 in procedure "comp_block_ctls_" ftn 14 based structure level 3 in structure "block" dcl 25 in procedure "comp_block_ctls_" ftn 323 based structure level 3 in structure "refblk" dcl 51 in procedure "comp_block_ctls_" ftn_mode 4113(05) based bit(1) level 3 packed unaligned dcl 11-7 set ref 107 129 336* 539 598* ftn_reset 12 based varying char(8) level 2 dcl 11-7 ref 239 552 637 722 766 ftnblk based structure level 1 dcl 34 ftnblk_data based structure level 1 dcl 7-5 set ref 203 203 ftnblk_data_ptr 3772 based pointer level 3 dcl 11-7 set ref 200 203* 203 203 205 206 253 253 255 257 612 613 613 613 623 ftnblkptr 000212 automatic pointer dcl 33 set ref 257* 258 259 261 266 269 270 272 282 283 297 297 297 297 297 301 307 307 309 310 311 312 314* 314 314 317 317 318 320 320 321 326 327 330 331 332 333 542* 544 544 547 547 547 547 558 568 576 579 585 590 596 599 600 609 623 623 623 623 645 669 726 770 775 775 775 775 ftncol based structure level 1 dcl 929 ftncolndx 000162 internal static fixed bin(17,0) dcl 36 set ref 140* 168* 265 338* 559* 572 576 590 623* 645 726 ftncolptr 000160 internal static pointer dcl 35 set ref 265* 266 560* 564 564 566 566 568 568 570 570 623 623 623 ftnct 000214 automatic fixed bin(17,0) dcl 37 set ref 643* 667* 725* 769* ftndx 000163 internal static fixed bin(17,0) dcl 38 set ref 253* 255 257 338* 570 587 612 613 623* 644 668 729 771 ftnhdr based structure level 1 dcl 7-10 ftnrefct 15 based fixed bin(17,0) level 2 dcl 11-7 set ref 239 289 338* 730 733* 772 775* 788* 788 ftrptr 1010 based pointer level 3 dcl 13-49 set ref 855 860 860* galley_opt 1(09) based bit(1) level 2 packed unaligned dcl 9-5 ref 85 239 348 434 504 689 877 global_area_ptr 152 based pointer level 3 dcl 15-23 set ref 203* hanging 2(06) based bit(1) level 3 in structure "text_entry" packed unaligned dcl 13-68 in procedure "comp_block_ctls_" ref 709 hanging 120(06) based bit(1) level 4 in structure "ftnblk" packed unaligned dcl 34 in procedure "comp_block_ctls_" set ref 309* 318* hdr 4 based structure level 2 in structure "refblk" dcl 51 in procedure "comp_block_ctls_" hdr 4 based structure level 2 in structure "block" dcl 25 in procedure "comp_block_ctls_" hdr 15 based structure level 2 in structure "page" dcl 10-11 in procedure "comp_block_ctls_" hdr 316 based structure level 2 in structure "refcol" dcl 930 in procedure "comp_block_ctls_" hdr 316 based structure level 2 in structure "col" dcl 2-5 in procedure "comp_block_ctls_" hdr 4 based structure level 2 in structure "ftnhdr" dcl 7-10 in procedure "comp_block_ctls_" hdr 4 based structure level 2 in structure "hfcblk" dcl 13-250 in procedure "comp_block_ctls_" hdr 4 based structure level 2 in structure "text" dcl 13-49 in procedure "comp_block_ctls_" hdr 4 based structure level 2 in structure "ftnblk" dcl 34 in procedure "comp_block_ctls_" hdr 316 based structure level 2 in structure "ftncol" dcl 929 in procedure "comp_block_ctls_" hdrptr 1014 based pointer level 3 dcl 13-49 set ref 92 92 92* 357 357 357* 515 515 515* head_used 000215 automatic fixed bin(31,0) dcl 39 set ref 85* 348* 434* 504* 877* headed 15(03) based bit(1) level 4 packed unaligned dcl 10-11 ref 85 348 434 504 877 hfcblk based structure level 1 dcl 13-250 highndx based fixed bin(35,0) level 2 dcl 7-5 set ref 205* 253 253* 613 613 623* i 000216 automatic fixed bin(17,0) dcl 40 set ref 370* 371* 613* 613* 672* 817* 818* ift_ctl_index 000063 constant fixed bin(17,0) initial dcl 3-9 set ref 689* indent 12 based fixed bin(31,0) level 3 in structure "footnote_parms" dcl 7-12 in procedure "comp_block_ctls_" set ref 307* 327* indent 1016 based fixed bin(31,0) level 4 in structure "ftnblk" dcl 34 in procedure "comp_block_ctls_" set ref 307 307* 327* index 20 based fixed bin(17,0) level 3 in structure "current_parms" dcl 13-209 in procedure "comp_block_ctls_" set ref 606 index 20 based fixed bin(17,0) level 3 in structure "footnote_parms" dcl 7-12 in procedure "comp_block_ctls_" set ref 228 283 301 index 160 based fixed bin(21,0) level 2 in structure "ctl" dcl 13-157 in procedure "comp_block_ctls_" set ref 97 99* 99* 142 146 146 151* 151 154 154 154* 154 158 161 164 375 377* 377* 386 388* 388* 439 439 443* 443* 521 523* 523* info 161 based structure level 2 in structure "txtlin" dcl 13-161 in procedure "comp_block_ctls_" info 161 based structure level 2 in structure "refline" dcl 796 in procedure "append_footref" info 277 based structure level 3 in structure "ftnhdr" dcl 7-10 in procedure "comp_block_ctls_" info 161 automatic structure level 2 in structure "pline" dcl 47 in procedure "comp_block_ctls_" info 161 based structure level 2 in structure "ctl" dcl 13-157 in procedure "comp_block_ctls_" set ref 99 99 133 133 173 173 242 242 377 377 388 388 411 411 426 443 443 450 450 499 499 523 523 850 850 info 277 based structure level 3 in structure "text" dcl 13-49 in procedure "comp_block_ctls_" info 277 based structure level 3 in structure "refblk" dcl 51 in procedure "comp_block_ctls_" info 277 based structure level 3 in structure "block" dcl 25 in procedure "comp_block_ctls_" info 277 based structure level 3 in structure "hfcblk" dcl 13-250 in procedure "comp_block_ctls_" info 277 based structure level 3 in structure "ftnblk" dcl 34 in procedure "comp_block_ctls_" set ref 297 297 info 161 based structure level 2 in structure "text_entry" dcl 13-68 in procedure "comp_block_ctls_" input 116 based structure level 2 in structure "text" dcl 13-49 in procedure "comp_block_ctls_" input 116 based structure level 2 in structure "ftnblk" dcl 34 in procedure "comp_block_ctls_" set ref 314 314 input 116 based structure level 2 in structure "ftnhdr" dcl 7-10 in procedure "comp_block_ctls_" set ref 222 222 input 116 based structure level 2 in structure "refblk" dcl 51 in procedure "comp_block_ctls_" input_line 375 based varying char(1020) level 2 in structure "text" dcl 13-49 in procedure "comp_block_ctls_" ref 361 416 511 702 826 858 881 input_line 375 based varying char(1020) level 2 in structure "refblk" dcl 51 in procedure "comp_block_ctls_" ref 640 input_line 375 based varying char(1020) level 2 in structure "ftnblk" dcl 34 in procedure "comp_block_ctls_" set ref 301* 321* 544 inserting_hfc 4113(07) based bit(1) level 3 packed unaligned dcl 11-7 ref 92 357 515 855 ioa_ 000244 constant entry external dcl 15-70 ref 70 914 ioa_$rsnnl 000176 constant entry external dcl 68 ref 338 472 487 623 649 672 686 733 775 884 ipic 000217 automatic fixed bin(17,0) dcl 41 set ref 437* 443 447 453 457 460 463 463 465 466 480 481 483 keep 2(04) based bit(1) level 3 in structure "current_parms" packed unaligned dcl 13-209 in procedure "comp_block_ctls_" set ref 112* 810* keep 26(04) based bit(1) level 4 in structure "tblcol" packed unaligned dcl 12-26 in procedure "comp_block_ctls_" set ref 371* 818* keep 1006(04) based bit(1) level 4 in structure "text" packed unaligned dcl 13-49 in procedure "comp_block_ctls_" set ref 118* 364* 484* 825* keep_count 70(18) based fixed bin(17,0) level 3 packed unaligned dcl 13-49 set ref 375* 377* left 12 based structure level 2 in structure "text_parms" dcl 13-206 in procedure "comp_block_ctls_" left 1016 based structure level 3 in structure "ftnhdr" dcl 7-10 in procedure "comp_block_ctls_" set ref 218* left 12 based structure level 2 in structure "footnote_parms" dcl 7-12 in procedure "comp_block_ctls_" left 12 based structure level 2 in structure "current_parms" dcl 13-209 in procedure "comp_block_ctls_" left 1016 based structure level 3 in structure "text" dcl 13-49 in procedure "comp_block_ctls_" left 1016 based structure level 3 in structure "refblk" dcl 51 in procedure "comp_block_ctls_" left 36 based structure level 3 in structure "tblcol" dcl 12-26 in procedure "comp_block_ctls_" left 1016 based structure level 3 in structure "hfcblk" dcl 13-250 in procedure "comp_block_ctls_" left 1016 based structure level 3 in structure "block" dcl 25 in procedure "comp_block_ctls_" left 12 based structure level 2 in structure "default_parms" dcl 13-213 in procedure "comp_block_ctls_" left 36 based structure level 3 in structure "tblcol0" dcl 12-41 in procedure "comp_block_ctls_" left 1016 based structure level 3 in structure "ftnblk" dcl 34 in procedure "comp_block_ctls_" left 36 based structure level 3 in structure "prvtblcol" dcl 12-44 in procedure "comp_block_ctls_" length builtin function dcl 59 ref 97 142 154 158 361 375 386 439 521 line_area 776 based structure level 2 in structure "ftnhdr" dcl 7-10 in procedure "comp_block_ctls_" line_area 776 based structure level 2 in structure "refblk" dcl 51 in procedure "comp_block_ctls_" line_area based structure level 1 dcl 13-26 in procedure "comp_block_ctls_" line_area 776 based structure level 2 in structure "text" dcl 13-49 in procedure "comp_block_ctls_" line_area_ptr 000406 automatic pointer initial dcl 13-25 set ref 665* 666 666 708* 709 709 759* 761 761 830* 831 831 831 13-25* linespace 14 based fixed bin(31,0) level 2 in structure "footnote_parms" dcl 7-12 in procedure "comp_block_ctls_" set ref 282 linespace 164 based fixed bin(31,0) level 2 in structure "txtlin" dcl 13-161 in procedure "comp_block_ctls_" set ref 227* linespace 302 based fixed bin(31,0) level 3 in structure "ftnblk" dcl 34 in procedure "comp_block_ctls_" set ref 282* 311* 317* 547* 547 linespace 1020 based fixed bin(31,0) level 3 in structure "ftnblk" dcl 34 in procedure "comp_block_ctls_" set ref 317 547 linespace 14 based fixed bin(31,0) level 2 in structure "current_parms" dcl 13-209 in procedure "comp_block_ctls_" set ref 605 linespace 1020 based fixed bin(31,0) level 3 in structure "text" dcl 13-49 in procedure "comp_block_ctls_" set ref 416 linespace 164 based fixed bin(31,0) level 2 in structure "ctl" dcl 13-157 in procedure "comp_block_ctls_" set ref 605* linptr 10 based pointer array level 2 dcl 13-26 ref 225 666 709 761 831 lit_count 3456 based fixed bin(35,0) level 2 dcl 11-7 set ref 386* 388* literal_mode 4113(08) based bit(1) level 3 packed unaligned dcl 11-7 set ref 112* 383* 838* lmarg 165 based fixed bin(31,0) level 2 in structure "txtlin" dcl 13-161 in procedure "comp_block_ctls_" set ref 230* lmarg 303 based fixed bin(31,0) level 3 in structure "ftnblk" dcl 34 in procedure "comp_block_ctls_" set ref 310* ltrim builtin function dcl 59 ref 289 max builtin function dcl 59 ref 307 388 547 meas1 000220 automatic structure level 1 dcl 43 set ref 296* 297 297 meas2 000306 automatic structure level 1 dcl 44 set ref 297 297 measure 457 based fixed bin(31,0) level 3 in structure "ftncol" dcl 929 in procedure "comp_block_ctls_" ref 266 measure 457 based fixed bin(31,0) level 3 in structure "col" dcl 2-5 in procedure "comp_block_ctls_" ref 233 measure 11 based fixed bin(31,0) level 3 in structure "page" dcl 10-11 in procedure "comp_block_ctls_" ref 231 261 measure 1021 based fixed bin(31,0) level 3 in structure "ftnblk" dcl 34 in procedure "comp_block_ctls_" set ref 261* 266* 297* mod builtin function dcl 16-26 ref 16-40 ncols 3 based fixed bin(17,0) level 2 dcl 12-15 ref 370 817 ndx 5 based fixed bin(17,0) level 2 in structure "line_area" dcl 13-26 in procedure "comp_block_ctls_" ref 666 709 761 831 831 ndx 1 based fixed bin(17,0) level 2 in structure "tbldata" dcl 12-5 in procedure "comp_block_ctls_" ref 277 369 816 net 450 based fixed bin(31,0) level 3 dcl 2-5 ref 447 453 no_trim 4(03) based bit(1) level 4 packed unaligned dcl 13-49 set ref 465* null builtin function dcl 16-26 in procedure "allocate" ref 16-43 16-43 16-45 null builtin function dcl 59 in procedure "comp_block_ctls_" ref 79 92 115 192 200 206 211 353 357 404 469 493 507 515 576 581 590 613 696 822 855 874 893 906 6-13 12-24 12-43 13-25 13-35 option based structure level 1 dcl 9-5 option_ptr 164 based pointer level 3 dcl 15-23 ref 85 239 348 434 504 689 877 orphan 000164 internal static bit(1) unaligned dcl 45 in procedure "comp_block_ctls_" set ref 195* 198* 270 338* 555 634 orphan 4(09) based bit(1) level 4 in structure "ftnblk" packed unaligned dcl 34 in procedure "comp_block_ctls_" set ref 270* page based structure level 1 dcl 10-11 in procedure "comp_block_ctls_" page 1006(05) based bit(1) level 4 in structure "ftnhdr" packed unaligned dcl 7-10 in procedure "comp_block_ctls_" set ref 216* page 1006(05) based bit(1) level 4 in structure "ftnblk" packed unaligned dcl 34 in procedure "comp_block_ctls_" set ref 258* 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 85 88 140 171 231 261 265 348 353 434 504 507 560 572 572 576 602 603 603 649 649 649 733 733 733 877 pagenote 000374 automatic bit(1) initial unaligned dcl 46 set ref 46* 161* 167* 195* 198* 216 231 258 261 parms 1004 based structure level 2 in structure "refblk" dcl 51 in procedure "comp_block_ctls_" parms 457 based structure level 2 in structure "ftncol" dcl 929 in procedure "comp_block_ctls_" parms 1004 based structure level 2 in structure "ftnhdr" dcl 7-10 in procedure "comp_block_ctls_" parms 24 based structure level 2 in structure "tblcol" dcl 12-26 in procedure "comp_block_ctls_" parms 457 based structure level 2 in structure "col" dcl 2-5 in procedure "comp_block_ctls_" parms 1004 based structure level 2 in structure "text" dcl 13-49 in procedure "comp_block_ctls_" set ref 485 parms 1 based structure level 2 in structure "page" dcl 10-11 in procedure "comp_block_ctls_" parms 1004 based structure level 2 in structure "ftnblk" dcl 34 in procedure "comp_block_ctls_" set ref 333 596 parms_ptr 106 based pointer level 3 in structure "ftnblk" dcl 34 in procedure "comp_block_ctls_" set ref 331* 599 parms_ptr 106 based pointer level 3 in structure "text" dcl 13-49 in procedure "comp_block_ctls_" set ref 481* 871 picture 3644 based structure level 2 dcl 11-7 picture_mode 4113(10) based bit(1) level 3 packed unaligned dcl 11-7 set ref 479* 846 869* prvtblcolptr 000404 automatic pointer initial dcl 12-43 set ref 12-43* ptr 172 based pointer level 2 in structure "ctl" dcl 13-157 in procedure "comp_block_ctls_" set ref 70 97 99 133 142 146 146 154 154 158 161 164 173 242 375 377 386 388 411 427 439 439 443 450 499 521 523 717 764 764 800 803 850 911 ptr 14 based pointer array level 3 in structure "tbldata" dcl 12-5 in procedure "comp_block_ctls_" ref 277 369 816 ptr 000242 external static pointer level 2 in structure "compstat$compconst" dcl 15-14 in procedure "comp_block_ctls_" ref 70 70 79 85 85 88 88 88 88 92 92 92 92 92 97 97 97 99 99 99 99 99 99 103 103 103 107 112 112 112 112 115 118 118 118 129 133 133 133 140 142 142 146 146 146 146 151 151 154 154 154 154 154 154 158 158 161 161 164 164 171 173 173 173 192 200 203 203 203 203 205 206 208 211 214 214 216 217 218 218 219 220 222 222 222 225 227 228 228 231 233 236 239 239 239 242 242 242 253 253 255 255 257 261 265 272 274 277 277 281 282 283 283 283 283 289 290 290 290 292 301 301 301 307 327 330 331 332 333 335 336 338 338 338 348 348 353 353 353 353 353 357 357 357 357 361 364 366 369 369 375 375 375 377 377 377 377 377 377 383 386 386 386 388 388 388 388 388 388 404 408 411 411 411 416 416 416 416 423 423 426 427 427 427 434 434 437 437 439 439 439 439 443 443 443 443 443 443 447 447 447 450 450 450 453 453 453 457 457 457 460 463 463 465 466 466 466 469 469 472 472 472 472 479 480 480 481 481 483 483 484 485 485 487 487 487 487 493 493 499 499 499 504 504 507 507 507 507 507 511 515 515 515 515 515 520 521 521 521 523 523 523 523 523 523 539 542 552 560 566 572 572 576 596 598 599 600 602 603 603 603 605 605 606 606 606 606 612 613 613 613 620 623 637 649 649 649 649 672 686 689 696 699 702 705 708 712 717 718 718 719 722 725 725 726 726 729 729 730 730 730 733 733 733 733 733 733 733 733 733 759 764 764 764 766 772 775 775 788 788 800 803 810 813 816 816 822 825 826 826 826 830 838 846 850 850 850 855 855 858 860 860 866 866 866 867 867 867 869 871 871 872 872 874 877 877 879 881 881 884 884 884 884 890 893 896 903 906 906 911 914 ptr 3650 based pointer array level 4 in structure "shared" dcl 11-7 in procedure "comp_block_ctls_" set ref 423 427 427 457* 463* 465 480 481 483 ptr builtin function dcl 16-26 in procedure "allocate" ref 16-47 ptr 172 based pointer level 2 in structure "refline" dcl 796 in procedure "append_footref" ref 798 ptrs 3742 based structure level 2 in structure "shared" dcl 11-7 in procedure "comp_block_ctls_" ptrs 126 based structure level 2 in structure "const" dcl 15-23 in procedure "comp_block_ctls_" quad 1004 based bit(6) level 4 in structure "ftnblk" packed unaligned dcl 34 in procedure "comp_block_ctls_" set ref 320 quad 120(11) based bit(6) level 4 in structure "ftnblk" packed unaligned dcl 34 in procedure "comp_block_ctls_" set ref 312* 320* quadl constant bit(6) initial unaligned dcl 13-148 ref 312 refblk based structure level 1 dcl 51 refblkptr 000166 internal static pointer initial dcl 50 set ref 272* 590 590 590 640 640 643 643 644 644 645 645 649 649 649 649 649 649 649 649 665 672 672 672 672 733 733 733 733 775 775 775 775 refcol based structure level 1 dcl 930 refcolndx 000170 internal static fixed bin(17,0) dcl 52 set ref 140* 169* 171* 196* 335 338* 559* 572 572 572 576 590 645 649* 649 649 649 726 733* 733 733 733 refer 110 based fixed bin(17,0) level 3 dcl 13-49 set ref 335* reflin 000375 automatic fixed bin(17,0) dcl 53 set ref 712* 719* 775* refline based structure level 1 dcl 796 reflineptr parameter pointer dcl 795 ref 792 798 800 800 806 refno 207(18) based fixed bin(17,0) array level 4 in structure "txtlin" packed unaligned dcl 13-161 in procedure "comp_block_ctls_" set ref 772* refno 325(18) based fixed bin(17,0) array level 5 in structure "text" packed unaligned dcl 13-49 in procedure "comp_block_ctls_" set ref 730* right 1022 based structure level 3 dcl 7-10 set ref 218* rmarg 174 based fixed bin(31,0) level 2 dcl 13-161 set ref 231* 233* save_colno 000171 internal static fixed bin(17,0) dcl 54 set ref 140* 602 scale parameter fixed bin(31,0) dcl 922 ref 919 924 shared based structure level 1 dcl 11-7 shared_ptr 200 based pointer level 3 dcl 15-23 ref 70 79 88 92 92 92 92 92 97 99 103 103 107 112 115 118 118 118 129 192 200 203 203 203 205 206 208 211 214 216 217 218 218 219 220 222 222 222 225 227 233 236 239 239 253 253 255 257 272 274 277 277 289 292 301 330 332 335 336 338 338 338 353 353 357 357 357 357 361 364 366 369 369 375 377 383 386 388 404 408 416 416 416 416 423 423 427 427 437 437 443 447 447 447 453 453 453 457 460 463 463 465 466 466 466 469 469 472 472 472 472 479 480 480 481 483 483 484 485 487 487 487 487 493 493 507 507 511 515 515 515 515 515 520 521 523 539 542 552 566 598 600 603 612 613 613 613 620 623 637 649 672 686 696 699 702 705 708 712 719 722 725 725 726 726 729 729 730 730 730 733 733 733 733 733 733 759 764 766 772 775 775 788 788 813 816 816 822 825 826 826 826 830 838 846 855 855 858 860 860 866 866 866 867 867 867 869 871 872 872 874 879 881 881 884 884 884 884 893 896 906 906 914 size 3652 based fixed bin(31,0) array level 4 in structure "shared" dcl 11-7 in procedure "comp_block_ctls_" set ref 443* 447 453* 460 463* 466 866* size builtin function dcl 59 in procedure "comp_block_ctls_" ref 203 203 space 3645 based fixed bin(31,0) level 3 dcl 11-7 set ref 466* 466 472* 472* 487 487 867* 867 884* 884* substr builtin function dcl 59 ref 146 146 154 161 164 439 suppress_footref 4113(13) based bit(1) level 3 packed unaligned dcl 11-7 ref 236 sws 4 based structure level 3 in structure "ftnhdr" dcl 7-10 in procedure "comp_block_ctls_" sws 4 based structure level 3 in structure "ftnblk" dcl 34 in procedure "comp_block_ctls_" sws 1004 based structure level 3 in structure "ftnhdr" dcl 7-10 in procedure "comp_block_ctls_" sws 4113 based structure level 2 in structure "shared" dcl 11-7 in procedure "comp_block_ctls_" sws based structure level 2 in structure "text_entry" dcl 13-68 in procedure "comp_block_ctls_" sws based structure level 2 in structure "current_parms" dcl 13-209 in procedure "comp_block_ctls_" sws based structure level 2 in structure "txtlin" dcl 13-161 in procedure "comp_block_ctls_" sws 116 based structure level 3 in structure "ftnblk" dcl 34 in procedure "comp_block_ctls_" sws 4 based structure level 3 in structure "text" dcl 13-49 in procedure "comp_block_ctls_" sws 1004 based structure level 3 in structure "ftnblk" dcl 34 in procedure "comp_block_ctls_" sws 1004 based structure level 3 in structure "text" dcl 13-49 in procedure "comp_block_ctls_" sws 15 based structure level 3 in structure "page" dcl 10-11 in procedure "comp_block_ctls_" sws 116 based structure level 3 in structure "text" dcl 13-49 in procedure "comp_block_ctls_" sws 24 based structure level 3 in structure "tblcol" dcl 12-26 in procedure "comp_block_ctls_" sws based structure level 2 in structure "refline" dcl 796 in procedure "append_footref" sws 1004 based structure level 3 in structure "refblk" dcl 51 in procedure "comp_block_ctls_" table_mode 4113(14) based bit(1) level 3 packed unaligned dcl 11-7 ref 274 366 813 tblblk 4(05) based bit(1) level 4 in structure "ftnhdr" packed unaligned dcl 7-10 in procedure "comp_block_ctls_" set ref 219* tblblk 4(05) based bit(1) level 4 in structure "ftnblk" packed unaligned dcl 34 in procedure "comp_block_ctls_" set ref 269* tblcol based structure level 1 dcl 12-26 tblcolptr 000402 automatic pointer initial dcl 12-24 set ref 278* 12-24* tbldata based structure level 1 dcl 12-5 tbldata_ptr 4020 based pointer level 3 dcl 11-7 ref 277 277 369 369 816 816 tblfmt based structure level 1 dcl 12-15 tblfmtptr 000400 automatic pointer dcl 12-13 set ref 277* 278 278 369* 370 371 816* 817 818 text based structure level 1 dcl 13-49 text_area_ptr 000410 automatic pointer initial dcl 13-35 set ref 13-35* text_entry based structure level 1 dcl 13-68 text_header based structure level 1 dcl 13-163 title 4(02) based bit(1) level 3 packed unaligned dcl 13-161 set ref 226* title_mode 1006(06) based bit(1) level 4 in structure "text" packed unaligned dcl 13-49 in procedure "comp_block_ctls_" set ref 92 118* 493 515 520* 896* title_mode 2(06) based bit(1) level 3 in structure "current_parms" packed unaligned dcl 13-209 in procedure "comp_block_ctls_" set ref 112* 890* translator_temp_$get_next_segment 000246 constant entry external dcl 16-37 ref 16-42 txtlin based structure level 1 dcl 13-161 txtlinptr 000414 automatic pointer dcl 13-160 set ref 225* 226 226 227 228 230 230 231 233 666* 667 667 668 668 669 669 672 672 672 761* 762* 764* 769 769 770 770 771 771 772 772 775 775 775 txtstr based varying char(1020) dcl 13-45 ref 800 803 txtstrptr 000412 automatic pointer dcl 13-44 set ref 798* 800 803 unref 4(06) based bit(1) level 4 in structure "text" packed unaligned dcl 13-49 in procedure "comp_block_ctls_" set ref 338* unref 4(06) based bit(1) level 4 in structure "ftnblk" packed unaligned dcl 34 in procedure "comp_block_ctls_" set ref 326* 558* unscaled 000140 constant fixed bin(31,0) initial array dcl 55 set ref 99* 377* 388* 523* usd 376 based fixed bin(31,0) level 4 in structure "ftncol" dcl 929 in procedure "comp_block_ctls_" set ref 566* 568* 568 623 623 usd 15 based fixed bin(31,0) level 4 in structure "block" dcl 25 in procedure "comp_block_ctls_" set ref 585* 585 usd 376 based fixed bin(31,0) level 4 in structure "refcol" dcl 930 in procedure "comp_block_ctls_" ref 649 649 733 733 usd 15 based fixed bin(31,0) level 4 in structure "text" dcl 13-49 in procedure "comp_block_ctls_" ref 416 usd 15 based fixed bin(31,0) level 4 in structure "refblk" dcl 51 in procedure "comp_block_ctls_" ref 649 649 672 672 733 733 775 775 used 324 based fixed bin(31,0) level 4 in structure "refblk" dcl 51 in procedure "comp_block_ctls_" set ref 645* 645 649 649 used 324 based fixed bin(31,0) level 4 in structure "text" dcl 13-49 in procedure "comp_block_ctls_" set ref 726* 726 733 733 used 206 based fixed bin(31,0) level 3 in structure "txtlin" dcl 13-161 in procedure "comp_block_ctls_" set ref 669* 669 672 672 770* 770 775 775 used 114 based fixed bin(31,0) level 3 in structure "text" dcl 13-49 in procedure "comp_block_ctls_" ref 416 866 867 used 114 based fixed bin(31,0) level 3 in structure "ftnblk" dcl 34 in procedure "comp_block_ctls_" ref 568 585 623 623 645 669 726 770 775 775 used 114 based fixed bin(31,0) level 3 in structure "ftnhdr" dcl 7-10 in procedure "comp_block_ctls_" set ref 227* 566 vscales 000065 constant fixed bin(31,0) initial array dcl 56 set ref 443* width 2 000220 automatic fixed bin(31,0) level 2 dcl 43 set ref 307 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 DC1 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 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 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 addrel builtin function dcl 59 approx internal static char(1) initial unaligned dcl 8-6 be_ctl_index internal static fixed bin(17,0) initial dcl 3-9 bel_ctl_index internal static fixed bin(17,0) initial dcl 3-9 bep_ctl_index internal static fixed bin(17,0) initial dcl 3-9 bullet internal static char(1) initial unaligned dcl 8-6 col_space automatic fixed bin(31,0) dcl 26 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_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_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_make_page_ 000000 constant entry external dcl 4-44 comp_make_page_$cleanup 000000 constant entry external dcl 4-46 comp_read_$line 000000 constant entry external dcl 4-57 comp_read_$name 000000 constant entry external dcl 4-50 comp_report_$exact 000000 constant entry external dcl 4-64 comp_tbl_ctls_ 000000 constant entry external dcl 4-68 comp_update_symbol_ 000000 constant entry external dcl 4-71 comp_use_ref_ 000000 constant entry external dcl 4-74 comp_util_$display 000000 constant entry external dcl 4-77 comp_util_$escape 000000 constant entry external dcl 4-80 comp_util_$num_display 000000 constant entry external dcl 4-84 comp_util_$pageno 000000 constant entry external dcl 4-86 comp_util_$pop 000000 constant entry external dcl 4-91 comp_util_$push 000000 constant entry external dcl 4-92 comp_util_$search_tree 000000 constant entry external dcl 4-98 comp_util_$set_bin 000000 constant entry external dcl 4-100 comp_util_$set_net_page 000000 constant entry external dcl 4-104 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 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 fin_ctl_index internal static fixed bin(17,0) initial dcl 3-9 fixed builtin function dcl 59 flag_value based bit(1) unaligned dcl 11-132 fntstk_eptr automatic pointer dcl 5-5 fnttbl based structure level 1 dcl 6-14 fnttbldata based structure level 1 dcl 6-7 font_ptr automatic pointer dcl 6-67 footer_break internal static fixed bin(17,0) initial dcl 1-9 footnote_break internal static fixed bin(17,0) initial dcl 1-9 hfcblk_ptr automatic pointer dcl 13-249 ifi_ctl_index internal static fixed bin(17,0) initial dcl 3-9 infin internal static char(1) initial unaligned dcl 8-6 init_page_parms based structure level 1 dcl 10-108 ioa_$nnl 000000 constant entry external dcl 15-70 ioa_$rs 000000 constant entry external dcl 67 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 40 just internal static bit(6) initial unaligned dcl 13-148 k automatic fixed bin(17,0) dcl 40 locol based structure level 1 dcl 931 locolptr automatic pointer dcl 932 lquote internal static char(1) initial unaligned dcl 8-6 lslnt internal static char(1) initial unaligned dcl 8-6 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 med_sel based structure level 1 unaligned dcl 6-116 med_sel_p automatic pointer dcl 6-115 medchar based varying char dcl 6-113 medchar_sel based structure level 1 unaligned dcl 6-110 medchar_sel_p automatic pointer dcl 6-109 medsel based char(12) array unaligned dcl 6-36 medsel_table based structure level 1 unaligned dcl 6-86 medsel_table_ptr automatic pointer dcl 6-84 member based structure level 1 unaligned dcl 6-56 member_ptr automatic pointer dcl 6-55 min builtin function dcl 59 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 oput based structure level 1 unaligned dcl 6-92 oput_p automatic pointer dcl 6-91 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 pline automatic structure level 1 dcl 47 pptr automatic pointer dcl 48 prll internal static char(1) initial unaligned dcl 8-6 prvtblcol based structure level 1 dcl 12-44 ptxt automatic varying char(1020) dcl 49 quadc internal static bit(6) initial unaligned dcl 13-148 quadi internal static bit(6) initial unaligned dcl 13-148 quado internal static bit(6) initial unaligned dcl 13-148 quadr internal static bit(6) initial unaligned dcl 13-148 repl_str based structure level 1 unaligned dcl 6-30 repl_str_ptr automatic pointer dcl 6-29 replstr based varying char(256) dcl 6-33 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 sizel based structure level 1 unaligned dcl 6-103 sizel_p automatic pointer dcl 6-102 siztbl based structure level 1 unaligned dcl 6-38 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 tac_ctl_index internal static fixed bin(17,0) initial dcl 3-9 taf_ctl_index internal static fixed bin(17,0) initial dcl 3-9 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_area based structure level 1 dcl 13-36 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 units based fixed bin(17,0) array dcl 6-81 units_ptr automatic pointer dcl 6-80 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 NAMES DECLARED BY EXPLICIT CONTEXT. allocate 007144 constant entry internal dcl 16-21 ref 203 append_footref 006776 constant entry internal dcl 792 ref 718 762 bblk_ctl 000757 constant label dcl 107 ref 76 345 529 bbt_ctl 004010 constant label dcl 493 ref 126 be_ctl 004307 constant label dcl 529 bel_ctl 006333 constant label dcl 838 bet_ctl 006662 constant label dcl 890 ref 536 comp_block_ctls_ 000462 constant entry external dcl 14 ctl_ 000000 constant label array(7:57) dcl 76 ref 74 eart_ctl 006712 constant label dcl 903 ref 533 return_ 006730 constant label dcl 911 ref 105 124 135 343 381 393 395 413 431 476 491 501 527 539 693 790 836 841 843 852 888 901 909 show 007107 constant entry internal dcl 919 ref 472 472 884 884 unfilled 005764 constant label dcl 759 ref 713 NAMES DECLARED BY CONTEXT OR IMPLICATION. bin builtin function ref 416 dec builtin function ref 487 487 623 623 623 623 649 649 649 649 649 649 672 672 672 672 733 733 733 733 733 733 775 775 775 775 775 775 924 hbound builtin function ref 423 427 427 round builtin function ref 924 924 search builtin function ref 439 unspec builtin function ref 296 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 7756 10226 7472 7766 Length 11130 7472 250 666 264 162 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME comp_block_ctls_ 728 external procedure is an external procedure. append_footref internal procedure shares stack frame of external procedure comp_block_ctls_. show internal procedure shares stack frame of external procedure comp_block_ctls_. allocate internal procedure shares stack frame of external procedure comp_block_ctls_. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 footref_array comp_block_ctls_ 000057 footrefstr comp_block_ctls_ 000160 ftncolptr comp_block_ctls_ 000162 ftncolndx comp_block_ctls_ 000163 ftndx comp_block_ctls_ 000164 orphan comp_block_ctls_ 000166 refblkptr comp_block_ctls_ 000170 refcolndx comp_block_ctls_ 000171 save_colno comp_block_ctls_ STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME comp_block_ctls_ 000100 blkptr comp_block_ctls_ 000102 blkusd comp_block_ctls_ 000104 ctl_info_ptr comp_block_ctls_ 000106 current_fcs comp_block_ctls_ 000110 exit_str comp_block_ctls_ 000212 ftnblkptr comp_block_ctls_ 000214 ftnct comp_block_ctls_ 000215 head_used comp_block_ctls_ 000216 i comp_block_ctls_ 000217 ipic comp_block_ctls_ 000220 meas1 comp_block_ctls_ 000306 meas2 comp_block_ctls_ 000374 pagenote comp_block_ctls_ 000375 reflin comp_block_ctls_ 000376 fnttbl_ptr comp_block_ctls_ 000400 tblfmtptr comp_block_ctls_ 000402 tblcolptr comp_block_ctls_ 000404 prvtblcolptr comp_block_ctls_ 000406 line_area_ptr comp_block_ctls_ 000410 text_area_ptr comp_block_ctls_ 000412 txtstrptr comp_block_ctls_ 000414 txtlinptr comp_block_ctls_ 000444 Nwords allocate 000446 P allocate 000450 code allocate THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_ne_as alloc_cs cat_realloc_cs call_var_desc call_ext_out_desc call_ext_out return mpfx2 mod_fx1 shorten_stack ext_entry round_fx1 real_to_real_tr divide_fx1 THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. comp_block_ctls_ comp_break_ comp_fill_ comp_font_ comp_head_page_ comp_insert_ctls_ comp_measure_ comp_read_$number comp_report_ comp_report_$ctlstr comp_space_ comp_title_block_ comp_util_$add_text comp_util_$getblk comp_util_$pictures comp_util_$relblk comp_util_$replace_text ioa_ ioa_$rsnnl translator_temp_$get_next_segment THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. comp_error_table_$limitation comp_error_table_$usage_error compstat$compconst LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 14 000457 46 000467 6 13 000470 12 24 000472 12 43 000473 13 25 000474 13 35 000475 70 000476 73 000535 74 000536 76 000541 79 000542 85 000552 88 000570 92 000624 97 000656 99 000672 103 000745 105 000756 107 000757 112 000774 115 001011 118 001015 121 001024 124 001035 126 001036 129 001037 133 001046 135 001110 138 001111 140 001115 142 001122 146 001126 150 001137 151 001140 154 001141 158 001151 161 001154 164 001164 167 001166 168 001170 169 001171 171 001200 172 001202 173 001203 192 001243 195 001253 196 001256 197 001257 198 001260 200 001263 203 001267 205 001303 206 001310 207 001327 208 001356 211 001407 214 001417 216 001444 217 001456 218 001460 219 001464 220 001466 222 001470 225 001517 226 001527 227 001533 228 001536 230 001550 231 001552 233 001562 236 001565 239 001574 242 001610 246 001651 253 001653 255 001663 257 001712 258 001723 259 001730 261 001732 265 001740 266 001745 269 001750 270 001753 272 001760 274 001763 277 001771 278 001776 281 002002 282 002006 283 002012 286 002032 289 002037 290 002067 292 002110 296 002170 297 002174 301 002247 307 002346 309 002357 310 002361 311 002362 312 002363 314 002367 317 002416 318 002421 320 002423 321 002430 322 002431 326 002432 327 002434 330 002436 331 002445 332 002451 333 002455 335 002461 336 002467 338 002471 343 002546 345 002547 348 002550 353 002571 357 002627 361 002656 364 002676 366 002705 369 002710 370 002715 371 002723 372 002730 375 002732 377 002746 381 003020 383 003021 386 003027 388 003036 393 003112 395 003113 404 003114 408 003124 411 003130 413 003172 416 003173 419 003212 421 003213 423 003214 426 003217 427 003222 431 003266 434 003267 437 003305 439 003315 443 003342 447 003407 450 003421 453 003463 457 003474 460 003527 463 003536 465 003564 466 003574 469 003576 472 003610 476 003672 479 003673 480 003675 481 003700 483 003710 484 003715 485 003723 487 003725 491 004007 493 004010 499 004024 501 004066 504 004067 507 004105 511 004144 515 004163 520 004215 521 004224 523 004233 527 004306 529 004307 533 004310 536 004311 539 004312 542 004321 544 004323 547 004335 550 004344 552 004355 555 004366 558 004371 559 004374 560 004376 564 004401 566 004403 568 004412 570 004417 572 004422 576 004432 579 004447 581 004451 584 004455 585 004457 587 004463 590 004466 596 004503 598 004512 599 004517 600 004521 602 004526 603 004533 605 004537 606 004545 609 004561 612 004566 613 004605 617 004632 620 004635 623 004644 631 004770 634 004776 637 005001 640 005011 643 005022 644 005026 645 005033 649 005043 661 005227 665 005230 666 005232 667 005236 668 005242 669 005247 672 005254 682 005371 686 005372 689 005426 693 005443 696 005444 699 005453 702 005457 705 005465 708 005472 709 005474 712 005502 713 005504 717 005505 718 005511 719 005515 720 005527 722 005533 725 005544 726 005551 729 005557 730 005564 733 005567 743 005763 759 005764 761 005766 762 005772 764 005774 766 006023 769 006034 770 006041 771 006044 772 006051 775 006054 788 006232 790 006237 810 006240 813 006246 816 006252 817 006257 818 006265 819 006272 822 006274 825 006304 826 006307 830 006322 831 006324 836 006332 838 006333 841 006341 843 006342 846 006343 850 006352 852 006414 855 006415 858 006425 860 006443 864 006463 866 006475 867 006507 869 006511 871 006513 872 006515 874 006523 877 006532 879 006550 880 006562 881 006563 884 006577 888 006661 890 006662 893 006670 896 006675 897 006700 901 006711 903 006712 906 006717 909 006727 911 006730 914 006735 917 006775 792 006776 798 007000 800 007004 803 007052 806 007103 808 007106 919 007107 924 007111 16 21 007144 16 40 007146 16 41 007154 16 42 007160 16 43 007173 16 44 007203 16 45 007206 16 47 007216 16 48 007225 16 49 007231 16 50 007237 ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved