COMPILATION LISTING OF SEGMENT comp_insert_ctls_ Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 04/23/85 1003.1 mst Tue Options: optimize map 1 /* *********************************************************** 2* * * 3* * * 4* * Copyright, (C) Honeywell Information Systems Inc., 1981 * 5* * Copyright, (C) Honeywell Information Systems Inc., 1980 * 6* * * 7* * * 8* *********************************************************** */ 9 10 /* compose subroutine for insertion of external objects into the text */ 11 12 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 13 14 comp_insert_ctls_: 15 proc (ctl_index); 16 17 /* PARAMETERS */ 18 19 dcl ctl_index fixed bin; /* control token index */ 20 21 /* LOCAL STORAGE */ 22 23 dcl argct fixed bin; /* count of .ifi args */ 24 dcl argstr char (1020) var; /* given Arg list */ 25 dcl ercd fixed bin (35); /* error code */ 26 /* for debug */ 27 dcl exit_str char (256) var init (""); 28 dcl ftn_headed bit (1); /* 1 = note header has been written */ 29 dcl ftndx fixed bin; /* footnote block index */ 30 /* string for default ftn header */ 31 dcl ftnhdrlin char (7) based (DCxx_p); 32 dcl ftnrefblk fixed bin; /* reference block index */ 33 dcl ftnreflin fixed bin; /* footref line index */ 34 dcl (i, j, k) fixed bin; /* working index */ 35 dcl 1 ifi_file like insert.file;/* local file data structure */ 36 dcl ifi_filename char (200); 37 dcl input_bitcount fixed (35); 38 dcl iref fixed bin; /* working index */ 39 dcl locolptr ptr; /* for local reference */ 40 dcl 1 locol aligned like col based (locolptr); 41 dcl qt_found bit (1); /* 1= closing quote found */ 42 dcl refblkptr ptr; /* for local reference */ 43 dcl 1 refblk aligned like text based (refblkptr); 44 dcl refctr fixed bin; /* footref counter */ 45 dcl save_blkptr ptr; /* to save galley block */ 46 dcl suffix char (6) var; /* file suffix */ 47 dcl what (107:117) char (8) var static options (constant) 48 init ("block", (2) (1)"", "file", "footnote", "graphic", 49 (4) (1)"", "index"); 50 51 /* EXTERNAL STORAGE */ 52 53 dcl comp_error_table_$limitation 54 fixed bin (35) ext static; 55 dcl comp_error_table_$program_error 56 fixed bin (35) ext static; 57 dcl error_table_$noentry 58 fixed bin (35) ext static; 59 dcl error_table_$segknown 60 fixed bin (35) ext static; 61 62 63 dcl (addr, char, copy, index, length, ltrim, max, min, mod, null, rtrim, 64 size, substr) builtin; 65 dcl (cleanup, comp_abort) 66 condition; 67 68 dcl expand_pathname_$add_suffix 69 entry (char (*), char (*), char (*), char (*), 70 fixed (35)); 71 dcl get_pdir_ entry returns (char (168)); 72 dcl hcs_$make_seg entry (char (*), char (*), char (*), fixed bin (5), ptr, 73 fixed bin (35)); 74 dcl hcs_$status_mins 75 entry (ptr, fixed bin (2), fixed bin (24), 76 fixed bin (35)); 77 dcl ioa_$rsnnl entry options (variable); 78 dcl msf_manager_$get_ptr 79 entry (ptr, fixed, bit (1), ptr, fixed (35), fixed (35)) 80 ; 81 dcl msf_manager_$open 82 entry (char (*), char (*), ptr, fixed (35)); 83 dcl search_paths_$find_dir 84 entry (char (*) aligned, ptr, char (*), 85 char (*) aligned, char (*), fixed (35)); 86 87 if shared.bug_mode 88 then call ioa_$nnl ("insert_ctls: (^a", what (ctl_index)); 89 90 goto ctl_ (ctl_index); 91 92 ctl_ (107): /* ".ibl" = insert-block */ 93 if shared.bug_mode 94 then call ioa_ (")"); 95 return; 96 97 ctl_ (110): /* ".ifi" = insert file */ 98 if shared.bug_mode 99 then call ioa_ (")"); 100 101 if ctl.index > length (ctl_line) /* no filename? */ 102 then 103 do; 104 call comp_report_ (2, 0, "Missing insert file name.", addr (ctl.info), 105 ctl_line); 106 goto return_; 107 end; 108 109 suffix = "compin"; 110 join_ifi: /* extract file name */ 111 ifi_file = init_file_data; 112 ifi_filename = before (substr (ctl_line, ctl.index), " "); 113 /* & step over it */ 114 if index (substr (ctl_line, ctl.index), " ") ^= 0 115 then 116 do; 117 ctl.index = ctl.index + index (substr (ctl_line, ctl.index), " "); 118 if ctl.index <= length (ctl_line) 119 /* step over extra blanks */ 120 then if index (substr (ctl_line, ctl.index), " ") = 1 121 then ctl.index = 122 ctl.index - 1 123 + verify (substr (ctl_line, ctl.index), " "); 124 end; 125 else ctl.index = length (ctl_line) + 1; 126 127 if insert_data.ref_area.count = 0 /* need 1st insert ref area? */ 128 then 129 do; 130 insert_data.ref_area (1).ptr = 131 allocate (const.local_area_ptr, size (insert_refs)); 132 insert_data.ref_area.count = 1; /* make it empty */ 133 insert_data.ref_area (1).ptr -> insert_refs.count = 0; 134 end; 135 136 call comp_get_file_$find (ifi_filename, addr (ifi_file), 137 (shared.input_dirname), "0"b, suffix, ercd); 138 if ercd = 0 139 then call comp_get_file_$open (addr (ifi_file), "0"b, ercd); 140 if ercd ^= 0 141 then 142 do; 143 if abrt_sw 144 then signal comp_abort; 145 goto return_; 146 end; 147 148 else insert.file = ifi_file; 149 150 argct = 0; 151 if ctl.index <= length (ctl_line) /* do parameter and Args */ 152 then 153 do; /* save for Arg processing */ 154 argstr = substr (ctl_line, ctl.index); 155 /* if its quoted */ 156 if index (substr (ctl_line, ctl.index), """") = 1 157 then shared.parameter = 158 comp_extr_str_ ("0"b, ctl_line, ctl.index, ctl.index, 0, 159 addr (ctl.info)); 160 else shared.parameter = argstr; 161 shared.param_pres = "1"b; /* we have a parameter */ 162 /* now do the Args */ 163 call comp_update_symbol_ ("1"b, "1"b, "0"b, "Args", argstr); 164 /* count them */ 165 do argct = 1 by 1 while (argstr ^= ""); 166 /* if quoted */ 167 if substr (argstr, 1, 1) = """" 168 then 169 do; 170 i = 2; /* look for closer */ 171 qt_found = "0"b; 172 do while (^qt_found); 173 j = index (substr (argstr, i), """"); 174 175 if j = 0 /* no more quotes in string */ 176 then 177 do; 178 call comp_report_ (2, 0, "Missing string delimiter.", 179 addr (ctl.info), ctl_line); 180 qt_found = "1"b; /* to exit the loops */ 181 argstr = ""; 182 end; /**/ 183 /* found a quote */ 184 else if i + j > 3 185 then 186 do; /* is it protected? */ 187 if substr (argstr, i + j - 2, 1) = "*" 188 & substr (argstr, i + j - 3, 2) ^= "**" 189 & substr (argstr, i + j - 3, 2) ^= "¿*" 190 then i = i + j; 191 192 else 193 do; /* found the closer */ 194 qt_found = "1"b; 195 argstr = ltrim (substr (argstr, i + j)); 196 end; 197 end; 198 199 else 200 do; /* found the closer */ 201 qt_found = "1"b; 202 argstr = ltrim (substr (argstr, i + j)); 203 end; 204 end; 205 end; /**/ 206 /* not quoted */ 207 else argstr = ltrim (after (argstr, " ")); 208 end; 209 argct = argct - 1; /* loop counts 1 too many */ 210 end; 211 else shared.param_pres = "0"b; /**/ 212 /* record the count */ 213 call comp_update_symbol_ ("1"b, "1"b, "0"b, "ArgCount", 214 ltrim (char (argct))); 215 216 shared.input_filename = insert.refname; 217 shared.input_dirname = rtrim (insert.dir); 218 219 insert.posn = 1; /* start at BOF */ 220 call_box_ptr = call_stack.ptr (call_stack.index); 221 call_box.exit_lineno = ctl.lineno; /* record caller's lineno */ 222 /* stack this call */ 223 i, call_stack.index = call_stack.index + 1; 224 if i > call_stack.count /* need a new box? */ 225 then 226 do; 227 if i > hbound (call_stack.ptr, 1) 228 then 229 do; 230 call comp_report_$ctlstr (2, comp_error_table_$limitation, 231 addr (ctl.info), ctl_line, 232 "The insert file call depth limit of ^d has been" 233 || " reached.", hbound (call_stack.ptr, 1)); 234 signal comp_abort; 235 goto return_; 236 end; 237 call_stack.ptr (i) = allocate (const.local_area_ptr, size (call_box)); 238 call_stack.count = i; 239 end; 240 241 call_box_ptr = call_stack.ptr (i); 242 call_box = insert.file; 243 244 call comp_; /* process the inserted file */ 245 /* pop the call stack */ 246 call_stack.index = call_stack.index - 1; 247 call_box_ptr = call_stack.ptr (call_stack.index); 248 ctl.fileno, insert_data.index = call_box.fileno; 249 shared.input_filename = call_box.refname; 250 shared.input_dirname = call_box.dir; 251 shared.insert_ptr = call_box.insert_ptr; 252 253 if argct > 0 /* pop argument stack */ 254 then call comp_util_$pop ("Args"); 255 call comp_util_$pop ("ArgCount"); /* and the count */ 256 257 if shared.bug_mode 258 then call ioa_$rsnnl ("^d ^d ^a", exit_str, 0, call_stack.index, 259 insert_data.index, shared.input_filename); 260 261 goto return_; 262 263 ctl_ (111): /* ".ift" = insert-footnotes */ 264 /* ift_ctl_index */ 265 ftn_headed = "0"b; 266 267 if page.hdr.col_index >= 0 /* set local pointers */ 268 then locolptr = page.column_ptr (page.hdr.col_index); 269 else locolptr = null; 270 refblkptr = null; 271 272 if shared.bug_mode 273 then call ioa_ (" col=^d count=^d/^d)", page.hdr.col_index, 274 locol.hdr.ftn.ct, ftnblk_data.highndx); 275 276 if locol.hdr.ftn.ct = 0 /* no notes for column? */ 277 | ftnblk_data.highndx = 0 /* or there are no notes */ 278 then goto return_; /**/ 279 /* for the default header */ 280 line_area_ptr = ftnhdr.line_area.first; 281 if line_area.linptr (1) -> txtlin.default 282 then 283 do; /* set up the vector */ 284 DCxx_p = addr (ftnhdrvec); 285 ftnhdrvec.mark = DC1; 286 ftnhdrvec.type = type_vlx; 287 ftnhdrvec.leng = 4; 288 txtlinptr = line_area.linptr (1); 289 ftnhdrvec.v1 = locol.parms.measure; 290 txtlin.ptr -> txtstr = ftnhdrlin; 291 txtlin.info = ctl.info; 292 end; 293 294 if option.galley_opt 295 then save_blkptr = shared.blkptr; 296 297 shared.blkptr = null (); /* no block */ 298 299 do i = 1 to locol.hdr.ftn.ct; 300 ftndx = locol.hdr.ftn.blkndx (i); 301 if ftndx > 0 302 then if ftnblk_data.blkptr (ftndx) ^= null () 303 then call do_a_note; 304 end; 305 306 if option.galley_opt /* if galley mode */ 307 then 308 do; /* write another header in galley */ 309 call comp_util_$getblk (page.hdr.col_index, shared.blkptr, "fh", 310 addr (current_parms), "0"b); 311 312 do line_area_ptr = ftnhdr.line_area.first repeat (line_area.next) 313 while (line_area_ptr ^= null); 314 do j = 1 to line_area.ndx; 315 txtlinptr = line_area.linptr (j); 316 call comp_util_$add_text (shared.blkptr, 317 (txtlin.quad ^= quadl & txtlin.quad ^= just), "1"b, "1"b, 318 "0"b, txtlinptr); 319 end; 320 end; /**/ 321 /* more space, too */ 322 call comp_space_ (12000, shared.blkptr, "1"b, "1"b, "0"b, "0"b); 323 call comp_break_ (footnote_break, 0); 324 /* restore galley block ptr */ 325 shared.blkptr = save_blkptr; 326 end; 327 328 if shared.bug_mode 329 then call ioa_$rsnnl ("ftnblkct=^d", exit_str, 0, ftnblk_data.highndx); 330 331 /* process a footnote */ 332 do_a_note: 333 proc; 334 335 /* LOCAL STORAGE */ 336 337 dcl ftnlinptr ptr; /* a footnote line */ 338 dcl 1 ftnlin aligned like text_entry based (ftnlinptr); 339 dcl ftnptr ptr; /* a footnote block */ 340 dcl 1 ftnblk aligned like text based (ftnptr); 341 dcl held_space fixed bin (31); /* space for held notes */ 342 dcl icol fixed bin; /* local column number */ 343 dcl (ii, jj) fixed bin; /* working index */ 344 dcl save_colno fixed bin; 345 dcl save_colptr ptr; 346 dcl space fixed bin (31); /* space down to footnotes */ 347 348 dcl (index, max) builtin; 349 350 ftnptr = ftnblk_data.blkptr (ftndx); 351 352 if shared.bug_mode 353 then call ioa_ ("^5x(do_a_note: ftn=^d ^d/^f)", ftndx, ftnblk.hdr.count, 354 dec (divide (ftnblk.hdr.used, 12000, 31, 10), 11, 3)); 355 356 save_colno = page.hdr.col_index; 357 save_colptr = shared.colptr; 358 page.hdr.col_index, icol = max (page.hdr.col_index, 0); 359 shared.colptr = page.column_ptr (icol); 360 call comp_util_$getblk (icol, shared.blkptr, "fn", addr (current_parms), 361 "0"b); 362 363 if ^ftn_headed /* need a header? */ 364 then 365 do; 366 if ^option.galley_opt /* if paging */ 367 then 368 do; 369 held_space = 0; 370 if shared.ftn_reset = "hold" 371 then 372 do jj = 1 to ftnblk_data.highndx; 373 if ftnblk_data.blkptr (jj) ^= null 374 then held_space = 375 held_space 376 + ftnblk_data.blkptr (jj) -> text.hdr.used; 377 end; 378 379 space = /* amount to get to note depth */ 380 page.hdr.net - page.hdr.used - col0.hdr.ftn.usd + 12000; 381 382 if space < 0 & shared.ftn_reset ^= "hold" 383 then call comp_report_$ctlstr (4, comp_error_table_$program_error, 384 addr (ctl.info), ctl_line, 385 "Footnote extends into margin on page ^a.", 386 page.hdr.pageno); 387 388 else 389 do; 390 page.hdr.depth, col.hdr.depth = page.hdr.depth + space; 391 page.hdr.used = page.hdr.used + space; 392 col.hdr.used = col.hdr.used + space; 393 end; 394 395 if shared.bug_mode 396 then call ioa_ ("^5x(ftnspc=^f depth=^f col=^d u^f pag=^a u^f)", 397 dec (divide (space, 12000, 31, 10), 11, 3), 398 dec (divide (page.hdr.depth, 12000, 31, 10), 11, 3), 399 icol, dec (divide (col.hdr.used, 12000, 31, 10), 11, 3), 400 page.hdr.pageno, 401 dec (divide (page.hdr.used, 12000, 31, 10), 11, 3)); 402 end; /**/ 403 /* galley mode */ 404 else call comp_space_ (12000, shared.blkptr, "1"b, "1"b, "1"b, "0"b); 405 /* no lineno or cbar for dflt header */ 406 line_area_ptr = ftnhdr.line_area.first; 407 txtlinptr = line_area.linptr (1); 408 if txtlin.default 409 then 410 do; 411 txtlin.info.lineno, txtlin.fileno = 0; 412 txtlin.cbar = "0"b; 413 end; 414 415 do line_area_ptr = ftnhdr.line_area.first repeat (line_area.next) 416 while (line_area_ptr ^= null); 417 do jj = 1 to line_area.ndx; /* add the footnote header */ 418 ftnlinptr = line_area.linptr (jj); 419 txtstrptr = ftnlin.ptr; 420 421 if index (txtstr, shared.sym_delim) ^= 0 422 then call comp_use_ref_ (txtstr, ftnlin.art, "1"b, 423 addr (ftnlin.info)); 424 425 call comp_util_$add_text (shared.blkptr, 426 (ftnlin.quad ^= quadl & ftnlin.quad ^= just), "1"b, "1"b, 427 "0"b, ftnlinptr); 428 end; 429 end; 430 431 ftn_headed = "1"b; /* we now have a header */ 432 end; /**/ 433 /* we already have a header */ 434 else if shared.bug_mode 435 then call ioa_ (" depth=^f col=^d u^f pag=^a u^f)", 436 dec (divide (page.hdr.depth, 12000, 31, 10), 11, 3), icol, 437 dec (divide (col.hdr.used, 12000, 31, 10), 11, 3), 438 page.hdr.pageno, 439 dec (divide (page.hdr.used, 12000, 31, 10), 11, 3)); 440 441 if shared.blkptr = null () /* need a block? */ 442 then call comp_util_$getblk (max (page.hdr.col_index, 0), shared.blkptr, 443 "fn", addr (current_parms), "0"b); 444 445 text.hdr.art = ftnblk.hdr.art; /**/ 446 /* separator */ 447 call comp_space_ (12000, shared.blkptr, "1"b, "1"b, "0"b, "0"b); 448 449 ii = 0; 450 do line_area_ptr = ftnblk.line_area.first repeat (line_area.next) 451 while (ii < ftnblk.hdr.count); 452 do jj = 1 to line_area.ndx; /* move the note */ 453 ftnlinptr = line_area.linptr (jj); 454 455 if ftnblk.hdr.count = 1 /* in case we have the ref only */ 456 then ftnlin.linespace = ftnblk.parms.linespace; 457 458 call comp_util_$add_text (shared.blkptr, 459 (ftnlin.quad ^= just & ftnlin.quad ^= quadl), "0"b, "0"b, "0"b, 460 ftnlinptr); 461 ii = ii + 1; 462 end; 463 end; /**/ 464 /* separator */ 465 466 /* call comp_space_ (12000, shared.blkptr, "1"b, "1"b, "0"b, "0"b);*/ 467 468 if locolptr ^= null 469 then locol.blkptr (locol.hdr.blkct) = shared.blkptr; 470 else col0.blkptr (col0.hdr.blkct) = shared.blkptr; 471 call comp_break_ (footnote_break, 0); 472 page.hdr.depth, col.hdr.depth = max (page.hdr.depth, col.hdr.depth); 473 /* return footnote block */ 474 call comp_util_$relblk (-1, ftnblk_data.blkptr (ftndx)); 475 if refblkptr ^= null 476 then refblk.hdr.ftn.ct = refblk.hdr.ftn.ct - 1; 477 478 if ftndx = ftnblk_data.highndx 479 then 480 do ftnblk_data.highndx = ftnblk_data.highndx to 1 by -1 481 while (ftnblk_data.blkptr (ftnblk_data.highndx) = null); 482 end; 483 484 end do_a_note; 485 486 goto return_; /* end of ift */ 487 488 ctl_ (112): /* ".igr" = insert-graphic */ 489 /**** INACTIVE AND UNDOCUMENTED */ 490 /* dcl 1 grafline aligned like text_entry; 491*/* /* pseudoline for graphic structure */ 492 /* dcl 1 grafstack (0:20), /* a graphic recursion stack */ 493 /* 2 name char (32) var, 494*/* 2 elem fixed bin (24), 495*/* 2 matrix (3, 3) float bin, 496*/* 2 rot (3) fixed bin, 497*/* 2 scl (3) float bin; 498*/* dcl grafvec_bitcount 499*/* fixed bin (24); /* bitcount of graphic vector file */ 500 /* dcl grafvec_charcount 501*/* fixed bin (21); /* charcount of graphic vector file */ 502 /* dcl grafvec_charpos 503*/* fixed bin (21); /* position in graphic vector file */ 504 /* dcl grafvec_ptr ptr; /* pointer to graphic vector file */ 505 /* dcl name_node fixed bin (18); /* name node for graphic structure */ 506 /* dcl pgs_dir char (168); /* dir for PGS */ 507 /* dcl pgs_file char (32); /* name of PGS */ 508 /* dcl pgs_name char (32); /* name of graphic structure */ 509 /* dcl pgs_path char (200) var; /* path for PGS */ 510 /* dcl struc_node fixed bin (18); /* origin node for graphic structure */ 511 /*dcl typ_str (0:33) char (8) static options (constant) init ( 512*/* "setposit", "setpoint", "vector ", "shift ", "point ", "05", "06", 513*/* "07", "scaling ", "rotation", "clipping", "11", "12", "13", "14", "15", 514*/* "16", "17", "sensitiv", "blink ", "color ", "21", "22", "23", 515*/* "symbol ", "text ", "databloc", "27", "28", "29", "30", "31", 516*/* "list ", "array "); 517*/* dcl wgs_ptr ptr; /* pointer to WGS - for debug */ 518 /* dcl grafchars char (1020) var based (grafline.ptr); 519*/* dcl grafvec_chars char (const.max_seg_chars) based (grafvec_ptr); 520*/* dcl ( 521*/* graphic_error_table_$recursive_structure, 522*/* graphic_error_table_$bad_node 523*/* ) fixed bin (35) ext static; 524*/* dcl graphic_matrix_util_$make_matrix 525*/* entry ((3) fixed bin, (3) float bin, (3, 3) float bin); 526*/* dcl graphic_matrix_util_$multiply_3x3_x_1x3 527*/* entry ((3, 3) float bin, (3) float bin, (3) float bin); 528*/* dcl remove_graphics 529*/* entry; 530*/* dcl setup_graphics entry options (variable); 531*/* 532*/* if shared.bug_mode 533*/* then call ioa_ (")"); 534*/* 535*/* if "0"b /* DISABLER */ 536 /* then goto return_; 537*/* 538*/* if ctl.index > length (ctl_line) /* must have a PGS path */ 539 /* then 540*/* do; 541*/*graf_err_1: 542*/* call comp_report_ (2, 0, "No graphic path given.", addr (ctl.info), 543*/* ctl_line); 544*/* goto return_; 545*/* end; 546*/* 547*/* pgs_path = 548*/* comp_read_$name (ctl_line, ctl.index, ctl.index, addr (ctl.info)); 549*/* /* read the PGS path */ 550 /* if pgs_path = "" /* check null path */ 551 /* then goto graf_err_1; 552*/* 553*/* if search ("><", pgs_path) ^= 0 /* if a path */ 554 /* then 555*/* do; 556*/* call expand_pathname_$add_suffix ((pgs_path), "pgs", pgs_dir, pgs_file, 557*/* ercd); 558*/* if ercd ^= 0 559*/* then 560*/* do; 561*/* call comp_report_ (4, ercd, "Expanding path for " || pgs_path, 562*/* addr (ctl.info), ctl_line); 563*/* goto return_; 564*/* end; 565*/* end; 566*/* 567*/* else 568*/* do; /* a simple name, have to search */ 569 /* if length (pgs_path) > 4 /* check suffix */ 570 /* then if substr (pgs_path, length (pgs_path) - 3, 4) ^= ".pgs" 571*/* then pgs_file = pgs_path || ".pgs"; 572*/* else ; 573*/* else pgs_file = pgs_path || ".pgs"; 574*/* 575*/* call search_paths_$find_dir ("compose", null (), pgs_file, 576*/* const.comp_dir, pgs_dir, ercd); 577*/* if ercd ^= 0 578*/* then 579*/* do; 580*/* call comp_report_ (4, ercd, "Searching for " || rtrim (pgs_file), 581*/* addr (ctl.info), ctl_line); 582*/* goto return_; 583*/* end; 584*/* end; 585*/* 586*/* pgs_path = rtrim (pgs_dir) || ">" || rtrim (pgs_file); 587*/* /* we have a PGS */ 588 /* 589*/* if ctl.index <= length (ctl_line) /* PGS structure name */ 590 /* then pgs_name = 591*/* comp_read_$name (ctl_line, ctl.index, ctl.index, addr (ctl.info)) 592*/* ; 593*/* else pgs_name = rtrim (rtrim (pgs_file), ".pgs"); 594*/* 595*/* call hcs_$make_seg ("", "grafvec.compose." || rtrim (option.device), "", 596*/* bin ("1010"b), grafvec_ptr, ercd); 597*/* if ercd ^= 0 & ercd ^= error_table_$segknown 598*/* then 599*/* do; 600*/* call comp_report_ (4, ercd, "Creating graphic vector file.", 601*/* addr (ctl.info), ctl_line); 602*/* goto return_; 603*/* end; /* all set, set up MGS */ 604 /* call setup_graphics ("-table", rtrim (option.device), "-output_file", 605*/* rtrim (get_pdir_ ()) || ">grafvec.compose." || rtrim (option.device)); 606*/* 607*/* on cleanup call clean_; /* we now have something to clean */ 608 /* 609*/* call gm_$init (ercd); /* clear the WGS and get drawing */ 610 /* if ercd ^= 0 611*/* then 612*/* do; 613*/*graf_err_2: 614*/* call comp_report_ (4, ercd, 615*/* "Initializing the working graphics segment.", addr (ctl.info), 616*/* ctl_line); 617*/* call clean_; 618*/* goto return_; 619*/* end; 620*/* call gm_$segp (wgs_ptr, ercd); 621*/* if ercd ^= 0 622*/* then goto graf_err_2; 623*/* call gm_$get_struc (pgs_dir, pgs_file, pgs_name, 0, ercd); 624*/* if ercd ^= 0 625*/* then 626*/* do; 627*/* call comp_report_ (4, ercd, 628*/* "Retrieving " || rtrim (pgs_name) || " from " || pgs_path, 629*/* addr (ctl.info), ctl_line); 630*/* call clean_; 631*/* goto return_; 632*/* end; /* locate the desired structure */ 633 /* name_node = gm_$find_structure (pgs_name, struc_node, ercd); 634*/* if ercd ^= 0 635*/* then 636*/* do; 637*/* call comp_report_ (4, ercd, "Locating " || pgs_name || " in the WGS.", 638*/* addr (ctl.info), ctl_line); 639*/* call clean_; 640*/* goto return_; 641*/* end; /* how big is it? */ 642 /* dcl comp_graphic_util_$size 643*/* entry (char (*), fixed bin (18), (3) fixed bin (31), 644*/* (3) fixed bin (31), (3) fixed bin (31), fixed bin (35)); 645*/* dcl xyz_last (3) fixed bin (31); 646*/* /* final coordinates of structure */ 647 /* dcl xyz_min (3) fixed bin (31); 648*/* /* min coordinates of structure */ 649 /* dcl xyz_max (3) fixed bin (31); 650*/* /* max coordinates of structure */ 651 /* 652*/* call comp_graphic_util_$size (pgs_name, name_node, xyz_last, xyz_min, 653*/* xyz_max, ercd); 654*/* if ercd ^= 0 655*/* then 656*/* do; 657*/* call comp_report_ (4, ercd, 658*/* "Processing graphic structure " || pgs_name, addr (ctl.info), 659*/* ctl_line); 660*/* call clean_; 661*/* goto return_; 662*/* end; 663*/* 664*/* convert it to device vectors */ 665 /* call gc_$display (struc_node, ercd); 666*/* if ercd ^= 0 667*/* then 668*/* do; 669*/* call comp_report_ (4, ercd, 670*/* "Converting " || rtrim (pgs_name) || " to " 671*/* || rtrim (option.device) || " device vectors.", addr (ctl.info), 672*/* ctl_line); 673*/* call clean_; 674*/* goto return_; 675*/* end; 676*/* 677*/* call remove_graphics; /* done with MGS */ 678 /* revert cleanup; 679*/* 680*/* call hcs_$status_mins (grafvec_ptr, 0, grafvec_bitcount, ercd); 681*/* if ercd ^= 0 682*/* then 683*/* do; 684*/* call comp_report_ (4, ercd, 685*/* "Finding length of the graphic vector file.", addr (ctl.info), 686*/* ctl_line); 687*/* goto return_; 688*/* end; 689*/* 690*/* if grafvec_bitcount = 0 /* nothing there? */ 691 /* then 692*/* do; 693*/* call comp_report_ (2, 0, 694*/* "No vectors generated for " || rtrim (pgs_name), addr (ctl.info), 695*/* ctl_line); 696*/* goto return_; 697*/* end; 698*/* 699*/* grafvec_charcount = divide (grafvec_bitcount, 9, 21, 0); 700*/* grafvec_charpos = 1; 701*/* 702*/* grafline = text_entry; /* initialize the graphic "line" */ 703 /* grafline.info = ctl.info; /* copy info */ 704 /* grafline.font = ctl.font; /* and typographic stuff */ 705 /* grafline.quad = quadl; /* set it left */ 706 /* grafline.art = "1"b; /* treat like artwork */ 707 /* grafline.rmarg = col.parms.right.margin; 708*/* grafline.width = xyz_max (1) - xyz_min (1); 709*/* grafline.linespace = xyz_max (2) - xyz_min (2); 710*/* allocate text_area in (comp_free) set (grafline.ptr);*/ 711 /* grafchars = substr (grafvec_chars, 1, grafvec_charcount); 712*/* 713*/* if shared.blkptr = null () /* need a block? */ 714 /* then call comp_util_$getblk (0, page.hdr.col_index, shared.blkptr, "tx", 715*/* addr (current_parms)); 716*/* 717*/* call comp_util_$add_text (shared.blkptr, "0"b, "0"b, "0"b, "0"b, 718*/* addr (grafline)); 719*/* 720*/*clean_: 721*/* proc; 722*/* call remove_graphics; 723*/* end clean_;*/ 724 goto return_; 725 726 ctl_ (117): /* ".indx" - insert-index */ 727 suffix = "index"; 728 goto join_ifi; 729 730 return_: 731 if shared.bug_mode 732 then call ioa_ ("^5x(insert_ctls:^[ ^a)^])", (exit_str ^= ""), exit_str); 733 return; 734 735 dbn: 736 entry; 737 db_sw = "1"b; 738 return; 739 dbf: 740 entry; 741 db_sw = "0"b; 742 return; 743 dcl db_sw bit (1) int static init ("0"b); 744 745 /* Recursive internal procedure to compile a node in the working graphic seg */ 746 /* Recurses on the higher-level lists and arrays, iterates on all others */ 747 748 /* compile_node_recurse: procedure (node_no, node_name) recursive; 749* /* 750* /*dcl node_no fixed bin (18) parameter; /* number of node being compiled */ 751 /* dcl node_name char (*) parameter; /* name of the structure */ 752 /* 753* /*dcl array (200) fixed bin (18); /* an array or list */ 754 /* dcl chars char (32); /* to hold symbols */ 755 /* dcl curl fixed bin; /* number of list/array elements */ 756 /* dcl grstk_entry_ptr ptr; /* graphic stack entry pointer */ 757 /* dcl nchars fixed bin; /* number of symbol chars */ 758 /* dcl (node_type, sub_type) fixed bin; /* graphic node type code */ 759 /* dcl 1 grstk_entry like grafstack based (grstk_entry_ptr); /* graphic stack entry */ 760 /* dcl level fixed bin; 761* /* 762* /* 763* /* grstk_entry.name = node_name; /* copy name parameter */ 764 /* grstk_entry.elem = 0; /* clear element count */ 765 /* /* start with given node */ 766 /* call graphic_manipulator_$examine_type (node_no, "0"b, node_type, ercd); 767* /* if ercd ^= 0 768* /* then goto node_err; 769* /* 770* /*dcl org (3) float bin; 771* /* if shared.bug_mode & db_sw 772* /* then call ioa_ ("^vx^a ^a ^.3f,^.3f,^.3f", level, msg (), 773* /* typ_str (node_type), org); 774* /* 775* /* goto Type (node_type); /* dispatch on node type */ 776 /* 777* /*Type (32): /* list */ 778 /* Type (33): /* array */ 779 /* call graphic_manipulator_$examine_list (node_no, array, curl, ercd); 780* /* if ercd ^= 0 781* /* then goto node_err; 782* /* 783* /* do grstk_entry.elem = 1 to curl; /* go through it */ 784 /* call graphic_manipulator_$examine_type (array (grstk_entry.elem), 785* /* "0"b, sub_type, ercd); 786* /* if ercd ^= 0 787* /* then goto node_err; 788* /* 789* /* if shared.bug_mode & db_sw 790* /* then call ioa_ ("^vx^a ^a ^.3f,^.3f,^.3f", level, msg (), 791* /* typ_str (sub_type), org); 792* /* 793* /* if sub_type < Null | sub_type > Array 794* /* then goto bad_type; */ 795 /* 796* /* goto Sub_type (sub_type); /* dispatch on node type */ 797 /* 798* /*Sub_type (0): /* setposition */ 799 /* Sub_type (1): /* setpoint */ 800 /* call comp_report_ (2, 0, "Graphic structure node " || msg () || 801* /* " is an absolute element.", addr (ctl.info), 802* /* ctl_line); 803* /* goto Sub_type_end; 804* /* 805* /*Sub_type (3): /* shift */ 806 /* if level = 1 & grstk_entry.elem = curl 807* /* then do; 808* /* grafstack (2).rot (*) = mod (-grafstack (1).rot (*), 360); 809* /* grafstack (2).scl (*) = -1./grafstack (1).scl (*); 810* /* call graphic_matrix_util_$make_matrix (addr (grafstack (2)) -> grstk_entry.rot, addr (grafstack (2)) -> grstk_entry.scl, addr (grafstack (2)) -> grstk_entry.matrix); 811* /* call graphic_matrix_util_$multiply_3x3_x_1x3 (addr (grafstack (2)) -> grstk_entry.matrix, org, 0); 812* /* end; 813* /* 814* /*Sub_type (2): /* vector */ 815 /* Sub_type (4): /* point */ 816 /* call position_node (array (grstk_entry.elem)); 817* /* goto Sub_type_end; 818* /*Sub_type (8): /* scaling */ 819 /* /* call scale_node (array (grstk_entry.elem)); */ 820 /* 821* /*Sub_type (9): /* rotation */ 822 /* /* call rotate_node (array (grstk_entry.elem)); */ 823 /* goto Sub_type_end; 824* /* 825* /*Sub_type (10): /* clipping */ 826 /* Sub_type (16): /* intensity */ 827 /* Sub_type (17): /* linetype */ 828 /* Sub_type (18): /* sensitivity */ 829 /* Sub_type (19): /* blink */ 830 /* Sub_type (20): /* color */ 831 /* goto Sub_type_end; 832* /*Sub_type (24): /* symbol */ 833 /* call graphic_manipulator_$examine_symbol ((array (grstk_entry.elem)), array (grstk_entry.elem), nchars, chars, ercd); 834* /* if (ercd ^= 0) 835* /* then goto node_err; 836* /* call compile_node_recurse (array (grstk_entry.elem), substr (chars, 1, nchars)); 837* /* goto Sub_type_end; 838* /* 839* /*Sub_type (25): /* text */ 840 /* /* call text_node (array (grstk_entry.elem)); */ 841 /* goto Sub_type_end; 842* /* 843* /*Sub_type (26): /* datablock */ 844 /* goto Sub_type_end; 845* /* 846* /*Sub_type (32): /* list */ 847 /* Sub_type (33): /* array */ 848 /* call compile_node_recurse (array (grstk_entry.elem), ""); 849* /* 850* /*Sub_type (-1): /* null */ 851 /* Sub_type_end: end; 852* /* goto Type_end; 853* /* 854* /*Type (0): /* setposition */ 855 /* call ioa_ ("setposition should not be used"); 856* /* goto Type_end; 857* /* 858* /*Type (1): /* setpoint */ 859 /* call ioa_ ("setpoint should not be used"); 860* /* goto Type_end; 861* /* 862* /*Type (2): /* vector */ 863 /* Type (3): /* shift */ 864 /* Type (4): /* point */ 865 /* call position_node (node_no); 866* /* goto Type_end; 867* /*Type (8): /* scaling */ 868 /* call scale_node; 869* /* 870* /*Type (9): /* rotation */ 871 /* call rotate_node; 872* /* goto Type_end; 873* /* 874* /*Type (10): /* clipping */ 875 /* Type (16): /* intensity */ 876 /* Type (17): /* linetype */ 877 /* Type (18): /* sensitivity */ 878 /* Type (19): /* blink */ 879 /* Type (20): /* color */ 880 /* goto Type_end; 881* /*Type (24): /* symbol */ 882 /* call graphic_manipulator_$examine_symbol ((node_no), node_no, nchars, chars, ercd); 883* /* if (ercd ^= 0) 884* /* then goto node_err; 885* /* call compile_node_recurse (node_no, substr (chars, 1, nchars)); 886* /* goto Type_end; 887* /* 888* /*Type (25): /* text */ 889 /* call text_node; 890* /* goto Type_end; 891* /* 892* /*Type (26): /* datablock */ 893 /* goto Type_end; 894* /* 895* /*Type_end: 896* /* level = level - 1; /* pop the stack */ 897 /* return; 898* /* 899* /* These labels represent node types which are undefined. If we get here, something is wrong. */ 900 /* 901* /*Type (5): Sub_type (5): 902* /*Type (6): Sub_type (6): 903* /*Type (7): Sub_type (7): 904* /*Type (11): Sub_type (11): 905* /*Type (12): Sub_type (12): 906* /*Type (13): Sub_type (13): 907* /*Type (14): Sub_type (14): 908* /*Type (15): Sub_type (15): 909* /*Type (21): Sub_type (21): 910* /*Type (22): Sub_type (22): 911* /*Type (23): Sub_type (23): 912* /*Type (27): Sub_type (27): 913* /*Type (28): Sub_type (28): 914* /*Type (29): Sub_type (29): 915* /*Type (30): Sub_type (30): 916* /*Type (31): Sub_type (31): goto bad_type; 917* /* 918* /*dcl flta (3) float bin; 919* /* 920* /*position_node: proc (node); 921* /* 922* /*dcl node fixed bin (18); 923* /* 924* /* call graphic_manipulator_$examine_position (node, 0, 925* /* flta (1), flta (2), flta (3), ercd); 926* /* if ercd ^= 0 927* /* then goto node_err; 928* /* 929* /* call graphic_matrix_util_$multiply_3x3_x_1x3 (grstk_entry.matrix, 930* /* flta, 0); 931* /* if ercd ^= 0 932* /* then goto node_err; 933* /* 934* /* org (*) = org (*) + fltb (*); */ 935 /* /* vmin (*) = min (vmin (*), org (*)); */ 936 /* /* vmax (*) = max (vmax (*), org (*)); */ 937 /* 938* /* if shared.bug_mode & db_sw 939* /* then call ioa_ (" org (^.3f,^.3f,^.3f) min (^.3f,^.3f,^.3f)" || 940* /* " max (^.3f,^.3f,^.3f)", 0, 0, vmax); 941* /* end position_node; 942* /* 943* /*scale_node: proc; 944* /* 945* /* 946* /*dcl (x, y, z) float bin; 947* /* call graphic_manipulator_$examine_position (struc_node, 0, x, y, z, ercd); 948* /* if (ercd ^= 0) 949* /* then goto node_err; 950* /* flta (1) = x; 951* /* flta (2) = y; 952* /* flta (3) = z; 953* /* do i = 1 to 3; 954* /* grafstack.scl (level, i) = flta (name_node) * grafstack.scl (level-1, i); 955* /* end; 956* /* call graphic_matrix_util_$make_matrix (grstk_entry.rot, grstk_entry.scl, grstk_entry.matrix); 957* /* if (ercd ^= 0) 958* /* then goto node_err; 959* /* end; 960* /* 961* /*rotate_node: proc; 962* /* 963* /* 964* /* 965* /*dcl (x, y, z) float bin; 966* /* call graphic_manipulator_$examine_position (struc_node, 0, x, y, z, ercd); 967* /* if (ercd ^= 0) 968* /* then goto node_err; 969* /* /* fixa (1) = x; 970* /* /* fixa (2) = y; 971* /* /* fixa (3) = z; 972* /* /* do i = 1 to 3; 973* /* /* grafstack.rot (level, i) = mod (fixa (name_node)+grafstack.rot (level-1, i), 360); 974* /* /* end; */ 975 /* call graphic_matrix_util_$make_matrix (grstk_entry.rot, grstk_entry.scl, grstk_entry.matrix); 976* /* if (ercd ^= 0) 977* /* then goto node_err; 978* /* end; 979* /* 980* /*text_node: proc; 981* /*dcl jflt float bin; 982* /*dcl ch char (1); 983* /*dcl (ali) fixed bin; 984* /*dcl nchars fixed bin; 985* /*dcl chars char (200); 986* /* 987* /* call graphic_manipulator_$examine_text (struc_node, ali, nchars, chars, ercd); 988* /* if (ercd ^= 0) 989* /* then goto node_err; 990* /* flta (*) = org (*); 991* /* jflt = 0.; 992* /* do i = 1 to nchars; 993* /* ch = substr (chars, i, 1); 994* /* if (ch = "") 995* /* then jflt = jflt - 1.; 996* /* else jflt = jflt + 1.; 997* /* end; 998* /* goto align (ali); 999* /* 1000* /*align (1): /* upper_left */ 1001 /* flta (1) = flta (1)-3.6; 1002* /* flta (2) = flta (2)-7.5; 1003* /* goto check; 1004* /* 1005* /*align (2): /* upper_center */ 1006 /* flta (1) = flta (1)- jflt*3.6; 1007* /* flta (2) = flta (2) - 10.; 1008* /* goto check; 1009* /* 1010* /*align (3): /* upper_right */ 1011 /* flta (1) = flta (1) - jflt*7.2 +3.6; 1012* /* flta (2) = flta (2) - 10.; 1013* /* goto check; 1014* /* 1015* /*align (4): /* left */ 1016 /* flta (1) = flta (1) +3.6; 1017* /* flta (2) = flta (2) - 1.5; 1018* /* goto check; 1019* /* 1020* /*align (5): /* center */ 1021 /* flta (1) = flta (1) - jflt*3.6; 1022* /* flta (2) = flta (2) - 1.5; 1023* /* goto check; 1024* /* 1025* /* align (6): /* right */ 1026 /* flta (1) = flta (1) - jflt*7.2 +3.6; 1027* /* flta (2) = flta (2) - 1.5; 1028* /* goto check; 1029* /* 1030* /*align (7): /* lower_left */ 1031 /* flta (1) = flta (1) +3.6; 1032* /* flta (2) = flta (2) + 4.5; 1033* /* goto check; 1034* /* 1035* /*align (8): /* lower_center */ 1036 /* flta (1) = flta (1) - jflt*3.6; 1037* /* flta (2) = flta (2) + 4.5; 1038* /* goto check; 1039* /* 1040* /*align (9): /* lower_right */ 1041 /* flta (1) = flta (1) - jflt*7.2 +3.6; 1042* /* flta (2) = flta (2) + 4.5; 1043* /* goto check; 1044* /* 1045* /*check: 1046* /* flta (1) = flta (1) - 3.6; 1047* /* /* vmin (1) = min (vmin (1), flta (1)); */ 1048 /* vmax (1) = max (vmax (1), flta (1)+jflt*7.2); 1049* /* /* vmin (2) = min (vmin (2), flta (2)-4.5); */ 1050 /* vmax (2) = max (vmax (2), flta (2)+7.5); 1051* /*dcl vmin (3) float bin; 1052* /* if shared.bug_mode & db_sw 1053* /* then call ioa_ (" min ^5.1f,^5.1f^s max ^5.1f,^5.1f^s ^5.1f,^5.1f^s ""^va""", vmin, vmax, flta, nchars-1, substr (chars, 1, nchars-1)); 1054* /* end text_node; 1055* /* 1056* /*recursive_structure: 1057* /* ercd = graphic_error_table_$recursive_structure; 1058* /* return; 1059* /* 1060* /*bad_type: 1061* /* ercd = graphic_error_table_$bad_node; 1062* /*node_err: 1063* /* return; 1064* /* 1065* /* end compile_node_recurse; */ 1066 1067 /* msg: proc returns (char (200) var); 1068* /* 1069* /*dcl ms char (200) var; 1070* /* 1071* /* ms = rtrim (grafstack (1).name); 1072* /* do i = 1 to level; 1073* /* ms = ms || "." || ltrim (char (bin (grafstack (i).elem))); 1074* /* end; 1075* /* 1076* /* return (ms); 1077* /* end msg; */ 1078 1079 dcl abrt_sw bit (1) static init ("0"b); 1080 abrtn: 1081 entry; 1082 abrt_sw = "1"b; 1083 return; 1084 abrtf: 1085 entry; 1086 abrt_sw = "0"b; 1087 return; 1088 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 */ 1089 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 */ 1090 3 1 /* BEGIN INCLUDE FILE comp_entries.incl.pl1 */ 3 2 3 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 3 4 3 5 dcl compose_severity_ 3 6 fixed bin (35) ext static; 3 7 dcl comp_ entry; 3 8 dcl comp_art_ entry (ptr, bit (1)); 3 9 dcl comp_block_ctls_ 3 10 entry (fixed bin); 3 11 dcl comp_break_ entry (fixed bin, fixed bin); 3 12 dcl comp_break_ctls_ 3 13 entry (fixed bin); 3 14 dcl comp_ctls_ entry (bit (1) aligned); 3 15 dcl comp_eject_page_ 3 16 entry; 3 17 dcl comp_expr_eval_ 3 18 entry (char (*) var, fixed bin (21), ptr, fixed bin, 3 19 fixed bin, bit (1), fixed bin (31), char (*) var, 3 20 bit (9), fixed bin (35)); 3 21 dcl comp_extr_str_ entry (bit (1), char (*) var, fixed bin (21), 3 22 fixed bin (21), fixed bin (21), ptr) 3 23 returns (char (*) var); 3 24 dcl comp_fill_ entry; 3 25 dcl comp_font_ entry (bit (1), char (*) var, char (8) aligned); 3 26 dcl comp_format_ctls_ 3 27 entry (fixed bin); 3 28 dcl comp_get_file_$find 3 29 entry (char (*), ptr, char (*), bit (1), char (*) var, 3 30 fixed bin (35)); 3 31 dcl comp_get_file_$open 3 32 entry (ptr, bit (1), fixed bin (35)); 3 33 dcl comp_head_page_ 3 34 entry (fixed bin (31)); 3 35 dcl comp_hft_ctls_ entry (fixed bin); 3 36 dcl comp_hft_ctls_$title 3 37 entry (ptr, ptr, char (*) var, fixed bin (31)); 3 38 dcl comp_init_$one entry; 3 39 dcl comp_init_$two entry; 3 40 dcl comp_init_$three 3 41 entry; 3 42 dcl comp_insert_ctls_ 3 43 entry (fixed bin); 3 44 dcl comp_make_page_ 3 45 entry (fixed bin, bit (1)); 3 46 dcl comp_make_page_$cleanup 3 47 entry; 3 48 dcl comp_measure_ entry (char (1020) var, ptr, bit (1), bit (1), bit (6), 3 49 fixed bin (31), ptr, ptr, ptr); 3 50 dcl comp_read_$name 3 51 entry (char (*) var, fixed bin (21), fixed bin (21), 3 52 ptr) returns (char (*) var); 3 53 dcl comp_read_$number 3 54 entry (char (*) var, (*) fixed bin (31), 3 55 fixed bin (21), fixed bin (21), ptr, fixed bin (35)) 3 56 returns (fixed bin (31)); 3 57 dcl comp_read_$line 3 58 entry (ptr, char (*) var, bit (1)); 3 59 dcl comp_report_ entry (fixed bin, fixed bin (35), char (*), ptr, 3 60 char (*) var); 3 61 dcl comp_report_$ctlstr 3 62 entry options (variable); 3 63 /**** (sev, code, info, line, ctl_str, args... */ 3 64 dcl comp_report_$exact 3 65 entry (char (*), ptr); 3 66 dcl comp_space_ entry (fixed bin (31), ptr, bit (1), bit (1), bit (1), 3 67 bit (1)); 3 68 dcl comp_tbl_ctls_ entry (fixed bin); 3 69 dcl comp_title_block_ 3 70 entry (ptr); 3 71 dcl comp_update_symbol_ 3 72 entry (bit (1), bit (1), bit (1), char (32), 3 73 char (*) var); 3 74 dcl comp_use_ref_ entry (char (*) var, bit (1), bit (1), ptr); 3 75 dcl comp_util_$add_text 3 76 entry (ptr, bit (1), bit (1), bit (1), bit (1), ptr); 3 77 dcl comp_util_$display 3 78 entry (char (*) var, fixed bin, bit (1)) 3 79 returns (char (*) var); 3 80 dcl comp_util_$escape 3 81 entry (char (*) var, ptr); 3 82 dcl comp_util_$getblk 3 83 entry (fixed bin, ptr, char (2), ptr, bit (1)); 3 84 dcl comp_util_$num_display 3 85 entry (ptr, fixed bin) returns (char (256) var); 3 86 dcl comp_util_$pageno 3 87 entry (fixed bin, char (*) var); 3 88 dcl comp_util_$pictures /* emit pending pictures */ 3 89 entry /**/ 3 90 (ptr); /* current text block */ 3 91 dcl comp_util_$pop entry (char (32)); 3 92 dcl comp_util_$push 3 93 entry (char (32)); 3 94 dcl comp_util_$relblk 3 95 entry (fixed bin, ptr); 3 96 dcl comp_util_$replace_text 3 97 entry (ptr, bit (1), ptr, ptr); 3 98 dcl comp_util_$search_tree 3 99 entry (char (32), bit (1)); 3 100 dcl comp_util_$set_bin 3 101 entry (fixed bin (31), char (32) var, fixed bin (31), 3 102 fixed bin (31), fixed bin (31), (*) fixed bin (31), 3 103 fixed bin (31)); 3 104 dcl comp_util_$set_net_page 3 105 entry (bit (1)); 3 106 dcl comp_util_$translate 3 107 entry (char (*) var) returns (char (*) var); 3 108 dcl comp_write_block_ 3 109 entry (fixed bin); 3 110 dcl comp_write_page_ 3 111 entry; 3 112 3 113 /* END INCLUDE FILE comp_entries.incl.pl1 */ 1091 4 1 /* BEGIN INCLUDE FILE comp_fntstk.incl.pl1 */ 4 2 4 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 4 4 4 5 dcl fntstk_eptr ptr; /* font stack entry structure */ 4 6 dcl 1 fntstk_entry aligned based (fntstk_eptr), 4 7 2 bachelor bit (1), /* 1= has no members */ 4 8 2 devfnt fixed bin, /* font in the device */ 4 9 2 fam_name char (32), /* family name */ 4 10 2 famndx fixed bin, /* family index */ 4 11 2 fntptr ptr, /* font table pointer */ 4 12 2 mem_name char (32), /* /member name (or null) */ 4 13 2 memndx fixed bin, /* member index */ 4 14 2 memptr ptr, /* member table pointer */ 4 15 2 name char (65) var, /* font name */ 4 16 2 size fixed bin (31), /* requested point size */ 4 17 2 ps fixed bin (31), /* effective point size */ 4 18 2 fcs_str char (8); /* FCS string */ 4 19 4 20 /* END INCLUDE FILE comp_fntstk.incl.pl1 */ 1092 5 1 /* BEGIN INCLUDE FILE comp_footnotes.incl.pl1 */ 5 2 5 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 5 4 5 5 dcl 1 ftnblk_data aligned based (shared.ftnblk_data_ptr), 5 6 /* data for footnote blocks */ 5 7 2 highndx fixed (35), /* highest active footnote index */ 5 8 2 blkptr (250) ptr; /* block pointers */ 5 9 /* footnote header data block */ 5 10 dcl 1 ftnhdr aligned like text based (shared.footnote_header_ptr); 5 11 /* formatting parms for footnotes */ 5 12 dcl 1 footnote_parms 5 13 aligned like default_parms 5 14 based (const.footnote_parms_ptr); 5 15 5 16 /* END INCLUDE FILE comp_footnotes.incl.pl1 */ 1093 6 1 /* BEGIN INSERT FILE ... comp_insert.incl.pl1 */ 6 2 6 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 6 4 6 5 dcl 1 insert_data aligned based (const.insert_data_ptr), 6 6 2 count fixed bin, /* count of allocated data blocks */ 6 7 2 index fixed bin, /* the current block */ 6 8 2 ptr (1000) ptr, /* insert file data block pointers */ 6 9 2 ref_area, /* ref name string area data */ 6 10 3 count fixed bin, /* count of allocated areas */ 6 11 3 ptr (100) ptr; /* area pointers */ 6 12 /* insert call stack */ 6 13 dcl 1 call_stack aligned based (const.call_stk_ptr), 6 14 2 count fixed bin, /* count of allocated boxes */ 6 15 2 index fixed bin, /* current stack index */ 6 16 2 ptr (0:50) ptr; /* stack entry ptrs */ 6 17 dcl call_box_ptr ptr; 6 18 dcl 1 call_box aligned like insert.file based (call_box_ptr); 6 19 dcl 1 call_box0 aligned like insert.file based (call_stack.ptr (0)); 6 20 6 21 dcl 1 insert_refs aligned based, /* ref names structure */ 6 22 2 count fixed bin, /* count of names in area */ 6 23 2 index (60) fixed bin, /* insert_data index values */ 6 24 2 name (60) char (32) unal; 6 25 /* the ref names */ 6 26 6 27 dcl refname_str char (refstr_len) based (refstr_ptr); 6 28 /* for searching */ 6 29 dcl refstr_len fixed bin; /* length of refname search string */ 6 30 dcl refstr_ptr ptr; /* refname string pointer */ 6 31 /* data for an insert file */ 6 32 dcl 1 insert aligned based (shared.insert_ptr), 6 33 2 file, /* also used for source files */ 6 34 3 charcount 6 35 fixed bin (21), /* segment character count */ 6 36 3 comp_no fixed bin, /* msf component number */ 6 37 3 dir char (168), /* containing dir */ 6 38 3 entryname 6 39 char (32), /* primary entryname */ 6 40 3 exit_lineno 6 41 fixed bin (35), /* line number of .ifi */ 6 42 3 fcb_ptr ptr, /* FCB pointer for msf manager */ 6 43 3 info like text_entry.info, 6 44 3 insert_ptr /* self pointer - needed when */ 6 45 ptr, /* struc is in the call stack */ 6 46 /* 3 ntext fixed bin (21), /* character count of text line */ 6 47 3 path char (200) var, /* complete pathname */ 6 48 3 pointer ptr, /* segment pointer */ 6 49 3 posn fixed bin (21), /* input character position */ 6 50 3 refname char (200) var, /* for source files only */ 6 51 2 callers_name 6 52 char (100), /* refname of calling file */ 6 53 2 dtcm bit (36), /* fs date-time-modified */ 6 54 2 refndx fixed bin, /* CURRENT refname index for file */ 6 55 2 thrb fixed bin unsigned, 6 56 /* backward thread index in insert stack */ 6 57 2 label, /* label data per insert level */ 6 58 3 count fixed bin, 6 59 3 line (250) fixed bin unsigned, 6 60 3 position (250) fixed bin (21), 6 61 3 value (250) char (32); 6 62 6 63 /* empty file data structure */ 6 64 dcl 1 init_file_data 6 65 static options (constant), 6 66 2 charcount fixed bin (21) init (0), 6 67 /* segment character count */ 6 68 2 comp_no fixed bin init (0), 6 69 /* msf component number */ 6 70 2 dir char (168) init (""), 6 71 /* containing dir */ 6 72 2 entryname char (32) init (""), 6 73 /* primary entryname */ 6 74 2 exit_lineno 6 75 fixed bin (35) init (0), 6 76 /* line number of .ifi */ 6 77 2 fcb_ptr ptr init (null),/* FCB pointer for msf manager */ 6 78 2 info, /* stuff created during line input */ 6 79 3 fileno /* input file index */ 6 80 fixed bin init (0), 6 81 3 lineno /* input file line number */ 6 82 fixed bin init (0), 6 83 3 lineno0 /* call_box0 line number */ 6 84 fixed bin init (0), 6 85 2 insert_ptr ptr init (null),/* self pointer - needed when */ 6 86 /* struc is in the call stack */ 6 87 /* 2 ntext fixed bin (21) init (0), 6 88*/* /* character count of text line */ 6 89 2 path char (200) var init (""), 6 90 /* complete pathname */ 6 91 2 pointer ptr init (null),/* segment pointer */ 6 92 2 posn fixed bin (21) init (1), 6 93 /* input character position */ 6 94 2 refname char (200) var init (""); 6 95 /* for source files only */ 6 96 6 97 /* END INSERT FILE ... comp_insert.incl.pl1 */ 1094 7 1 /* BEGIN INCLUDE FILE - comp_metacodes.incl.pl1 */ 7 2 7 3 /* format: style2,ind2,ll79,dclind4,idind25,comcol51,linecom */ 7 4 7 5 /* ASCII control characters */ 7 6 dcl ( 7 7 NUL init (""), /* 000 */ 7 8 SOH init (""), /* 001 */ 7 9 STX init (""), /* 002 */ 7 10 ETX init (""), /* 003 */ 7 11 EOT init (""), /* 004 */ 7 12 ENQ init (""), /* 005 */ 7 13 ACK init (""), /* 006 */ 7 14 BEL init (""), /* 007 */ 7 15 BSP init (""), /* 010 */ 7 16 HT init (" "), 7 17 /* 011 */ 7 18 (NL, LF) init (" 7 19 "), /* 012 */ 7 20 VT init (" "), /* 013 */ 7 21 FF init (" "), /* 014 */ 7 22 CR init (" "), /* 015 */ 7 23 (RRS, SO) init (""), /* 016 */ 7 24 (BRS, SI) init (""), /* 017 */ 7 25 DLE init (""), /* 020 */ 7 26 DC1 init (""), /* 021 */ 7 27 (DC2, HLF, HUGE) init (""), /* 022 */ 7 28 DC3 init (""), /* 023 */ 7 29 (DC4, HLR, THICK) init (""), /* 024 */ 7 30 (NAK, MEDIUM) init (""), /* 025 */ 7 31 SYN init (""), /* 026 */ 7 32 (ETB, HAIR) init (""), /* 027 */ 7 33 (CAN, STROKE) init (""), /* 030 */ 7 34 oct031 init (""), /* 031 */ 7 35 SUB init (""), /* 032 */ 7 36 ESC init (""), /* 033 */ 7 37 FS init (""), /* 034 */ 7 38 GS init (""), /* 035 */ 7 39 RS init (""), /* 036 */ 7 40 US init (""), /* 037 */ 7 41 (DEL, PAD) init (""), /* 177 */ 7 42 /* compose meta-characters */ 7 43 multiply init ("ª"), /* 252 - multiply symbol */ 7 44 pl_mi init ("«"), /* 253 - plus/minus sign */ 7 45 nabla init ("¬"), /* 254 */ 7 46 EMdash init ("­"), /* 255 - EM dash */ 7 47 slash init ("¯"), /* 256 */ 7 48 dagger init ("±"), /* 261 */ 7 49 perpen init ("»"), /* 273 - perpendicular mark */ 7 50 not_eq init ("½"), /* 275 - not-equal mark */ 7 51 dbldag init ("Á"), /* 301 - double daggar */ 7 52 cright init ("Ã"), /* 303 - copyright mark */ 7 53 delta init ("Ä"), /* 304 */ 7 54 bullet init ("Í"), /* 315 */ 7 55 prll init ("Î"), /* 316 - parallel mark */ 7 56 PI init ("Ð"), /* 320 - uppercase Greek pi */ 7 57 tmark init ("Ô"), /* 324 - trademark */ 7 58 tfore init ("Ö"), /* 326 - therefore mark */ 7 59 approx init ("Ú"), /* 332 - approximately-equal mark */ 7 60 infin init ("ß"), /* 337 - infinity */ 7 61 theta init ("ê"), /* 352 */ 7 62 pi init ("ð"), /* 360 - lowercase Greek pi */ 7 63 square init ("ý"), /* 375 */ 7 64 overbar init ("þ"), /* 376 */ 7 65 PS init ("ÿ"), /* 377 - punctuation space */ 7 66 sup0 init (""), /* 400 - superior digit 0 */ 7 67 sup1 init (""), /* 401 - superior digit 1 */ 7 68 sup2 init (""), /* 402 - superior digit 2 */ 7 69 sup3 init (""), /* 403 - superior digit 3 */ 7 70 sup4 init (""), /* 404 - superior digit 4 */ 7 71 sup5 init (""), /* 405 - superior digit 5 */ 7 72 sup6 init (""), /* 406 - superior digit 6 */ 7 73 sup7 init (""), /* 407 - superior digit 7 */ 7 74 sup8 init (""), /* 410 - superior digit 8 */ 7 75 sup9 init (" "), /* 411 - superior digit 9 */ 7 76 EM init (" "), /* 412 - EM space */ 7 77 EM_ init (" "), /* 413 - EM aligned dash */ 7 78 EN init (" "), /* 414 - EN space */ 7 79 EN_ init (" "), /* 415 - EN aligned dash */ 7 80 ENd init (""), /* 416 - EN dash */ 7 81 THIN init (""), /* 417 - thinspace */ 7 82 DEVIT init (""), /* 420 - device unit */ 7 83 lquote init (""), /* 421 - left double quote */ 7 84 rquote init (""), /* 422 - right double quote */ 7 85 modmark init (""), /* 424 - text modification/addition mark */ 7 86 delmark init (""), /* 430 - deletion mark */ 7 87 vrule init ("Z"), /* 532 - vertical rule */ 7 88 lslnt init ("^") /* 536 - left slant */ 7 89 ) char (1) unaligned static options (constant); 7 90 7 91 /* END INCLUDE FILE comp_metacodes.incl.pl1 */ 1095 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 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 1096 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 */ 1097 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 */ 1098 11 1 /* BEGIN INCLUDE FILE comp_text.incl.pl1 */ 11 2 11 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 11 4 11 5 dcl 1 tblkdata /* data for allocated text blocks */ 11 6 aligned based (shared.tblkdata_ptr), 11 7 2 block, /* block pool */ 11 8 3 count fixed bin, 11 9 3 ptr (500) ptr, /* block pointers */ 11 10 /* block state flags */ 11 11 3 free (500) bit (1) unal, 11 12 2 line_area, /* line area pool */ 11 13 3 count fixed bin, 11 14 3 ptr (500) ptr, /* area pointers */ 11 15 /* area state flags */ 11 16 3 free (500) bit (1) unal, 11 17 2 text_area, /* text area pool */ 11 18 3 count fixed bin, 11 19 3 ptr (500) ptr, /* area pointers */ 11 20 /* area state flags */ 11 21 3 free (500) bit (1) unal, 11 22 3 string_area_count 11 23 fixed bin; /* line areas */ 11 24 dcl LINE_AREA_SIZE fixed bin static options (constant) init (24); 11 25 dcl line_area_ptr ptr init (null); 11 26 dcl 1 line_area aligned based (line_area_ptr), 11 27 2 next ptr, /* forward thread */ 11 28 2 prev ptr, /* backward thread */ 11 29 2 count fixed bin, /* number of lines allocated */ 11 30 2 ndx fixed bin, /* index of current line */ 11 31 2 pndx fixed bin, /* area pool index */ 11 32 2 linptr (LINE_AREA_SIZE) ptr; 11 33 /* text areas */ 11 34 dcl TEXT_AREA_SIZE fixed bin static options (constant) init (6); 11 35 dcl text_area_ptr ptr init (null); 11 36 dcl 1 text_area aligned based (text_area_ptr), 11 37 2 next ptr, /* forward thread */ 11 38 2 count fixed bin, /* number of areas allocated */ 11 39 2 ndx fixed bin, /* index of current strarea */ 11 40 2 pndx fixed bin, /* area pool index */ 11 41 2 strareaptr (TEXT_AREA_SIZE) ptr; 11 42 /* text string area */ 11 43 dcl string_area (256) fixed bin based; 11 44 dcl txtstrptr ptr; /* current text string */ 11 45 dcl txtstr char (1020) var based (txtstrptr); 11 46 11 47 dcl TEXT_VERSION fixed bin static options (constant) init (9); 11 48 /* general text block */ 11 49 dcl 1 text aligned based (shared.blkptr), 11 50 2 version fixed bin, /* version of structure */ 11 51 2 blkndx fixed bin, /* block data index */ 11 52 2 blktype char (2), /* block type code */ 11 53 /* dynamic block control stuff */ 11 54 2 hdr aligned like text_header, 11 55 /* text read from input file */ 11 56 2 input aligned like text_entry, 11 57 2 input_line char (1020) var,/* input buffer */ 11 58 2 line_area, 11 59 3 first ptr, /* head of line area thread */ 11 60 3 cur ptr, /* current line area */ 11 61 2 next_text ptr, /* next text string */ 11 62 /* text formatting parameters */ 11 63 2 parms aligned like default_parms, 11 64 2 text_area, 11 65 3 first ptr, /* head of text area thread */ 11 66 3 cur ptr; /* current text area */ 11 67 /* an empty text block line */ 11 68 dcl 1 text_entry aligned based (const.text_entry_ptr), 11 69 2 sws, /* unaligned switches, etc. */ 11 70 3 art bit (1) unal, /* line has artwork */ 11 71 3 cbar, /* change bar flags */ 11 72 4 add bit (1) unal, /* text addition flag */ 11 73 4 del bit (1) unal, /* text deletion flag */ 11 74 4 mod bit (1) unal, /* text modification flag */ 11 75 3 default bit (1) unal, /* 1 = default case as needed */ 11 76 3 DVctl bit (1) unal, /* 1 = line is a device ctl string */ 11 77 3 embedded bit (1) unal, /* 1 = line has an embedded control */ 11 78 3 end_keep bit (1) unal, /* 1= line ends a keep */ 11 79 3 fnt_chng bit (1) unal, /* 1 = text is a font change string */ 11 80 3 footref bit (1) unal, /* 1 = line has a footnote reference */ 11 81 3 hanging bit (1) unal, /* 1 = a hanging undent */ 11 82 3 keep bit (1) unal, /* 1 = unsplittable line */ 11 83 3 no_trim bit (1) unal, /* 1 = untrimmable white line */ 11 84 3 oflo bit (1) unal, /* line causes overflow */ 11 85 3 punct bit (1) unal, /* 1 = line ends with punctuation */ 11 86 3 quad bit (6) unal, /* text alignment flags */ 11 87 3 space_added /* 1= line has added space */ 11 88 bit (1) unal, 11 89 3 spcl, /* special entry - not output text */ 11 90 4 file bit (1) unal, /* 1= output to special file */ 11 91 4 blk_splt /* 1= action at block split time */ 11 92 bit (1) unal, 11 93 4 page_mkup /* 1= action at page makeup time */ 11 94 bit (1) unal, 11 95 3 table bit (1) unal, /* 1= line is a table entry */ 11 96 3 tblspc bit (1) unal, /* 1= WS fill for table mode */ 11 97 3 title bit (1) unal, /* 1= line is a */ 11 98 3 unspnct bit (1) unal, /* 1= underscore punctuation */ 11 99 3 unstop bit (1) unal, /* 1= line is/ends with UNSTOP */ 11 100 3 unstrt bit (1) unal, /* 1= line is/ends with UNSTART */ 11 101 3 unswrds bit (1) unal, /* 1= underscore words only */ 11 102 3 white bit (1) unal, /* 1= line is white space */ 11 103 3 und_prot bit (1) unal, /* 1= undent is protected */ 11 104 3 MBZ bit (4) unal, 11 105 2 art_start fixed bin unal, /* start of art string in line */ 11 106 2 art_len fixed bin unal, /* length of art string in line */ 11 107 2 cbar_level /* change level for cbars */ 11 108 char (1) aligned, 11 109 2 cur, /* current scanning data for line */ 11 110 3 chrct fixed bin, /* count of chars scanned */ 11 111 3 gaps fixed bin, /* gap count */ 11 112 3 width fixed bin (31), /* width of font chars */ 11 113 3 min fixed bin (31), /* width of min spbnds */ 11 114 3 avg fixed bin (31), /* width of avg spbnds */ 11 115 3 max fixed bin (31), /* width of max spbnds */ 11 116 3 font like fntstk_entry, 11 117 2 depth fixed bin (31), /* page depth for line */ 11 118 /* font at start of line */ 11 119 2 font like fntstk_entry, 11 120 2 index fixed bin (21), /* char index for line scanning */ 11 121 2 info, /* stuff created during line input */ 11 122 3 fileno fixed bin, /* input file index */ 11 123 3 lineno fixed bin, /* input file line number */ 11 124 3 lineno0 fixed bin, /* call_box0 line number */ 11 125 2 linespace fixed bin (31), /* linespace value for the line */ 11 126 2 lmarg fixed bin (31), /* adjusted left margin position */ 11 127 2 mod_len fixed bin, /* length of modified text */ 11 128 2 mod_start fixed bin, /* index for start of modified text */ 11 129 2 net fixed bin (31), /* net line width for filling */ 11 130 2 ptr ptr, /* pointer to the actual text */ 11 131 2 rmarg fixed bin (31), /* adjusted right margin position */ 11 132 2 spcl_iocbp ptr, /* iocb ptr for spcl line */ 11 133 2 sym_delim char (1) unal, /* symbol delimiter for this line */ 11 134 2 tblcol fixed bin, /* column for table entries */ 11 135 2 title_delim 11 136 char (1) unal, /* title delimiter if a <title> */ 11 137 2 title_index 11 138 fixed bin, /* <title> block index for line */ 11 139 2 width fixed bin (31), /* width of text */ 11 140 2 ftn, /* footnote info for line */ 11 141 3 ct fixed bin, /* number of footnote refs */ 11 142 3 used fixed bin (31), /* space used */ 11 143 3 e (40), /* limit is arbitrary */ 11 144 4 blkndx fixed bin unal, /* block index of footnote - if this 11 145* value is 0, then .frf was used */ 11 146 4 refno fixed bin unal; /* reference number */ 11 147 11 148 dcl ( 11 149 quadi init ("40"b3), /* set to the inside margin */ 11 150 quado init ("20"b3), /* set to the outside margin */ 11 151 quadl init ("10"b3), /* set left */ 11 152 quadc init ("04"b3), /* set centered */ 11 153 quadr init ("02"b3), /* set right */ 11 154 just init ("01"b3) /* justified */ 11 155 ) bit (6) static options (constant); 11 156 /* control line structure */ 11 157 dcl 1 ctl aligned like text_entry based (const.ctl_ptr); 11 158 dcl ctl_line char (1020) var based (ctl.ptr); 11 159 11 160 dcl txtlinptr ptr; /* the current text line */ 11 161 dcl 1 txtlin aligned like text_entry based (txtlinptr); 11 162 /* empty text header structure */ 11 163 dcl 1 text_header aligned based (const.text_header_ptr), 11 164 2 sws, /* control switches */ 11 165 3 art bit (1) unal, /* block has artwork */ 11 166 3 dfrftn bit (1) unal, /* block is a deferred footnote */ 11 167 3 modified bit (1) unal, /* block contains modified lines */ 11 168 3 no_trim bit (1) unal, /* 1 = dont trim WS block */ 11 169 3 oflo_ftn bit (1) unal, /* overflow footnote */ 11 170 3 tblblk bit (1) unal, /* a table block */ 11 171 3 unref bit (1) unal, /* block is an unreffed footnote */ 11 172 3 white bit (1) unal, /* block is a white space block */ 11 173 3 picture bit (1) unal, /* picture block */ 11 174 3 orphan bit (1) unal, /* 1= footnote is an orphan */ 11 175 3 MBZ bit (26) unal, 11 176 2 art_count fixed bin unal, /* to count input art lines */ 11 177 2 blkptr ptr, /* pointer to suspended block */ 11 178 2 cap_size fixed bin unal, /* line count of text caption */ 11 179 2 cap_used fixed bin (31), /* size of text caption */ 11 180 2 colno fixed bin unal, /* column owning the block */ 11 181 2 count fixed bin unal, /* line count for block */ 11 182 2 eqn_line_count 11 183 fixed bin unal, /* counter for equation lines */ 11 184 2 first_text fixed bin unal, /* OBSOLETE */ 11 185 2 ftn, /* footnotes */ 11 186 3 ct fixed bin, /* count */ 11 187 3 usd fixed bin (31), /* space used */ 11 188 3 blkndx (40) fixed bin, /* footnote block index values */ 11 189 2 head_size fixed bin, /* line count of text header */ 11 190 2 head_used fixed bin (31), /* size of text header */ 11 191 2 index fixed bin unal, /* block index of next output line */ 11 192 2 keep_count fixed bin unal, /* to count input keep lines */ 11 193 2 last_line fixed bin, /* last text line in column */ 11 194 2 mx_ttl_ndx fixed bin, /* max title index value in block */ 11 195 2 name char (32) var, /* block name, if any */ 11 196 2 nofill_count /* to count nofill lines */ 11 197 fixed bin, 11 198 2 parms_ptr ptr, /* parms for suspended block */ 11 199 2 refer fixed bin, /* inter-block reference */ 11 200 2 refer_index /* OBSOLETE */ 11 201 fixed bin, /* a reference */ 11 202 2 split fixed bin, /* split point for balancing */ 11 203 2 trl_ws fixed bin (31), /* trailing WS */ 11 204 2 used fixed bin (31); /* page space used by a column/block */ 11 205 /* text formatting parameters */ 11 206 dcl 1 text_parms aligned like default_parms 11 207 based (const.text_parms_ptr); 11 208 11 209 dcl 1 current_parms 11 210 aligned like default_parms 11 211 based (const.current_parms_ptr); 11 212 11 213 dcl 1 default_parms 11 214 aligned based (const.default_parms_ptr), 11 215 2 sws, /* control switches */ 11 216 3 quad bit (6) unal, /* text alignment mode */ 11 217 3 art bit (1) unal, /* 1 = block countains artwork */ 11 218 3 cbar, /* change bar flags */ 11 219 4 add bit (1) unal, /* text addition flag */ 11 220 4 del bit (1) unal, /* text deletion flag for next line */ 11 221 4 mod bit (1) unal, /* text modification flag */ 11 222 3 fill_mode 11 223 bit (1) unal, /* 1 = fill mode ON */ 11 224 3 footnote bit (1) unal, /* block is a footnote */ 11 225 3 hfc bit (1) unal, /* OBSOLETE */ 11 226 3 htab_mode 11 227 bit (1) unal, /* 1 = horizontal tab mode ON */ 11 228 3 keep bit (1) unal, /* keep mode */ 11 229 3 page bit (1) unal, /* block belongs to page, not text */ 11 230 3 title_mode 11 231 bit (1) unal, /* 0 = plain text, 1 = <title>s OK */ 11 232 3 MBZ bit (19) unal, 11 233 2 ftrptr ptr, /* text caption block */ 11 234 2 cbar_level /* change level for cbars */ 11 235 char (1) aligned, 11 236 2 hdrptr ptr, /* text header block */ 11 237 2 left, /* left margin data */ 11 238 3 indent fixed bin (31), 11 239 3 undent fixed bin (31), 11 240 2 linespace fixed bin (31), /* line spacing value */ 11 241 2 measure fixed bin (31), /* line space for text */ 11 242 /* right margin data */ 11 243 2 right like default_parms.left, 11 244 2 fntstk, /* stack of last 20 font changes */ 11 245 3 index fixed bin, /* which one in use */ 11 246 /* entry(0) is the default */ 11 247 3 entry (0:19) like fntstk_entry; 11 248 11 249 dcl hfcblk_ptr ptr; 11 250 dcl 1 hfcblk aligned like text based (hfcblk_ptr); 11 251 11 252 /* END INCLUDE FILE comp_text.incl.pl1 */ 1099 1100 dcl 1 insert_status 1101 aligned like branch_status; 12 1 declare /* Structure returned by hcs_$status_long */ 12 2 12 3 1 branch_status aligned, /* automatic: hcs_$status uses a pointer */ 12 4 12 5 2 type bit(2) unaligned, /* type of entry: link, segment, dir */ 12 6 2 number_names bit(16) unaligned, /* unused by directory_status_ */ 12 7 2 names_rel_pointer bit(18) unaligned, /* unused by directory_status_ */ 12 8 2 date_time_modified bit(36) unaligned, /* date time modified */ 12 9 2 date_time_used bit(36) unaligned, /* date time entry used */ 12 10 2 mode bit(5) unaligned, /* effective access of caller */ 12 11 2 raw_mode bit(5) unaligned, 12 12 2 pad1 bit(8) unaligned, 12 13 2 records bit(18) unaligned, /* number of records in use */ 12 14 2 date_time_dumped bit(36) unaligned, /* date time last dumped */ 12 15 2 date_time_entry_modified bit(36) unaligned, /* date time entry modified */ 12 16 2 lvid bit(36) unaligned, /* logical volume id */ 12 17 2 current_length bit(12) unaligned, /* number of blocks currently allocated */ 12 18 2 bit_count bit(24) unaligned, /* bit count of entry */ 12 19 2 pad3 bit(8) unaligned, 12 20 2 copy_switch bit(1) unaligned, /* the copy switch */ 12 21 2 tpd bit(1) unaligned, /* transparent to paging device */ 12 22 2 mdir bit(1) unaligned, /* master directory switch */ 12 23 2 damaged_switch bit (1) unaligned, /* true if contents damaged */ 12 24 2 synchronized_switch bit (1) unaligned, /* true if a DM synchronized file */ 12 25 2 pad4 bit(5) unaligned, 12 26 2 ring_brackets (0:2) bit(6) unaligned, /* branch ring brackets */ 12 27 2 unique_id bit(36) unaligned, /* entry unique id */ 12 28 12 29 12 30 /* The types of each class of branch */ 12 31 segment_type bit(2) aligned internal static initial ("01"b), 12 32 directory_type bit(2) aligned internal static initial ("10"b), 12 33 msf_type bit(2) aligned internal static initial ("10"b), /* will eventually be different */ 12 34 link_type bit(2) aligned internal static initial ("00"b); 12 35 12 36 1102 1103 /* DISORDER DUE TO SYMBOL TABLE SIZE LIMIT */ 1104 dcl 1 ftnhdrvec like dclong_val; /* vector for default ftn header */ 13 1 /* BEGIN INCLUDE FILE ..... comp_DCdata.incl.pl1 ..... 11/16/78 J Falksen 13 2* Modified: ??/81 - EJW - Addded type_wait 13 3* Modified: 4/83 - EJW - Added type_un(strt stop), reorganized file. 13 4**/ 13 5 13 6 /* format: style2,ind3,ll79,dclind4,idind15,comcol41,linecom */ 13 7 13 8 dcl DCxx_p ptr; /* for qualification of embedded */ 13 9 /* control strings */ 13 10 /* an embedded control string */ 13 11 dcl 1 dcxx unal based (DCxx_p), 13 12 2 mark char (1) unal, /* control marker - DC1 (\021) */ 13 13 2 ctl, 13 14 3 type bit (3) unal, /* 000- device/writer control */ 13 15 /* 001- */ 13 16 /* 010- literal data */ 13 17 /* 011- family/member/size data */ 13 18 /* 100- shift */ 13 19 /* 101- */ 13 20 /* 110- vector */ 13 21 /* 111- zero-offset vector */ 13 22 3 fill1 bit (1) unal, 13 23 3 Xctl bit (2) unal, /* 00- no X value present */ 13 24 /* 01- short X value */ 13 25 /* 10- long X value */ 13 26 3 fill2 bit (1) unal, 13 27 3 Yctl bit (2) unal, /* 00- no Y value present */ 13 28 /* 01- short Y value present */ 13 29 /* 10- long Y value present */ 13 30 2 leng fixed bin (9) unal unsigned, 13 31 /* # of remaining bytes */ 13 32 2 etc; /* the rest of the control bytes */ 13 33 /* device/writer controls */ 13 34 dcl 1 dcctl unal based (DCxx_p), 13 35 2 mark char (1) unal, 13 36 2 type char (1) unal, /* control type */ 13 37 /* leng is always 0 for these */ 13 38 2 leng fixed bin (9) unal unsigned; 13 39 dcl ( 13 40 wait_signal init ("�"), /* = 021001000 */ 13 41 unstart_signal init ("�"), /* = 021002000 */ 13 42 unstop_signal init ("�") /* = 021003000 */ 13 43 ) char (3) static options (constant); 13 44 /* the "literal" control string */ 13 45 dcl 1 dclit unal based (DCxx_p), 13 46 2 mark char (1) unal, 13 47 2 type char (1) unal, /* control type */ 13 48 2 leng fixed bin (9) unal unsigned, 13 49 /* width in milli-points of literal */ 13 50 2 width fixed bin (31) unal, 13 51 /* actual literal, max length 509 */ 13 52 2 data char (dclit.leng - 4); 13 53 /* long (31 bits) values */ 13 54 dcl 1 dclong_val unal based (DCxx_p), 13 55 2 mark char (1) unal, 13 56 2 type char (1) unal, /* control type */ 13 57 2 leng fixed bin (9) unal unsigned, 13 58 ( 13 59 2 v1 fixed bin (31), /* long value */ 13 60 2 v2 fixed bin (31) /* long value */ 13 61 ) unal; 13 62 dcl ( 13 63 dclong_len init (8), /* 2 long values */ 13 64 dclong1_len init (4) /* 1 long value */ 13 65 ) fixed bin static options (constant); 13 66 /* short (17 bit) values */ 13 67 dcl 1 dcshort_val unal based (DCxx_p), 13 68 2 mark char (1) unal, 13 69 2 type char (1) unal, /* control type */ 13 70 2 leng fixed bin (9) unal unsigned, 13 71 ( 13 72 2 v1 fixed bin, /* short value */ 13 73 2 v2 fixed bin /* short value */ 13 74 ) unal; 13 75 dcl ( 13 76 dcshort_len init (4), /* 2 short values */ 13 77 dcshort1_len init (2) /* 1 short value */ 13 78 ) fixed bin static options (constant); 13 79 /* a font change string */ 13 80 dcl 1 dcfs unal based (DCxx_p), 13 81 2 mark char (1) unal, /* font/size data */ 13 82 2 type char (1) unal, /* control type */ 13 83 2 leng fixed bin (9) unal unsigned, 13 84 /* fnttbldata index */ 13 85 2 f fixed bin (9) unal unsigned, 13 86 /* point size in milli-points */ 13 87 2 p fixed bin (31) unal; 13 88 dcl dcfs_len fixed bin init (5) static options (constant); 13 89 13 90 dcl ( /* symbolic definitions of DC types */ 13 91 type_wait init (""), /* writer wait */ 13 92 type_unstart init (""), /* underscore start */ 13 93 type_unstop init (""), /* underscore stop */ 13 94 type_lit init ("ˆ"), /* literal data */ 13 95 type_font init ("À"), /* family/member/size data */ 13 96 /* SHIFTS - */ 13 97 type_sy init (""), /* -- no x, short y */ 13 98 type_sly init (""), /* -- no x, long y */ 13 99 type_sx init (""), /* -- short x, no y */ 13 100 type_sxy init (" "), /* -- short x, short y */ 13 101 type_slx init (""), /* -- long x, no y */ 13 102 type_slxly init (""), /* -- long x, long y */ 13 103 /* VECTORS */ 13 104 type_vy init (""), /* -- no x, short y */ 13 105 type_vly init ("‚"), /* -- no x, long y */ 13 106 type_vx init ("ˆ"), /* -- short x, no y */ 13 107 type_vxy init ("‰"), /* -- short x, short y */ 13 108 type_vlx init (""), /* -- long x, no y */ 13 109 type_vlxly init ("’"), /* -- long x, long y */ 13 110 /* ZERO-OFFSET VECTORS- */ 13 111 type_v0y init ("Á"), /* -- no x, short y */ 13 112 type_v0ly init ("Â"), /* -- no x, long y */ 13 113 type_v0x init ("È"), /* -- short x, no y */ 13 114 type_v0xy init ("É"), /* -- short x, short y */ 13 115 type_v0lx init ("Ð"), /* -- long x, no y */ 13 116 type_v0lxly init ("Ò") /* -- long x, long y */ 13 117 ) char (1) unal int static options (constant); 13 118 13 119 /* END INCLUDE FILE ..... comp_DCdata.incl.pl1 ..... */ 1105 14 1 /* BEGIN INCLUDE FILE - comp_dvid.incl.pl1 */ 14 2 14 3 /* Written: JA Falksen - 6/81 14 4*/* Modified: EJ Wallman - 11/81 - Added comp_dvt.displayproc */ 14 5 /* Modified: EJW - 1/82 - added length arg to comp_dvt.displayproc */ 14 6 /* Modified: 2/82 - EJW - Deleted ptr arg from comp_dvt.displayproc */ 14 7 /* Modified: 3/83 - EJW - Changed footref arg of comp_dvt.footproc to 14 8* (3) char (*) var. Version 4. */ 14 9 /* Modified: 6/83 - EJW - Added error print control switch to calling 14 10* sequence for comp_dvt.displayproc. - Version 5. */ 14 11 14 12 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 14 13 14 14 dcl comp_dvid_version 14 15 fixed bin static options (constant) init (5); 14 16 14 17 dcl 1 comp_dvid aligned based (const.dvidptr), 14 18 2 version fixed bin, /* version of this structure and */ 14 19 /* of comp_dvt */ 14 20 2 devname char (32), /* name of device */ 14 21 2 dvt_r bit (18); /* device table offset */ 14 22 14 23 /* END INCLUDE FILE - comp_dvid.incl.pl1 */ 1106 15 1 /* BEGIN INCLUDE FILE comp_tree.incl.pl1 */ 15 2 15 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 15 4 15 5 dcl 1 tree /* symbol tree structure */ 15 6 based (const.tree_ptr) aligned, 15 7 ( 2 align_mode, /* current text alignment mode */ 15 8 2 art_mode, /* artwork mode */ 15 9 2 block_index, /* current block index */ 15 10 2 block_name, /* name of current block */ 15 11 2 bottom_margin, /* page bottom margin */ 15 12 2 calling_file_name, /* caller of inserted file */ 15 13 2 callers_lineno, /* lineno of .ifi in calling file */ 15 14 2 devclass, /* DeviceClass */ 15 15 2 devname, /* DeviceName */ 15 16 2 dot_addltr, /* add letter of dot page */ 15 17 2 equation_mode, /* equation mode */ 15 18 2 fill_mode, /* text filling mode */ 15 19 2 fontname, /* fontname function */ 15 20 2 footer_margin, /* page footer margin function */ 15 21 2 frontpage, /* front page flag function */ 15 22 2 head_space, /* head space function */ 15 23 2 header_margin, /* page header margin function */ 15 24 2 keep_mode, /* block splitting mode */ 15 25 2 left_indent, /* left margin indention */ 15 26 2 left_undent, /* left margin adjustment */ 15 27 2 line_input, /* line input function */ 15 28 2 linesleft, /* lines left function */ 15 29 2 linespace, /* linespace function */ 15 30 2 measure_bif, /* measure function */ 15 31 2 next_pageno, /* next page number */ 15 32 2 pagecount, /* total page count function */ 15 33 2 pagelines, /* line number on page function */ 15 34 2 page_length, /* current page length function */ 15 35 2 pageno, /* page number function */ 15 36 2 pointsize, /* pointsize function */ 15 37 2 right_indent, /* right margin indention */ 15 38 2 right_undent, /* right margin adjustment */ 15 39 2 symbol_delimiter, /* symbol delimiter function */ 15 40 2 text_depth, /* text depth function */ 15 41 2 text_lineno, /* input file line number for output_line */ 15 42 2 text_width, /* text width function */ 15 43 2 title_delimiter, /* title delimiter function */ 15 44 2 top_margin, /* page top margin function */ 15 45 2 trans, /* translation table for .trf */ 15 46 2 userinput /* terminal insert function */ 15 47 ) label, /**/ 15 48 /* VARIABLE TABLES */ 15 49 2 count fixed bin, /* variable areas allocated */ 15 50 2 areandx fixed bin, /* current area */ 15 51 /* entry count per area */ 15 52 2 entry_ct (MAX_TREE_AREAS) fixed bin, 15 53 2 entryndx fixed bin, /* current entry in area */ 15 54 ( /* storage area pointers */ 15 55 2 flag_ptr, /* flags */ 15 56 2 name_ptr, /* names */ 15 57 2 num_ptr, /* number values */ 15 58 2 incr_ptr, /* counter increments */ 15 59 2 var_ptr /* variable structures */ 15 60 ) ptr dimension (MAX_TREE_AREAS); 15 61 /* flag values */ 15 62 dcl tree_flags (MAX_TREE_AREA_CT) bit (1) aligned 15 63 based (tree.flag_ptr (tree.areandx)); 15 64 /* counter increment values */ 15 65 dcl tree_incrs (MAX_TREE_AREA_CT) fixed bin (31) 15 66 based (tree.incr_ptr (tree.areandx)); 15 67 /* variable names */ 15 68 dcl tree_names_ptr ptr init (null); 15 69 dcl tree_names (MAX_TREE_AREA_CT) char (32) unal 15 70 based (tree_names_ptr); 15 71 /* numeric values */ 15 72 dcl tree_nums (MAX_TREE_AREA_CT) fixed bin (31) 15 73 based (tree.num_ptr (tree.areandx)); 15 74 15 75 dcl tree_var_ptr ptr init (null);/* variable entry structures */ 15 76 dcl 1 tree_var (MAX_TREE_AREA_CT) aligned based (tree_var_ptr), 15 77 2 flags bit (9) aligned,/* type flags */ 15 78 2 mode fixed bin, /* numeric display mode */ 15 79 2 flag_loc ptr, /* flag value pointer */ 15 80 2 num_loc ptr, /* num value pointer */ 15 81 2 incr_loc ptr, /* num increment pointer */ 15 82 2 str_loc ptr; /* str value pointer */ 15 83 15 84 /* END INCLUDE FILE comp_tree.incl.pl1 */ 1107 16 1 /* BEGIN INCLUDE FILE compstat.incl.pl1 - external static data for compose 16 2* 16 3* This storage is converted from external (as declared) to internal by the 16 4* binder and contains items that must be accessible to both the bound and 16 5* unbound program. */ 16 6 16 7 /* Written: ??/??/7? - EJW 16 8* Modified: 10/18/84 - EJW - (First recorded change) Added current_parms_ptr 16 9* and removed the codes array; version 6. 16 10**/ 16 11 16 12 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 16 13 16 14 dcl 1 compstat$compconst 16 15 aligned like const ext static; 16 16 16 17 dcl const_version fixed bin (35) static options (constant) init (6); 16 18 dcl MAX_TREE_AREA_CT /* entries in a tree area */ 16 19 fixed bin static options (constant) init (80); 16 20 dcl MAX_TREE_AREAS /* number of tree areas */ 16 21 fixed bin static options (constant) init (20); 16 22 16 23 dcl 1 const aligned based (compstat$compconst.ptr), 16 24 2 ptr ptr, /* self pointer - MUST BE FIRST */ 16 25 2 version fixed bin (35), /* structure version */ 16 26 2 art_symbols /* string of art symbols */ 16 27 char (28) aligned, 16 28 2 builtin_count /* count of builtin variables */ 16 29 fixed bin, 16 30 2 comp_dir char (200), /* dir in which compose lives */ 16 31 2 comp_version 16 32 char (8) var, /* compose version id */ 16 33 2 date_value char (8) var, /* current date */ 16 34 2 dsm_name char (32), /* device support module name */ 16 35 2 dvt_name char (32), /* device table name */ 16 36 2 max_seg_chars 16 37 fixed bin (35), /* char count in a max seg */ 16 38 2 null_str char (1) var, /* an empty string */ 16 39 2 ptrs, 16 40 ( 3 call_stk_ptr, /* -> insert call stack */ 16 41 3 colhdrptr, /* empty column header structure */ 16 42 3 ctl_ptr, /* input line structure */ 16 43 3 current_parms_ptr, /* current formatting parms */ 16 44 3 default_parms_ptr, /* default initial text parms */ 16 45 3 devptr, /* -> comp_dvt structure */ 16 46 3 dvidptr, /* -> comp_dvid structure */ 16 47 3 errblk_ptr, /* error message block pointer */ 16 48 3 footnote_parms_ptr, /* footnote formatting parms */ 16 49 3 fnttbldata_ptr, /* -> font table data */ 16 50 3 global_area_ptr, /* per invocation storage */ 16 51 3 init_page_parms_ptr, /* default initial page parms */ 16 52 3 insert_data_ptr, /* insert file data block */ 16 53 3 local_area_ptr, /* per file storage */ 16 54 3 loctbl_ptr, /* for font copying */ 16 55 3 option_ptr, /* program options block */ 16 56 3 outproc_ptr, /* device writer for cleanup */ 16 57 3 page_ptr, /* active page structure */ 16 58 3 page_header_ptr, /* empty page header structure */ 16 59 3 page_parms_ptr, /* page formatting parameter block */ 16 60 3 save_shared_ptr, /* saved shared data */ 16 61 3 shared_ptr, /* shared data structure */ 16 62 3 text_entry_ptr, /* empty text entry structure */ 16 63 3 text_header_ptr, /* empty text header structure */ 16 64 3 text_parms_ptr, /* main body formatting parms */ 16 65 3 tree_ptr /* symbol tree structure */ 16 66 ) ptr, 16 67 2 time_value char (6) var; /* time at start */ 16 68 16 69 /* Other external */ 16 70 dcl ( 16 71 ioa_, 16 72 ioa_$nnl 16 73 ) entry options (variable); 16 74 dcl iox_$error_output 16 75 ptr ext static, /* iocb pointer for error_output */ 16 76 iox_$user_input 16 77 ptr ext static, /* iocb pointer for user_input */ 16 78 iox_$user_output 16 79 ptr ext static; /* iocb pointer for user_output */ 16 80 dcl sys_info$max_seg_size 16 81 fixed bin (18) ext static; 16 82 16 83 /* END INCLUDE FILE compstat.incl.pl1 */ 1108 17 1 /* BEGINNING OF: translator_temp_alloc.incl.pl1 * * * * * * * * * * * * * * * * */ 17 2 17 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 17 4 /* */ 17 5 /* N__a_m_e: translator_temp_alloc.incl.pl1 */ 17 6 /* */ 17 7 /* This include segment allocates space in a translator's temporary segment. It */ 17 8 /* contains a complete space allocation function 'allocate' which can be a quick PL/I */ 17 9 /* internal procedure in the program which includes this include segment. The temporary */ 17 10 /* segment should be one obtained by using the translator_temp_ subroutine. */ 17 11 /* */ 17 12 /* S__t_a_t_u_s */ 17 13 /* */ 17 14 /* 0) Created by: G. C. Dixon in January, 1975. */ 17 15 /* 1) Modified by: G. C. Dixon in February, 1981 - use limit area structure. */ 17 16 /* */ 17 17 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 17 18 17 19 17 20 17 21 allocate: procedure (Parea, ANwords) returns (ptr); 17 22 17 23 dcl Parea ptr, /* ptr to the temporary segment. (In) */ 17 24 ANwords fixed bin; /* number of words to be allocated. (In) */ 17 25 17 26 dcl Nwords fixed bin, /* number of words to be allocated, rounded up */ 17 27 /* to a 0 mod 2 quantity. */ 17 28 P ptr, /* a temporary pointer. */ 17 29 code fixed bin(35), /* a status code. */ 17 30 (mod, null, ptr) builtin; 17 31 17 32 dcl 1 area based (Parea), 17 33 2 Pfirst_temp_seg ptr unal, /* ptr to first temp seg of a group. */ 17 34 2 Ofree fixed bin(35), /* offset of next free word in temp seg. */ 17 35 2 Lfree fixed bin(35); /* length of remaining free space in temp seg. */ 17 36 17 37 dcl translator_temp_$get_next_segment 17 38 entry (ptr, ptr, fixed bin(35)); 17 39 17 40 Nwords = ANwords + mod (ANwords, 2); /* round up word count to 0 + mod 2 quantity. */ 17 41 if Nwords > Lfree then do; /* handle area overflow. */ 17 42 call translator_temp_$get_next_segment (Parea, P, code); 17 43 if P = null then return (null); 17 44 Parea = P; 17 45 if Nwords > area.Lfree then return (null); 17 46 end; 17 47 P = ptr (Parea, area.Ofree); /* get pointer to next free word of area. */ 17 48 area.Ofree = area.Ofree + Nwords; /* increase offset of remaining free space. */ 17 49 area.Lfree = area.Lfree - Nwords; /* decrease length of remaining free space. */ 17 50 return (P); 17 51 17 52 end allocate; 17 53 17 54 /* END OF: translator_temp_alloc.incl.pl1 * * * * * * * * * * * * * * * * */ 1109 1110 18 1 /* *************** BEGIN INCLUDE FILE gc_entry_dcls.incl.pl1 *************** */ 18 2 18 3 dcl (graphic_compiler_$tree_ptr, 18 4 gc_$tree_ptr) entry returns (pointer); 18 5 18 6 dcl (graphic_compiler_$return_string, 18 7 gc_$return_string, 18 8 graphic_compiler_$rs, 18 9 gc_$rs) entry (fixed bin (18), pointer, fixed bin, fixed bin (35)); 18 10 18 11 dcl (graphic_compiler_$display_append, 18 12 gc_$display_append, 18 13 graphic_compiler_$da, 18 14 gc_$da) entry (fixed bin (18), fixed bin (35)); 18 15 18 16 dcl (graphic_compiler_$display_append_switch, 18 17 gc_$display_append_switch, 18 18 graphic_compiler_$da_switch, 18 19 gc_$da_switch) entry (fixed bin (18), fixed bin (35), pointer); 18 20 18 21 dcl (graphic_compiler_$display, 18 22 gc_$display, 18 23 graphic_compiler_$d, 18 24 gc_$d) entry (fixed bin (18), fixed bin (35)); 18 25 18 26 dcl (graphic_compiler_$display_switch, 18 27 gc_$display_switch, 18 28 graphic_compiler_$d_switch, 18 29 gc_$d_switch) entry (fixed bin (18), fixed bin (35), pointer); 18 30 18 31 dcl (graphic_compiler_$load, 18 32 gc_$load, 18 33 graphic_compiler_$l, 18 34 gc_$l) entry (fixed bin (18), fixed bin (35)); 18 35 18 36 dcl (graphic_compiler_$load_switch, 18 37 gc_$load_switch, 18 38 graphic_compiler_$l_switch, 18 39 gc_$l_switch) entry (fixed bin (18), fixed bin (35), pointer); 18 40 18 41 dcl (graphic_compiler_$display_name_append, 18 42 gc_$display_name_append, 18 43 graphic_compiler_$dna, 18 44 gc_$dna) entry (char (*), fixed bin (35)); 18 45 18 46 dcl (graphic_compiler_$display_name_append_switch, 18 47 gc_$display_name_append_switch, 18 48 graphic_compiler_$dna_switch, 18 49 gc_$dna_switch) entry (char (*), fixed bin (35), pointer); 18 50 18 51 dcl (graphic_compiler_$display_name, 18 52 gc_$display_name, 18 53 graphic_compiler_$dn, 18 54 gc_$dn) entry (char (*), fixed bin (35)); 18 55 18 56 dcl (graphic_compiler_$display_name_switch, 18 57 gc_$display_name_switch, 18 58 graphic_compiler_$dn_switch, 18 59 gc_$dn_switch) entry (char (*), fixed bin (35), pointer); 18 60 18 61 dcl (graphic_compiler_$load_name, 18 62 gc_$load_name, 18 63 graphic_compiler_$ln, 18 64 gc_$ln) entry (char (*), fixed bin (35)); 18 65 18 66 dcl (graphic_compiler_$load_name_switch, 18 67 gc_$load_name_switch, 18 68 graphic_compiler_$ln_switch, 18 69 gc_$ln_switch) entry (char (*), fixed bin (35), pointer); 18 70 18 71 dcl (graphic_compiler_$prune_tree, 18 72 gc_$prune_tree) entry (fixed bin (35)); 18 73 18 74 /* **************** END INCLUDE FILE gc_entry_dcls.incl.pl1 **************** */ 1111 19 1 /* *************** BEGIN INCLUDE FILE gm_entry_dcls.incl.pl1 *************** */ 19 2 19 3 dcl (graphic_manipulator_$init, 19 4 gm_$init) entry (fixed bin (35)); 19 5 19 6 dcl (graphic_manipulator_$segp, 19 7 gm_$segp) entry (pointer, fixed bin (35)); 19 8 19 9 dcl (graphic_manipulator_$create_position, 19 10 gm_$create_position, 19 11 graphic_manipulator_$cpos, 19 12 gm_$cpos) entry (fixed bin, float bin (27), float bin (27), float bin (27), fixed bin (35)) returns (fixed bin (18)); 19 13 19 14 dcl (graphic_manipulator_$create_mode, 19 15 gm_$create_mode, 19 16 graphic_manipulator_$cmode, 19 17 gm_$cmode) entry (fixed bin, fixed bin, fixed bin (35)) returns (fixed bin (18)); 19 18 19 19 dcl (graphic_manipulator_$create_scale, 19 20 gm_$create_scale, 19 21 graphic_manipulator_$cscale, 19 22 gm_$cscale) entry (float bin (27), float bin (27), float bin (27), fixed bin (35)) returns (fixed bin (18)); 19 23 19 24 dcl (graphic_manipulator_$create_rotation, 19 25 gm_$create_rotation, 19 26 graphic_manipulator_$crot, 19 27 gm_$crot) entry (float bin (27), float bin (27), float bin (27), fixed bin (35)) returns (fixed bin (18)); 19 28 19 29 dcl (graphic_manipulator_$create_clip, 19 30 gm_$create_clip, 19 31 graphic_manipulator_$cclip, 19 32 gm_$cclip) entry (float bin (27), float bin (27), float bin (27), float bin (27), float bin (27), float bin (27), 19 33 fixed bin (35)) returns (fixed bin (18)); 19 34 19 35 dcl (graphic_manipulator_$create_color, 19 36 gm_$create_color, 19 37 graphic_manipulator_$ccolor, 19 38 gm_$ccolor) entry (fixed bin, fixed bin, fixed bin, fixed bin (35)) returns (fixed bin (18)); 19 39 19 40 dcl (graphic_manipulator_$create_text, 19 41 gm_$create_text, 19 42 graphic_manipulator_$ctext, 19 43 gm_$ctext) entry (fixed bin, fixed bin, char (*), fixed bin (35)) returns (fixed bin (18)); 19 44 19 45 dcl (graphic_manipulator_$create_data, 19 46 gm_$create_data, 19 47 graphic_manipulator_$cdata, 19 48 gm_$cdata) entry (fixed bin, bit (*), fixed bin (35)) returns (fixed bin (18)); 19 49 19 50 dcl (graphic_manipulator_$create_list, 19 51 gm_$create_list, 19 52 graphic_manipulator_$clist, 19 53 gm_$clist) entry (fixed bin (18) dimension (*), fixed bin, fixed bin (35)) returns (fixed bin (18)); 19 54 19 55 dcl (graphic_manipulator_$create_array, 19 56 gm_$create_array, 19 57 graphic_manipulator_$carray, 19 58 gm_$carray) entry (fixed bin (18) dimension (*), fixed bin, fixed bin (35)) returns (fixed bin (18)); 19 59 19 60 dcl (graphic_manipulator_$assign_name, 19 61 gm_$assign_name) entry (char (*), fixed bin (18), fixed bin (35)) returns (fixed bin (18)); 19 62 19 63 dcl (graphic_manipulator_$find_structure, 19 64 gm_$find_structure, 19 65 graphic_manipulator_$fstruc, 19 66 gm_$fstruc) entry (char (*), fixed bin (18), fixed bin (35)) returns (fixed bin (18)); 19 67 19 68 dcl (graphic_manipulator_$add_element, 19 69 gm_$add_element) entry (fixed bin (18), fixed bin, fixed bin (18), fixed bin (35)); 19 70 19 71 dcl (graphic_manipulator_$replace_element, 19 72 gm_$replace_element) entry (fixed bin (18), fixed bin, fixed bin (18), fixed bin (35)) returns (fixed bin (18)); 19 73 19 74 dcl (graphic_manipulator_$replace_node, 19 75 gm_$replace_node) entry (fixed bin (18), fixed bin (18), fixed bin (35)); 19 76 19 77 dcl (graphic_manipulator_$remove_symbol, 19 78 gm_$remove_symbol) entry (char (*), fixed bin (35)); 19 79 19 80 dcl (graphic_manipulator_$replicate, 19 81 gm_$replicate) entry (fixed bin (18), fixed bin (35)) returns (fixed bin (18)); 19 82 19 83 dcl (graphic_manipulator_$examine_type, 19 84 gm_$examine_type) entry (fixed bin (18), bit (1) aligned, fixed bin, fixed bin (35)); 19 85 19 86 dcl (graphic_manipulator_$examine_position, 19 87 gm_$examine_position, 19 88 graphic_manipulator_$epos, 19 89 gm_$epos) entry (fixed bin (18), fixed bin, float bin, float bin, float bin, fixed bin (35)); 19 90 19 91 dcl (graphic_manipulator_$examine_mode, 19 92 gm_$examine_mode, 19 93 graphic_manipulator_$emode, 19 94 gm_$emode) entry (fixed bin (18), fixed bin, fixed bin, fixed bin (35)); 19 95 19 96 dcl (graphic_manipulator_$examine_color, 19 97 gm_$examine_color, 19 98 graphic_manipulator_$ecolor, 19 99 gm_$ecolor) entry (fixed bin (18), fixed bin, fixed bin, fixed bin, fixed bin (35)); 19 100 19 101 dcl (graphic_manipulator_$examine_mapping, 19 102 gm_$examine_mapping, 19 103 graphic_manipulator_$emap, 19 104 gm_$emap) entry (fixed bin (18), fixed bin, float bin dimension (*), fixed bin, fixed bin (35)); 19 105 19 106 dcl (graphic_manipulator_$examine_contents, 19 107 gm_$examine_contents) entry (fixed bin (18), fixed bin (18) dimension (*), fixed bin, fixed bin (35)); 19 108 19 109 dcl (graphic_manipulator_$examine_list, 19 110 gm_$examine_list, 19 111 graphic_manipulator_$elist, 19 112 gm_$elist) entry (fixed bin (18), dimension (*) fixed bin (18), fixed bin, fixed bin (35)); 19 113 19 114 dcl (graphic_manipulator_$examine_symtab, 19 115 graphic_manipulator_$esymtab, 19 116 gm_$examine_symtab, 19 117 gm_$esymtab) entry (fixed bin (18) dimension (*), fixed bin, fixed bin (35)); 19 118 19 119 dcl (graphic_manipulator_$examine_symbol, 19 120 gm_$examine_symbol, 19 121 graphic_manipulator_$esymbol, 19 122 gm_$esymbol) entry (fixed bin (18), fixed bin (18), fixed bin, char (*), fixed bin (35)); 19 123 19 124 dcl (graphic_manipulator_$examine_text, 19 125 gm_$examine_text, 19 126 graphic_manipulator_$etext, 19 127 gm_$etext) entry (fixed bin (18), fixed bin, fixed bin, char (*), fixed bin (35)); 19 128 19 129 dcl (graphic_manipulator_$examine_data, 19 130 gm_$examine_data, 19 131 graphic_manipulator_$edata, 19 132 gm_$edata) entry (fixed bin (18), fixed bin, bit (*), fixed bin (35)); 19 133 19 134 dcl (graphic_manipulator_$get_struc, 19 135 gm_$get_struc, 19 136 graphic_manipulator_$gstruc, 19 137 gm_$gstruc) entry (char (*), char (*), char (*), fixed bin, fixed bin (35)); 19 138 19 139 dcl (graphic_manipulator_$put_struc, 19 140 gm_$put_struc, 19 141 graphic_manipulator_$pstruc, 19 142 gm_$pstruc) entry (char (*), char (*), char (*), fixed bin, fixed bin (35)); 19 143 19 144 dcl (graphic_manipulator_$save_file, 19 145 gm_$save_file) entry (char (*), char (*), fixed bin (35)); 19 146 19 147 dcl (graphic_manipulator_$use_file, 19 148 gm_$use_file) entry (char (*), char (*), fixed bin (35)); 19 149 19 150 /* **************** END INCLUDE FILE gm_entry_dcls.incl.pl1 **************** */ 1112 1113 1114 end comp_insert_ctls_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/23/85 0910.1 comp_insert_ctls_.pl1 >spec>online>comp>comp_insert_ctls_.pl1 1089 1 04/23/85 0912.1 comp_brktypes.incl.pl1 >spec>online>comp>comp_brktypes.incl.pl1 1090 2 04/23/85 0912.2 comp_column.incl.pl1 >spec>online>comp>comp_column.incl.pl1 1091 3 03/01/85 1411.9 comp_entries.incl.pl1 >ldd>include>comp_entries.incl.pl1 1092 4 03/01/85 1412.0 comp_fntstk.incl.pl1 >ldd>include>comp_fntstk.incl.pl1 1093 5 03/01/85 1412.0 comp_footnotes.incl.pl1 >ldd>include>comp_footnotes.incl.pl1 1094 6 03/01/85 1412.0 comp_insert.incl.pl1 >ldd>include>comp_insert.incl.pl1 1095 7 04/23/85 0912.3 comp_metacodes.incl.pl1 >spec>online>comp>comp_metacodes.incl.pl1 1096 8 03/01/85 1412.0 comp_option.incl.pl1 >ldd>include>comp_option.incl.pl1 1097 9 04/23/85 0912.4 comp_page.incl.pl1 >spec>online>comp>comp_page.incl.pl1 1098 10 03/01/85 1412.0 comp_shared.incl.pl1 >ldd>include>comp_shared.incl.pl1 1099 11 04/23/85 0912.6 comp_text.incl.pl1 >spec>online>comp>comp_text.incl.pl1 1102 12 11/22/82 0955.6 branch_status.incl.pl1 >ldd>include>branch_status.incl.pl1 1105 13 03/01/85 1411.8 comp_DCdata.incl.pl1 >ldd>include>comp_DCdata.incl.pl1 1106 14 03/01/85 1411.9 comp_dvid.incl.pl1 >ldd>include>comp_dvid.incl.pl1 1107 15 03/01/85 1412.0 comp_tree.incl.pl1 >ldd>include>comp_tree.incl.pl1 1108 16 03/01/85 1412.1 compstat.incl.pl1 >ldd>include>compstat.incl.pl1 1109 17 07/22/81 2045.0 translator_temp_alloc.incl.pl1 >ldd>include>translator_temp_alloc.incl.pl1 1111 18 08/13/81 2035.4 gc_entry_dcls.incl.pl1 >ldd>include>gc_entry_dcls.incl.pl1 1112 19 08/27/75 1700.7 gm_entry_dcls.incl.pl1 >ldd>include>gm_entry_dcls.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. ANwords parameter fixed bin(17,0) dcl 17-23 ref 17-21 17-40 17-40 DC1 constant char(1) initial unaligned dcl 7-6 ref 285 DCxx_p 001214 automatic pointer dcl 13-8 set ref 284* 290 Lfree 2 based fixed bin(35,0) level 2 dcl 17-32 set ref 17-41 17-45 17-49* 17-49 Nwords 001262 automatic fixed bin(17,0) dcl 17-26 set ref 17-40* 17-41 17-45 17-48 17-49 Ofree 1 based fixed bin(35,0) level 2 dcl 17-32 set ref 17-47 17-48* 17-48 P 001264 automatic pointer dcl 17-26 set ref 17-42* 17-43 17-44 17-47* 17-50 Parea parameter pointer dcl 17-23 set ref 17-21 17-41 17-42* 17-44* 17-45 17-47 17-47 17-48 17-48 17-49 17-49 abrt_sw 000011 internal static bit(1) initial unaligned dcl 1079 set ref 143 1082* 1086* addr builtin function dcl 63 ref 104 104 136 136 138 138 156 156 178 178 230 230 284 309 309 360 360 382 382 421 421 441 441 area based structure level 1 unaligned dcl 17-32 argct 000100 automatic fixed bin(17,0) dcl 23 set ref 150* 165* 209* 209 213 213 253 argstr 000101 automatic varying char(1020) dcl 24 set ref 154* 160 163* 165 167 173 181* 187 187 187 195* 195 202* 202 207* 207 art 4 based bit(1) level 4 in structure "text" packed unaligned dcl 11-49 in procedure "comp_insert_ctls_" set ref 445* art based bit(1) level 3 in structure "ftnlin" packed unaligned dcl 338 in procedure "do_a_note" set ref 421* art 4 based bit(1) level 4 in structure "ftnblk" packed unaligned dcl 340 in procedure "do_a_note" ref 445 balftn 2 based structure level 2 in structure "colhdr" dcl 2-21 in procedure "comp_insert_ctls_" balftn 320 based structure level 3 in structure "col" dcl 2-5 in procedure "comp_insert_ctls_" balftn 320 based structure level 3 in structure "locol" dcl 40 in procedure "comp_insert_ctls_" balftn 320 based structure level 3 in structure "col0" dcl 2-37 in procedure "comp_insert_ctls_" blkct 373 based fixed bin(17,0) level 3 in structure "col0" dcl 2-37 in procedure "comp_insert_ctls_" ref 470 blkct 373 based fixed bin(17,0) level 3 in structure "locol" dcl 40 in procedure "comp_insert_ctls_" ref 468 blkndx 377 based fixed bin(17,0) array level 4 dcl 40 ref 300 blkptr based pointer array level 2 in structure "col0" dcl 2-37 in procedure "comp_insert_ctls_" set ref 470* blkptr based pointer array level 2 in structure "locol" dcl 40 in procedure "comp_insert_ctls_" set ref 468* blkptr 2 based pointer array level 2 in structure "ftnblk_data" dcl 5-5 in procedure "comp_insert_ctls_" set ref 301 350 373 373 474* 478 blkptr 3752 based pointer level 3 in structure "shared" dcl 10-7 in procedure "comp_insert_ctls_" set ref 294 297* 309* 316* 322* 325* 360* 404* 425* 441 441* 445 447* 458* 468 470 branch_status 001176 automatic structure level 1 dcl 12-1 bug_mode 4113 based bit(1) level 3 packed unaligned dcl 10-7 ref 87 92 97 257 272 328 352 395 434 730 call_box based structure level 1 dcl 6-18 set ref 237 237 242* call_box_ptr 001164 automatic pointer dcl 6-17 set ref 220* 221 237 237 241* 242 247* 248 249 250 251 call_stack based structure level 1 dcl 6-13 call_stk_ptr 126 based pointer level 3 dcl 16-23 ref 220 220 223 223 224 227 230 230 237 238 241 246 246 247 247 257 cbar 1 based structure level 3 dcl 11-161 set ref 412* char builtin function dcl 63 ref 213 213 chars 1 based structure level 2 dcl 10-7 code 001266 automatic fixed bin(35,0) dcl 17-26 set ref 17-42* col based structure level 1 dcl 2-5 col0 based structure level 1 dcl 2-37 col_index 21 based fixed bin(17,0) level 3 dcl 9-11 set ref 267 267 272* 309* 356 358 358* 441 441 colhdr based structure level 1 dcl 2-21 colptr 3754 based pointer level 3 dcl 10-7 set ref 357 359* 390 392 392 395 395 434 434 472 472 column_ptr 42 based pointer array level 2 dcl 9-11 ref 267 359 379 470 470 comp_ 000020 constant entry external dcl 3-7 ref 244 comp_abort 001156 stack reference condition dcl 65 ref 143 234 comp_break_ 000022 constant entry external dcl 3-11 ref 323 471 comp_error_table_$limitation 000012 external static fixed bin(35,0) dcl 53 set ref 230* comp_error_table_$program_error 000014 external static fixed bin(35,0) dcl 55 set ref 382* comp_extr_str_ 000024 constant entry external dcl 3-21 ref 156 comp_get_file_$find 000026 constant entry external dcl 3-28 ref 136 comp_get_file_$open 000030 constant entry external dcl 3-31 ref 138 comp_report_ 000032 constant entry external dcl 3-59 ref 104 178 comp_report_$ctlstr 000034 constant entry external dcl 3-61 ref 230 382 comp_space_ 000036 constant entry external dcl 3-66 ref 322 404 447 comp_update_symbol_ 000040 constant entry external dcl 3-71 ref 163 213 comp_use_ref_ 000042 constant entry external dcl 3-74 ref 421 comp_util_$add_text 000044 constant entry external dcl 3-75 ref 316 425 458 comp_util_$getblk 000046 constant entry external dcl 3-82 ref 309 360 441 comp_util_$pop 000050 constant entry external dcl 3-91 ref 253 255 comp_util_$relblk 000052 constant entry external dcl 3-94 ref 474 compstat$compconst 000054 external static structure level 1 dcl 16-14 const based structure level 1 dcl 16-23 count 3722 based fixed bin(17,0) level 3 in structure "insert_data" dcl 6-5 in procedure "comp_insert_ctls_" set ref 127 132* count 12(18) based fixed bin(17,0) level 3 in structure "ftnblk" packed unaligned dcl 340 in procedure "do_a_note" set ref 352* 450 455 count based fixed bin(17,0) level 2 in structure "call_stack" dcl 6-13 in procedure "comp_insert_ctls_" set ref 224 238* count based fixed bin(17,0) level 2 in structure "insert_refs" dcl 6-21 in procedure "comp_insert_ctls_" set ref 133* ct 375 based fixed bin(17,0) level 4 in structure "locol" dcl 40 in procedure "comp_insert_ctls_" set ref 272* 276 299 ct 14 based fixed bin(17,0) level 4 in structure "refblk" dcl 43 in procedure "comp_insert_ctls_" set ref 475* 475 ctl based structure level 1 dcl 11-157 ctl_index parameter fixed bin(17,0) dcl 19 ref 14 87 90 ctl_line based varying char(1020) dcl 11-158 set ref 101 104* 112 114 117 118 118 118 125 151 154 156 156* 178* 230* 382* ctl_ptr 132 based pointer level 3 dcl 16-23 ref 101 101 104 104 104 112 112 114 114 117 117 117 117 118 118 118 118 118 118 118 118 125 125 151 151 154 154 156 156 156 156 156 156 156 178 178 178 221 230 230 230 248 291 382 382 382 current_parms based structure level 1 dcl 11-209 set ref 309 309 360 360 441 441 current_parms_ptr 134 based pointer level 3 dcl 16-23 ref 309 309 360 360 441 441 db_sw 000010 internal static bit(1) initial unaligned dcl 743 set ref 737* 741* dclong_val based structure level 1 packed unaligned dcl 13-54 default 2 based bit(1) level 3 packed unaligned dcl 11-161 ref 281 408 default_parms based structure level 1 dcl 11-213 depth 22 based fixed bin(31,0) level 3 in structure "page" dcl 9-11 in procedure "comp_insert_ctls_" set ref 390 390* 395 395 434 434 472 472* depth 374 based fixed bin(31,0) level 3 in structure "col" dcl 2-5 in procedure "comp_insert_ctls_" set ref 390* 472 472* dir 2 based char(168) level 2 in structure "call_box" dcl 6-18 in procedure "comp_insert_ctls_" set ref 250 dir 2 based char(168) level 3 in structure "insert" dcl 6-32 in procedure "comp_insert_ctls_" set ref 217 ercd 000501 automatic fixed bin(35,0) dcl 25 set ref 136* 138 138* 140 exit_lineno 64 based fixed bin(35,0) level 2 dcl 6-18 set ref 221* exit_str 000502 automatic varying char(256) initial dcl 27 set ref 27* 257* 328* 730 730* file based structure level 2 dcl 6-32 set ref 148* 242 fileno 161 based fixed bin(17,0) level 3 in structure "ctl" dcl 11-157 in procedure "comp_insert_ctls_" set ref 248* fileno 70 based fixed bin(17,0) level 3 in structure "call_box" dcl 6-18 in procedure "comp_insert_ctls_" set ref 248 fileno 161 based fixed bin(17,0) level 3 in structure "txtlin" dcl 11-161 in procedure "comp_insert_ctls_" set ref 411* first 776 based pointer level 3 in structure "ftnhdr" dcl 5-10 in procedure "comp_insert_ctls_" ref 280 312 406 415 first 776 based pointer level 3 in structure "ftnblk" dcl 340 in procedure "do_a_note" ref 450 fntstk_entry based structure level 1 dcl 4-6 footnote_break 000264 constant fixed bin(17,0) initial dcl 1-9 set ref 323* 471* footnote_header_ptr 3774 based pointer level 3 dcl 10-7 ref 280 312 406 415 ftn 14 based structure level 3 in structure "refblk" dcl 43 in procedure "comp_insert_ctls_" ftn 375 based structure level 3 in structure "col0" dcl 2-37 in procedure "comp_insert_ctls_" ftn 375 based structure level 3 in structure "locol" dcl 40 in procedure "comp_insert_ctls_" ftn_headed 000603 automatic bit(1) unaligned dcl 28 set ref 263* 363 431* ftn_reset 12 based varying char(8) level 2 dcl 10-7 ref 370 382 ftnblk based structure level 1 dcl 340 ftnblk_data based structure level 1 dcl 5-5 ftnblk_data_ptr 3772 based pointer level 3 dcl 10-7 ref 272 276 301 328 350 370 373 373 474 478 478 478 478 478 ftndx 000604 automatic fixed bin(17,0) dcl 29 set ref 300* 301 301 350 352* 474 478 ftnhdr based structure level 1 dcl 5-10 ftnhdrlin based char(7) unaligned dcl 31 ref 290 ftnhdrvec 001210 automatic structure level 1 packed unaligned dcl 1104 set ref 284 ftnlin based structure level 1 dcl 338 ftnlinptr 001232 automatic pointer dcl 337 set ref 418* 419 421 421 421 425 425 425* 453* 455 458 458 458* ftnptr 001234 automatic pointer dcl 339 set ref 350* 352 352 352 445 450 450 455 455 galley_opt 1(09) based bit(1) level 2 packed unaligned dcl 8-5 ref 294 306 366 hdr 316 based structure level 2 in structure "col" dcl 2-5 in procedure "comp_insert_ctls_" hdr 4 based structure level 2 in structure "refblk" dcl 43 in procedure "comp_insert_ctls_" hdr 316 based structure level 2 in structure "locol" dcl 40 in procedure "comp_insert_ctls_" hdr 4 based structure level 2 in structure "ftnblk" dcl 340 in procedure "do_a_note" hdr 316 based structure level 2 in structure "col0" dcl 2-37 in procedure "comp_insert_ctls_" hdr 15 based structure level 2 in structure "page" dcl 9-11 in procedure "comp_insert_ctls_" hdr 4 based structure level 2 in structure "text" dcl 11-49 in procedure "comp_insert_ctls_" held_space 001236 automatic fixed bin(31,0) dcl 341 set ref 369* 373* 373 highndx based fixed bin(35,0) level 2 dcl 5-5 set ref 272* 276 328* 370 478 478* 478 478* i 000605 automatic fixed bin(17,0) dcl 34 set ref 170* 173 184 187 187 187 187* 187 195 202 223* 224 227 237 238 241 299* 300* icol 001237 automatic fixed bin(17,0) dcl 342 set ref 358* 359 360* 395* 434* ifi_file 000610 automatic structure level 1 unaligned dcl 35 set ref 110* 136 136 138 138 148 ifi_filename 001060 automatic char(200) unaligned dcl 36 set ref 112* 136* ii 001240 automatic fixed bin(17,0) dcl 343 set ref 449* 450 461* 461 index builtin function dcl 348 in procedure "do_a_note" ref 421 index 1 based fixed bin(17,0) level 2 in structure "insert_data" dcl 6-5 in procedure "comp_insert_ctls_" set ref 248* 257* index builtin function dcl 63 in procedure "comp_insert_ctls_" ref 114 117 118 156 173 index 160 based fixed bin(21,0) level 2 in structure "ctl" dcl 11-157 in procedure "comp_insert_ctls_" set ref 101 112 114 117* 117 117 118 118 118* 118 118 125* 151 154 156 156* 156* index 1 based fixed bin(17,0) level 2 in structure "call_stack" dcl 6-13 in procedure "comp_insert_ctls_" set ref 220 223 223* 246* 246 247 257* info 277 based structure level 3 in structure "ftnhdr" dcl 5-10 in procedure "comp_insert_ctls_" info 277 based structure level 3 in structure "hfcblk" dcl 11-250 in procedure "comp_insert_ctls_" info 161 based structure level 2 in structure "ftnlin" dcl 338 in procedure "do_a_note" set ref 421 421 info 277 based structure level 3 in structure "ftnblk" dcl 340 in procedure "do_a_note" info 277 based structure level 3 in structure "refblk" dcl 43 in procedure "comp_insert_ctls_" info 70 based structure level 2 in structure "call_box" dcl 6-18 in procedure "comp_insert_ctls_" info 161 based structure level 2 in structure "ctl" dcl 11-157 in procedure "comp_insert_ctls_" set ref 104 104 156 156 178 178 230 230 291 382 382 info 161 based structure level 2 in structure "txtlin" dcl 11-161 in procedure "comp_insert_ctls_" set ref 291* info 161 based structure level 2 in structure "text_entry" dcl 11-68 in procedure "comp_insert_ctls_" info 277 based structure level 3 in structure "text" dcl 11-49 in procedure "comp_insert_ctls_" init_file_data 000014 constant structure level 1 unaligned dcl 6-64 ref 110 input_dirname 3317 based varying char(168) level 2 dcl 10-7 set ref 136 217* 250* input_filename 3372 based varying char(200) level 2 dcl 10-7 set ref 216* 249* 257* insert based structure level 1 dcl 6-32 insert_data based structure level 1 dcl 6-5 insert_data_ptr 156 based pointer level 3 dcl 16-23 ref 127 130 132 133 248 257 insert_ptr 74 based pointer level 2 in structure "call_box" dcl 6-18 in procedure "comp_insert_ctls_" set ref 251 insert_ptr 4006 based pointer level 3 in structure "shared" dcl 10-7 in procedure "comp_insert_ctls_" set ref 148 216 217 219 242 251* insert_refs based structure level 1 dcl 6-21 set ref 130 130 ioa_ 000056 constant entry external dcl 16-70 ref 92 97 272 352 395 434 730 ioa_$nnl 000060 constant entry external dcl 16-70 ref 87 ioa_$rsnnl 000016 constant entry external dcl 77 ref 257 328 j 000606 automatic fixed bin(17,0) dcl 34 set ref 173* 175 184 187 187 187 187 195 202 314* 315* jj 001241 automatic fixed bin(17,0) dcl 343 set ref 370* 373 373* 417* 418* 452* 453* just constant bit(6) initial unaligned dcl 11-148 ref 316 425 458 left 12 based structure level 2 in structure "current_parms" dcl 11-209 in procedure "comp_insert_ctls_" left 12 based structure level 2 in structure "text_parms" dcl 11-206 in procedure "comp_insert_ctls_" left 1016 based structure level 3 in structure "hfcblk" dcl 11-250 in procedure "comp_insert_ctls_" left 12 based structure level 2 in structure "footnote_parms" dcl 5-12 in procedure "comp_insert_ctls_" left 1016 based structure level 3 in structure "text" dcl 11-49 in procedure "comp_insert_ctls_" left 12 based structure level 2 in structure "default_parms" dcl 11-213 in procedure "comp_insert_ctls_" left 1016 based structure level 3 in structure "ftnblk" dcl 340 in procedure "do_a_note" left 1016 based structure level 3 in structure "ftnhdr" dcl 5-10 in procedure "comp_insert_ctls_" left 1016 based structure level 3 in structure "refblk" dcl 43 in procedure "comp_insert_ctls_" leng 0(18) 001210 automatic fixed bin(9,0) level 2 packed unsigned unaligned dcl 1104 set ref 287* length builtin function dcl 63 ref 101 118 125 151 line_area 776 based structure level 2 in structure "ftnblk" dcl 340 in procedure "do_a_note" line_area 776 based structure level 2 in structure "ftnhdr" dcl 5-10 in procedure "comp_insert_ctls_" line_area based structure level 1 dcl 11-26 in procedure "comp_insert_ctls_" line_area_ptr 001166 automatic pointer initial dcl 11-25 set ref 280* 281 288 312* 312* 314 315* 320 11-25* 406* 407 415* 415* 417 418* 429 450* 452 453* 463* lineno 162 based fixed bin(17,0) level 3 in structure "txtlin" dcl 11-161 in procedure "comp_insert_ctls_" set ref 411* lineno 162 based fixed bin(17,0) level 3 in structure "ctl" dcl 11-157 in procedure "comp_insert_ctls_" set ref 221 linespace 164 based fixed bin(31,0) level 2 in structure "ftnlin" dcl 338 in procedure "do_a_note" set ref 455* linespace 1020 based fixed bin(31,0) level 3 in structure "ftnblk" dcl 340 in procedure "do_a_note" ref 455 linptr 10 based pointer array level 2 dcl 11-26 ref 281 288 315 407 418 453 local_area_ptr 160 based pointer level 3 dcl 16-23 set ref 130* 237* locol based structure level 1 dcl 40 locolptr 001142 automatic pointer dcl 39 set ref 267* 269* 272 276 289 299 300 468 468 468 ltrim builtin function dcl 63 ref 195 202 207 213 213 mark 001210 automatic char(1) level 2 packed unaligned dcl 1104 set ref 285* max builtin function dcl 348 ref 358 441 441 472 measure 457 based fixed bin(31,0) level 3 dcl 40 ref 289 mod builtin function dcl 17-26 ref 17-40 ndx 5 based fixed bin(17,0) level 2 dcl 11-26 ref 314 417 452 net 25 based fixed bin(31,0) level 3 dcl 9-11 ref 379 next based pointer level 2 dcl 11-26 ref 320 429 463 null builtin function dcl 17-26 in procedure "allocate" ref 17-43 17-43 17-45 null builtin function dcl 63 in procedure "comp_insert_ctls_" ref 269 270 297 301 312 11-25 11-35 15-68 15-75 373 415 441 468 475 478 option based structure level 1 dcl 8-5 option_ptr 164 based pointer level 3 dcl 16-23 ref 294 306 366 page based structure level 1 dcl 9-11 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 16-23 ref 267 267 267 272 309 356 358 358 359 379 379 379 382 390 390 391 391 395 395 395 395 395 434 434 434 434 434 441 441 470 470 472 472 pageno 26 based varying char(32) level 3 dcl 9-11 set ref 382* 395* 434* param_pres 3642 based bit(1) level 2 dcl 10-7 set ref 161* 211* parameter 3541 based varying char(254) level 2 dcl 10-7 set ref 156* 160* parms 1004 based structure level 2 in structure "ftnblk" dcl 340 in procedure "do_a_note" parms 457 based structure level 2 in structure "locol" dcl 40 in procedure "comp_insert_ctls_" posn 164 based fixed bin(21,0) level 3 dcl 6-32 set ref 219* ptr 172 based pointer level 2 in structure "ctl" dcl 11-157 in procedure "comp_insert_ctls_" ref 101 104 112 114 117 118 118 118 125 151 154 156 156 178 230 382 ptr 3724 based pointer array level 3 in structure "insert_data" dcl 6-5 in procedure "comp_insert_ctls_" set ref 130* 133 ptr builtin function dcl 17-26 in procedure "allocate" ref 17-47 ptr 172 based pointer level 2 in structure "txtlin" dcl 11-161 in procedure "comp_insert_ctls_" ref 290 ptr 172 based pointer level 2 in structure "ftnlin" dcl 338 in procedure "do_a_note" ref 419 ptr 000054 external static pointer level 2 in structure "compstat$compconst" dcl 16-14 in procedure "comp_insert_ctls_" ref 87 92 97 101 101 104 104 104 112 112 114 114 117 117 117 117 118 118 118 118 118 118 118 118 125 125 127 130 130 132 133 136 148 151 151 154 154 156 156 156 156 156 156 156 156 160 161 178 178 178 211 216 216 217 217 219 220 220 221 223 223 224 227 230 230 230 230 230 237 237 238 241 242 246 246 247 247 248 248 249 250 251 257 257 257 257 267 267 267 272 272 272 276 280 291 294 294 297 301 306 309 309 309 309 312 316 322 325 328 328 350 352 356 357 358 358 359 359 360 360 360 366 370 370 373 373 379 379 379 382 382 382 382 382 390 390 390 391 391 392 392 395 395 395 395 395 395 395 395 404 406 415 421 425 434 434 434 434 434 434 434 434 441 441 441 441 441 441 445 447 458 468 470 470 470 472 472 472 472 474 478 478 478 478 478 730 ptr 2 based pointer array level 2 in structure "call_stack" dcl 6-13 in procedure "comp_insert_ctls_" set ref 220 227 230 230 237* 241 247 ptrs 126 based structure level 2 in structure "const" dcl 16-23 in procedure "comp_insert_ctls_" ptrs 3742 based structure level 2 in structure "shared" dcl 10-7 in procedure "comp_insert_ctls_" qt_found 001144 automatic bit(1) unaligned dcl 41 set ref 171* 172 180* 194* 201* quad 2(11) based bit(6) level 3 in structure "txtlin" packed unaligned dcl 11-161 in procedure "comp_insert_ctls_" ref 316 316 quad 2(11) based bit(6) level 3 in structure "ftnlin" packed unaligned dcl 338 in procedure "do_a_note" ref 425 425 458 458 quadl constant bit(6) initial unaligned dcl 11-148 ref 316 425 458 ref_area 3722 based structure level 2 dcl 6-5 refblk based structure level 1 dcl 43 refblkptr 001146 automatic pointer dcl 42 set ref 270* 475 475 475 refname 165 based varying char(200) level 2 in structure "call_box" dcl 6-18 in procedure "comp_insert_ctls_" set ref 249 refname 165 based varying char(200) level 3 in structure "insert" dcl 6-32 in procedure "comp_insert_ctls_" set ref 216 rtrim builtin function dcl 63 ref 217 save_blkptr 001150 automatic pointer dcl 45 set ref 294* 325 save_colno 001242 automatic fixed bin(17,0) dcl 344 set ref 356* save_colptr 001244 automatic pointer dcl 345 set ref 357* shared based structure level 1 dcl 10-7 shared_ptr 200 based pointer level 3 dcl 16-23 ref 87 92 97 136 148 156 160 161 211 216 216 217 217 219 242 249 250 251 257 257 272 272 276 280 294 297 301 309 312 316 322 325 328 328 350 352 357 359 360 370 370 373 373 382 390 392 392 395 395 395 404 406 415 421 425 434 434 434 441 441 445 447 458 468 470 472 472 474 478 478 478 478 478 730 size builtin function dcl 63 ref 130 130 237 237 space 001246 automatic fixed bin(31,0) dcl 346 set ref 379* 382 390 391 392 395 395 substr builtin function dcl 63 ref 112 114 117 118 118 154 156 167 173 187 187 187 195 202 suffix 001152 automatic varying char(6) dcl 46 set ref 109* 136* 726* sws based structure level 2 in structure "txtlin" dcl 11-161 in procedure "comp_insert_ctls_" sws 4 based structure level 3 in structure "text" dcl 11-49 in procedure "comp_insert_ctls_" sws 4113 based structure level 2 in structure "shared" dcl 10-7 in procedure "comp_insert_ctls_" sws based structure level 2 in structure "ftnlin" dcl 338 in procedure "do_a_note" sws 4 based structure level 3 in structure "ftnblk" dcl 340 in procedure "do_a_note" sym_delim 1 based char(1) level 3 packed unaligned dcl 10-7 ref 421 text based structure level 1 dcl 11-49 text_area_ptr 001170 automatic pointer initial dcl 11-35 set ref 11-35* text_entry based structure level 1 dcl 11-68 text_header based structure level 1 dcl 11-163 translator_temp_$get_next_segment 000062 constant entry external dcl 17-37 ref 17-42 tree_names_ptr 001216 automatic pointer initial dcl 15-68 set ref 15-68* tree_var_ptr 001220 automatic pointer initial dcl 15-75 set ref 15-75* txtlin based structure level 1 dcl 11-161 txtlinptr 001174 automatic pointer dcl 11-160 set ref 288* 290 291 315* 316 316 316* 407* 408 411 411 412 txtstr based varying char(1020) dcl 11-45 set ref 290* 421 421* txtstrptr 001172 automatic pointer dcl 11-44 set ref 419* 421 421 type 0(09) 001210 automatic char(1) level 2 packed unaligned dcl 1104 set ref 286* type_vlx constant char(1) initial unaligned dcl 13-90 ref 286 usd 376 based fixed bin(31,0) level 4 dcl 2-37 ref 379 used 114 based fixed bin(31,0) level 3 in structure "text" dcl 11-49 in procedure "comp_insert_ctls_" ref 373 used 451 based fixed bin(31,0) level 3 in structure "col" dcl 2-5 in procedure "comp_insert_ctls_" set ref 392* 392 395 395 434 434 used 114 based fixed bin(31,0) level 3 in structure "ftnblk" dcl 340 in procedure "do_a_note" ref 352 352 used 37 based fixed bin(31,0) level 3 in structure "page" dcl 9-11 in procedure "comp_insert_ctls_" set ref 379 391* 391 395 395 434 434 v1 0(27) 001210 automatic fixed bin(31,0) level 2 packed unaligned dcl 1104 set ref 289* what 000264 constant varying char(8) initial array dcl 47 set ref 87* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ACK internal static char(1) initial unaligned dcl 7-6 BEL internal static char(1) initial unaligned dcl 7-6 BRS internal static char(1) initial unaligned dcl 7-6 BSP internal static char(1) initial unaligned dcl 7-6 CAN internal static char(1) initial unaligned dcl 7-6 CR internal static char(1) initial unaligned dcl 7-6 DC2 internal static char(1) initial unaligned dcl 7-6 DC3 internal static char(1) initial unaligned dcl 7-6 DC4 internal static char(1) initial unaligned dcl 7-6 DEL internal static char(1) initial unaligned dcl 7-6 DEVIT internal static char(1) initial unaligned dcl 7-6 DLE internal static char(1) initial unaligned dcl 7-6 EM internal static char(1) initial unaligned dcl 7-6 EM_ internal static char(1) initial unaligned dcl 7-6 EMdash internal static char(1) initial unaligned dcl 7-6 EN internal static char(1) initial unaligned dcl 7-6 ENQ internal static char(1) initial unaligned dcl 7-6 EN_ internal static char(1) initial unaligned dcl 7-6 ENd internal static char(1) initial unaligned dcl 7-6 EOT internal static char(1) initial unaligned dcl 7-6 ESC internal static char(1) initial unaligned dcl 7-6 ETB internal static char(1) initial unaligned dcl 7-6 ETX internal static char(1) initial unaligned dcl 7-6 FF internal static char(1) initial unaligned dcl 7-6 FS internal static char(1) initial unaligned dcl 7-6 GS internal static char(1) initial unaligned dcl 7-6 HAIR internal static char(1) initial unaligned dcl 7-6 HLF internal static char(1) initial unaligned dcl 7-6 HLR internal static char(1) initial unaligned dcl 7-6 HT internal static char(1) initial unaligned dcl 7-6 HUGE internal static char(1) initial unaligned dcl 7-6 LF internal static char(1) initial unaligned dcl 7-6 LINE_AREA_SIZE internal static fixed bin(17,0) initial dcl 11-24 MAX_TREE_AREAS internal static fixed bin(17,0) initial dcl 16-20 MAX_TREE_AREA_CT internal static fixed bin(17,0) initial dcl 16-18 MEDIUM internal static char(1) initial unaligned dcl 7-6 NAK internal static char(1) initial unaligned dcl 7-6 NL internal static char(1) initial unaligned dcl 7-6 NUL internal static char(1) initial unaligned dcl 7-6 PAD internal static char(1) initial unaligned dcl 7-6 PI internal static char(1) initial unaligned dcl 7-6 PS internal static char(1) initial unaligned dcl 7-6 RRS internal static char(1) initial unaligned dcl 7-6 RS internal static char(1) initial unaligned dcl 7-6 SI internal static char(1) initial unaligned dcl 7-6 SO internal static char(1) initial unaligned dcl 7-6 SOH internal static char(1) initial unaligned dcl 7-6 STROKE internal static char(1) initial unaligned dcl 7-6 STX internal static char(1) initial unaligned dcl 7-6 SUB internal static char(1) initial unaligned dcl 7-6 SYN internal static char(1) initial unaligned dcl 7-6 TEXT_AREA_SIZE internal static fixed bin(17,0) initial dcl 11-34 TEXT_VERSION internal static fixed bin(17,0) initial dcl 11-47 THICK internal static char(1) initial unaligned dcl 7-6 THIN internal static char(1) initial unaligned dcl 7-6 US internal static char(1) initial unaligned dcl 7-6 VT internal static char(1) initial unaligned dcl 7-6 approx internal static char(1) initial unaligned dcl 7-6 block_break internal static fixed bin(17,0) initial dcl 1-9 bullet internal static char(1) initial unaligned dcl 7-6 call_box0 based structure level 1 dcl 6-19 cleanup 000000 stack reference condition dcl 65 column_break internal static fixed bin(17,0) initial dcl 1-9 comp_art_ 000000 constant entry external dcl 3-8 comp_block_ctls_ 000000 constant entry external dcl 3-9 comp_break_ctls_ 000000 constant entry external dcl 3-12 comp_ctls_ 000000 constant entry external dcl 3-14 comp_dvid based structure level 1 dcl 14-17 comp_dvid_version internal static fixed bin(17,0) initial dcl 14-14 comp_eject_page_ 000000 constant entry external dcl 3-15 comp_expr_eval_ 000000 constant entry external dcl 3-17 comp_fill_ 000000 constant entry external dcl 3-24 comp_font_ 000000 constant entry external dcl 3-25 comp_format_ctls_ 000000 constant entry external dcl 3-26 comp_head_page_ 000000 constant entry external dcl 3-33 comp_hft_ctls_ 000000 constant entry external dcl 3-35 comp_hft_ctls_$title 000000 constant entry external dcl 3-36 comp_init_$one 000000 constant entry external dcl 3-38 comp_init_$three 000000 constant entry external dcl 3-40 comp_init_$two 000000 constant entry external dcl 3-39 comp_insert_ctls_ 000000 constant entry external dcl 3-42 comp_make_page_ 000000 constant entry external dcl 3-44 comp_make_page_$cleanup 000000 constant entry external dcl 3-46 comp_measure_ 000000 constant entry external dcl 3-48 comp_read_$line 000000 constant entry external dcl 3-57 comp_read_$name 000000 constant entry external dcl 3-50 comp_read_$number 000000 constant entry external dcl 3-53 comp_report_$exact 000000 constant entry external dcl 3-64 comp_tbl_ctls_ 000000 constant entry external dcl 3-68 comp_title_block_ 000000 constant entry external dcl 3-69 comp_util_$display 000000 constant entry external dcl 3-77 comp_util_$escape 000000 constant entry external dcl 3-80 comp_util_$num_display 000000 constant entry external dcl 3-84 comp_util_$pageno 000000 constant entry external dcl 3-86 comp_util_$pictures 000000 constant entry external dcl 3-88 comp_util_$push 000000 constant entry external dcl 3-92 comp_util_$replace_text 000000 constant entry external dcl 3-96 comp_util_$search_tree 000000 constant entry external dcl 3-98 comp_util_$set_bin 000000 constant entry external dcl 3-100 comp_util_$set_net_page 000000 constant entry external dcl 3-104 comp_util_$translate 000000 constant entry external dcl 3-106 comp_write_block_ 000000 constant entry external dcl 3-108 comp_write_page_ 000000 constant entry external dcl 3-110 compose_severity_ external static fixed bin(35,0) dcl 3-5 const_version internal static fixed bin(35,0) initial dcl 16-17 copy builtin function dcl 63 cright internal static char(1) initial unaligned dcl 7-6 dagger internal static char(1) initial unaligned dcl 7-6 dbldag internal static char(1) initial unaligned dcl 7-6 dcctl based structure level 1 packed unaligned dcl 13-34 dcfs based structure level 1 packed unaligned dcl 13-80 dcfs_len internal static fixed bin(17,0) initial dcl 13-88 dclit based structure level 1 packed unaligned dcl 13-45 dclong1_len internal static fixed bin(17,0) initial dcl 13-62 dclong_len internal static fixed bin(17,0) initial dcl 13-62 dcshort1_len internal static fixed bin(17,0) initial dcl 13-75 dcshort_len internal static fixed bin(17,0) initial dcl 13-75 dcshort_val based structure level 1 packed unaligned dcl 13-67 dcxx based structure level 1 packed unaligned dcl 13-11 delmark internal static char(1) initial unaligned dcl 7-6 delta internal static char(1) initial unaligned dcl 7-6 directory_type internal static bit(2) initial dcl 12-1 dot_addltr_symb_index internal static fixed bin(17,0) initial dcl 10-126 error_table_$noentry external static fixed bin(35,0) dcl 57 error_table_$segknown external static fixed bin(35,0) dcl 59 expand_pathname_$add_suffix 000000 constant entry external dcl 68 flag_value based bit(1) unaligned dcl 10-132 fntstk_eptr automatic pointer dcl 4-5 footer_break internal static fixed bin(17,0) initial dcl 1-9 footnote_parms based structure level 1 dcl 5-12 format_break internal static fixed bin(17,0) initial dcl 1-9 ftnrefblk automatic fixed bin(17,0) dcl 32 ftnreflin automatic fixed bin(17,0) dcl 33 gc_$d 000000 constant entry external dcl 18-21 gc_$d_switch 000000 constant entry external dcl 18-26 gc_$da 000000 constant entry external dcl 18-11 gc_$da_switch 000000 constant entry external dcl 18-16 gc_$display 000000 constant entry external dcl 18-21 gc_$display_append 000000 constant entry external dcl 18-11 gc_$display_append_switch 000000 constant entry external dcl 18-16 gc_$display_name 000000 constant entry external dcl 18-51 gc_$display_name_append 000000 constant entry external dcl 18-41 gc_$display_name_append_switch 000000 constant entry external dcl 18-46 gc_$display_name_switch 000000 constant entry external dcl 18-56 gc_$display_switch 000000 constant entry external dcl 18-26 gc_$dn 000000 constant entry external dcl 18-51 gc_$dn_switch 000000 constant entry external dcl 18-56 gc_$dna 000000 constant entry external dcl 18-41 gc_$dna_switch 000000 constant entry external dcl 18-46 gc_$l 000000 constant entry external dcl 18-31 gc_$l_switch 000000 constant entry external dcl 18-36 gc_$ln 000000 constant entry external dcl 18-61 gc_$ln_switch 000000 constant entry external dcl 18-66 gc_$load 000000 constant entry external dcl 18-31 gc_$load_name 000000 constant entry external dcl 18-61 gc_$load_name_switch 000000 constant entry external dcl 18-66 gc_$load_switch 000000 constant entry external dcl 18-36 gc_$prune_tree 000000 constant entry external dcl 18-71 gc_$return_string 000000 constant entry external dcl 18-6 gc_$rs 000000 constant entry external dcl 18-6 gc_$tree_ptr 000000 constant entry external dcl 18-3 get_pdir_ 000000 constant entry external dcl 71 gm_$add_element 000000 constant entry external dcl 19-68 gm_$assign_name 000000 constant entry external dcl 19-60 gm_$carray 000000 constant entry external dcl 19-55 gm_$cclip 000000 constant entry external dcl 19-29 gm_$ccolor 000000 constant entry external dcl 19-35 gm_$cdata 000000 constant entry external dcl 19-45 gm_$clist 000000 constant entry external dcl 19-50 gm_$cmode 000000 constant entry external dcl 19-14 gm_$cpos 000000 constant entry external dcl 19-9 gm_$create_array 000000 constant entry external dcl 19-55 gm_$create_clip 000000 constant entry external dcl 19-29 gm_$create_color 000000 constant entry external dcl 19-35 gm_$create_data 000000 constant entry external dcl 19-45 gm_$create_list 000000 constant entry external dcl 19-50 gm_$create_mode 000000 constant entry external dcl 19-14 gm_$create_position 000000 constant entry external dcl 19-9 gm_$create_rotation 000000 constant entry external dcl 19-24 gm_$create_scale 000000 constant entry external dcl 19-19 gm_$create_text 000000 constant entry external dcl 19-40 gm_$crot 000000 constant entry external dcl 19-24 gm_$cscale 000000 constant entry external dcl 19-19 gm_$ctext 000000 constant entry external dcl 19-40 gm_$ecolor 000000 constant entry external dcl 19-96 gm_$edata 000000 constant entry external dcl 19-129 gm_$elist 000000 constant entry external dcl 19-109 gm_$emap 000000 constant entry external dcl 19-101 gm_$emode 000000 constant entry external dcl 19-91 gm_$epos 000000 constant entry external dcl 19-86 gm_$esymbol 000000 constant entry external dcl 19-119 gm_$esymtab 000000 constant entry external dcl 19-114 gm_$etext 000000 constant entry external dcl 19-124 gm_$examine_color 000000 constant entry external dcl 19-96 gm_$examine_contents 000000 constant entry external dcl 19-106 gm_$examine_data 000000 constant entry external dcl 19-129 gm_$examine_list 000000 constant entry external dcl 19-109 gm_$examine_mapping 000000 constant entry external dcl 19-101 gm_$examine_mode 000000 constant entry external dcl 19-91 gm_$examine_position 000000 constant entry external dcl 19-86 gm_$examine_symbol 000000 constant entry external dcl 19-119 gm_$examine_symtab 000000 constant entry external dcl 19-114 gm_$examine_text 000000 constant entry external dcl 19-124 gm_$examine_type 000000 constant entry external dcl 19-83 gm_$find_structure 000000 constant entry external dcl 19-63 gm_$fstruc 000000 constant entry external dcl 19-63 gm_$get_struc 000000 constant entry external dcl 19-134 gm_$gstruc 000000 constant entry external dcl 19-134 gm_$init 000000 constant entry external dcl 19-3 gm_$pstruc 000000 constant entry external dcl 19-139 gm_$put_struc 000000 constant entry external dcl 19-139 gm_$remove_symbol 000000 constant entry external dcl 19-77 gm_$replace_element 000000 constant entry external dcl 19-71 gm_$replace_node 000000 constant entry external dcl 19-74 gm_$replicate 000000 constant entry external dcl 19-80 gm_$save_file 000000 constant entry external dcl 19-144 gm_$segp 000000 constant entry external dcl 19-6 gm_$use_file 000000 constant entry external dcl 19-147 graphic_compiler_$d 000000 constant entry external dcl 18-21 graphic_compiler_$d_switch 000000 constant entry external dcl 18-26 graphic_compiler_$da 000000 constant entry external dcl 18-11 graphic_compiler_$da_switch 000000 constant entry external dcl 18-16 graphic_compiler_$display 000000 constant entry external dcl 18-21 graphic_compiler_$display_append 000000 constant entry external dcl 18-11 graphic_compiler_$display_append_switch 000000 constant entry external dcl 18-16 graphic_compiler_$display_name 000000 constant entry external dcl 18-51 graphic_compiler_$display_name_append 000000 constant entry external dcl 18-41 graphic_compiler_$display_name_append_switch 000000 constant entry external dcl 18-46 graphic_compiler_$display_name_switch 000000 constant entry external dcl 18-56 graphic_compiler_$display_switch 000000 constant entry external dcl 18-26 graphic_compiler_$dn 000000 constant entry external dcl 18-51 graphic_compiler_$dn_switch 000000 constant entry external dcl 18-56 graphic_compiler_$dna 000000 constant entry external dcl 18-41 graphic_compiler_$dna_switch 000000 constant entry external dcl 18-46 graphic_compiler_$l 000000 constant entry external dcl 18-31 graphic_compiler_$l_switch 000000 constant entry external dcl 18-36 graphic_compiler_$ln 000000 constant entry external dcl 18-61 graphic_compiler_$ln_switch 000000 constant entry external dcl 18-66 graphic_compiler_$load 000000 constant entry external dcl 18-31 graphic_compiler_$load_name 000000 constant entry external dcl 18-61 graphic_compiler_$load_name_switch 000000 constant entry external dcl 18-66 graphic_compiler_$load_switch 000000 constant entry external dcl 18-36 graphic_compiler_$prune_tree 000000 constant entry external dcl 18-71 graphic_compiler_$return_string 000000 constant entry external dcl 18-6 graphic_compiler_$rs 000000 constant entry external dcl 18-6 graphic_compiler_$tree_ptr 000000 constant entry external dcl 18-3 graphic_manipulator_$add_element 000000 constant entry external dcl 19-68 graphic_manipulator_$assign_name 000000 constant entry external dcl 19-60 graphic_manipulator_$carray 000000 constant entry external dcl 19-55 graphic_manipulator_$cclip 000000 constant entry external dcl 19-29 graphic_manipulator_$ccolor 000000 constant entry external dcl 19-35 graphic_manipulator_$cdata 000000 constant entry external dcl 19-45 graphic_manipulator_$clist 000000 constant entry external dcl 19-50 graphic_manipulator_$cmode 000000 constant entry external dcl 19-14 graphic_manipulator_$cpos 000000 constant entry external dcl 19-9 graphic_manipulator_$create_array 000000 constant entry external dcl 19-55 graphic_manipulator_$create_clip 000000 constant entry external dcl 19-29 graphic_manipulator_$create_color 000000 constant entry external dcl 19-35 graphic_manipulator_$create_data 000000 constant entry external dcl 19-45 graphic_manipulator_$create_list 000000 constant entry external dcl 19-50 graphic_manipulator_$create_mode 000000 constant entry external dcl 19-14 graphic_manipulator_$create_position 000000 constant entry external dcl 19-9 graphic_manipulator_$create_rotation 000000 constant entry external dcl 19-24 graphic_manipulator_$create_scale 000000 constant entry external dcl 19-19 graphic_manipulator_$create_text 000000 constant entry external dcl 19-40 graphic_manipulator_$crot 000000 constant entry external dcl 19-24 graphic_manipulator_$cscale 000000 constant entry external dcl 19-19 graphic_manipulator_$ctext 000000 constant entry external dcl 19-40 graphic_manipulator_$ecolor 000000 constant entry external dcl 19-96 graphic_manipulator_$edata 000000 constant entry external dcl 19-129 graphic_manipulator_$elist 000000 constant entry external dcl 19-109 graphic_manipulator_$emap 000000 constant entry external dcl 19-101 graphic_manipulator_$emode 000000 constant entry external dcl 19-91 graphic_manipulator_$epos 000000 constant entry external dcl 19-86 graphic_manipulator_$esymbol 000000 constant entry external dcl 19-119 graphic_manipulator_$esymtab 000000 constant entry external dcl 19-114 graphic_manipulator_$etext 000000 constant entry external dcl 19-124 graphic_manipulator_$examine_color 000000 constant entry external dcl 19-96 graphic_manipulator_$examine_contents 000000 constant entry external dcl 19-106 graphic_manipulator_$examine_data 000000 constant entry external dcl 19-129 graphic_manipulator_$examine_list 000000 constant entry external dcl 19-109 graphic_manipulator_$examine_mapping 000000 constant entry external dcl 19-101 graphic_manipulator_$examine_mode 000000 constant entry external dcl 19-91 graphic_manipulator_$examine_position 000000 constant entry external dcl 19-86 graphic_manipulator_$examine_symbol 000000 constant entry external dcl 19-119 graphic_manipulator_$examine_symtab 000000 constant entry external dcl 19-114 graphic_manipulator_$examine_text 000000 constant entry external dcl 19-124 graphic_manipulator_$examine_type 000000 constant entry external dcl 19-83 graphic_manipulator_$find_structure 000000 constant entry external dcl 19-63 graphic_manipulator_$fstruc 000000 constant entry external dcl 19-63 graphic_manipulator_$get_struc 000000 constant entry external dcl 19-134 graphic_manipulator_$gstruc 000000 constant entry external dcl 19-134 graphic_manipulator_$init 000000 constant entry external dcl 19-3 graphic_manipulator_$pstruc 000000 constant entry external dcl 19-139 graphic_manipulator_$put_struc 000000 constant entry external dcl 19-139 graphic_manipulator_$remove_symbol 000000 constant entry external dcl 19-77 graphic_manipulator_$replace_element 000000 constant entry external dcl 19-71 graphic_manipulator_$replace_node 000000 constant entry external dcl 19-74 graphic_manipulator_$replicate 000000 constant entry external dcl 19-80 graphic_manipulator_$save_file 000000 constant entry external dcl 19-144 graphic_manipulator_$segp 000000 constant entry external dcl 19-6 graphic_manipulator_$use_file 000000 constant entry external dcl 19-147 hcs_$make_seg 000000 constant entry external dcl 72 hcs_$status_mins 000000 constant entry external dcl 74 hfcblk based structure level 1 dcl 11-250 hfcblk_ptr automatic pointer dcl 11-249 infin internal static char(1) initial unaligned dcl 7-6 init_page_parms based structure level 1 dcl 9-108 input_bitcount automatic fixed bin(35,0) dcl 37 insert_status automatic structure level 1 dcl 1100 iox_$error_output external static pointer dcl 16-74 iox_$user_input external static pointer dcl 16-74 iox_$user_output external static pointer dcl 16-74 iref automatic fixed bin(17,0) dcl 38 k automatic fixed bin(17,0) dcl 34 link_type internal static bit(2) initial dcl 12-1 lquote internal static char(1) initial unaligned dcl 7-6 lslnt internal static char(1) initial unaligned dcl 7-6 max builtin function dcl 63 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 63 mod builtin function dcl 63 mode_string internal static char(16) initial unaligned dcl 10-129 modmark internal static char(1) initial unaligned dcl 7-6 msf_manager_$get_ptr 000000 constant entry external dcl 78 msf_manager_$open 000000 constant entry external dcl 81 msf_type internal static bit(2) initial dcl 12-1 multiply internal static char(1) initial unaligned dcl 7-6 nabla internal static char(1) initial unaligned dcl 7-6 need_break internal static fixed bin(17,0) initial dcl 1-9 not_eq internal static char(1) initial unaligned dcl 7-6 num_value based fixed bin(31,0) dcl 10-133 oct031 internal static char(1) initial unaligned dcl 7-6 option_version internal static fixed bin(35,0) initial dcl 8-3 overbar internal static char(1) initial unaligned dcl 7-6 page_break internal static fixed bin(17,0) initial dcl 1-9 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 perpen internal static char(1) initial unaligned dcl 7-6 pi internal static char(1) initial unaligned dcl 7-6 pl_mi internal static char(1) initial unaligned dcl 7-6 prll internal static char(1) initial unaligned dcl 7-6 quadc internal static bit(6) initial unaligned dcl 11-148 quadi internal static bit(6) initial unaligned dcl 11-148 quado internal static bit(6) initial unaligned dcl 11-148 quadr internal static bit(6) initial unaligned dcl 11-148 refctr automatic fixed bin(17,0) dcl 44 refname_str based char unaligned dcl 6-27 refstr_len automatic fixed bin(17,0) dcl 6-29 refstr_ptr automatic pointer dcl 6-30 rquote internal static char(1) initial unaligned dcl 7-6 save_shared based structure level 1 dcl 10-124 search_paths_$find_dir 000000 constant entry external dcl 83 segment_type internal static bit(2) initial dcl 12-1 shared_version internal static fixed bin(35,0) initial dcl 10-5 slash internal static char(1) initial unaligned dcl 7-6 square internal static char(1) initial unaligned dcl 7-6 string_area based fixed bin(17,0) array dcl 11-43 sup0 internal static char(1) initial unaligned dcl 7-6 sup1 internal static char(1) initial unaligned dcl 7-6 sup2 internal static char(1) initial unaligned dcl 7-6 sup3 internal static char(1) initial unaligned dcl 7-6 sup4 internal static char(1) initial unaligned dcl 7-6 sup5 internal static char(1) initial unaligned dcl 7-6 sup6 internal static char(1) initial unaligned dcl 7-6 sup7 internal static char(1) initial unaligned dcl 7-6 sup8 internal static char(1) initial unaligned dcl 7-6 sup9 internal static char(1) initial unaligned dcl 7-6 sys_info$max_seg_size external static fixed bin(18,0) dcl 16-80 tblkdata based structure level 1 dcl 11-5 text_area based structure level 1 dcl 11-36 text_parms based structure level 1 dcl 11-206 tfore internal static char(1) initial unaligned dcl 7-6 theta internal static char(1) initial unaligned dcl 7-6 tmark internal static char(1) initial unaligned dcl 7-6 tree based structure level 1 dcl 15-5 tree_flags based bit(1) array dcl 15-62 tree_incrs based fixed bin(31,0) array dcl 15-65 tree_names based char(32) array unaligned dcl 15-69 tree_nums based fixed bin(31,0) array dcl 15-72 tree_var based structure array level 1 dcl 15-76 type_font internal static char(1) initial unaligned dcl 13-90 type_lit internal static char(1) initial unaligned dcl 13-90 type_slx internal static char(1) initial unaligned dcl 13-90 type_slxly internal static char(1) initial unaligned dcl 13-90 type_sly internal static char(1) initial unaligned dcl 13-90 type_sx internal static char(1) initial unaligned dcl 13-90 type_sxy internal static char(1) initial unaligned dcl 13-90 type_sy internal static char(1) initial unaligned dcl 13-90 type_unstart internal static char(1) initial unaligned dcl 13-90 type_unstop internal static char(1) initial unaligned dcl 13-90 type_v0lx internal static char(1) initial unaligned dcl 13-90 type_v0lxly internal static char(1) initial unaligned dcl 13-90 type_v0ly internal static char(1) initial unaligned dcl 13-90 type_v0x internal static char(1) initial unaligned dcl 13-90 type_v0xy internal static char(1) initial unaligned dcl 13-90 type_v0y internal static char(1) initial unaligned dcl 13-90 type_vlxly internal static char(1) initial unaligned dcl 13-90 type_vly internal static char(1) initial unaligned dcl 13-90 type_vx internal static char(1) initial unaligned dcl 13-90 type_vxy internal static char(1) initial unaligned dcl 13-90 type_vy internal static char(1) initial unaligned dcl 13-90 type_wait internal static char(1) initial unaligned dcl 13-90 unstart_signal internal static char(3) initial unaligned dcl 13-39 unstop_signal internal static char(3) initial unaligned dcl 13-39 vrule internal static char(1) initial unaligned dcl 7-6 wait_signal internal static char(3) initial unaligned dcl 13-39 NAMES DECLARED BY EXPLICIT CONTEXT. abrtf 003143 constant entry external dcl 1084 abrtn 003130 constant entry external dcl 1080 allocate 004601 constant entry internal dcl 17-21 ref 130 237 comp_insert_ctls_ 000547 constant entry external dcl 14 ctl_ 000000 constant label array(107:117) dcl 92 ref 90 dbf 003116 constant entry external dcl 739 dbn 003103 constant entry external dcl 735 do_a_note 003154 constant entry internal dcl 332 ref 301 join_ifi 000733 constant label dcl 110 ref 728 return_ 003041 constant label dcl 730 ref 106 145 235 261 276 486 488 NAMES DECLARED BY CONTEXT OR IMPLICATION. after builtin function ref 207 before builtin function ref 112 dec builtin function ref 352 352 395 395 395 395 395 395 395 395 434 434 434 434 434 434 divide builtin function ref 352 352 395 395 395 395 395 395 395 395 434 434 434 434 434 434 hbound builtin function ref 227 230 230 verify builtin function ref 118 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 5202 5266 4714 5212 Length 6136 4714 64 634 266 2 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME comp_insert_ctls_ 964 external procedure is an external procedure. do_a_note internal procedure shares stack frame of external procedure comp_insert_ctls_. allocate internal procedure shares stack frame of external procedure comp_insert_ctls_. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 db_sw comp_insert_ctls_ 000011 abrt_sw comp_insert_ctls_ STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME comp_insert_ctls_ 000100 argct comp_insert_ctls_ 000101 argstr comp_insert_ctls_ 000501 ercd comp_insert_ctls_ 000502 exit_str comp_insert_ctls_ 000603 ftn_headed comp_insert_ctls_ 000604 ftndx comp_insert_ctls_ 000605 i comp_insert_ctls_ 000606 j comp_insert_ctls_ 000610 ifi_file comp_insert_ctls_ 001060 ifi_filename comp_insert_ctls_ 001142 locolptr comp_insert_ctls_ 001144 qt_found comp_insert_ctls_ 001146 refblkptr comp_insert_ctls_ 001150 save_blkptr comp_insert_ctls_ 001152 suffix comp_insert_ctls_ 001164 call_box_ptr comp_insert_ctls_ 001166 line_area_ptr comp_insert_ctls_ 001170 text_area_ptr comp_insert_ctls_ 001172 txtstrptr comp_insert_ctls_ 001174 txtlinptr comp_insert_ctls_ 001176 branch_status comp_insert_ctls_ 001210 ftnhdrvec comp_insert_ctls_ 001214 DCxx_p comp_insert_ctls_ 001216 tree_names_ptr comp_insert_ctls_ 001220 tree_var_ptr comp_insert_ctls_ 001232 ftnlinptr do_a_note 001234 ftnptr do_a_note 001236 held_space do_a_note 001237 icol do_a_note 001240 ii do_a_note 001241 jj do_a_note 001242 save_colno do_a_note 001244 save_colptr do_a_note 001246 space do_a_note 001262 Nwords allocate 001264 P allocate 001266 code allocate THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_ne_as alloc_cs call_ext_out_desc call_ext_out return mod_fx1 signal shorten_stack ext_entry real_to_real_tr divide_fx1 THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. comp_ comp_break_ comp_extr_str_ comp_get_file_$find comp_get_file_$open comp_report_ comp_report_$ctlstr comp_space_ comp_update_symbol_ comp_use_ref_ comp_util_$add_text comp_util_$getblk comp_util_$pop comp_util_$relblk ioa_ ioa_$nnl ioa_$rsnnl translator_temp_$get_next_segment THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. comp_error_table_$limitation comp_error_table_$program_error compstat$compconst LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 27 000534 11 25 000535 11 35 000537 15 68 000540 15 75 000541 14 000544 87 000555 90 000607 92 000612 95 000633 97 000634 101 000655 104 000664 106 000725 109 000726 110 000733 112 000736 114 000762 117 000774 118 000775 124 001034 125 001035 127 001040 130 001043 132 001057 133 001065 136 001066 138 001137 140 001161 143 001163 145 001171 148 001172 150 001243 151 001244 154 001252 156 001270 160 001364 161 001375 163 001402 165 001437 167 001447 170 001453 171 001455 172 001456 173 001460 175 001477 178 001500 180 001545 181 001547 182 001550 184 001551 187 001555 194 001576 195 001600 197 001635 201 001636 202 001640 204 001674 205 001675 207 001676 208 001741 209 001743 210 001745 211 001746 213 001747 216 002036 217 002051 219 002071 220 002073 221 002100 223 002103 224 002107 227 002111 230 002113 234 002161 235 002164 237 002165 238 002203 241 002210 242 002214 244 002221 246 002225 247 002233 248 002237 249 002244 250 002252 251 002257 253 002261 255 002274 257 002306 261 002355 263 002356 267 002357 269 002371 270 002373 272 002375 276 002433 280 002444 281 002447 284 002453 285 002455 286 002457 287 002461 288 002463 289 002464 290 002473 291 002501 294 002512 297 002522 299 002524 300 002535 301 002540 304 002553 306 002555 309 002564 312 002612 314 002626 315 002637 316 002643 319 002710 320 002712 322 002716 323 002752 325 002764 328 002772 486 003031 488 003032 726 003033 728 003040 730 003041 733 003101 735 003102 737 003111 738 003114 739 003115 741 003124 742 003126 1080 003127 1082 003136 1083 003141 1084 003142 1086 003151 1087 003153 332 003154 350 003155 352 003166 356 003241 357 003247 358 003252 359 003257 360 003262 363 003311 366 003313 369 003322 370 003323 373 003341 377 003360 379 003362 382 003374 390 003451 391 003456 392 003460 395 003461 402 003635 404 003636 406 003667 407 003676 408 003700 411 003703 412 003705 415 003713 417 003726 418 003737 419 003743 421 003745 425 004013 428 004061 429 004063 431 004067 432 004071 434 004072 441 004223 445 004265 447 004277 449 004327 450 004330 452 004342 453 004353 455 004357 458 004367 461 004433 462 004434 463 004436 468 004442 470 004460 471 004472 472 004503 474 004517 475 004533 478 004542 482 004573 484 004600 17 21 004601 17 40 004603 17 41 004611 17 42 004615 17 43 004630 17 44 004640 17 45 004643 17 47 004653 17 48 004662 17 49 004666 17 50 004674 ----------------------------------------------------------- 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