COMPILATION LISTING OF SEGMENT comp_break_ Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 04/23/85 0947.7 mst Tue Options: optimize map 1 /* *********************************************************** 2* * * 3* * * 4* * Copyright, (C) Honeywell Information Systems Inc., 1981 * 5* * Copyright, (C) Honeywell Information Systems Inc., 1980 * 6* * * 7* * * 8* *********************************************************** */ 9 10 /* compose subroutine implementing text breaks */ 11 12 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 13 14 comp_break_: 15 proc (break_type, next_col); 16 17 /* PARAMETERS */ 18 19 dcl break_type fixed bin; /* break type; 0 = format, 1 = block, 20* 2 = column, 3 = need, 4 = page, 21* 5 = footnote, 6 = header, 22* 7 = footer */ 23 dcl next_col fixed bin; /* next column for brc; 24* -1 = step current column 25* -2 = force page makeup for need */ 26 27 /* LOCAL STORAGE */ 28 29 dcl blkusd fixed bin (31); /* for debug */ 30 dcl blkptr ptr; /* local referencing */ 31 dcl 1 block aligned like text based (blkptr); 32 dcl brktypes (0:7) char (4) var static options (constant) 33 init ("fmt", "blk", "col", "page", "need", "ftn", "hdr", 34 "ftr"); 35 dcl coldepth fixed bin (31); /* local depth counter*/ 36 dcl colno fixed bin; /* local column number */ 37 dcl colspace fixed bin (31); /* for table balancing */ 38 dcl head_used fixed bin (31); /* page header space used */ 39 dcl i fixed bin; /* working index */ 40 dcl icol fixed bin; /* column counter */ 41 dcl (j, k) fixed bin; /* working index */ 42 dcl leader_count fixed bin; /* number of leader strings needed */ 43 dcl 1 local_font aligned like fntstk_entry; 44 dcl locolptr ptr; /* for local referencing */ 45 dcl 1 locol aligned like col based (locolptr); 46 /* for leader measuring */ 47 dcl 1 meas1 aligned like text_entry.cur; 48 dcl 1 meas2 aligned like text_entry.cur; 49 dcl 1 nullpic /* empty picture block */ 50 static options (constant), 51 4 type /* type = page/col */ 52 char (4) init (""), 53 4 place /* place = top/cen/bot */ 54 char (4) init (""), 55 4 ptr ptr init (null), /* pointer to block */ 56 4 size /* size of picture */ 57 fixed bin (31) init (0); 58 dcl nxtlin_ptr ptr; /* for table line sorting */ 59 dcl 1 nxtlin aligned like text_entry based (nxtlin_ptr); 60 dcl oflo bit (1); /* overflow switch */ 61 dcl save_lead fixed bin (31); /* linespace for table leader */ 62 dcl SHORT bit (1) static options (constant) init ("1"b); 63 dcl ta_size fixed bin (31); /* caption added to block */ 64 /* for expanding s */ 65 dcl temp_line char (1020) var; 66 dcl TEXT bit (1) static options (constant) init ("1"b); 67 dcl thslin_ptr ptr; /* for table line sorting */ 68 dcl 1 thslin aligned like text_entry based (thslin_ptr); 69 dcl tptr ptr; /* temp for sorting */ 70 dcl toss fixed bin; /* count of galley lines discarded */ 71 72 dcl (addr, before, ceil, char, hbound, index, length, ltrim, max, min, 73 null, search, substr) 74 builtin; 75 dcl (cleanup, comp_abort, end_output) 76 condition; 77 78 dcl continue_to_signal_ 79 entry (fixed bin (35)); 80 81 blkptr = null; 82 head_used, j, k, ta_size = 0; 83 oflo = "0"b; 84 85 if shared.table_mode 86 then 87 do; 88 tblfmtndx = tbldata.ndx; 89 tblfmtptr = tbldata.fmt (tblfmtndx).ptr; 90 tblcolndx = tblfmt.ccol; 91 tblcolptr = tblfmt.colptr (tblcolndx); 92 end; 93 94 on end_output call continue_to_signal_ (0); 95 96 if shared.bug_mode 97 then 98 do; 99 call ioa_$nnl ("break: (^a^[ gal^] nxcol=^d", brktypes (break_type), 100 option.galley_opt, next_col); 101 102 if shared.blkptr ^= null () 103 then 104 do; 105 call ioa_$nnl (" ^a=^d e^d u^f(^f)", text.blktype, text.blkndx, 106 text.hdr.count, show (text.hdr.used, 12000), 107 show (text.hdr.trl_ws, 12000)); 108 109 if shared.table_mode & text.hdr.tblblk 110 then call ioa_$nnl (" tbl=^d/^d d^f/^f", tblcolndx, tblfmtndx, 111 show (tblcol.depth, 12000), 112 show (tblfmt.maxdepth, 12000)); 113 114 call ioa_$nnl ("^[ ftn^d/^f^;^2s^]^[ A^]^[ K^]^[ WS^]" 115 || "^[ MOD^]^[ inp=c^d^[ m^d ^d^]^]", (text.hdr.ftn.ct > 0), 116 text.hdr.ftn.ct, show (text.hdr.ftn.usd, 12000), text.hdr.art, 117 text.parms.keep, text.hdr.white, text.hdr.modified, 118 (length (text.input_line) > 0), length (text.input_line), 119 (text.input.mod_start > 0), text.input.mod_start > 0, 120 text.input.mod_len); 121 122 colno = text.hdr.colno; 123 end; 124 else colno = page.hdr.col_index; 125 126 call ioa_ (")^/^5x(col=^[LOOSE^s^;^d^] b^d u^f(^f)/^f(^f)" 127 || "^[ ftn=^d/^f^;^2s^] pag=^a c^d u^f(^f)/^f^[ pi=^d ^f^])", 128 (colno < 0), colno, col.hdr.blkct, show (col.hdr.used, 12000), 129 show (col.hdr.pspc, 12000), show (col.hdr.net, 12000), 130 show (col.depth_adj, 12000), col.hdr.ftn.ct > 0, col.hdr.ftn.ct, 131 show (col.hdr.ftn.usd, 12000), page.hdr.pageno, 132 page.parms.cols.count, show (page.hdr.used, 12000), 133 show (page.hdr.hdspc, 12000), show (page.hdr.net, 12000), 134 (shared.picture.count > 0), shared.picture.count, 135 show (shared.picture.space, 12000)); 136 end; 137 138 /* if there is a current block */ 139 if shared.blkptr ^= null () 140 then 141 blkloop: 142 do; /* text area break? */ 143 if break_type <= page_break & text.input_line ^= "" 144 then 145 do; /* copy font stuff */ 146 local_font = text.input.font; 147 148 if text.input.quad = just /* a justified line? */ 149 then if text.input.cur.width + text.input.cur.avg < text.input.net 150 then text.input.quad = quadl; 151 /* if modified text */ 152 /**** if text.input.mod_start > 0 153*/**** & text.input.mod_start <= length (text.input_line) 154*/**** then text.input.cbar.mod = "1"b;*/ 155 /* do table column leadering */ 156 if shared.table_mode & text.hdr.tblblk 157 then 158 do; 159 if tblcol.leader ^= "" 160 then 161 do; /* measure what we have */ 162 if text.input.width = 0 163 then 164 do; 165 unspec (meas2) = "0"b; 166 call comp_measure_ (text.input_line, 167 addr (text.input.font), "0"b, "1"b, quadl, 0, 168 addr (text.input.cur), addr (meas2), 169 addr (ctl.info)); 170 end; /**/ 171 /* record text width */ 172 text.input.width = text.input.width + text.input.avg; 173 /* measure the leader */ 174 unspec (meas1) = "0"b; 175 call comp_measure_ ((tblcol.leader), 176 addr (text.input.font), "0"b, "0"b, quadl, 0, 177 addr (meas1), addr (meas2), addr (ctl.info)); 178 /* number of leader strings needed */ 179 leader_count = 180 divide (text.input.rmarg - text.input.lmarg 181 - text.input.width, meas1.width, 17, 0); 182 183 if leader_count > 0 184 then 185 do; /* save lead for leader */ 186 save_lead = text.input.linespace; 187 /* set text with zero lead */ 188 text.input.linespace = 0; 189 call comp_util_$add_text (shared.blkptr, "0"b, "1"b, 190 "0"b, "0"b, addr (text.input)); 191 /* build leader string */ 192 text.input_line = copy (tblcol.leader, leader_count); 193 /* recover measure data */ 194 text.input.width = leader_count * meas1.width; 195 /* set it right, with lead */ 196 text.input.quad = quadr; 197 text.input.linespace = save_lead; 198 end; 199 end; 200 end; 201 202 if text.parms.left.undent > 0 & text.input.hanging 203 | (text.input.fnt_chng & length (text.input_line) = 7) 204 then text.input.linespace = 0; 205 else text.input.linespace = text.parms.linespace; 206 207 if text.input.fnt_chng & length (text.input_line) > 7 208 then text.input.fnt_chng = "0"b; 209 210 if text.input_line ^= "" 211 then call comp_util_$add_text (shared.blkptr, 212 (text.input.quad ^= quadl & text.input.width = 0), "1"b, 213 "0"b, text.input.oflo, addr (text.input)); 214 215 text.input_line = ""; /* erase the partial line */ 216 text.input.ftn = text_entry.ftn; 217 /* reset controls */ 218 text.input.hanging, text.input.und_prot, text.input.fnt_chng, 219 text.input.punct = "0"b; 220 text.parms.left.undent, text.parms.right.undent = 0; 221 text.input.chrct, text.input.gaps, text.input.width, 222 text.input.mod_start, text.input.mod_len = 0; 223 text.input.quad = text.parms.quad; 224 unspec (text.input.cbar) = "0"b; 225 end; 226 227 /* if a block is to be ended */ 228 if break_type > format_break /* if other than a format break */ 229 & ^text.parms.title_mode /* and not building formatted blocks */ 230 & ^shared.ftn_mode /* and not building a footnote */ 231 & ^text.parms.keep /* and not a keep block */ 232 then 233 do; /* head page if needed */ 234 if ^(option.galley_opt | page.hdr.headed) 235 then call comp_head_page_ (head_used); 236 else if ^option.galley_opt 237 then head_used = col0.blkptr (1) -> text.hdr.used; 238 239 if break_type < need_break /* if a text area break */ 240 then 241 do; /* insert text heading */ 242 if text.parms.hdrptr ^= null () & ^shared.inserting_hfc 243 then if text.parms.hdrptr -> hfcblk.hdr.count > 0 244 then call comp_title_block_ (text.parms.hdrptr); 245 /* insert text caption */ 246 if text.parms.ftrptr ^= null () & ^shared.inserting_hfc 247 then if text.parms.ftrptr -> hfcblk.hdr.count > 0 248 then 249 do; 250 ta_size = text.parms.ftrptr -> hfcblk.hdr.used; 251 call comp_title_block_ (text.parms.ftrptr); 252 end; 253 end; 254 255 if text.hdr.tblblk /* sort table lines into page depth */ 256 then /* and column order */ 257 sort: 258 begin; /* to allocate pointer arrays */ 259 260 dcl (i, j) fixed bin; 261 dcl loptr (text.hdr.count) ptr; 262 dcl swp bit (1); 263 264 i = 0; /* copy pointers for sorting */ 265 do line_area_ptr = text.line_area.first 266 repeat (line_area.next) while (line_area_ptr ^= null); 267 do j = 1 to line_area.ndx; 268 i = i + 1; 269 loptr (i) = line_area.linptr (j); 270 end; 271 end; 272 pass: /* make a sorting pass */ 273 swp = "0"b; 274 do j = 1 to text.hdr.count - 1; 275 thslin_ptr = loptr (j); 276 nxtlin_ptr = loptr (j + 1); 277 /* if this is deeper than next */ 278 if thslin.depth > nxtlin.depth 279 /* or further right at same depth */ 280 | (thslin.depth = nxtlin.depth 281 & thslin.lmarg > nxtlin.lmarg) 282 then /* swap 'em */ 283 do; 284 tptr = loptr (j); 285 loptr (j) = loptr (j + 1); 286 loptr (j + 1) = tptr; 287 swp = "1"b; /* show that we've swapped */ 288 end; 289 end; 290 291 if swp /* if we swapped, try again */ 292 then goto pass; /**/ 293 /* fix lead for lines at same depth */ 294 do i = 1 to text.hdr.count - 1; 295 thslin_ptr = loptr (i); 296 nxtlin_ptr = loptr (i + 1); 297 if thslin.depth = nxtlin.depth 298 then thslin.linespace = 0; 299 end; 300 301 i = 0; /* put sorted pointers back */ 302 do line_area_ptr = text.line_area.first 303 repeat (line_area.next) while (line_area_ptr ^= null); 304 do j = 1 to line_area.ndx; 305 i = i + 1; 306 line_area.linptr (j) = loptr (i); 307 end; 308 end; 309 end sort; /**/ 310 /* expand <title>s */ 311 do line_area_ptr = text.line_area.first 312 repeat (line_area.next) while (line_area_ptr ^= null); 313 do i = 1 to line_area.ndx; 314 txtlinptr = line_area.linptr (i); 315 /* if a <title> line */ 316 if txtlin.title /* and not empty */ 317 & length (txtlin.ptr -> txtstr) > 0 318 then 319 do; 320 temp_line = txtlin.ptr -> txtstr; 321 322 if index (temp_line, shared.sym_delim) ^= 0 323 then 324 do; 325 call comp_use_ref_ (temp_line, txtlin.art, TEXT, 326 addr (txtlin.info)); 327 call comp_util_$replace_text (shared.blkptr, "1"b, 328 txtlinptr, addr (temp_line)); 329 end; 330 end; 331 end; 332 end; 333 334 /* ***************************** start GALLEY ****************************** */ 335 336 if option.galley_opt & text.blktype ^= "pi" 337 & (^text.parms.keep | shared.end_output) 338 then 339 do; /**/ 340 /* if multicolumn, set all */ 341 /* other columns to empty so */ 342 /* write_page isnt confused */ 343 if page.hdr.col_count > 0 344 then 345 do icol = 0 to page.hdr.col_count; 346 if icol ^= page.hdr.col_index 347 then page.column_ptr (icol) -> col.hdr = colhdr; 348 end; 349 350 if text.hdr.art /* expand artwork */ 351 then 352 do; 353 coldepth = 0; /* artwork needs the depth */ 354 do line_area_ptr = text.line_area.first 355 repeat (line_area.next) while (line_area_ptr ^= null); 356 do i = 1 to line_area.ndx; 357 txtlinptr = line_area.linptr (i); 358 txtlin.depth = coldepth; 359 coldepth = coldepth + txtlin.linespace; 360 end; 361 end; 362 call comp_art_ (shared.blkptr, "0"b); 363 end; /**/ 364 /* discard unwanted lines */ 365 toss = 0; /* clear discard count */ 366 coldepth = 0; /* to set final depth */ 367 do line_area_ptr = text.line_area.first 368 repeat (line_area.next) while (line_area_ptr ^= null); 369 do i = 1 to line_area.ndx; 370 txtlinptr = line_area.linptr (i); 371 /* if before galley range or */ 372 /* a split header, discard it */ 373 if option.line_1 > txtlin.lineno0 | txtlin.blk_splt 374 then 375 do; /* throw away any footnotes */ 376 text.hdr.ftn.ct = text.hdr.ftn.ct - txtlin.ftn.ct; 377 text.hdr.ftn.usd = text.hdr.ftn.usd - txtlin.ftn.used; 378 col.hdr.ftn.ct = col.hdr.ftn.ct - txtlin.ftn.ct; 379 col.hdr.ftn.usd = col.hdr.ftn.usd - txtlin.ftn.used; 380 text.hdr.used = text.hdr.used - txtlin.linespace; 381 txtlin.width, txtlin.linespace = 0; 382 txtlin.ftn = text_entry.ftn; 383 txtlin.ptr -> txtstr = ""; 384 toss = toss + 1; 385 end; /**/ 386 /* if after galley range, */ 387 else if txtlin.lineno0 > option.line_2 388 then 389 do; /* discard remaining lines */ 390 do line_area_ptr = text.line_area.first 391 repeat (line_area.next) 392 while (line_area_ptr ^= null); 393 do j = i to line_area.ndx; 394 txtlinptr = line_area.linptr (j); 395 /* throw away any footnotes */ 396 text.hdr.ftn.ct = text.hdr.ftn.ct - txtlin.ftn.ct; 397 text.hdr.ftn.usd = 398 text.hdr.ftn.usd - txtlin.ftn.used; 399 col.hdr.ftn.ct = col.hdr.ftn.ct - txtlin.ftn.ct; 400 col.hdr.ftn.usd = 401 col.hdr.ftn.usd - txtlin.ftn.used; 402 end; 403 end; 404 text.hdr.count = i - 1; 405 end; 406 else 407 do; 408 txtlin.depth = coldepth; 409 coldepth = coldepth + txtlin.linespace; 410 end; 411 end; 412 end; /**/ 413 /* any lines left? */ 414 if text.hdr.count > toss & shared.pass_counter <= 1 415 & ^option.check_opt 416 then 417 do; /* col space used */ 418 col.hdr.used = text.hdr.used; 419 shared.print_flag = "1"b; 420 /* write the "page" */ 421 call comp_write_page_; 422 end; /**/ 423 /* if not doing a footnote */ 424 if break_type ^= footnote_break 425 then 426 do; /* any footnotes? */ 427 if text.hdr.ftn.ct > 0 428 then 429 do; /* erase text lines */ 430 do line_area_ptr = text.line_area.first 431 repeat (line_area.next) 432 while (line_area_ptr ^= null); 433 do i = 1 to line_area.ndx; 434 txtlinptr = line_area.linptr (i); 435 txtlin.width, txtlin.linespace = 0; 436 txtlin.ptr -> txtstr = ""; 437 end; 438 end; 439 440 call comp_insert_ctls_ (ift_ctl_index); 441 end; /**/ 442 /* give back text block */ 443 call comp_util_$relblk (page.hdr.col_index, shared.blkptr); 444 /* give back unused footnotes */ 445 if shared.ftnblk_data_ptr ^= null () 446 then 447 do i = ftnblk_data.highndx to 1 by -1; 448 if ftnblk_data.blkptr (i) ^= null () 449 then call comp_util_$relblk (-1, 450 ftnblk_data.blkptr (i)); 451 452 453 end; /**/ 454 /* give back pictures */ 455 if shared.picture.count > 0 456 then 457 do; 458 do i = 1 to shared.picture.count; 459 call comp_util_$relblk (-1, 460 shared.picture.blk (i).ptr); 461 end; 462 shared.picture.blk = nullpic; 463 shared.picture.space = 0; 464 end; 465 466 col.hdr = colhdr; /* clean up column */ 467 page.hdr.used = 0; /* and page */ 468 end; /**/ 469 /* give back text block */ 470 else call comp_util_$relblk (page.hdr.col_index, shared.blkptr) 471 ; 472 473 goto return_; 474 end; /**/ 475 /***************************** END OF GALLEY ******************************* */ 476 /* is block ending? */ 477 if break_type >= block_break & text.blktype ^= "pi" 478 & ^(shared.table_mode & tblcolndx > 0) 479 then 480 do; 481 col.hdr.used = col.hdr.used + text.hdr.used; 482 col.hdr.pspc = text.hdr.trl_ws; 483 /* a footnote or a footer? */ 484 if break_type = footnote_break | break_type = footer_break 485 then 486 do; /**/ 487 /* fill in page depth */ 488 do line_area_ptr = text.line_area.first 489 repeat (line_area.next) while (line_area_ptr ^= null); 490 do i = 1 to line_area.ndx; 491 txtlinptr = line_area.linptr (i); 492 txtstrptr = txtlin.ptr; 493 /* does it have symbols or escapes? */ 494 /**** if index (txtstr, shared.sym_delim) ^= 0 495*/**** | (^txtlin.art & index (txtstr, "*") ^= 0) 496*/**** then 497*/**** do; 498*/**** tmpline = txtstr; 499*/**** /* copy the text */ 500 /**** if index (tmpline, shared.sym_delim) ^= 0 501*/**** then call comp_use_ref_ (tmpline, txtlin.art, "1"b, 502*/**** addr (txtlin.info)); 503*/**** 504*/**** if index (tmpline, "*") ^= 0 505*/**** then call comp_util_$escape (tmpline, 506*/**** addr (txtlin.info)); 507*/**** 508*/**** call comp_util_$replace_text (shared.blkptr, 509*/**** (txtlin.quad ^= quadl & txtlin.quad ^= just), 510*/**** txtlinptr, addr (tmpline)); 511*/**** end;*/ 512 513 txtlin.depth = col.hdr.depth; 514 col.hdr.depth = col.hdr.depth + txtlin.linespace; 515 end; 516 end; 517 518 if text.hdr.art 519 then call comp_art_ (shared.blkptr, "0"b); 520 521 /**** if break_type = header_break | break_type = footnote_break 522*/**** then page.hdr.used = page.hdr.used + text.hdr.used;*/ 523 524 shared.blkptr = null (); 525 /**** if break_type ^= footer_break & shared.picture.count > 0 526*/**** then call comp_util_$pictures (shared.blkptr);*/ 527 end; 528 529 else if text.colno >= 0 /* text area break? */ 530 then 531 do; 532 if page.hdr.col_index = 0 533 then page.hdr.used = page.hdr.used + text.hdr.used; 534 else page.hdr.used = 535 max (page.hdr.used, col.hdr.used + col0.hdr.used) 536 ; /**/ 537 /* has page overflowed? */ 538 if (page.hdr.col_index = 0 539 | page.hdr.col_index = page.parms.cols.count) 540 & (col.hdr.used + col.hdr.ftn.usd + col.depth_adj 541 > col.hdr.net | break_type = need_break) 542 then oflo = "1"b; /**/ 543 /* show current block used */ 544 shared.blkptr = null (); 545 end; 546 end; 547 end; /* end block end loop */ 548 end; /* end loop for current block */ 549 550 /* is page makeup needed? */ 551 if page.hdr.used > 0 & /**/ 552 (break_type = page_break /* a page break? */ 553 /* or a need break? */ 554 | break_type = need_break & (oflo | next_col = -2) 555 /* or returning to col 0? */ 556 | break_type = column_break & next_col = 0 557 /* or page overflow? */ 558 | oflo & break_type = block_break) 559 then 560 do; 561 call comp_make_page_ (break_type, 562 break_type = column_break & next_col = 0); 563 564 if shared.blkptr ^= null () 565 then if text.hdr.colno >= 0 566 then 567 do; 568 colno, page.hdr.col_index = text.hdr.colno; 569 shared.colptr = page.column_ptr (colno); 570 col.hdr.used = max (col.hdr.used - text.hdr.used, 0); 571 page.hdr.used = 572 max (col.hdr.used, page.hdr.used - text.hdr.used, 0); 573 end; 574 end; 575 576 return_: 577 if shared.bug_mode 578 then 579 do; 580 call ioa_$nnl ("^5x(break: "); 581 582 if shared.blkptr ^= null () 583 then 584 do; 585 call ioa_$nnl ("^a=^d e^d u^f(^f)", text.blktype, text.blkndx, 586 text.hdr.count, show (text.hdr.used, 12000), 587 show (text.hdr.trl_ws, 12000)); 588 589 if shared.table_mode & text.hdr.tblblk 590 then call ioa_$nnl (" tbl=^d/^d d^f/^f", tblcolndx, tblfmtndx, 591 show (tblcol.depth, 12000), 592 show (tblfmt.maxdepth, 12000)); 593 594 call ioa_$nnl ("^[ ftn^d/^f^;^2s^]^[ A^]^[ K^]^[ MOD^])^/^-(", 595 (text.hdr.ftn.ct > 0), text.hdr.ftn.ct, 596 show (text.hdr.ftn.usd, 12000), text.hdr.art, text.parms.keep, 597 text.hdr.modified); 598 end; 599 600 call ioa_$nnl ("col=^[LOOSE^s^;^d^] b^d u^f(^f)/^f(^f)" 601 || "^[ ftn=^d/^f^;^2s^] ", (colno < 0), colno, col.hdr.blkct, 602 show (col.hdr.used, 12000), show (col.hdr.pspc, 12000), 603 show (col.hdr.net, 12000), show (col.depth_adj, 12000), 604 (col.hdr.ftn.ct > 0), col.hdr.ftn.ct, 605 show (col.hdr.ftn.usd, 12000)); 606 607 call ioa_ ("pag=^a c^d u^f(^f)/^f^[ pi=^d ^f^])", page.hdr.pageno, 608 page.parms.cols.count, show (page.hdr.used, 12000), 609 show (page.hdr.hdspc, 12000), show (page.hdr.net, 12000), 610 (shared.picture.count > 0), shared.picture.count, 611 show (shared.picture.space, 12000)); 612 end; 613 614 return; 615 616 show: 617 proc (datum, scale) returns (fixed dec (11, 3)); 618 dcl datum fixed bin (31); 619 dcl scale fixed bin (31); 620 621 return (round (dec (round (divide (datum, scale, 31, 11), 10), 11, 4), 3)); 622 end show; 623 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 */ 624 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 */ 625 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 */ 626 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 */ 627 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 */ 628 6 1 /* BEGIN INCLUDE FILE comp_footnotes.incl.pl1 */ 6 2 6 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 6 4 6 5 dcl 1 ftnblk_data aligned based (shared.ftnblk_data_ptr), 6 6 /* data for footnote blocks */ 6 7 2 highndx fixed (35), /* highest active footnote index */ 6 8 2 blkptr (250) ptr; /* block pointers */ 6 9 /* footnote header data block */ 6 10 dcl 1 ftnhdr aligned like text based (shared.footnote_header_ptr); 6 11 /* formatting parms for footnotes */ 6 12 dcl 1 footnote_parms 6 13 aligned like default_parms 6 14 based (const.footnote_parms_ptr); 6 15 6 16 /* END INCLUDE FILE comp_footnotes.incl.pl1 */ 629 7 1 /* BEGIN INSERT FILE ... comp_insert.incl.pl1 */ 7 2 7 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 7 4 7 5 dcl 1 insert_data aligned based (const.insert_data_ptr), 7 6 2 count fixed bin, /* count of allocated data blocks */ 7 7 2 index fixed bin, /* the current block */ 7 8 2 ptr (1000) ptr, /* insert file data block pointers */ 7 9 2 ref_area, /* ref name string area data */ 7 10 3 count fixed bin, /* count of allocated areas */ 7 11 3 ptr (100) ptr; /* area pointers */ 7 12 /* insert call stack */ 7 13 dcl 1 call_stack aligned based (const.call_stk_ptr), 7 14 2 count fixed bin, /* count of allocated boxes */ 7 15 2 index fixed bin, /* current stack index */ 7 16 2 ptr (0:50) ptr; /* stack entry ptrs */ 7 17 dcl call_box_ptr ptr; 7 18 dcl 1 call_box aligned like insert.file based (call_box_ptr); 7 19 dcl 1 call_box0 aligned like insert.file based (call_stack.ptr (0)); 7 20 7 21 dcl 1 insert_refs aligned based, /* ref names structure */ 7 22 2 count fixed bin, /* count of names in area */ 7 23 2 index (60) fixed bin, /* insert_data index values */ 7 24 2 name (60) char (32) unal; 7 25 /* the ref names */ 7 26 7 27 dcl refname_str char (refstr_len) based (refstr_ptr); 7 28 /* for searching */ 7 29 dcl refstr_len fixed bin; /* length of refname search string */ 7 30 dcl refstr_ptr ptr; /* refname string pointer */ 7 31 /* data for an insert file */ 7 32 dcl 1 insert aligned based (shared.insert_ptr), 7 33 2 file, /* also used for source files */ 7 34 3 charcount 7 35 fixed bin (21), /* segment character count */ 7 36 3 comp_no fixed bin, /* msf component number */ 7 37 3 dir char (168), /* containing dir */ 7 38 3 entryname 7 39 char (32), /* primary entryname */ 7 40 3 exit_lineno 7 41 fixed bin (35), /* line number of .ifi */ 7 42 3 fcb_ptr ptr, /* FCB pointer for msf manager */ 7 43 3 info like text_entry.info, 7 44 3 insert_ptr /* self pointer - needed when */ 7 45 ptr, /* struc is in the call stack */ 7 46 /* 3 ntext fixed bin (21), /* character count of text line */ 7 47 3 path char (200) var, /* complete pathname */ 7 48 3 pointer ptr, /* segment pointer */ 7 49 3 posn fixed bin (21), /* input character position */ 7 50 3 refname char (200) var, /* for source files only */ 7 51 2 callers_name 7 52 char (100), /* refname of calling file */ 7 53 2 dtcm bit (36), /* fs date-time-modified */ 7 54 2 refndx fixed bin, /* CURRENT refname index for file */ 7 55 2 thrb fixed bin unsigned, 7 56 /* backward thread index in insert stack */ 7 57 2 label, /* label data per insert level */ 7 58 3 count fixed bin, 7 59 3 line (250) fixed bin unsigned, 7 60 3 position (250) fixed bin (21), 7 61 3 value (250) char (32); 7 62 7 63 /* empty file data structure */ 7 64 dcl 1 init_file_data 7 65 static options (constant), 7 66 2 charcount fixed bin (21) init (0), 7 67 /* segment character count */ 7 68 2 comp_no fixed bin init (0), 7 69 /* msf component number */ 7 70 2 dir char (168) init (""), 7 71 /* containing dir */ 7 72 2 entryname char (32) init (""), 7 73 /* primary entryname */ 7 74 2 exit_lineno 7 75 fixed bin (35) init (0), 7 76 /* line number of .ifi */ 7 77 2 fcb_ptr ptr init (null),/* FCB pointer for msf manager */ 7 78 2 info, /* stuff created during line input */ 7 79 3 fileno /* input file index */ 7 80 fixed bin init (0), 7 81 3 lineno /* input file line number */ 7 82 fixed bin init (0), 7 83 3 lineno0 /* call_box0 line number */ 7 84 fixed bin init (0), 7 85 2 insert_ptr ptr init (null),/* self pointer - needed when */ 7 86 /* struc is in the call stack */ 7 87 /* 2 ntext fixed bin (21) init (0), 7 88*/* /* character count of text line */ 7 89 2 path char (200) var init (""), 7 90 /* complete pathname */ 7 91 2 pointer ptr init (null),/* segment pointer */ 7 92 2 posn fixed bin (21) init (1), 7 93 /* input character position */ 7 94 2 refname char (200) var init (""); 7 95 /* for source files only */ 7 96 7 97 /* END INSERT FILE ... comp_insert.incl.pl1 */ 630 8 1 /* BEGIN INCLUDE FILE comp_option.incl.pl1 */ 8 2 8 3 dcl option_version fixed bin (35) static options (constant) init (2); 8 4 8 5 dcl 1 option aligned based (const.option_ptr), /* program options */ 8 6 2 version fixed bin (35), 8 7 /* Options with parameters */ 8 8 (2 argument_opt, /* -argument option flag */ 8 9 2 cbar_opt, /* -change_bars option flag */ 8 10 2 cbar_art_opt, /* -change_bars_art option flag */ 8 11 2 debug_opt, /* -debug option flag */ 8 12 2 db_all_opt, /* -debug_all option flag */ 8 13 2 db_file_opt, /* -debug_file option flag */ 8 14 2 device_opt, /* -device option flag */ 8 15 2 execute_opt, /* -execute option flag */ 8 16 2 from_opt, /* -from option flag */ 8 17 2 galley_opt, /* -galley option flag */ 8 18 2 hyph_opt, /* -hyphenation option flag */ 8 19 2 indent_opt, /* -indent option flag */ 8 20 2 input_file_opt, /* -input_file option flag */ 8 21 2 linespace_opt, /* -linespace option flag */ 8 22 2 output_file_opt, /* -output_file option flag */ 8 23 2 pages_opt, /* -pages option flag */ 8 24 2 page_chng_opt, /* -pages_changed option flag */ 8 25 2 parameter_opt, /* -parameter option flag */ 8 26 2 passes_opt, /* -passes option flag */ 8 27 2 tdir_opt, /* -temp_dir option flag */ 8 28 2 to_opt, /* -to option flag */ 8 29 /* Options without parameters */ 8 30 2 annot_opt, /* -annotate */ 8 31 2 brief_opt, /* -brief option flag */ 8 32 2 check_opt, /* -check option flag */ 8 33 2 cws_opt, /* -cws option flag */ 8 34 2 db_pause_opt, /* -debug_pause option flag */ 8 35 2 noart_opt, /* -noart option flag */ 8 36 2 nobell_opt, /* -no_bell option flag */ 8 37 2 nofill_opt, /* -nofill option flag */ 8 38 2 nohit_opt, /* -nohit option flag */ 8 39 2 number_opt, /* -number option flag */ 8 40 2 number_append_opt, /* -number_append option flag */ 8 41 2 number_brief_opt, /* -number_brief option flag */ 8 42 2 stop_opt, /* -stop option flag */ 8 43 2 wait_opt) unal bit (1), /* -wait option flag */ 8 44 2 MBZ bit (2) unal, 8 45 /* Optional parameters */ 8 46 2 arg_count fixed bin, /* count of -ag values */ 8 47 2 cbar, /* change bar data */ 8 48 3 level char (1), /* change level character (ASCII NUL) */ 8 49 3 place char (1), /* placement character */ 8 50 3 space fixed bin (31), /* extra left margin space needed */ 8 51 3 left, /* left margin mark data */ 8 52 4 sep fixed bin (31), /* separation */ 8 53 4 width fixed bin (31), /* mark width */ 8 54 4 mark char (80) varying, /* the left margin mark */ 8 55 3 right, /* right margin mark data */ 8 56 4 sep fixed bin (31), /* separation */ 8 57 4 width fixed bin (31), /* mark width */ 8 58 4 mark char (80) varying, /* the right margin mark */ 8 59 3 del, /* deletion mark data */ 8 60 4 sep fixed bin (31), /* separation */ 8 61 4 width fixed bin (31), /* mark width */ 8 62 4 mark char (80) varying, /* the deletion mark */ 8 63 2 db_after_line fixed bin (35), /* source line for enabling insert debug */ 8 64 2 db_before_line fixed bin (35), /* source line for disabling insert debug */ 8 65 2 db_file char (200) var, /* file pathanme for debug */ 8 66 2 db_file_after fixed bin (35), /* debug file starting line */ 8 67 2 db_line_end fixed bin (35), /* final line for -debug output */ 8 68 2 db_line_strt fixed bin (35), /* initial line for -debug output */ 8 69 2 device char (32) varying, /* output device */ 8 70 2 extra_indent fixed bin (31), /* extra indent value */ 8 71 2 hyph_size fixed bin (31), /* least word part size for hyphenation */ 8 72 2 line_1 fixed bin (35), /* initial line for output */ 8 73 2 line_2 fixed bin (35), /* final line for output */ 8 74 2 linespace fixed bin (31), /* line spacing value */ 8 75 2 pglstct fixed bin (35), /* number of page list entries */ 8 76 2 pglstndx fixed bin (35), /* index for -pages list */ 8 77 2 pglst (0:49), /* list of requested pages */ 8 78 3 from char (32) var, 8 79 3 to char (32) var, 8 80 2 parameter char (80) varying, /* parameter <value> from command line */ 8 81 2 passes fixed bin, /* passes remaining */ 8 82 2 pgc_select char (1) aligned; /* addendum key to control change page printing - init = NUL */ 8 83 8 84 /* END INCLUDE FILE comp_option.incl.pl1 */ 8 85 631 9 1 /* BEGIN INCLUDE FILE comp_page.incl.pl1 */ 9 2 9 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 9 4 9 5 dcl max_image_lines 9 6 fixed static options (constant) init (1000); 9 7 dcl max_cols fixed static options (constant) init (20); 9 8 9 9 dcl page_version fixed bin static options (constant) init (5); 9 10 /* composed page structure */ 9 11 dcl 1 page aligned based (const.page_ptr), 9 12 2 version fixed bin, /* version of this structure */ 9 13 2 parms aligned like page_parms, 9 14 /* page formatting parameters */ 9 15 2 hdr aligned like page_header, 9 16 /* page control stuff */ 9 17 2 image_ptr ptr, /* pointer to the madeup page image */ 9 18 2 column_ptr (0:20) ptr, /* pointers to the column structures */ 9 19 2 col_image_ptr 9 20 (-2:21) ptr; /* pointers to column images */ 9 21 /* col -1 is for line numbers and */ 9 22 /* left margin change bars; */ 9 23 /* col -2 is for */ 9 24 /* right margin change bars */ 9 25 /* and/or annotation * / 9 26* /* page control stuff */ 9 27 dcl 1 page_header aligned based (const.page_header_ptr), 9 28 2 sws, 9 29 3 art bit (1) unal, /* 1 = header/footer art */ 9 30 3 blankpage 9 31 bit (1) unal, /* 1 = intentional blank page */ 9 32 3 frontpage 9 33 bit (1) unal, /* 1 = odd page number */ 9 34 3 headed bit (1) unal, /* 1 = page header has been written */ 9 35 3 modified bit (1) unal, /* 1 = page has been modified */ 9 36 3 overflow bit (1) unal, /* OBSOLETE */ 9 37 3 MBZ bit (12) unal, 9 38 3 dot_addltr 9 39 char (1) unal, /* dot page add letter, if any */ 9 40 3 pgc_select 9 41 char (1) unal, /* for selecting change pages */ 9 42 2 baldepth fixed bin (31), /* page depth at balance point */ 9 43 2 balusd fixed bin (31), /* space used at balance point */ 9 44 2 col_count fixed bin, /* highest value of col_index for the page */ 9 45 2 col_index fixed bin, /* column index */ 9 46 2 depth fixed bin (31), /* current page depth */ 9 47 2 hdspc fixed bin (31), /* TOP white space */ 9 48 2 lmarg fixed bin (31), /* left margin for this page */ 9 49 2 net fixed bin (31), /* net usable space on the page */ 9 50 2 pageno char (32) var, /* current page number */ 9 51 2 used fixed bin (31); /* space already used on the page */ 9 52 9 53 dcl page_image_version 9 54 fixed bin (35) static options (constant) init (2); 9 55 /* structure passed to writers */ 9 56 dcl 1 page_image aligned based (page.image_ptr), 9 57 2 version fixed bin (35), /* structure version no */ 9 58 2 count fixed bin, /* count of page image lines */ 9 59 2 file_id char (32) var, /* compout identifier */ 9 60 2 func fixed bin, /* function code; 0 = build, 9 61* 1 = intialize, 2 = cleanup */ 9 62 2 text_ptr ptr, /* pointer to the text area */ 9 63 /* the image lines */ 9 64 2 line (max_image_lines), 9 65 3 sws, 9 66 4 quad bit (6) unal, /* text set position flags */ 9 67 4 art bit (1) unal, /* 1 = artwork in the line */ 9 68 4 cbar bit (1) unal, /* 1= line has a cbar, dont erase */ 9 69 4 mrgtxt bit (1) unal, /* line number or marginal note */ 9 70 4 white bit (1) unal, /* line is white */ 9 71 4 MBZ bit (26) unal, 9 72 3 depth fixed bin (31), /* page depth for the text */ 9 73 3 gaps fixed bin, /* number of WS gaps in the line */ 9 74 3 info like text_entry.info, 9 75 /* input file info */ 9 76 3 lead fixed bin (31), /* lead value if trailing WS */ 9 77 3 lfnt fixed bin, /* font at the left margin */ 9 78 3 lmarg fixed bin (31), /* text left margin position */ 9 79 3 lsize fixed bin (31), /* pointsize at the left margin */ 9 80 3 net fixed bin (31), /* net width for filling */ 9 81 3 pos fixed bin (31), /* current horiz position */ 9 82 3 ptr ptr, /* pointer to the text */ 9 83 3 rmarg fixed bin (31), /* text right margin position */ 9 84 3 width fixed bin (31); /* width of the text */ 9 85 /* current page formatting parms */ 9 86 dcl 1 page_parms aligned based (const.page_parms_ptr), 9 87 2 init_page_depth 9 88 fixed bin (31), /* initial page depth */ 9 89 2 length fixed bin (31), /* page length */ 9 90 2 lmarg, /* page left margin */ 9 91 3 even fixed bin (31), 9 92 3 odd fixed bin (31), 9 93 2 margin, /* margin values */ 9 94 3 top fixed bin (31), 9 95 3 header fixed bin (31), 9 96 3 footer fixed bin (31), 9 97 3 bottom fixed bin (31), 9 98 2 measure fixed bin (31), /* line space available for text */ 9 99 2 net, /* net usable space on page */ 9 100 3 even fixed bin (31), /* even pages */ 9 101 3 odd fixed bin (31), /* odd pages */ 9 102 /* arrays at the end */ 9 103 2 cols, /* columns defined for the page */ 9 104 3 bal bit (1) unal, /* column balancing control flag */ 9 105 3 MBZ bit (17) unal, 9 106 3 count fixed bin unal; /* the number of columns */ 9 107 /* default page formatting parms */ 9 108 dcl 1 init_page_parms 9 109 aligned like page_parms 9 110 based (const.init_page_parms_ptr); 9 111 9 112 /* END INCLUDE FILE comp_page.incl.pl1 */ 632 10 1 /* BEGIN INCLUDE FILE comp_shared.incl.pl1 */ 10 2 10 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 10 4 10 5 dcl shared_version fixed bin (35) static options (constant) init (17); 10 6 10 7 dcl 1 shared aligned based (const.shared_ptr), 10 8 2 version fixed bin (35), /* version of this structure */ 10 9 2 chars, 10 10 ( 3 sym_delim, /* delimiter for symbols */ 10 11 3 ttl_delim, /* delimiter for title parts */ 10 12 3 wrd_brkr /* word break character */ 10 13 ) char (1) unal, 10 14 3 PAD char (1) unal, 10 15 2 cbar_type char (4) var, /* change bar type */ 10 16 2 dot_add_letter /* dot page add letter */ 10 17 char (1) var, 10 18 2 EN_width fixed bin (31), /* width of EN in current font */ 10 19 2 eqn_refct fixed bin, /* equation reference counter */ 10 20 2 footref_fcs /* footnote ref FCS string */ 10 21 char (8) aligned, 10 22 2 ftn_reset char (8) var, /* footnote reset mode */ 10 23 2 ftnrefct fixed bin, /* footnote ref counter */ 10 24 2 hyph_size fixed bin (31), /* least word part size for hyphing */ 10 25 2 if_nest, /* if/then/else logic control */ 10 26 3 ndx fixed bin, /* depth of logic nest */ 10 27 3 e (25), /* nest entries */ 10 28 /* .if control switch */ 10 29 4 sw fixed bin, /* 0=off, 1=(then), -1=(else) */ 10 30 4 info aligned like text_entry.info, 10 31 4 line char (256) var, /* the control line */ 10 32 2 indctl, /* indent ctls stack */ 10 33 3 ndx fixed bin, /* current level */ 10 34 /* switch bits */ 10 35 3 stk (0:35) bit (1) unal, 10 36 2 input_dirname 10 37 char (168) var, /* dir containing current input file */ 10 38 2 input_filename 10 39 char (200) var, /* current input file name */ 10 40 2 lead fixed bin (31), /* current linespacing value */ 10 41 2 lit_count fixed bin (35), /* count of literal lines */ 10 42 2 next_pagenmbr 10 43 char (32) var, /* next page number / */ 10 44 2 output_file 10 45 char (32) var, /* output file identifier */ 10 46 2 pagecount fixed bin, /* number of pages produced */ 10 47 2 pagenum, /* page number structure */ 10 48 3 index fixed bin, /* level currently counting */ 10 49 ( 10 50 3 sep char (1) unal, /* separator chars */ 10 51 3 nmbr fixed bin (31), /* the counters */ 10 52 3 mode /* display modes */ 10 53 fixed bin (8) unal 10 54 ) dimension (20), 10 55 2 parameter char (254) var, /* command line parameter */ 10 56 2 param_pres bit (1), /* passed parameter flag */ 10 57 2 pass_counter 10 58 fixed bin, /* pass counter */ 10 59 2 picture, /* picture blocks */ 10 60 3 count fixed bin, /* number of them */ 10 61 3 space fixed bin (31), /* total picture space */ 10 62 3 blk (10), /* picture blocks */ 10 63 4 type char (4), /* type = page/col */ 10 64 4 place char (4), /* place = top/cen/bot */ 10 65 4 ptr ptr, /* pointer to block */ 10 66 4 size fixed bin (31), /* size of the picture */ 10 67 2 ptrs, 10 68 ( 3 aux_file_data_ptr, /* -> auxiliary file data */ 10 69 3 blank_footer_ptr, /* -> blank page footer */ 10 70 3 blank_header_ptr, /* -> blank page header */ 10 71 3 blank_text_ptr, /* -> blank page text */ 10 72 3 blkptr, /* -> active text */ 10 73 3 colptr, /* current column */ 10 74 3 compout_ptr, /* iocb pointer for output */ 10 75 3 compx_ptr, /* iocb pointer for compx file */ 10 76 3 ctb_ptr, /* current line artwork table */ 10 77 3 epftrptr, /* even page footer block */ 10 78 3 ephdrptr, /* even page header block */ 10 79 3 fcb_ptr, /* input file control block pointer */ 10 80 3 ftnblk_data_ptr, /* footnote block data pointer */ 10 81 3 footnote_header_ptr, /* footnote header "title" */ 10 82 3 graphic_page_ptr, /* graphic output page */ 10 83 3 hit_data_ptr, /* hit data pointer */ 10 84 3 htab_ptr, /* horizontal tab tables */ 10 85 3 hwrd_data_ptr, /* local hyphenation table */ 10 86 3 insert_ptr, /* data entry for current input file */ 10 87 3 opftrptr, /* odd page footer block */ 10 88 3 ophdrptr, /* odd page header block */ 10 89 3 ptb_ptr, /* previous line artwork table */ 10 90 3 spcl_blkptr, /* "special" block pointer */ 10 91 3 tbldata_ptr, /* table column data structure */ 10 92 3 tblkdata_ptr, /* text block data array */ 10 93 3 text_header_ptr /* empty text header structure */ 10 94 ) ptr, 10 95 2 scale, /* space conversion scale factors */ 10 96 3 horz fixed bin (31), /* horizontal */ 10 97 3 vert fixed bin (31), /* vertical */ 10 98 2 source_filename 10 99 char (200) var, /* current source file name */ 10 100 2 sws, /* switch bits */ 10 101 ( 3 bug_mode, /* debug mode */ 10 102 3 compout_not_headed, /* compout is not headed */ 10 103 3 end_input, /* EOF for current input file */ 10 104 3 end_output, /* no more output is wanted */ 10 105 3 firstpass, /* first pass over input */ 10 106 3 ftn_mode, /* in footnote mode */ 10 107 3 hyph_mode, /* hyphenating mode */ 10 108 3 inserting_hfc, /* inserting hdr, ftr, or cap */ 10 109 3 literal_mode, /* literal line mode flag */ 10 110 3 pageblock, /* blocks belong to page */ 10 111 3 picture_mode, /* building a picture */ 10 112 3 print_flag, /* producing output */ 10 113 3 purge_ftns, /* purging footnotes */ 10 114 3 suppress_footref, /* suppress next footnote ref */ 10 115 3 table_mode /* table mode */ 10 116 ) bit (1) unal, 10 117 3 MBZ bit (21) unal, 10 118 2 trans, /* trans table for .tr */ 10 119 3 in char (128) var, /* input chars */ 10 120 3 out char (128) var, /* output chars */ 10 121 2 widow_size fixed bin (31), /* widow size */ 10 122 2 widow_foot fixed bin (31); /* widow for footnotes */ 10 123 /* to save shared data between files/passes */ 10 124 dcl 1 save_shared aligned like shared based (const.save_shared_ptr); 10 125 10 126 dcl dot_addltr_symb_index 10 127 fixed bin static options (constant) init (12); 10 128 dcl max_text_lines fixed bin static options (constant) init (1000); 10 129 dcl mode_string char (16) static options (constant) 10 130 init ("arbihxocalaurlru"); 10 131 /* value overlays */ 10 132 dcl flag_value bit (1) based; 10 133 dcl num_value fixed bin (31) based; 10 134 10 135 /* END INCLUDE FILE comp_shared.incl.pl1 */ 633 11 1 /* BEGIN INCLUDE FILE comp_table.incl.pl1 */ 11 2 11 3 /* format: style2,ind3,ll79,dclind4,idind15,comcol41,linecom */ 11 4 11 5 dcl 1 tbldata aligned based (shared.tbldata_ptr), 11 6 2 ct fixed bin, /* number of active table formats */ 11 7 2 ndx fixed bin, /* index of current active format */ 11 8 2 fmt (20), /* the format */ 11 9 3 name char (32) var, /* name of the format */ 11 10 3 ptr ptr; /* pointer to the format data */ 11 11 11 12 dcl tblfmtndx fixed bin; /* current table format index */ 11 13 dcl tblfmtptr ptr; /* -> current table format */ 11 14 /* table format data */ 11 15 dcl 1 tblfmt aligned based (tblfmtptr), 11 16 2 context bit (1), /* =1 if context mode */ 11 17 2 ccol fixed bin, /* the current table column */ 11 18 2 maxdepth fixed bin (31), /* max depth in table */ 11 19 2 ncols fixed bin, /* number of columns in this format */ 11 20 2 colptr (0:20) ptr; /* pointers to the columns */ 11 21 11 22 dcl tblcolndx fixed bin; /* current table column index */ 11 23 /* -> current table column */ 11 24 dcl tblcolptr ptr init (null ()); 11 25 /* table column data */ 11 26 dcl 1 tblcol aligned based (tblcolptr), 11 27 2 align, /* column alignment mode */ 11 28 3 posn fixed bin (31), 11 29 3 str char (32) var, 11 30 2 depth fixed bin (31), /* current depth for column */ 11 31 2 gutter fixed bin (31), 11 32 2 leader char (16) var, /* leadering string */ 11 33 2 margin, 11 34 3 left fixed bin (31), 11 35 3 right fixed bin (31), 11 36 2 valign bit (4) unal, /* vertical alignment flags */ 11 37 2 MBZ bit (29) unal, 11 38 2 parms /* parms for columns */ 11 39 aligned like default_parms; 11 40 11 41 dcl 1 tblcol0 aligned like tblcol based (tblfmt.colptr (0)); 11 42 /* -> previous table column */ 11 43 dcl prvtblcolptr ptr init (null ()); 11 44 dcl 1 prvtblcol like tblcol aligned based (prvtblcolptr); 11 45 11 46 dcl vtop bit (4) static options (constant) init ("1000"b); 11 47 dcl vcen bit (4) static options (constant) init ("0100"b); 11 48 dcl vbot bit (4) static options (constant) init ("0010"b); 11 49 dcl vjust bit (4) static options (constant) init ("0001"b); 11 50 11 51 /* END INCLUDE FILE comp_table.incl.pl1 */ 634 12 1 /* BEGIN INCLUDE FILE comp_text.incl.pl1 */ 12 2 12 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 12 4 12 5 dcl 1 tblkdata /* data for allocated text blocks */ 12 6 aligned based (shared.tblkdata_ptr), 12 7 2 block, /* block pool */ 12 8 3 count fixed bin, 12 9 3 ptr (500) ptr, /* block pointers */ 12 10 /* block state flags */ 12 11 3 free (500) bit (1) unal, 12 12 2 line_area, /* line area pool */ 12 13 3 count fixed bin, 12 14 3 ptr (500) ptr, /* area pointers */ 12 15 /* area state flags */ 12 16 3 free (500) bit (1) unal, 12 17 2 text_area, /* text area pool */ 12 18 3 count fixed bin, 12 19 3 ptr (500) ptr, /* area pointers */ 12 20 /* area state flags */ 12 21 3 free (500) bit (1) unal, 12 22 3 string_area_count 12 23 fixed bin; /* line areas */ 12 24 dcl LINE_AREA_SIZE fixed bin static options (constant) init (24); 12 25 dcl line_area_ptr ptr init (null); 12 26 dcl 1 line_area aligned based (line_area_ptr), 12 27 2 next ptr, /* forward thread */ 12 28 2 prev ptr, /* backward thread */ 12 29 2 count fixed bin, /* number of lines allocated */ 12 30 2 ndx fixed bin, /* index of current line */ 12 31 2 pndx fixed bin, /* area pool index */ 12 32 2 linptr (LINE_AREA_SIZE) ptr; 12 33 /* text areas */ 12 34 dcl TEXT_AREA_SIZE fixed bin static options (constant) init (6); 12 35 dcl text_area_ptr ptr init (null); 12 36 dcl 1 text_area aligned based (text_area_ptr), 12 37 2 next ptr, /* forward thread */ 12 38 2 count fixed bin, /* number of areas allocated */ 12 39 2 ndx fixed bin, /* index of current strarea */ 12 40 2 pndx fixed bin, /* area pool index */ 12 41 2 strareaptr (TEXT_AREA_SIZE) ptr; 12 42 /* text string area */ 12 43 dcl string_area (256) fixed bin based; 12 44 dcl txtstrptr ptr; /* current text string */ 12 45 dcl txtstr char (1020) var based (txtstrptr); 12 46 12 47 dcl TEXT_VERSION fixed bin static options (constant) init (9); 12 48 /* general text block */ 12 49 dcl 1 text aligned based (shared.blkptr), 12 50 2 version fixed bin, /* version of structure */ 12 51 2 blkndx fixed bin, /* block data index */ 12 52 2 blktype char (2), /* block type code */ 12 53 /* dynamic block control stuff */ 12 54 2 hdr aligned like text_header, 12 55 /* text read from input file */ 12 56 2 input aligned like text_entry, 12 57 2 input_line char (1020) var,/* input buffer */ 12 58 2 line_area, 12 59 3 first ptr, /* head of line area thread */ 12 60 3 cur ptr, /* current line area */ 12 61 2 next_text ptr, /* next text string */ 12 62 /* text formatting parameters */ 12 63 2 parms aligned like default_parms, 12 64 2 text_area, 12 65 3 first ptr, /* head of text area thread */ 12 66 3 cur ptr; /* current text area */ 12 67 /* an empty text block line */ 12 68 dcl 1 text_entry aligned based (const.text_entry_ptr), 12 69 2 sws, /* unaligned switches, etc. */ 12 70 3 art bit (1) unal, /* line has artwork */ 12 71 3 cbar, /* change bar flags */ 12 72 4 add bit (1) unal, /* text addition flag */ 12 73 4 del bit (1) unal, /* text deletion flag */ 12 74 4 mod bit (1) unal, /* text modification flag */ 12 75 3 default bit (1) unal, /* 1 = default case as needed */ 12 76 3 DVctl bit (1) unal, /* 1 = line is a device ctl string */ 12 77 3 embedded bit (1) unal, /* 1 = line has an embedded control */ 12 78 3 end_keep bit (1) unal, /* 1= line ends a keep */ 12 79 3 fnt_chng bit (1) unal, /* 1 = text is a font change string */ 12 80 3 footref bit (1) unal, /* 1 = line has a footnote reference */ 12 81 3 hanging bit (1) unal, /* 1 = a hanging undent */ 12 82 3 keep bit (1) unal, /* 1 = unsplittable line */ 12 83 3 no_trim bit (1) unal, /* 1 = untrimmable white line */ 12 84 3 oflo bit (1) unal, /* line causes overflow */ 12 85 3 punct bit (1) unal, /* 1 = line ends with punctuation */ 12 86 3 quad bit (6) unal, /* text alignment flags */ 12 87 3 space_added /* 1= line has added space */ 12 88 bit (1) unal, 12 89 3 spcl, /* special entry - not output text */ 12 90 4 file bit (1) unal, /* 1= output to special file */ 12 91 4 blk_splt /* 1= action at block split time */ 12 92 bit (1) unal, 12 93 4 page_mkup /* 1= action at page makeup time */ 12 94 bit (1) unal, 12 95 3 table bit (1) unal, /* 1= line is a table entry */ 12 96 3 tblspc bit (1) unal, /* 1= WS fill for table mode */ 12 97 3 title bit (1) unal, /* 1= line is a <title> */ 12 98 3 unspnct bit (1) unal, /* 1= underscore punctuation */ 12 99 3 unstop bit (1) unal, /* 1= line is/ends with UNSTOP */ 12 100 3 unstrt bit (1) unal, /* 1= line is/ends with UNSTART */ 12 101 3 unswrds bit (1) unal, /* 1= underscore words only */ 12 102 3 white bit (1) unal, /* 1= line is white space */ 12 103 3 und_prot bit (1) unal, /* 1= undent is protected */ 12 104 3 MBZ bit (4) unal, 12 105 2 art_start fixed bin unal, /* start of art string in line */ 12 106 2 art_len fixed bin unal, /* length of art string in line */ 12 107 2 cbar_level /* change level for cbars */ 12 108 char (1) aligned, 12 109 2 cur, /* current scanning data for line */ 12 110 3 chrct fixed bin, /* count of chars scanned */ 12 111 3 gaps fixed bin, /* gap count */ 12 112 3 width fixed bin (31), /* width of font chars */ 12 113 3 min fixed bin (31), /* width of min spbnds */ 12 114 3 avg fixed bin (31), /* width of avg spbnds */ 12 115 3 max fixed bin (31), /* width of max spbnds */ 12 116 3 font like fntstk_entry, 12 117 2 depth fixed bin (31), /* page depth for line */ 12 118 /* font at start of line */ 12 119 2 font like fntstk_entry, 12 120 2 index fixed bin (21), /* char index for line scanning */ 12 121 2 info, /* stuff created during line input */ 12 122 3 fileno fixed bin, /* input file index */ 12 123 3 lineno fixed bin, /* input file line number */ 12 124 3 lineno0 fixed bin, /* call_box0 line number */ 12 125 2 linespace fixed bin (31), /* linespace value for the line */ 12 126 2 lmarg fixed bin (31), /* adjusted left margin position */ 12 127 2 mod_len fixed bin, /* length of modified text */ 12 128 2 mod_start fixed bin, /* index for start of modified text */ 12 129 2 net fixed bin (31), /* net line width for filling */ 12 130 2 ptr ptr, /* pointer to the actual text */ 12 131 2 rmarg fixed bin (31), /* adjusted right margin position */ 12 132 2 spcl_iocbp ptr, /* iocb ptr for spcl line */ 12 133 2 sym_delim char (1) unal, /* symbol delimiter for this line */ 12 134 2 tblcol fixed bin, /* column for table entries */ 12 135 2 title_delim 12 136 char (1) unal, /* title delimiter if a <title> */ 12 137 2 title_index 12 138 fixed bin, /* <title> block index for line */ 12 139 2 width fixed bin (31), /* width of text */ 12 140 2 ftn, /* footnote info for line */ 12 141 3 ct fixed bin, /* number of footnote refs */ 12 142 3 used fixed bin (31), /* space used */ 12 143 3 e (40), /* limit is arbitrary */ 12 144 4 blkndx fixed bin unal, /* block index of footnote - if this 12 145* value is 0, then .frf was used */ 12 146 4 refno fixed bin unal; /* reference number */ 12 147 12 148 dcl ( 12 149 quadi init ("40"b3), /* set to the inside margin */ 12 150 quado init ("20"b3), /* set to the outside margin */ 12 151 quadl init ("10"b3), /* set left */ 12 152 quadc init ("04"b3), /* set centered */ 12 153 quadr init ("02"b3), /* set right */ 12 154 just init ("01"b3) /* justified */ 12 155 ) bit (6) static options (constant); 12 156 /* control line structure */ 12 157 dcl 1 ctl aligned like text_entry based (const.ctl_ptr); 12 158 dcl ctl_line char (1020) var based (ctl.ptr); 12 159 12 160 dcl txtlinptr ptr; /* the current text line */ 12 161 dcl 1 txtlin aligned like text_entry based (txtlinptr); 12 162 /* empty text header structure */ 12 163 dcl 1 text_header aligned based (const.text_header_ptr), 12 164 2 sws, /* control switches */ 12 165 3 art bit (1) unal, /* block has artwork */ 12 166 3 dfrftn bit (1) unal, /* block is a deferred footnote */ 12 167 3 modified bit (1) unal, /* block contains modified lines */ 12 168 3 no_trim bit (1) unal, /* 1 = dont trim WS block */ 12 169 3 oflo_ftn bit (1) unal, /* overflow footnote */ 12 170 3 tblblk bit (1) unal, /* a table block */ 12 171 3 unref bit (1) unal, /* block is an unreffed footnote */ 12 172 3 white bit (1) unal, /* block is a white space block */ 12 173 3 picture bit (1) unal, /* picture block */ 12 174 3 orphan bit (1) unal, /* 1= footnote is an orphan */ 12 175 3 MBZ bit (26) unal, 12 176 2 art_count fixed bin unal, /* to count input art lines */ 12 177 2 blkptr ptr, /* pointer to suspended block */ 12 178 2 cap_size fixed bin unal, /* line count of text caption */ 12 179 2 cap_used fixed bin (31), /* size of text caption */ 12 180 2 colno fixed bin unal, /* column owning the block */ 12 181 2 count fixed bin unal, /* line count for block */ 12 182 2 eqn_line_count 12 183 fixed bin unal, /* counter for equation lines */ 12 184 2 first_text fixed bin unal, /* OBSOLETE */ 12 185 2 ftn, /* footnotes */ 12 186 3 ct fixed bin, /* count */ 12 187 3 usd fixed bin (31), /* space used */ 12 188 3 blkndx (40) fixed bin, /* footnote block index values */ 12 189 2 head_size fixed bin, /* line count of text header */ 12 190 2 head_used fixed bin (31), /* size of text header */ 12 191 2 index fixed bin unal, /* block index of next output line */ 12 192 2 keep_count fixed bin unal, /* to count input keep lines */ 12 193 2 last_line fixed bin, /* last text line in column */ 12 194 2 mx_ttl_ndx fixed bin, /* max title index value in block */ 12 195 2 name char (32) var, /* block name, if any */ 12 196 2 nofill_count /* to count nofill lines */ 12 197 fixed bin, 12 198 2 parms_ptr ptr, /* parms for suspended block */ 12 199 2 refer fixed bin, /* inter-block reference */ 12 200 2 refer_index /* OBSOLETE */ 12 201 fixed bin, /* a reference */ 12 202 2 split fixed bin, /* split point for balancing */ 12 203 2 trl_ws fixed bin (31), /* trailing WS */ 12 204 2 used fixed bin (31); /* page space used by a column/block */ 12 205 /* text formatting parameters */ 12 206 dcl 1 text_parms aligned like default_parms 12 207 based (const.text_parms_ptr); 12 208 12 209 dcl 1 current_parms 12 210 aligned like default_parms 12 211 based (const.current_parms_ptr); 12 212 12 213 dcl 1 default_parms 12 214 aligned based (const.default_parms_ptr), 12 215 2 sws, /* control switches */ 12 216 3 quad bit (6) unal, /* text alignment mode */ 12 217 3 art bit (1) unal, /* 1 = block countains artwork */ 12 218 3 cbar, /* change bar flags */ 12 219 4 add bit (1) unal, /* text addition flag */ 12 220 4 del bit (1) unal, /* text deletion flag for next line */ 12 221 4 mod bit (1) unal, /* text modification flag */ 12 222 3 fill_mode 12 223 bit (1) unal, /* 1 = fill mode ON */ 12 224 3 footnote bit (1) unal, /* block is a footnote */ 12 225 3 hfc bit (1) unal, /* OBSOLETE */ 12 226 3 htab_mode 12 227 bit (1) unal, /* 1 = horizontal tab mode ON */ 12 228 3 keep bit (1) unal, /* keep mode */ 12 229 3 page bit (1) unal, /* block belongs to page, not text */ 12 230 3 title_mode 12 231 bit (1) unal, /* 0 = plain text, 1 = <title>s OK */ 12 232 3 MBZ bit (19) unal, 12 233 2 ftrptr ptr, /* text caption block */ 12 234 2 cbar_level /* change level for cbars */ 12 235 char (1) aligned, 12 236 2 hdrptr ptr, /* text header block */ 12 237 2 left, /* left margin data */ 12 238 3 indent fixed bin (31), 12 239 3 undent fixed bin (31), 12 240 2 linespace fixed bin (31), /* line spacing value */ 12 241 2 measure fixed bin (31), /* line space for text */ 12 242 /* right margin data */ 12 243 2 right like default_parms.left, 12 244 2 fntstk, /* stack of last 20 font changes */ 12 245 3 index fixed bin, /* which one in use */ 12 246 /* entry(0) is the default */ 12 247 3 entry (0:19) like fntstk_entry; 12 248 12 249 dcl hfcblk_ptr ptr; 12 250 dcl 1 hfcblk aligned like text based (hfcblk_ptr); 12 251 12 252 /* END INCLUDE FILE comp_text.incl.pl1 */ 635 13 1 /* BEGIN INCLUDE FILE compstat.incl.pl1 - external static data for compose 13 2* 13 3* This storage is converted from external (as declared) to internal by the 13 4* binder and contains items that must be accessible to both the bound and 13 5* unbound program. */ 13 6 13 7 /* Written: ??/??/7? - EJW 13 8* Modified: 10/18/84 - EJW - (First recorded change) Added current_parms_ptr 13 9* and removed the codes array; version 6. 13 10**/ 13 11 13 12 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 13 13 13 14 dcl 1 compstat$compconst 13 15 aligned like const ext static; 13 16 13 17 dcl const_version fixed bin (35) static options (constant) init (6); 13 18 dcl MAX_TREE_AREA_CT /* entries in a tree area */ 13 19 fixed bin static options (constant) init (80); 13 20 dcl MAX_TREE_AREAS /* number of tree areas */ 13 21 fixed bin static options (constant) init (20); 13 22 13 23 dcl 1 const aligned based (compstat$compconst.ptr), 13 24 2 ptr ptr, /* self pointer - MUST BE FIRST */ 13 25 2 version fixed bin (35), /* structure version */ 13 26 2 art_symbols /* string of art symbols */ 13 27 char (28) aligned, 13 28 2 builtin_count /* count of builtin variables */ 13 29 fixed bin, 13 30 2 comp_dir char (200), /* dir in which compose lives */ 13 31 2 comp_version 13 32 char (8) var, /* compose version id */ 13 33 2 date_value char (8) var, /* current date */ 13 34 2 dsm_name char (32), /* device support module name */ 13 35 2 dvt_name char (32), /* device table name */ 13 36 2 max_seg_chars 13 37 fixed bin (35), /* char count in a max seg */ 13 38 2 null_str char (1) var, /* an empty string */ 13 39 2 ptrs, 13 40 ( 3 call_stk_ptr, /* -> insert call stack */ 13 41 3 colhdrptr, /* empty column header structure */ 13 42 3 ctl_ptr, /* input line structure */ 13 43 3 current_parms_ptr, /* current formatting parms */ 13 44 3 default_parms_ptr, /* default initial text parms */ 13 45 3 devptr, /* -> comp_dvt structure */ 13 46 3 dvidptr, /* -> comp_dvid structure */ 13 47 3 errblk_ptr, /* error message block pointer */ 13 48 3 footnote_parms_ptr, /* footnote formatting parms */ 13 49 3 fnttbldata_ptr, /* -> font table data */ 13 50 3 global_area_ptr, /* per invocation storage */ 13 51 3 init_page_parms_ptr, /* default initial page parms */ 13 52 3 insert_data_ptr, /* insert file data block */ 13 53 3 local_area_ptr, /* per file storage */ 13 54 3 loctbl_ptr, /* for font copying */ 13 55 3 option_ptr, /* program options block */ 13 56 3 outproc_ptr, /* device writer for cleanup */ 13 57 3 page_ptr, /* active page structure */ 13 58 3 page_header_ptr, /* empty page header structure */ 13 59 3 page_parms_ptr, /* page formatting parameter block */ 13 60 3 save_shared_ptr, /* saved shared data */ 13 61 3 shared_ptr, /* shared data structure */ 13 62 3 text_entry_ptr, /* empty text entry structure */ 13 63 3 text_header_ptr, /* empty text header structure */ 13 64 3 text_parms_ptr, /* main body formatting parms */ 13 65 3 tree_ptr /* symbol tree structure */ 13 66 ) ptr, 13 67 2 time_value char (6) var; /* time at start */ 13 68 13 69 /* Other external */ 13 70 dcl ( 13 71 ioa_, 13 72 ioa_$nnl 13 73 ) entry options (variable); 13 74 dcl iox_$error_output 13 75 ptr ext static, /* iocb pointer for error_output */ 13 76 iox_$user_input 13 77 ptr ext static, /* iocb pointer for user_input */ 13 78 iox_$user_output 13 79 ptr ext static; /* iocb pointer for user_output */ 13 80 dcl sys_info$max_seg_size 13 81 fixed bin (18) ext static; 13 82 13 83 /* END INCLUDE FILE compstat.incl.pl1 */ 636 637 638 end comp_break_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/23/85 0908.7 comp_break_.pl1 >spec>online>comp>comp_break_.pl1 624 1 04/23/85 0912.1 comp_brktypes.incl.pl1 >spec>online>comp>comp_brktypes.incl.pl1 625 2 04/23/85 0912.2 comp_column.incl.pl1 >spec>online>comp>comp_column.incl.pl1 626 3 03/01/85 1411.8 comp_ctl_index.incl.pl1 >ldd>include>comp_ctl_index.incl.pl1 627 4 03/01/85 1411.9 comp_entries.incl.pl1 >ldd>include>comp_entries.incl.pl1 628 5 03/01/85 1412.0 comp_fntstk.incl.pl1 >ldd>include>comp_fntstk.incl.pl1 629 6 03/01/85 1412.0 comp_footnotes.incl.pl1 >ldd>include>comp_footnotes.incl.pl1 630 7 03/01/85 1412.0 comp_insert.incl.pl1 >ldd>include>comp_insert.incl.pl1 631 8 03/01/85 1412.0 comp_option.incl.pl1 >ldd>include>comp_option.incl.pl1 632 9 04/23/85 0912.4 comp_page.incl.pl1 >spec>online>comp>comp_page.incl.pl1 633 10 03/01/85 1412.0 comp_shared.incl.pl1 >ldd>include>comp_shared.incl.pl1 634 11 03/01/85 1412.0 comp_table.incl.pl1 >ldd>include>comp_table.incl.pl1 635 12 04/23/85 0912.6 comp_text.incl.pl1 >spec>online>comp>comp_text.incl.pl1 636 13 03/01/85 1412.1 compstat.incl.pl1 >ldd>include>compstat.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. TEXT 000035 constant bit(1) initial unaligned dcl 66 set ref 325* addr builtin function dcl 72 ref 166 166 166 166 166 166 166 166 175 175 175 175 175 175 175 175 189 189 210 210 325 325 327 327 art 4 based bit(1) level 4 in structure "text" packed unaligned dcl 12-49 in procedure "comp_break_" set ref 114* 350 518 594* art based bit(1) level 3 in structure "txtlin" packed unaligned dcl 12-161 in procedure "comp_break_" set ref 325* avg 132 based fixed bin(31,0) level 4 dcl 12-49 set ref 148 172 balftn 320 based structure level 3 in structure "col0" dcl 2-37 in procedure "comp_break_" balftn 320 based structure level 3 in structure "col" dcl 2-5 in procedure "comp_break_" balftn 320 based structure level 3 in structure "locol" dcl 45 in procedure "comp_break_" balftn 2 based structure level 2 in structure "colhdr" dcl 2-21 in procedure "comp_break_" blk 3646 based structure array level 3 dcl 10-7 set ref 462* blk_splt 3(01) based bit(1) level 4 packed unaligned dcl 12-161 ref 373 blkct 373 based fixed bin(17,0) level 3 dcl 2-5 set ref 126* 600* blkndx 1 based fixed bin(17,0) level 2 dcl 12-49 set ref 105* 585* blkptr 000100 automatic pointer dcl 30 in procedure "comp_break_" set ref 81* blkptr based pointer array level 2 in structure "col0" dcl 2-37 in procedure "comp_break_" ref 236 blkptr 3752 based pointer level 3 in structure "shared" dcl 10-7 in procedure "comp_break_" set ref 102 105 105 105 105 105 105 105 109 114 114 114 114 114 114 114 114 114 114 114 114 114 114 122 139 143 146 148 148 148 148 148 156 162 166 166 166 166 166 172 172 172 175 175 179 179 179 186 188 189* 189 189 192 194 196 197 202 202 202 202 202 205 205 207 207 207 210 210* 210 210 210 210 210 215 216 218 218 218 218 220 220 221 221 221 221 221 223 223 224 228 228 242 242 242 246 246 250 251 255 261 265 274 294 302 311 327* 336 336 350 354 362* 367 376 376 377 377 380 380 390 396 396 397 397 404 414 418 427 430 443* 470* 477 481 482 488 518 518* 524* 529 532 544* 564 564 568 570 571 582 585 585 585 585 585 585 585 589 594 594 594 594 594 594 594 blkptr 2 based pointer array level 2 in structure "ftnblk_data" dcl 6-5 in procedure "comp_break_" set ref 448 448* blktype 2 based char(2) level 2 dcl 12-49 set ref 105* 336 477 585* block_break constant fixed bin(17,0) initial dcl 1-9 ref 477 551 break_type parameter fixed bin(17,0) dcl 19 set ref 14 99 143 228 239 424 477 484 484 538 551 551 551 551 561* 561 brktypes 000007 constant varying char(4) initial array dcl 32 set ref 99* bug_mode 4113 based bit(1) level 3 packed unaligned dcl 10-7 ref 96 576 cbar 117 based structure level 4 dcl 12-49 set ref 224* ccol 1 based fixed bin(17,0) level 2 dcl 11-15 ref 90 chars 1 based structure level 2 dcl 10-7 check_opt 1(23) based bit(1) level 2 packed unaligned dcl 8-5 ref 414 chrct 126 based fixed bin(17,0) level 4 dcl 12-49 set ref 221* col based structure level 1 dcl 2-5 col0 based structure level 1 dcl 2-37 col_count 20 based fixed bin(17,0) level 3 dcl 9-11 ref 343 343 col_index 21 based fixed bin(17,0) level 3 dcl 9-11 set ref 124 346 443* 470* 532 538 538 568* coldepth 000102 automatic fixed bin(31,0) dcl 35 set ref 353* 358 359* 359 366* 408 409* 409 colhdr based structure level 1 dcl 2-21 ref 346 466 colhdrptr 130 based pointer level 3 dcl 13-23 ref 346 466 colno 12 based fixed bin(17,0) level 3 in structure "text" packed unaligned dcl 12-49 in procedure "comp_break_" ref 122 529 564 568 colno 000103 automatic fixed bin(17,0) dcl 36 in procedure "comp_break_" set ref 122* 124* 126 126* 568* 569 600 600* colptr 3754 based pointer level 3 in structure "shared" dcl 10-7 in procedure "comp_break_" set ref 126 126 126 126 126 126 126 126 126 126 126 126 126 378 378 379 379 399 399 400 400 418 466 481 481 482 513 514 514 534 538 538 538 538 569* 570 570 571 600 600 600 600 600 600 600 600 600 600 600 600 600 colptr 4 based pointer array level 2 in structure "tblfmt" dcl 11-15 in procedure "comp_break_" ref 91 cols 14 based structure level 3 dcl 9-11 column_break constant fixed bin(17,0) initial dcl 1-9 ref 551 561 column_ptr 42 based pointer array level 2 dcl 9-11 ref 236 346 534 569 comp_art_ 000012 constant entry external dcl 4-8 ref 362 518 comp_head_page_ 000014 constant entry external dcl 4-33 ref 234 comp_insert_ctls_ 000016 constant entry external dcl 4-42 ref 440 comp_make_page_ 000020 constant entry external dcl 4-44 ref 561 comp_measure_ 000022 constant entry external dcl 4-48 ref 166 175 comp_title_block_ 000024 constant entry external dcl 4-69 ref 242 251 comp_use_ref_ 000026 constant entry external dcl 4-74 ref 325 comp_util_$add_text 000030 constant entry external dcl 4-75 ref 189 210 comp_util_$relblk 000032 constant entry external dcl 4-94 ref 443 448 459 470 comp_util_$replace_text 000034 constant entry external dcl 4-96 ref 327 comp_write_page_ 000036 constant entry external dcl 4-110 ref 421 compstat$compconst 000040 external static structure level 1 dcl 13-14 const based structure level 1 dcl 13-23 continue_to_signal_ 000010 constant entry external dcl 78 ref 94 count 12(18) based fixed bin(17,0) level 3 in structure "text" packed unaligned dcl 12-49 in procedure "comp_break_" set ref 105* 261 274 294 404* 414 585* count 12(18) based fixed bin(17,0) level 3 in structure "hfcblk" packed unaligned dcl 12-250 in procedure "comp_break_" ref 242 246 count 3644 based fixed bin(17,0) level 3 in structure "shared" dcl 10-7 in procedure "comp_break_" set ref 126 126* 455 458 607 607* count 14(18) based fixed bin(17,0) level 4 in structure "page" packed unaligned dcl 9-11 in procedure "comp_break_" set ref 126* 538 607* ct 375 based fixed bin(17,0) level 4 in structure "col" dcl 2-5 in procedure "comp_break_" set ref 126 126* 378* 378 399* 399 600 600* ct 14 based fixed bin(17,0) level 4 in structure "text" dcl 12-49 in procedure "comp_break_" set ref 114 114* 376* 376 396* 396 427 594 594* ct 205 based fixed bin(17,0) level 3 in structure "txtlin" dcl 12-161 in procedure "comp_break_" set ref 376 378 396 399 ctl based structure level 1 dcl 12-157 ctl_ptr 132 based pointer level 3 dcl 13-23 ref 166 166 175 175 cur 10 based structure level 2 in structure "nxtlin" dcl 59 in procedure "comp_break_" cur 10 based structure level 2 in structure "thslin" dcl 68 in procedure "comp_break_" cur 10 based structure level 2 in structure "ctl" dcl 12-157 in procedure "comp_break_" cur 126 based structure level 3 in structure "text" dcl 12-49 in procedure "comp_break_" set ref 166 166 cur 10 based structure level 2 in structure "txtlin" dcl 12-161 in procedure "comp_break_" cur 126 based structure level 3 in structure "hfcblk" dcl 12-250 in procedure "comp_break_" cur 126 based structure level 3 in structure "ftnhdr" dcl 6-10 in procedure "comp_break_" cur 10 based structure level 2 in structure "text_entry" dcl 12-68 in procedure "comp_break_" cur 126 based structure level 3 in structure "block" dcl 31 in procedure "comp_break_" datum parameter fixed bin(31,0) dcl 618 ref 616 621 default_parms based structure level 1 dcl 12-213 depth 76 based fixed bin(31,0) level 2 in structure "nxtlin" dcl 59 in procedure "comp_break_" ref 278 278 297 depth 374 based fixed bin(31,0) level 3 in structure "col" dcl 2-5 in procedure "comp_break_" set ref 513 514* 514 depth 12 based fixed bin(31,0) level 2 in structure "tblcol" dcl 11-26 in procedure "comp_break_" set ref 109* 109* 589* 589* depth 76 based fixed bin(31,0) level 2 in structure "txtlin" dcl 12-161 in procedure "comp_break_" set ref 358* 408* 513* depth 76 based fixed bin(31,0) level 2 in structure "thslin" dcl 68 in procedure "comp_break_" ref 278 278 297 depth_adj 310 based fixed bin(31,0) level 2 dcl 2-5 set ref 126* 126* 538 600* 600* end_output 000762 stack reference condition dcl 75 in procedure "comp_break_" ref 94 end_output 4113(03) based bit(1) level 3 in structure "shared" packed unaligned dcl 10-7 in procedure "comp_break_" ref 336 file based structure level 2 dcl 7-32 first 776 based pointer level 3 dcl 12-49 ref 265 302 311 354 367 390 430 488 fmt 2 based structure array level 2 dcl 11-5 fnt_chng 120(04) based bit(1) level 4 packed unaligned dcl 12-49 set ref 202 207 207* 218* fntstk_entry based structure level 1 dcl 5-6 font 216 based structure level 3 dcl 12-49 set ref 146 166 166 175 175 footer_break constant fixed bin(17,0) initial dcl 1-9 ref 484 footnote_break constant fixed bin(17,0) initial dcl 1-9 ref 424 484 format_break constant fixed bin(17,0) initial dcl 1-9 ref 228 ftn 323 based structure level 3 in structure "text" dcl 12-49 in procedure "comp_break_" set ref 216* ftn 14 based structure level 3 in structure "text" dcl 12-49 in procedure "comp_break_" ftn 375 based structure level 3 in structure "col" dcl 2-5 in procedure "comp_break_" ftn 205 based structure level 2 in structure "txtlin" dcl 12-161 in procedure "comp_break_" set ref 382* ftn 205 based structure level 2 in structure "text_entry" dcl 12-68 in procedure "comp_break_" ref 216 382 ftn_mode 4113(05) based bit(1) level 3 packed unaligned dcl 10-7 ref 228 ftnblk_data based structure level 1 dcl 6-5 ftnblk_data_ptr 3772 based pointer level 3 dcl 10-7 ref 445 445 448 448 ftrptr 1010 based pointer level 3 dcl 12-49 set ref 246 246 250 251* galley_opt 1(09) based bit(1) level 2 packed unaligned dcl 8-5 set ref 99* 234 236 336 gaps 127 based fixed bin(17,0) level 4 dcl 12-49 set ref 221* hanging 120(06) based bit(1) level 4 packed unaligned dcl 12-49 set ref 202 218* hdr 4 based structure level 2 in structure "hfcblk" dcl 12-250 in procedure "comp_break_" hdr 4 based structure level 2 in structure "text" dcl 12-49 in procedure "comp_break_" hdr 316 based structure level 2 in structure "col0" dcl 2-37 in procedure "comp_break_" hdr 15 based structure level 2 in structure "page" dcl 9-11 in procedure "comp_break_" hdr 316 based structure level 2 in structure "col" dcl 2-5 in procedure "comp_break_" set ref 346* 466* hdrptr 1014 based pointer level 3 dcl 12-49 set ref 242 242 242* hdspc 23 based fixed bin(31,0) level 3 dcl 9-11 set ref 126* 126* 607* 607* head_used 000104 automatic fixed bin(31,0) dcl 38 set ref 82* 234* 236* headed 15(03) based bit(1) level 4 packed unaligned dcl 9-11 ref 234 hfcblk based structure level 1 dcl 12-250 highndx based fixed bin(35,0) level 2 dcl 6-5 ref 445 i 000100 automatic fixed bin(17,0) dcl 260 in begin block on line 255 set ref 264* 268* 268 269 294* 295 296* 301* 305* 305 306 i 000105 automatic fixed bin(17,0) dcl 39 in procedure "comp_break_" set ref 313* 314* 356* 357* 369* 370 393 404* 433* 434* 445* 448 448* 458* 459* 490* 491* icol 000106 automatic fixed bin(17,0) dcl 40 set ref 343* 346 346* ift_ctl_index 000006 constant fixed bin(17,0) initial dcl 3-9 set ref 440* index builtin function dcl 72 ref 322 info 277 based structure level 3 in structure "block" dcl 31 in procedure "comp_break_" info 161 based structure level 2 in structure "text_entry" dcl 12-68 in procedure "comp_break_" info 277 based structure level 3 in structure "text" dcl 12-49 in procedure "comp_break_" info 161 based structure level 2 in structure "ctl" dcl 12-157 in procedure "comp_break_" set ref 166 166 175 175 info 277 based structure level 3 in structure "hfcblk" dcl 12-250 in procedure "comp_break_" info 161 based structure level 2 in structure "nxtlin" dcl 59 in procedure "comp_break_" info 161 based structure level 2 in structure "thslin" dcl 68 in procedure "comp_break_" info 277 based structure level 3 in structure "ftnhdr" dcl 6-10 in procedure "comp_break_" info 161 based structure level 2 in structure "txtlin" dcl 12-161 in procedure "comp_break_" set ref 325 325 input 116 based structure level 2 dcl 12-49 set ref 189 189 210 210 input_line 375 based varying char(1020) level 2 dcl 12-49 set ref 114 114 114 143 166* 192* 202 207 210 215* insert based structure level 1 dcl 7-32 inserting_hfc 4113(07) based bit(1) level 3 packed unaligned dcl 10-7 ref 242 246 ioa_ 000042 constant entry external dcl 13-70 ref 126 607 ioa_$nnl 000044 constant entry external dcl 13-70 ref 99 105 109 114 580 585 589 594 600 j 000107 automatic fixed bin(17,0) dcl 41 in procedure "comp_break_" set ref 82* 393* 394* j 000101 automatic fixed bin(17,0) dcl 260 in begin block on line 255 set ref 267* 269* 274* 275 276 284 285 285 286* 304* 306* just constant bit(6) initial unaligned dcl 12-148 ref 148 k 000110 automatic fixed bin(17,0) dcl 41 set ref 82* keep 1006(04) based bit(1) level 4 packed unaligned dcl 12-49 set ref 114* 228 336 594* leader 14 based varying char(16) level 2 dcl 11-26 ref 159 175 192 leader_count 000111 automatic fixed bin(17,0) dcl 42 set ref 179* 183 192 194 left 12 based structure level 2 in structure "footnote_parms" dcl 6-12 in procedure "comp_break_" left 1016 based structure level 3 in structure "ftnhdr" dcl 6-10 in procedure "comp_break_" left 36 based structure level 3 in structure "tblcol" dcl 11-26 in procedure "comp_break_" left 1016 based structure level 3 in structure "text" dcl 12-49 in procedure "comp_break_" left 36 based structure level 3 in structure "tblcol0" dcl 11-41 in procedure "comp_break_" left 36 based structure level 3 in structure "prvtblcol" dcl 11-44 in procedure "comp_break_" left 1016 based structure level 3 in structure "hfcblk" dcl 12-250 in procedure "comp_break_" left 12 based structure level 2 in structure "default_parms" dcl 12-213 in procedure "comp_break_" left 12 based structure level 2 in structure "current_parms" dcl 12-209 in procedure "comp_break_" left 1016 based structure level 3 in structure "block" dcl 31 in procedure "comp_break_" left 12 based structure level 2 in structure "text_parms" dcl 12-206 in procedure "comp_break_" length builtin function dcl 72 ref 114 114 114 202 207 316 line_1 217 based fixed bin(35,0) level 2 dcl 8-5 ref 373 line_2 220 based fixed bin(35,0) level 2 dcl 8-5 ref 387 line_area based structure level 1 dcl 12-26 in procedure "comp_break_" line_area 776 based structure level 2 in structure "text" dcl 12-49 in procedure "comp_break_" line_area_ptr 001002 automatic pointer initial dcl 12-25 set ref 311* 311* 313 314* 332 354* 354* 356 357* 361 367* 367* 369 370 390* 390* 393 394* 403 412 430* 430* 433 434* 438 488* 488* 490 491* 516 12-25* 265* 265* 267 269* 271 302* 302* 304 306* 308 lineno0 163 based fixed bin(17,0) level 3 dcl 12-161 set ref 373 387 linespace 1020 based fixed bin(31,0) level 3 in structure "text" dcl 12-49 in procedure "comp_break_" ref 205 linespace 302 based fixed bin(31,0) level 3 in structure "text" dcl 12-49 in procedure "comp_break_" set ref 186 188* 197* 202* 205* linespace 164 based fixed bin(31,0) level 2 in structure "thslin" dcl 68 in procedure "comp_break_" set ref 297* linespace 164 based fixed bin(31,0) level 2 in structure "txtlin" dcl 12-161 in procedure "comp_break_" set ref 359 380 381* 409 435* 514 linptr 10 based pointer array level 2 dcl 12-26 set ref 269 306* 314 357 370 394 434 491 lmarg 303 based fixed bin(31,0) level 3 in structure "text" dcl 12-49 in procedure "comp_break_" set ref 179 lmarg 165 based fixed bin(31,0) level 2 in structure "thslin" dcl 68 in procedure "comp_break_" ref 278 lmarg 165 based fixed bin(31,0) level 2 in structure "nxtlin" dcl 59 in procedure "comp_break_" ref 278 local_font 000112 automatic structure level 1 dcl 43 set ref 146* loptr 000102 automatic pointer array dcl 261 set ref 269* 275 276 284 285* 285 286* 295 296 306 max builtin function dcl 72 ref 534 570 571 maxdepth 2 based fixed bin(31,0) level 2 dcl 11-15 set ref 109* 109* 589* 589* meas1 000172 automatic structure level 1 dcl 47 set ref 174* 175 175 meas2 000260 automatic structure level 1 dcl 48 set ref 165* 166 166 175 175 mod_len 304 based fixed bin(17,0) level 3 dcl 12-49 set ref 114* 221* mod_start 305 based fixed bin(17,0) level 3 dcl 12-49 set ref 114 114 221* modified 4(02) based bit(1) level 4 packed unaligned dcl 12-49 set ref 114* 594* ndx 1 based fixed bin(17,0) level 2 in structure "tbldata" dcl 11-5 in procedure "comp_break_" ref 88 ndx 5 based fixed bin(17,0) level 2 in structure "line_area" dcl 12-26 in procedure "comp_break_" ref 267 304 313 356 369 393 433 490 need_break constant fixed bin(17,0) initial dcl 1-9 ref 239 538 551 net 306 based fixed bin(31,0) level 3 in structure "text" dcl 12-49 in procedure "comp_break_" set ref 148 net 25 based fixed bin(31,0) level 3 in structure "page" dcl 9-11 in procedure "comp_break_" set ref 126* 126* 607* 607* net 450 based fixed bin(31,0) level 3 in structure "col" dcl 2-5 in procedure "comp_break_" set ref 126* 126* 538 600* 600* next based pointer level 2 dcl 12-26 ref 271 308 332 361 403 412 438 516 next_col parameter fixed bin(17,0) dcl 23 set ref 14 99* 551 551 561 null builtin function dcl 72 ref 81 102 139 242 246 311 354 367 390 430 445 448 488 524 544 564 582 11-24 11-43 12-25 12-35 265 302 nullpic 000000 constant structure level 1 unaligned dcl 49 ref 462 nxtlin based structure level 1 dcl 59 nxtlin_ptr 000346 automatic pointer dcl 58 set ref 276* 278 278 278 296* 297 oflo 120(09) based bit(1) level 4 in structure "text" packed unaligned dcl 12-49 in procedure "comp_break_" set ref 210* oflo 000350 automatic bit(1) unaligned dcl 60 in procedure "comp_break_" set ref 83* 538* 551 551 option based structure level 1 dcl 8-5 option_ptr 164 based pointer level 3 dcl 13-23 ref 99 234 236 336 373 387 414 page based structure level 1 dcl 9-11 page_break constant fixed bin(17,0) initial dcl 1-9 ref 143 551 page_header based structure level 1 dcl 9-27 page_parms based structure level 1 dcl 9-86 page_ptr 170 based pointer level 3 dcl 13-23 ref 124 126 126 126 126 126 126 126 126 234 236 343 343 346 346 443 467 470 532 532 532 534 534 534 538 538 538 551 568 569 571 571 607 607 607 607 607 607 607 607 pageno 26 based varying char(32) level 3 dcl 9-11 set ref 126* 607* parms 1 based structure level 2 in structure "page" dcl 9-11 in procedure "comp_break_" parms 1004 based structure level 2 in structure "text" dcl 12-49 in procedure "comp_break_" pass_counter 3643 based fixed bin(17,0) level 2 dcl 10-7 ref 414 picture 3644 based structure level 2 dcl 10-7 place 1 000000 constant char(4) initial level 2 packed unaligned dcl 49 print_flag 4113(11) based bit(1) level 3 packed unaligned dcl 10-7 set ref 419* prvtblcolptr 001000 automatic pointer initial dcl 11-43 set ref 11-43* pspc 447 based fixed bin(31,0) level 3 dcl 2-5 set ref 126* 126* 482* 600* 600* ptr 2 000000 constant pointer initial level 2 in structure "nullpic" dcl 49 in procedure "comp_break_" ptr 14 based pointer array level 3 in structure "tbldata" dcl 11-5 in procedure "comp_break_" ref 89 ptr 3650 based pointer array level 4 in structure "shared" dcl 10-7 in procedure "comp_break_" set ref 459* ptr 172 based pointer level 2 in structure "txtlin" dcl 12-161 in procedure "comp_break_" ref 316 320 383 436 492 ptr 000040 external static pointer level 2 in structure "compstat$compconst" dcl 13-14 in procedure "comp_break_" ref 85 88 89 96 99 102 105 105 105 105 105 105 105 109 109 114 114 114 114 114 114 114 114 114 114 114 114 114 114 122 124 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 139 143 146 148 148 148 148 148 156 156 162 166 166 166 166 166 166 166 172 172 172 175 175 175 175 179 179 179 186 188 189 189 189 192 194 196 197 202 202 202 202 202 205 205 207 207 207 210 210 210 210 210 210 210 215 216 216 218 218 218 218 220 220 221 221 221 221 221 223 223 224 228 228 228 234 234 236 236 242 242 242 242 246 246 246 250 251 255 261 265 274 294 302 311 322 327 336 336 336 336 343 343 346 346 346 350 354 362 367 373 376 376 377 377 378 378 379 379 380 380 382 387 390 396 396 397 397 399 399 400 400 404 414 414 414 418 418 419 427 430 443 443 445 445 448 448 455 458 459 462 463 466 466 467 470 470 477 477 481 481 481 482 482 488 513 514 514 518 518 524 529 532 532 532 532 534 534 534 534 538 538 538 538 538 538 538 544 551 564 564 568 568 569 569 570 570 570 571 571 571 571 576 582 585 585 585 585 585 585 585 589 589 594 594 594 594 594 594 594 600 600 600 600 600 600 600 600 600 600 600 600 600 607 607 607 607 607 607 607 607 607 607 607 607 ptrs 3742 based structure level 2 in structure "shared" dcl 10-7 in procedure "comp_break_" ptrs 126 based structure level 2 in structure "const" dcl 13-23 in procedure "comp_break_" punct 120(10) based bit(1) level 4 packed unaligned dcl 12-49 set ref 218* quad 1004 based bit(6) level 4 in structure "text" packed unaligned dcl 12-49 in procedure "comp_break_" ref 223 quad 120(11) based bit(6) level 4 in structure "text" packed unaligned dcl 12-49 in procedure "comp_break_" set ref 148 148* 196* 210 223* quadl 000005 constant bit(6) initial unaligned dcl 12-148 set ref 148 166* 175* 210 quadr constant bit(6) initial unaligned dcl 12-148 ref 196 right 1022 based structure level 3 dcl 12-49 rmarg 312 based fixed bin(31,0) level 3 dcl 12-49 set ref 179 save_lead 000351 automatic fixed bin(31,0) dcl 61 set ref 186* 197 scale parameter fixed bin(31,0) dcl 619 ref 616 621 shared based structure level 1 dcl 10-7 shared_ptr 200 based pointer level 3 dcl 13-23 ref 85 88 89 96 102 105 105 105 105 105 105 105 109 109 114 114 114 114 114 114 114 114 114 114 114 114 114 114 122 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 139 143 146 148 148 148 148 148 156 156 162 166 166 166 166 166 172 172 172 175 175 179 179 179 186 188 189 189 189 192 194 196 197 202 202 202 202 202 205 205 207 207 207 210 210 210 210 210 210 210 215 216 218 218 218 218 220 220 221 221 221 221 221 223 223 224 228 228 228 242 242 242 242 246 246 246 250 251 255 261 265 274 294 302 311 322 327 336 336 336 350 354 362 367 376 376 377 377 378 378 379 379 380 380 390 396 396 397 397 399 399 400 400 404 414 414 418 418 419 427 430 443 445 445 448 448 455 458 459 462 463 466 470 477 477 481 481 481 482 482 488 513 514 514 518 518 524 529 532 534 538 538 538 538 544 564 564 568 569 570 570 570 571 571 576 582 585 585 585 585 585 585 585 589 589 594 594 594 594 594 594 594 600 600 600 600 600 600 600 600 600 600 600 600 600 607 607 607 607 space 3645 based fixed bin(31,0) level 3 dcl 10-7 set ref 126* 126* 463* 607* 607* spcl 3 based structure level 3 dcl 12-161 swp 000102 automatic bit(1) unaligned dcl 262 set ref 272* 287* 291 sws based structure level 2 in structure "txtlin" dcl 12-161 in procedure "comp_break_" sws 15 based structure level 3 in structure "page" dcl 9-11 in procedure "comp_break_" sws 116 based structure level 3 in structure "text" dcl 12-49 in procedure "comp_break_" sws 4113 based structure level 2 in structure "shared" dcl 10-7 in procedure "comp_break_" sws 4 based structure level 3 in structure "text" dcl 12-49 in procedure "comp_break_" sws 1004 based structure level 3 in structure "text" dcl 12-49 in procedure "comp_break_" sym_delim 1 based char(1) level 3 packed unaligned dcl 10-7 ref 322 ta_size 000352 automatic fixed bin(31,0) dcl 63 set ref 82* 250* table_mode 4113(14) based bit(1) level 3 packed unaligned dcl 10-7 ref 85 109 156 477 589 tblblk 4(05) based bit(1) level 4 packed unaligned dcl 12-49 ref 109 156 255 589 tblcol based structure level 1 dcl 11-26 tblcolndx 000774 automatic fixed bin(17,0) dcl 11-22 set ref 90* 91 109* 477 589* tblcolptr 000776 automatic pointer initial dcl 11-24 set ref 91* 109 109 159 175 192 589 589 11-24* tbldata based structure level 1 dcl 11-5 tbldata_ptr 4020 based pointer level 3 dcl 10-7 ref 88 89 tblfmt based structure level 1 dcl 11-15 tblfmtndx 000770 automatic fixed bin(17,0) dcl 11-12 set ref 88* 89 109* 589* tblfmtptr 000772 automatic pointer dcl 11-13 set ref 89* 90 91 109 109 589 589 temp_line 000353 automatic varying char(1020) dcl 65 set ref 320* 322 325* 327 327 text based structure level 1 dcl 12-49 text_area_ptr 001004 automatic pointer initial dcl 12-35 set ref 12-35* text_entry based structure level 1 dcl 12-68 text_entry_ptr 202 based pointer level 3 dcl 13-23 ref 216 382 text_header based structure level 1 dcl 12-163 thslin based structure level 1 dcl 68 thslin_ptr 000754 automatic pointer dcl 67 set ref 275* 278 278 278 295* 297 297 title 4(02) based bit(1) level 3 packed unaligned dcl 12-161 ref 316 title_mode 1006(06) based bit(1) level 4 packed unaligned dcl 12-49 ref 228 toss 000760 automatic fixed bin(17,0) dcl 70 set ref 365* 384* 384 414 tptr 000756 automatic pointer dcl 69 set ref 284* 286 trl_ws 113 based fixed bin(31,0) level 3 dcl 12-49 set ref 105* 105* 482 585* 585* txtlin based structure level 1 dcl 12-161 txtlinptr 001010 automatic pointer dcl 12-160 set ref 314* 316 316 320 325 325 325 327* 357* 358 359 370* 373 373 376 377 378 379 380 381 381 382 383 387 394* 396 397 399 400 408 409 434* 435 435 436 491* 492 513 514 txtstr based varying char(1020) dcl 12-45 set ref 316 320 383* 436* txtstrptr 001006 automatic pointer dcl 12-44 set ref 492* type 000000 constant char(4) initial level 2 packed unaligned dcl 49 und_prot 122(08) based bit(1) level 4 packed unaligned dcl 12-49 set ref 218* undent 1023 based fixed bin(31,0) level 4 in structure "text" dcl 12-49 in procedure "comp_break_" set ref 220* undent 1017 based fixed bin(31,0) level 4 in structure "text" dcl 12-49 in procedure "comp_break_" set ref 202 220* usd 376 based fixed bin(31,0) level 4 in structure "col" dcl 2-5 in procedure "comp_break_" set ref 126* 126* 379* 379 400* 400 538 600* 600* usd 15 based fixed bin(31,0) level 4 in structure "text" dcl 12-49 in procedure "comp_break_" set ref 114* 114* 377* 377 397* 397 594* 594* used 451 based fixed bin(31,0) level 3 in structure "col" dcl 2-5 in procedure "comp_break_" set ref 126* 126* 418* 481* 481 534 538 570* 570 571 600* 600* used 114 based fixed bin(31,0) level 3 in structure "hfcblk" dcl 12-250 in procedure "comp_break_" ref 250 used 37 based fixed bin(31,0) level 3 in structure "page" dcl 9-11 in procedure "comp_break_" set ref 126* 126* 467* 532* 532 534* 534 551 571* 571 607* 607* used 114 based fixed bin(31,0) level 3 in structure "text" dcl 12-49 in procedure "comp_break_" set ref 105* 105* 236 380* 380 418 481 532 570 571 585* 585* used 206 based fixed bin(31,0) level 3 in structure "txtlin" dcl 12-161 in procedure "comp_break_" set ref 377 379 397 400 used 451 based fixed bin(31,0) level 3 in structure "col0" dcl 2-37 in procedure "comp_break_" ref 534 white 4(07) based bit(1) level 4 packed unaligned dcl 12-49 set ref 114* width 204 based fixed bin(31,0) level 2 in structure "txtlin" dcl 12-161 in procedure "comp_break_" set ref 381* 435* width 322 based fixed bin(31,0) level 3 in structure "text" dcl 12-49 in procedure "comp_break_" set ref 162 172* 172 179 194* 210 221* width 2 000172 automatic fixed bin(31,0) level 2 in structure "meas1" dcl 47 in procedure "comp_break_" set ref 179 194 width 130 based fixed bin(31,0) level 4 in structure "text" dcl 12-49 in procedure "comp_break_" set ref 148 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. LINE_AREA_SIZE internal static fixed bin(17,0) initial dcl 12-24 MAX_TREE_AREAS internal static fixed bin(17,0) initial dcl 13-20 MAX_TREE_AREA_CT internal static fixed bin(17,0) initial dcl 13-18 SHORT internal static bit(1) initial unaligned dcl 62 TEXT_AREA_SIZE internal static fixed bin(17,0) initial dcl 12-34 TEXT_VERSION internal static fixed bin(17,0) initial dcl 12-47 be_ctl_index internal static fixed bin(17,0) initial dcl 3-9 bef_ctl_index internal static fixed bin(17,0) initial dcl 3-9 before builtin function dcl 72 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 blkusd automatic fixed bin(31,0) dcl 29 block based structure level 1 dcl 31 call_box based structure level 1 dcl 7-18 call_box0 based structure level 1 dcl 7-19 call_box_ptr automatic pointer dcl 7-17 call_stack based structure level 1 dcl 7-13 ceil builtin function dcl 72 char builtin function dcl 72 cleanup 000000 stack reference condition dcl 75 colspace automatic fixed bin(31,0) dcl 37 comp_ 000000 constant entry external dcl 4-7 comp_abort 000000 stack reference condition dcl 75 comp_block_ctls_ 000000 constant entry external dcl 4-9 comp_break_ 000000 constant entry external dcl 4-11 comp_break_ctls_ 000000 constant entry external dcl 4-12 comp_ctls_ 000000 constant entry external dcl 4-14 comp_eject_page_ 000000 constant entry external dcl 4-15 comp_expr_eval_ 000000 constant entry external dcl 4-17 comp_extr_str_ 000000 constant entry external dcl 4-21 comp_fill_ 000000 constant entry external dcl 4-24 comp_font_ 000000 constant entry external dcl 4-25 comp_format_ctls_ 000000 constant entry external dcl 4-26 comp_get_file_$find 000000 constant entry external dcl 4-28 comp_get_file_$open 000000 constant entry external dcl 4-31 comp_hft_ctls_ 000000 constant entry external dcl 4-35 comp_hft_ctls_$title 000000 constant entry external dcl 4-36 comp_init_$one 000000 constant entry external dcl 4-38 comp_init_$three 000000 constant entry external dcl 4-40 comp_init_$two 000000 constant entry external dcl 4-39 comp_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_read_$number 000000 constant entry external dcl 4-53 comp_report_ 000000 constant entry external dcl 4-59 comp_report_$ctlstr 000000 constant entry external dcl 4-61 comp_report_$exact 000000 constant entry external dcl 4-64 comp_space_ 000000 constant entry external dcl 4-66 comp_tbl_ctls_ 000000 constant entry external dcl 4-68 comp_update_symbol_ 000000 constant entry external dcl 4-71 comp_util_$display 000000 constant entry external dcl 4-77 comp_util_$escape 000000 constant entry external dcl 4-80 comp_util_$getblk 000000 constant entry external dcl 4-82 comp_util_$num_display 000000 constant entry external dcl 4-84 comp_util_$pageno 000000 constant entry external dcl 4-86 comp_util_$pictures 000000 constant entry external dcl 4-88 comp_util_$pop 000000 constant entry external dcl 4-91 comp_util_$push 000000 constant entry external dcl 4-92 comp_util_$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 compose_severity_ external static fixed bin(35,0) dcl 4-5 const_version internal static fixed bin(35,0) initial dcl 13-17 ctl_line based varying char(1020) dcl 12-158 current_parms based structure level 1 dcl 12-209 dot_addltr_symb_index internal static fixed bin(17,0) initial dcl 10-126 fin_ctl_index internal static fixed bin(17,0) initial dcl 3-9 flag_value based bit(1) unaligned dcl 10-132 fntstk_eptr automatic pointer dcl 5-5 footnote_parms based structure level 1 dcl 6-12 ftnhdr based structure level 1 dcl 6-10 hbound builtin function dcl 72 hfcblk_ptr automatic pointer dcl 12-249 ifi_ctl_index internal static fixed bin(17,0) initial dcl 3-9 init_file_data internal static structure level 1 unaligned dcl 7-64 init_page_parms based structure level 1 dcl 9-108 insert_data based structure level 1 dcl 7-5 insert_refs based structure level 1 dcl 7-21 iox_$error_output external static pointer dcl 13-74 iox_$user_input external static pointer dcl 13-74 iox_$user_output external static pointer dcl 13-74 locol based structure level 1 dcl 45 locolptr automatic pointer dcl 44 ltrim builtin function dcl 72 max_cols internal static fixed bin(17,0) initial dcl 9-7 max_image_lines internal static fixed bin(17,0) initial dcl 9-5 max_text_lines internal static fixed bin(17,0) initial dcl 10-128 min builtin function dcl 72 mode_string internal static char(16) initial unaligned dcl 10-129 num_value based fixed bin(31,0) dcl 10-133 option_version internal static fixed bin(35,0) initial dcl 8-3 page_image based structure level 1 dcl 9-56 page_image_version internal static fixed bin(35,0) initial dcl 9-53 page_version internal static fixed bin(17,0) initial dcl 9-9 prvtblcol based structure level 1 dcl 11-44 quadc internal static bit(6) initial unaligned dcl 12-148 quadi internal static bit(6) initial unaligned dcl 12-148 quado internal static bit(6) initial unaligned dcl 12-148 refname_str based char unaligned dcl 7-27 refstr_len automatic fixed bin(17,0) dcl 7-29 refstr_ptr automatic pointer dcl 7-30 save_shared based structure level 1 dcl 10-124 search builtin function dcl 72 shared_version internal static fixed bin(35,0) initial dcl 10-5 string_area based fixed bin(17,0) array dcl 12-43 substr builtin function dcl 72 sys_info$max_seg_size external static fixed bin(18,0) dcl 13-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 11-41 tblkdata based structure level 1 dcl 12-5 text_area based structure level 1 dcl 12-36 text_parms based structure level 1 dcl 12-206 vbot internal static bit(4) initial unaligned dcl 11-48 vcen internal static bit(4) initial unaligned dcl 11-47 vjust internal static bit(4) initial unaligned dcl 11-49 vtop internal static bit(4) initial unaligned dcl 11-46 NAMES DECLARED BY EXPLICIT CONTEXT. blkloop 001345 constant label dcl 139 comp_break_ 000242 constant entry external dcl 14 pass 002252 constant label dcl 272 ref 291 return_ 003766 constant label dcl 576 ref 473 show 004727 constant entry internal dcl 616 ref 105 105 105 105 109 109 109 109 114 114 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 126 585 585 585 585 589 589 589 589 594 594 600 600 600 600 600 600 600 600 600 600 607 607 607 607 607 607 607 607 sort 002165 constant label dcl 255 NAMES DECLARED BY CONTEXT OR IMPLICATION. copy builtin function ref 192 dec builtin function ref 621 divide builtin function ref 179 621 round builtin function ref 621 621 unspec builtin function set ref 165 174* 224* STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 5200 5246 4774 5210 Length 5770 4774 46 506 204 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME comp_break_ 1092 external procedure is an external procedure. on unit on line 94 70 on unit begin block on line 255 77 begin block uses auto adjustable storage. show internal procedure shares stack frame of external procedure comp_break_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME begin block on line 255 000100 i begin block on line 255 000101 j begin block on line 255 000102 swp begin block on line 255 000102 loptr begin block on line 255 comp_break_ 000100 blkptr comp_break_ 000102 coldepth comp_break_ 000103 colno comp_break_ 000104 head_used comp_break_ 000105 i comp_break_ 000106 icol comp_break_ 000107 j comp_break_ 000110 k comp_break_ 000111 leader_count comp_break_ 000112 local_font comp_break_ 000172 meas1 comp_break_ 000260 meas2 comp_break_ 000346 nxtlin_ptr comp_break_ 000350 oflo comp_break_ 000351 save_lead comp_break_ 000352 ta_size comp_break_ 000353 temp_line comp_break_ 000754 thslin_ptr comp_break_ 000756 tptr comp_break_ 000760 toss comp_break_ 000770 tblfmtndx comp_break_ 000772 tblfmtptr comp_break_ 000774 tblcolndx comp_break_ 000776 tblcolptr comp_break_ 001000 prvtblcolptr comp_break_ 001002 line_area_ptr comp_break_ 001004 text_area_ptr comp_break_ 001006 txtstrptr comp_break_ 001010 txtlinptr comp_break_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_l_a r_g_a r_e_as r_ne_as enter_begin leave_begin call_ext_out_desc call_ext_out return alloc_auto_adj enable shorten_stack ext_entry int_entry round_fx1 repeat set_cs_eis real_to_real_tr divide_fx1 THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. comp_art_ comp_head_page_ comp_insert_ctls_ comp_make_page_ comp_measure_ comp_title_block_ comp_use_ref_ comp_util_$add_text comp_util_$relblk comp_util_$replace_text comp_write_page_ continue_to_signal_ ioa_ ioa_$nnl THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. compstat$compconst LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 14 000236 11 24 000247 11 43 000251 12 25 000252 12 35 000253 81 000254 82 000255 83 000261 85 000262 88 000270 89 000273 90 000276 91 000300 94 000303 96 000327 99 000336 102 000373 105 000403 109 000506 114 000610 122 000746 123 000756 124 000757 126 000762 139 001335 143 001345 146 001357 148 001362 156 001377 159 001405 162 001413 165 001415 166 001420 172 001466 174 001475 175 001500 179 001553 183 001565 186 001566 188 001570 189 001571 192 001622 194 001645 196 001652 197 001656 202 001660 205 001704 207 001706 210 001715 215 001764 216 001772 218 001776 220 002006 221 002010 223 002015 224 002022 228 002023 234 002041 236 002062 239 002071 242 002075 246 002124 250 002145 251 002147 255 002155 261 002170 264 002205 265 002206 267 002217 268 002227 269 002230 270 002242 271 002244 272 002252 274 002253 275 002273 276 002300 278 002303 284 002317 285 002320 286 002323 287 002324 289 002326 291 002330 294 002332 295 002351 296 002356 297 002361 299 002365 301 002367 302 002370 304 002405 305 002415 306 002416 307 002427 308 002431 309 002437 311 002440 313 002454 314 002465 316 002471 320 002476 322 002504 325 002522 327 002547 331 002573 332 002575 336 002601 343 002626 346 002637 348 002653 350 002655 353 002665 354 002666 356 002674 357 002705 358 002711 359 002713 360 002715 361 002717 362 002723 365 002741 366 002742 367 002743 369 002756 370 002767 373 002773 376 003005 377 003011 378 003014 379 003017 380 003022 381 003024 382 003026 383 003034 384 003035 385 003036 387 003037 390 003042 393 003052 394 003063 396 003067 397 003076 399 003100 400 003103 402 003105 403 003107 404 003113 405 003123 408 003124 409 003126 411 003130 412 003132 414 003136 418 003157 419 003162 421 003164 424 003170 427 003174 430 003203 433 003212 434 003223 435 003227 436 003231 437 003232 438 003234 440 003240 443 003247 445 003264 448 003301 453 003326 455 003331 458 003337 459 003345 461 003365 462 003367 463 003415 466 003421 467 003427 468 003431 470 003432 473 003447 477 003450 481 003463 482 003466 484 003470 488 003475 490 003504 491 003515 492 003521 513 003523 514 003533 515 003535 516 003537 518 003543 524 003565 527 003573 529 003574 532 003577 534 003607 538 003616 544 003640 551 003642 561 003702 564 003715 568 003731 569 003734 570 003737 571 003752 576 003766 580 003775 582 004011 585 004021 589 004124 594 004226 600 004326 607 004544 614 004726 616 004727 621 004731 ----------------------------------------------------------- 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