COMPILATION LISTING OF SEGMENT comp_init_ Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 04/23/85 1001.8 mst Tue Options: optimize map 1 /* *********************************************************** 2* * * 3* * * 4* * Copyright, (C) Honeywell Information Systems Inc., 1981 * 5* * * 6* * * 7* *********************************************************** */ 8 9 /* compose subroutine to initialize the internal data base */ 10 11 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 12 13 comp_init_: 14 proc; 15 return; /* no entry here */ 16 17 /* LOCAL STORAGE */ 18 19 dcl date_time_string 20 char (16); /* current date and time */ 21 dcl debug_sw bit (1); /* effective debug switch */ 22 dcl ercd fixed bin (35); /* system error code */ 23 24 dcl (addr, min, null, size) 25 builtin; 26 dcl cleanup condition; 27 28 dcl clock_ entry returns (fixed bin (71)); 29 dcl com_err_ entry options (variable); 30 dcl date_time_ entry (fixed bin (71), char (*)); 31 dcl translator_temp_$get_segment 32 entry (char (*) aligned, ptr, fixed bin (35)); 33 34 /* CONSTANT STATIC STORAGE */ 35 36 dcl builtin_names (80) char (32) static options (constant) 37 init ("AlignMode", "ArgCount", "Args", "ArtMode", 38 "BlockIndex", "BlockName", "CallingFileName", 39 "CallingLineNo", "ChangeBar", "CommandArgCount", "Date", 40 "Device", "DeviceClass", "DeviceName", "DotAddLetter", 41 "Eqcnt", "EqMode", "ExtraMargin", "FileName", 42 "FillMode", "FirstPass", "FontName", "Footcnt", 43 "FootnoteMode", "FootReset", "From", "FrontPage", 44 "Galley", "HeadSpace", "Hyphenating", "Indent", 45 "IndentRight", "InputDirName", "InputFileName", 46 "InputLineno", "InsertIndex", "KeepMode", 47 "LineNumberOpt", "LineInput", "LinesLeft", "LineSpace", 48 "Measure", "NextPageNo", "OutputFileOpt", "PageBlock", 49 "PageCount", "PageLength", "PageLine", "PageNo", 50 "PageSpace", "PageWidth", "Parameter", "ParamPresent", 51 "Pass", "PictureCount", "PointSize", "Print", "StopOpt", 52 "SymbolDelimiter", "TableMode", "TextDepth", 53 "TextWidth", "Time", "TitleDelimiter", "To", "TrTable", 54 "Undent", "UndentRight", "UserInput", "VMargBottom", 55 "VMargFooter", "VMargHeader", "VMargTop", "WaitOpt", 56 "Widow", "WidowFoot", 57 /**/ 58 (4) (32)""); /* set spares to PADs */ 59 60 dcl 1 initial_page_parms /* initial page formatting parms */ 61 aligned static options (constant), 62 2 init_page_depth 63 fixed bin (31), /* initial page depth */ 64 2 length fixed bin (31) init (792000), 65 /* page length */ 66 2 lmarg, /* page left margins */ 67 3 even fixed bin (31) init (0), 68 3 odd fixed bin (31) init (0), 69 2 margin, /* margin values */ 70 3 top fixed bin (31), 71 3 header fixed bin (31), 72 3 footer fixed bin (31), 73 3 bottom fixed bin (31), 74 2 measure fixed bin (31), /* line space available for text */ 75 2 net, /* net usable space on page */ 76 3 even fixed bin (31), /* even pages */ 77 3 odd fixed bin (31), /* odd pages */ 78 2 cols, /* columns defined for the page */ 79 /* 1= balance columns */ 80 3 bal bit (1) unal init ("1"b), 81 3 MBZ bit (17) unal init ((17)"0"b), 82 /* the number of columns */ 83 3 count fixed bin unal init (0); 84 /* force following structure to even */ 85 dcl dummy ptr init (null ()) static options (constant); 86 87 dcl 1 initial_shared /* initial shared data values */ 88 aligned static options (constant), 89 2 version fixed bin (35), /* version of this structure */ 90 2 chars, /**/ 91 ( 3 sym_delim /* delimiter for symbols */ 92 init ("%"), 93 3 ttl_delim /* delimiter for title parts */ 94 init ("|"), 95 3 wrd_brkr init (" ") /* word break character */ 96 ) char (1) unal, 97 3 PAD char (1) unal init (""), 98 2 cbar_type /* change bar type */ 99 char (4) var init (""), 100 2 dot_add_letter /* dot page add letter (= PAD) */ 101 char (1) var init (""), 102 /* width of EN in current font */ 103 2 EN_width fixed bin (31) init (0), 104 /* equation reference counter */ 105 2 eqn_refct fixed bin init (1), 106 2 footref_fcs /* footnote ref FCS string */ 107 char (8) init (""), 108 /* footnote reset mode */ 109 2 ftn_reset char (8) var init ("paged"), 110 /* footnote ref counter */ 111 2 ftnrefct fixed bin init (1), 112 /* least word part size for hyphing */ 113 2 hyph_size fixed bin (31) init (3), 114 2 if_nest, /* if/then/else logic control */ 115 /* depth of logic nest */ 116 3 ndx fixed bin init (0), 117 3 e (25), /* nest entries */ 118 /* .if control switch */ 119 4 sw fixed bin, /* 0=off, 1=(then), -1=(else) */ 120 4 info like text_entry.info, 121 4 line char (256) var, /* the control line */ 122 2 indctl, /* indent ctls stack */ 123 /* current level */ 124 3 ndx fixed bin init (0), 125 /* switch bits */ 126 3 stk (0:35) bit (1) unal init ((36) (1)"0"b), 127 2 input_dirname /* dir containing current input file */ 128 char (168) var init (""), 129 2 input_filename /* current input file name */ 130 char (200) var init (""), 131 2 lead /* current linespacing value */ 132 fixed bin (31) init (0), 133 2 lit_count fixed bin (35) init (0), 134 /* count of literal lines */ 135 2 next_pagenmbr /* next page number */ 136 char (32) var init ("1"), 137 2 output_file /* output file identifier */ 138 char (32) var init (""), 139 2 pagecount /* number of pages produced */ 140 fixed bin init (0), 141 2 pagenum, /* page number structure */ 142 /* level currently counting */ 143 3 index fixed bin init (1), 144 /* separator chars (NULs) */ 145 3 sep (20) char (1) unal init ((20) (1)""), 146 /* the counters */ 147 3 nmbr (20) fixed bin (31) init ((20) 0), 148 /* display modes */ 149 3 mode (20) fixed bin (8) unal init ((20) 0), 150 /* command line parameter */ 151 2 parameter char (254) var init (""), 152 /* passed parameter flag */ 153 2 param_pres bit (1) unal init ("0"b), 154 2 pass_counter 155 fixed bin init (1), 156 /* pass counter */ 157 2 picture, /* picture blocks */ 158 3 count fixed bin init (0), 159 3 space /* total picture space */ 160 fixed bin (31) init (0), 161 3 blk (10), /* picture blocks */ 162 4 type /* type = page/col */ 163 char (4) init ((10) (0)""), 164 4 place /* place = top/cen/bot */ 165 char (4) init ((10) (0)""), 166 4 ptr /* pointer to block */ 167 ptr init ((10) null), 168 4 size /* size of picture */ 169 fixed bin (31) init ((10) 0), 170 2 ptrs, 171 ( 3 aux_file_data_ptr, /* -> auxiliary file data */ 172 3 blank_footer_ptr, /* -> blank page footer */ 173 3 blank_header_ptr, /* -> blank page header */ 174 3 blank_text_ptr, /* -> blank page text */ 175 3 blkptr, /* -> active text */ 176 3 colptr, /* current column */ 177 3 compout_ptr, /* iocb pointer for output */ 178 3 compx_ptr, /* iocb pointer for compx file */ 179 3 ctb_ptr, /* current line artwork table */ 180 3 epftrptr, /* even page footer block */ 181 3 ephdrptr, /* even page header block */ 182 3 fcb_ptr, /* input file control block pointer */ 183 3 ftnblk_data_ptr, /* footnote block data */ 184 3 footnote_header_ptr, /* footnote header */ 185 3 graphic_page_ptr, /* graphic output page */ 186 3 hit_data_ptr, /* hit data pointer */ 187 3 htab_ptr, /* horizontal tab tables */ 188 3 hwrd_data_ptr, /* local hyphenation table */ 189 3 insert_ptr, /* data entry for current file */ 190 3 opftrptr, /* odd page footer block */ 191 3 ophdrptr, /* odd page header block */ 192 3 ptb_ptr, /* previous line artwork table */ 193 3 spcl_blkptr, /* "special" block pointer */ 194 3 tbldata_ptr, /* table column data */ 195 3 tblkdata_ptr, /* text block data array */ 196 3 text_header_ptr /* empty text header structure */ 197 ) ptr init (null), 198 2 scale, /* space conversion scale factors */ 199 3 horz fixed bin (31) init (7200), 200 /* horizontal */ 201 3 vert fixed bin (31) init (12000), 202 /* vertical */ 203 2 source_filename /* source file name */ 204 char (200) var init (""), 205 2 sws, /* switch bits */ 206 ( 3 bug_mode init ("0"b), /* debug mode */ 207 3 compout_not_headed /* compout not headed */ 208 init ("1"b), 209 3 end_input /* EOF for current input file */ 210 init ("0"b), 211 3 end_output /* 1 = no more output is wanted */ 212 init ("0"b), 213 3 firstpass /* 1 = first pass over input */ 214 init ("1"b), 215 3 ftn_mode init ("0"b), /* 1 = in footnote mode */ 216 3 hyph_mode /* hyphenating mode */ 217 init ("0"b), 218 3 inserting_hfc /* inserting hdr, ftr, or cap */ 219 init ("0"b), 220 3 literal_mode /* literal line mode flag */ 221 init ("0"b), 222 3 pageblock /* blocks belong to page */ 223 init ("0"b), 224 3 picture_mode /* building a picture */ 225 init ("0"b), 226 3 print_flag /* producing output */ 227 init ("0"b), 228 3 purge_ftns /* purging footnotes */ 229 init ("0"b), 230 3 suppress_footref /* supress number */ 231 init ("0"b), 232 3 table_mode /* 1 = in table mode */ 233 init ("0"b) 234 ) bit (1) unal, 235 3 MBZ bit (21) unal init ((21)"0"b), 236 2 trans, /* trans table for .tr */ 237 3 in char (128) var init (""), 238 /* input chars */ 239 3 out char (128) var init (""), 240 /* output chars */ 241 2 widow_size fixed bin (31) init (2), 242 /* widow size */ 243 2 widow_foot fixed bin (31) init (1); 244 /* widow size for footnotes */ 245 246 dcl 1 init_default_parms 247 aligned static options (constant), 248 2 sws, /* control switches */ 249 /* text alignment mode */ 250 3 quad bit (6) unal init ("000001"b), 251 /* artwork block flag */ 252 3 art bit (1) unal init ("0"b), 253 3 cbar, /* change bar flags */ 254 /* text addition flag */ 255 4 add bit (1) unal init ("0"b), 256 /* text deletion flag */ 257 4 del bit (1) unal init ("0"b), 258 /* text modification flag */ 259 4 mod bit (1) unal init ("0"b), 260 3 fill_mode /* fill mode */ 261 bit (1) unal init ("1"b), 262 /* block is a footnote */ 263 3 footnote bit (1) unal init ("0"b), 264 /* OBSOLETE */ 265 3 hfc bit (1) unal init ("0"b), 266 3 htab_mode /* horizontal tab mode flag */ 267 bit (1) unal init ("0"b), 268 /* keep mode */ 269 3 keep bit (1) unal init ("0"b), 270 /* block belongs to page */ 271 3 page bit (1) unal init ("0"b), 272 3 title_mode /* 1 = s OK */ 273 bit (1) unal init ("0"b), 274 3 MBZ bit (19) unal init ((19)"0"b), 275 2 ftrptr ptr init (null), /* text caption block */ 276 2 cbar_level /* change level for cbars */ 277 char (1) aligned init (""), 278 2 hdrptr ptr init (null), /* text header block */ 279 2 left, /* left margin data */ 280 3 indent fixed bin (31) init (0), 281 3 undent fixed bin (31) init (0), 282 /* line spacing */ 283 2 linespace fixed bin (31) init (12000), 284 /* line space available for text */ 285 2 measure fixed bin (31) init (0), 286 2 right like init_default_parms.left, 287 /* arrays to the back of the bus, please! */ 288 2 fntstk, /* stack of last 20 font changes */ 289 /* which one in use */ 290 3 index fixed bin init (0), 291 3 entry (0:19) like fntstk_entry; 292 /* the stack entries */ 293 /* empty text header structure */ 294 dcl 1 initial_text_header 295 aligned static options (constant), 296 2 sws, /* control switches */ 297 ( 3 art init ("0"b), /* block has artwork */ 298 3 dfrftn init ("0"b), /* block is a deferred footnote */ 299 3 modified init ("0"b), /* block has modified lines */ 300 3 no_trim init ("0"b), /* dont trim WS block */ 301 3 oflo_ftn init ("0"b), /* overflow footnote */ 302 3 orphan init ("0"b), /* footnote is an orphan */ 303 3 picture init ("0"b), /* picture block */ 304 3 tblblk init ("0"b), /* a table block */ 305 3 unref init ("0"b), /* block is an unreffed footnote */ 306 3 white init ("0"b) /* block is a white space block */ 307 ) bit (1) unal, 308 3 MBZ bit (26) unal init ((26)"0"b), 309 /* artwork line counter */ 310 2 art_count fixed bin unal init (0), 311 2 blkptr ptr init (null), /* pointer to suspended block */ 312 /* line count of text caption */ 313 2 cap_size fixed bin unal init (0), 314 /* size of text caption */ 315 2 cap_used fixed bin (31) init (0), 316 /* containing column */ 317 2 colno fixed bin unal init (0), 318 /* line count for block */ 319 2 count fixed bin unal init (0), 320 /* counter for equation lines */ 321 2 eqn_line_count 322 fixed bin unal init (0), 323 /* OBSOLETE */ 324 2 first_text fixed bin unal init (0), 325 2 ftn, /* footnotes in the block */ 326 /* number */ 327 3 ct fixed bin init (0), 328 /* space needed */ 329 3 usd fixed bin (31) init (0), 330 /* block index values */ 331 3 blkndx (40) fixed bin init ((40) 0), 332 /* line count of text header */ 333 2 head_size fixed bin init (0), 334 /* size of text header */ 335 2 head_used fixed bin (31) init (0), 336 /* block index of next output line */ 337 2 index fixed bin unal init (1), 338 /* to count input keep lines */ 339 2 keep_count fixed bin unal init (0), 340 /* last text line in column */ 341 2 last_line fixed bin init (0), 342 /* max title index value in block */ 343 2 mx_ttl_ndx fixed bin init (0), 344 /* block name, if any */ 345 2 name char (32) var init (""), 346 2 nofill_count /* to count nofill lines */ 347 fixed bin init (0), 348 2 parms_ptr ptr init (null), /* pointer to suspended parms */ 349 /* inter-unit reference */ 350 2 refer fixed bin init (0), 351 2 refer_index /* OBSOLETE */ 352 fixed bin init (0), 353 2 split /* split point for balancing */ 354 fixed bin init (0), 355 2 trl_ws /* trailing WS */ 356 fixed bin (31) init (0), 357 2 used /* space used by a block */ 358 fixed bin (31) init (0); 359 /* initial symbol tree structure */ 360 dcl 1 init_tree_var /* dimension MUST = MAX_TREE_AREA_CT */ 361 (80) aligned static options (constant), 362 /* type flags */ 363 2 flags bit (9) aligned init 364 /**/ 365 ("001001000"b, /* AlignMode - string function */ 366 "100010001"b, /* ArgCount - stack numeric */ 367 "001000001"b, /* Args - stack string */ 368 "000101000"b, /* ArtMode - flag function*/ 369 "100001000"b, /* BlockIndex - binary function */ 370 "001001000"b, /* BlockName - string function */ 371 "001001000"b, /* CallingFileName - string function */ 372 "100001000"b, /* CallingLineNo - binary function */ 373 "001000000"b, /* ChangeBar - string */ 374 "100000000"b, /* CommandArgCount - binary */ 375 "001000000"b, /* Date - string */ 376 "001000000"b, /* Device - string */ 377 "001001000"b, /* DeviceClass - string function */ 378 "001001000"b, /* DeviceName - string function */ 379 "001001000"b, /* DotAddLetter - string function */ 380 "100000000"b, /* Eqcnt - binary */ 381 "000101000"b, /* EqMode - flag function */ 382 "100000100"b, /* ExtraMargin - horiz numeric */ 383 "001000000"b, /* FileName - string */ 384 "000101000"b, /* FillMode - flag function */ 385 "000100000"b, /* FirstPass - flag */ 386 "001001000"b, /* FontName - string function */ 387 "100000000"b, /* Footcnt - binary */ 388 "000100000"b, /* FootnoteMode - flag */ 389 "001000000"b, /* FootReset - string */ 390 "001000000"b, /* From - string */ 391 "000101000"b, /* FrontPage - flag function */ 392 "000100000"b, /* Galley - flag */ 393 "100001010"b, /* HeadSpace - vert numeric function */ 394 "000100000"b, /* Hyphenating - flag */ 395 "100001100"b, /* Indent - horiz num fcn */ 396 "100001100"b, /* IndentRight - horiz num fcn */ 397 "001000000"b, /* InputDirName - string */ 398 "001000000"b, /* InputFileName - string */ 399 "100001000"b, /* InputLineno - binary function */ 400 "100000000"b, /* InsertIndex - binary */ 401 "000101000"b, /* KeepMode - flag function */ 402 "000100000"b, /* LineNumberOpt - flag */ 403 "001001000"b, /* LineInput - string function */ 404 "100001010"b, /* LinesLeft - vert numeric function */ 405 "100001010"b, /* LineSpace - vert numeric function */ 406 "100001100"b, /* Measure - horiz numeric function */ 407 "001001000"b, /* NextPageNo - string function */ 408 "000100000"b, /* OutputFileOpt - flag */ 409 "000100000"b, /* PageBlock - flag */ 410 "100001000"b, /* PageCount - binary function */ 411 "100001010"b, /* PageLength - vert num function */ 412 "100001010"b, /* PageLine - vert num function */ 413 "001001000"b, /* PageNo - string function */ 414 "100000000"b, /* PageSpace - binary */ 415 "100000100"b, /* PageWidth - horiz numeric */ 416 "001000000"b, /* Parameter - string */ 417 "000100000"b, /* ParamPresent - flag */ 418 "100000000"b, /* Pass - binary */ 419 "100000000"b, /* PictureCount - binary */ 420 "100011000"b, /* PointSize - num function */ 421 "000100000"b, /* Print - flag */ 422 "000100000"b, /* StopOpt - flag */ 423 "001001000"b, /* SymbolDelimiter - string function */ 424 "000100000"b, /* TableMode - flag */ 425 "100001010"b, /* TextDepth - vert num function */ 426 "100001100"b, /* TextWidth - horiz num function */ 427 "001000000"b, /* Time - string */ 428 "001001000"b, /* TitleDelimiter - string function */ 429 "001000000"b, /* To - string */ 430 "001001000"b, /* TrTable - string function */ 431 "100001100"b, /* Undent - horiz num fcn */ 432 "100001100"b, /* UndentRight - horiz num fcn */ 433 "001001000"b, /* UserInput - string function */ 434 "100001010"b, /* VMargBottom - vert bin function */ 435 "100001010"b, /* VMargFooter - vert bin function */ 436 "100001010"b, /* VMargHeader - vert bin function */ 437 "100001010"b, /* VMargTop - vert numeric function */ 438 "000100000"b, /* WaitOpt - flag */ 439 "100000000"b, /* Widow - binary */ 440 "100000000"b, /* WidowFoot - binary */ 441 (4) (9)"0"b), /**/ 442 /* numeric display mode */ 443 2 mode fixed bin init ((80) 0), 444 ( 445 2 flag_loc, /* flag value pointer */ 446 2 num_loc, /* num value pointer */ 447 2 incr_loc, /* num increment pointer */ 448 2 str_loc /* str value pointer */ 449 ) ptr init ((80) null); 450 451 one: 452 entry; /* step 1 - enough to process args */ 453 if db_sw 454 then call ioa_ ("init_$one:"); /**/ 455 /* pre-set all pointers */ 456 const.colhdrptr, const.call_stk_ptr, const.ctl_ptr, const.errblk_ptr, 457 const.init_page_parms_ptr, const.default_parms_ptr, 458 const.global_area_ptr, const.insert_data_ptr, const.local_area_ptr, 459 const.option_ptr, const.page_ptr, const.page_header_ptr, 460 const.page_parms_ptr, const.save_shared_ptr, const.shared_ptr, 461 const.text_header_ptr, const.text_entry_ptr, const.fnttbldata_ptr, 462 const.text_parms_ptr, const.tree_ptr, const.loctbl_ptr, 463 const.outproc_ptr = null (); 464 465 /* initialize the constants */ 466 const.builtin_count = 80; /* 76 + 4 spares */ 467 /* date of invocation */ 468 call date_time_ (clock_ (), date_time_string); 469 const.date_value = before (date_time_string, " "); 470 const.null_str = ""; /* an empty string */ 471 const.time_value = after (date_time_string, " "); 472 /* global storage area */ 473 call translator_temp_$get_segment ("compose", const.global_area_ptr, ercd); 474 if ercd ^= 0 475 then 476 do; 477 call com_err_ (ercd, "compose", "Defining a global storage area."); 478 signal cleanup; 479 return; 480 end; /**/ 481 /* command options structure */ 482 const.option_ptr = allocate (const.global_area_ptr, size (option)); 483 unspec (option) = "0"b; /* initialize them */ 484 option.version = option_version; 485 option.cbar.level, option.pgc_select = " "; 486 option.cbar.place = "o"; 487 option.cbar.space = 14400; 488 option.cbar.left.mark, option.cbar.right.mark = modmark; 489 option.cbar.del.mark = delmark; 490 option.cbar.left.sep, option.cbar.right.sep, option.cbar.del.sep = 7200; 491 option.cbar.left.width, option.cbar.right.width, option.cbar.del.width = 492 7200; 493 option.db_before_line, option.db_line_end, option.line_2 = 500000; 494 option.db_file = " "; 495 option.hyph_size = 3; 496 option.linespace = 12000; 497 option.pglst.from = "1"; 498 option.passes = 1; /**/ 499 /* shared dynamic data */ 500 const.shared_ptr = allocate (const.global_area_ptr, size (shared)); 501 shared = initial_shared; /* preset so cleanup doesn't barf */ 502 shared.version = shared_version; /* version of shared structure */ 503 504 if db_sw 505 then call ioa_ ("^5x(init_$one)"); 506 507 return; /* end of step one */ 508 509 two: 510 entry; 511 debug_sw = shared.bug_mode & db_sw; 512 513 514 if debug_sw 515 then call ioa_ ("init_$two:"); /* continue global allocations */ 516 /* control line */ 517 const.ctl_ptr = allocate (const.global_area_ptr, size (ctl)); 518 /* and buffer */ 519 ctl.ptr = allocate (const.global_area_ptr, size (ctl)); 520 /* default page formatting parms */ 521 const.init_page_parms_ptr = 522 allocate (const.global_area_ptr, size (init_page_parms)); 523 /* default text formatting parms */ 524 const.default_parms_ptr = 525 allocate (const.global_area_ptr, size (default_parms)); 526 default_parms = init_default_parms; /**/ 527 /* footnote formatting parms */ 528 const.footnote_parms_ptr = 529 allocate (const.global_area_ptr, size (footnote_parms)); 530 footnote_parms = init_default_parms;/**/ 531 /* insert file data structure */ 532 const.insert_data_ptr = 533 allocate (const.global_area_ptr, size (insert_data)); 534 insert_data.count, insert_data.index, insert_data.ref_area.count = 0; 535 /* insert call stack */ 536 const.call_stk_ptr = allocate (const.global_area_ptr, size (call_stack)); 537 /* current page layout parms */ 538 const.page_parms_ptr = allocate (const.global_area_ptr, size (page_parms)); 539 shared.parameter = option.parameter;/* copy option data */ 540 shared.hyph_mode = option.hyph_opt; /**/ 541 /* current formatting parms */ 542 const.text_parms_ptr = allocate (const.global_area_ptr, size (text_parms)); 543 text_parms = init_default_parms; /**/ 544 /* program variable symbol tree */ 545 const.tree_ptr = allocate (const.global_area_ptr, size (tree)); 546 tree.flag_ptr, tree.incr_ptr, tree.name_ptr, tree.num_ptr, tree.var_ptr = 547 null; 548 549 tree.count = 1; /* storage for builtins */ 550 tree.flag_ptr (1) = allocate (const.global_area_ptr, size (tree_flags)); 551 tree.incr_ptr (1) = allocate (const.global_area_ptr, size (tree_incrs)); 552 tree.name_ptr (1) = allocate (const.global_area_ptr, size (tree_names)); 553 tree.num_ptr (1) = allocate (const.global_area_ptr, size (tree_nums)); 554 tree.var_ptr (1) = allocate (const.global_area_ptr, size (tree_var)); 555 /* output page structure */ 556 const.page_ptr = allocate (const.global_area_ptr, size (page)); 557 page.version = page_version; /* and initialize */ 558 /* empty column header */ 559 const.colhdrptr = allocate (const.global_area_ptr, size (colhdr)); 560 /* empty text structures */ 561 const.text_entry_ptr = allocate (const.global_area_ptr, size (text_entry)); 562 const.text_header_ptr = 563 allocate (const.global_area_ptr, size (text_header)); 564 text_header = initial_text_header; 565 const.page_header_ptr = 566 allocate (const.global_area_ptr, size (page_header)); 567 const.fnttbldata_ptr = allocate (const.global_area_ptr, size (fnttbldata)); 568 fnttbldata.ndx, fnttbldata.count = 0; 569 fnttbldata.medsel_ptr = null; 570 571 if debug_sw 572 then call ioa_ ("^5x(init_$two)"); 573 574 return; /* end of step two */ 575 576 three: 577 entry; 578 debug_sw = shared.bug_mode & db_sw; 579 580 if debug_sw 581 then call ioa_ ("init_$three:"); /**/ 582 /* initialize variable tree */ 583 tree.count, tree.areandx = 1; /* builtins go in the first area */ 584 tree.entry_ct (*) = 0; 585 tree.entry_ct (1) = MAX_TREE_AREA_CT; 586 tree_names_ptr = tree.name_ptr (1); 587 string (tree_names) = string (builtin_names); 588 tree_var_ptr = tree.var_ptr (1); 589 tree_var = init_tree_var; /**/ 590 /* AlignMode */ 591 tree_var.num_loc (1) = addr (tree.align_mode); 592 /* ArgCount */ 593 stkbox_ptr = allocate (const.global_area_ptr, size (stack_box)); 594 stack_box = init_stack_box; 595 tree_var.num_loc (2), tree_var.str_loc (2) = stkbox_ptr; 596 /* Args */ 597 stkbox_ptr = allocate (const.global_area_ptr, size (stack_box)); 598 stack_box = init_stack_box; 599 tree_var.num_loc (3), tree_var.str_loc (3) = stkbox_ptr; 600 /* ArtMode */ 601 tree_var.num_loc (4) = addr (tree.art_mode); 602 /* BlockIndex */ 603 tree_var.num_loc (5) = addr (tree.block_index); 604 /* BlockName */ 605 tree_var.num_loc (6) = addr (tree.block_name); 606 /* CallingFileName */ 607 tree_var.num_loc (7) = addr (tree.calling_file_name); 608 /* CallingLineNo */ 609 tree_var.num_loc (8) = addr (tree.callers_lineno); 610 /* ChangeBar */ 611 tree_var.str_loc (9) = addr (shared.cbar_type); 612 /* CommandArgCount */ 613 tree_var.num_loc (10) = addr (option.arg_count); 614 /* Date */ 615 tree_var.str_loc (11) = addr (const.date_value); 616 /* Device */ 617 tree_var.str_loc (12) = addr (option.device); 618 /* DeviceClass */ 619 tree_var.num_loc (13) = addr (tree.devclass); 620 /* DeviceName */ 621 tree_var.num_loc (14) = addr (tree.devname); 622 /* DotAddLetter - func */ 623 tree_var.num_loc (15) = addr (tree.dot_addltr); 624 /* DotAddLetter - val */ 625 tree_var.str_loc (15) = addr (shared.dot_add_letter); 626 /* Eqcnt */ 627 tree_var.num_loc (16) = addr (shared.eqn_refct); 628 /* EqMode */ 629 tree_var.num_loc (17) = addr (tree.equation_mode); 630 /* ExtraMargin */ 631 tree_var.num_loc (18) = addr (option.extra_indent); 632 /* FileName */ 633 tree_var.str_loc (19) = addr (shared.source_filename); 634 /* FillMode */ 635 tree_var.num_loc (20) = addr (tree.fill_mode); 636 /* FirstPass */ 637 tree_var.flag_loc (21) = addr (shared.firstpass); 638 /* FontName */ 639 tree_var.num_loc (22) = addr (tree.fontname); 640 /* Footcnt */ 641 tree_var.num_loc (23) = addr (shared.ftnrefct); 642 /* FootnoteMode */ 643 tree_var.flag_loc (24) = addr (shared.ftn_mode); 644 /* FootReset */ 645 tree_var.str_loc (25) = addr (shared.ftn_reset); 646 /* From */ 647 tree_var.str_loc (26) = addr (option.pglst (0).from); 648 /* FrontPage */ 649 tree_var.num_loc (27) = addr (tree.frontpage); 650 /* Galley */ 651 tree_var.flag_loc (28) = addr (option.galley_opt); 652 /* HeadSpace */ 653 tree_var.num_loc (29) = addr (tree.head_space); 654 /* Hyphenating */ 655 tree_var.flag_loc (30) = addr (shared.hyph_mode); 656 /* Indent */ 657 tree_var.num_loc (31) = addr (tree.left_indent); 658 /* IndentRight */ 659 tree_var.num_loc (32) = addr (tree.right_indent); 660 /* InputDirName */ 661 tree_var.str_loc (33) = addr (shared.input_dirname); 662 /* InputFileName */ 663 tree_var.str_loc (34) = addr (shared.input_filename); 664 /* InputLineno */ 665 tree_var.num_loc (35) = addr (tree.text_lineno); 666 /* InsertIndex */ 667 tree_var.num_loc (36) = addr (insert_data.index); 668 /* KeepMode */ 669 tree_var.num_loc (37) = addr (tree.keep_mode); 670 /* LineNumberOpt */ 671 tree_var.flag_loc (38) = addr (option.number_opt); 672 /* LineInput */ 673 tree_var.num_loc (39) = addr (tree.line_input); 674 /* LinesLeft */ 675 tree_var.num_loc (40) = addr (tree.linesleft); 676 /* LineSpace */ 677 tree_var.num_loc (41) = addr (tree.linespace); 678 /* Measure */ 679 tree_var.num_loc (42) = addr (tree.measure_bif); 680 /* NextPageNo */ 681 tree_var.num_loc (43) = addr (tree.next_pageno); 682 /* OutputFileOpt */ 683 tree_var.flag_loc (44) = addr (option.output_file_opt); 684 /* PageBlock */ 685 tree_var.flag_loc (45) = addr (shared.pageblock); 686 /* PageCount */ 687 tree_var.num_loc (46) = addr (tree.pagecount); 688 /* PageLength */ 689 tree_var.num_loc (47) = addr (tree.page_length); 690 /* PageLine */ 691 tree_var.num_loc (48) = addr (tree.pagelines); 692 /* PageNo */ 693 tree_var.num_loc (49) = addr (tree.pageno); 694 tree_var.num_loc (50) = null; /* PageSpace */ 695 /* PageWidth */ 696 tree_var.num_loc (51) = addr (page_parms.measure); 697 /* Parameter */ 698 tree_var.str_loc (52) = addr (shared.parameter); 699 /* ParamPresent */ 700 tree_var.flag_loc (53) = addr (shared.param_pres); 701 /* Pass */ 702 tree_var.num_loc (54) = addr (shared.pass_counter); 703 /* PictureCount */ 704 tree_var.num_loc (55) = addr (shared.picture.space); 705 /* PointSize */ 706 tree_var.num_loc (56) = addr (tree.pointsize); 707 /* Print */ 708 tree_var.flag_loc (57) = addr (shared.print_flag); 709 /* StopOpt */ 710 tree_var.flag_loc (58) = addr (option.stop_opt); 711 /* SymbolDelimiter func */ 712 tree_var.num_loc (59) = addr (tree.symbol_delimiter); 713 /* TableMode */ 714 tree_var.flag_loc (60) = addr (shared.table_mode); 715 /* TextDepth */ 716 tree_var.num_loc (61) = addr (tree.text_depth); 717 /* TextWidth */ 718 tree_var.num_loc (62) = addr (tree.text_width); 719 /* Time */ 720 tree_var.str_loc (63) = addr (const.time_value); 721 /* TitleDelimiter func */ 722 tree_var.num_loc (64) = addr (tree.title_delimiter); 723 /* To */ 724 tree_var.str_loc (65) = addr (option.pglst (0).to); 725 /* TrTable */ 726 tree_var.num_loc (66) = addr (tree.trans); 727 /* Undent */ 728 tree_var.num_loc (67) = addr (tree.left_undent); 729 /* UndentRight */ 730 tree_var.num_loc (68) = addr (tree.right_undent); 731 /* UserInput */ 732 tree_var.num_loc (69) = addr (tree.userinput); 733 /* VMargBottom */ 734 tree_var.num_loc (70) = addr (tree.bottom_margin); 735 /* VMargFooter */ 736 tree_var.num_loc (71) = addr (tree.footer_margin); 737 /* VMargHeader */ 738 tree_var.num_loc (72) = addr (tree.header_margin); 739 /* VMargTop */ 740 tree_var.num_loc (73) = addr (tree.top_margin); 741 /* WaitOpt */ 742 tree_var.flag_loc (74) = addr (option.wait_opt); 743 /* Widow */ 744 tree_var.num_loc (75) = addr (shared.widow_size); 745 /* WidowFoot */ 746 tree_var.num_loc (76) = addr (shared.widow_foot); 747 /* page formatting parms */ 748 init_page_parms = initial_page_parms; 749 if comp_dvt.pdl_max > 0 750 then init_page_parms.length = min (792000, comp_dvt.pdl_max); 751 init_page_parms.init_page_depth = comp_dvt.vmt_min; 752 init_page_parms.margin.top = comp_dvt.def_vmt; 753 init_page_parms.margin.header = comp_dvt.def_vmh; 754 init_page_parms.margin.footer = comp_dvt.def_vmf; 755 init_page_parms.margin.bottom = comp_dvt.def_vmb; 756 init_page_parms.measure = min (comp_dvt.pdw_max, 468000); 757 init_page_parms.net.even, init_page_parms.net.odd = 758 init_page_parms.length - init_page_parms.margin.top 759 - init_page_parms.margin.header - init_page_parms.margin.footer 760 - init_page_parms.margin.bottom; 761 /* page structure */ 762 page.image_ptr, page.column_ptr (*), page.col_image_ptr (*) = null (); 763 /* local storage area */ 764 call translator_temp_$get_segment ("compose", const.local_area_ptr, ercd); 765 if ercd ^= 0 766 then 767 do; 768 call com_err_ (ercd, "compose", "Defining a local storage area."); 769 signal cleanup; 770 return; 771 end; /**/ 772 /* continue allocations */ 773 call_stack.count, call_stack.index = 0; 774 /* call box for source file */ 775 call_stack.ptr (0) = allocate (const.local_area_ptr, size (call_box)); 776 /* column 0 structure */ 777 page.column_ptr (0) = allocate (const.local_area_ptr, size (col)); 778 col0.margin.left = 0; /* set initial column parms */ 779 col0.margin.right, col0.parms.measure = 468000; 780 col0.hdrptr, col0.ftrptr = null (); 781 col0.hdrusd, col0.ftrusd = 0; 782 col0.blkptr (*) = null (); /* make sure block pointers are null */ 783 /* text block data */ 784 shared.tblkdata_ptr = allocate (const.local_area_ptr, size (tblkdata)); 785 unspec (tblkdata) = "0"b; 786 tblkdata.block.ptr, tblkdata.line_area.ptr, tblkdata.text_area.ptr = 787 null (); 788 tblkdata.block.free, tblkdata.line_area.free, tblkdata.text_area.free = 789 "1"b; 790 791 if debug_sw 792 then call ioa_ ("^5x(init_$three)"); 793 794 return; /* end of step three */ 795 796 dcl db_sw bit (1) static init ("0"b); 797 /* local debug swtich */ 798 dbn: 799 entry; 800 db_sw = "1"b; 801 return; 802 dbf: 803 entry; 804 db_sw = "0"b; 805 return; 806 1 1 /* BEGIN INCLUDE FILE comp_column.incl.pl1 */ 1 2 1 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 1 4 1 5 dcl 1 col /* the text column */ 1 6 aligned based (shared.colptr), 1 7 2 blkptr (100) ptr, /* pointers to text blocks */ 1 8 2 depth_adj fixed bin (31), /* for variable start depth */ 1 9 2 ftrptr ptr, /* -> column footer */ 1 10 2 ftrusd fixed bin (31), /* column footer space used */ 1 11 2 gutter fixed bin (31), /* column separation */ 1 12 2 hdr like colhdr, /* column control stuff */ 1 13 2 hdrptr ptr, /* -> column header */ 1 14 2 hdrusd fixed bin (31), /* column header space used */ 1 15 2 margin, /* margin settings for column */ 1 16 3 left fixed bin (31), 1 17 3 right fixed bin (31), 1 18 2 parms, /* text parms for the column */ 1 19 3 measure fixed bin (31); /* column width */ 1 20 1 21 dcl 1 colhdr aligned based (const.colhdrptr), 1 22 /* an empty column header */ 1 23 2 balblk fixed bin, /* block to begin column balancing */ 1 24 2 baldepth fixed bin (31), /* page depth at balance point */ 1 25 2 balftn, /* footnotes at balance point */ 1 26 3 ct fixed bin, /* count */ 1 27 3 usd fixed bin (31), /* space used */ 1 28 3 blkndx (40) fixed bin, /* block index values */ 1 29 2 balusd fixed bin (31), /* space used up to balance point */ 1 30 2 blkct fixed bin, /* text block count */ 1 31 2 depth fixed bin (31), /* current page depth in the column */ 1 32 2 ftn like balftn, /* footnotes */ 1 33 2 pspc fixed bin (31), /* current white space */ 1 34 2 net fixed bin (31), /* net usable space in the column */ 1 35 2 used fixed bin (31); /* space used in this column */ 1 36 /* for quick reference */ 1 37 dcl 1 col0 aligned like col based (page.column_ptr (0)); 1 38 1 39 /* END INCLUDE FILE comp_column.incl.pl1 */ 807 2 1 /* BEGIN INCLUDE FILE - comp_DCcodes.incl.pl1 */ 2 2 2 3 /* format: style2,ind2,ll79,dclind4,idind25,comcol51,linecom */ 2 4 2 5 /* ASCII control characters */ 2 6 dcl ( 2 7 NUL init ("�"), /* 000 */ 2 8 SOH init (""), /* 001 */ 2 9 STX init (""), /* 002 */ 2 10 ETX init (""), /* 003 */ 2 11 EOT init (""), /* 004 */ 2 12 ENQ init (""), /* 005 */ 2 13 ACK init (""), /* 006 */ 2 14 BEL init (""), /* 007 */ 2 15 BSP init (""), /* 010 */ 2 16 HT init (" "), 2 17 /* 011 */ 2 18 (NL, LF) init (" 2 19 "), /* 012 */ 2 20 VT init (" "), /* 013 */ 2 21 FF init (" "), /* 014 */ 2 22 CR init (" "), /* 015 */ 2 23 (RRS, SO) init (""), /* 016 */ 2 24 (BRS, SI) init (""), /* 017 */ 2 25 DLE init (""), /* 020 */ 2 26 DC1 init (""), /* 021 */ 2 27 (DC2, HLF) init (""), /* 022 */ 2 28 DC3 init (""), /* 023 */ 2 29 (DC4, HLR, THICK) init (""), /* 024 */ 2 30 (NAK, MEDIUM) init (""), /* 025 */ 2 31 SYN init (""), /* 026 */ 2 32 (ETB, HAIR) init (""), /* 027 */ 2 33 (CAN, STROKE) init (""), /* 030 */ 2 34 oct031 init (""), /* 031 */ 2 35 SUB init (""), /* 032 */ 2 36 ESC init (""), /* 033 */ 2 37 FS init (""), /* 034 */ 2 38 GS init (""), /* 035 */ 2 39 RS init (""), /* 036 */ 2 40 US init (""), /* 037 */ 2 41 (DEL, PAD) init (""), /* 177 */ 2 42 /* compose special use characters */ 2 43 multiply init ("ª"), /* 252 - multiply symbol */ 2 44 pl_mi init ("«"), /* 253 - plus-or-minus sign */ 2 45 nabla init ("¬"), /* 254 */ 2 46 EMd init ("­"), /* 255 - EM dash */ 2 47 slash init ("¯"), /* 256 */ 2 48 dagger init ("±"), /* 261 */ 2 49 perpen init ("»"), /* 273 - perpendicular mark */ 2 50 not_eq init ("½"), /* 275 - not-equal mark */ 2 51 dbldag init ("Á"), /* 301 - double daggar */ 2 52 cright init ("Ã"), /* 303 - copyright mark */ 2 53 delta init ("Ä"), /* 304 */ 2 54 bullet init ("Í"), /* 315 */ 2 55 prll init ("Î"), /* 316 - parallel mark */ 2 56 PI init ("Ð"), /* 320 - uppercase Greek pi */ 2 57 tmark init ("Ô"), /* 324 - trademark */ 2 58 tfore init ("Ö"), /* 326 - therefore mark */ 2 59 approx init ("Ú"), /* 332 - approximately-equal mark */ 2 60 infin init ("ß"), /* 337 - infinity */ 2 61 theta init ("ê"), /* 352 */ 2 62 pi init ("ð"), /* 360 - lowercase Greek pi */ 2 63 square init ("ý"), /* 375 */ 2 64 overbar init ("þ"), /* 376 */ 2 65 PS init ("ÿ"), /* 377 - punctuation space */ 2 66 sup0 init ("�"), /* 400 - superior digit 0 */ 2 67 sup1 init (""), /* 401 - superior digit 1 */ 2 68 sup2 init (""), /* 402 - superior digit 2 */ 2 69 sup3 init (""), /* 403 - superior digit 3 */ 2 70 sup4 init (""), /* 404 - superior digit 4 */ 2 71 sup5 init (""), /* 405 - superior digit 5 */ 2 72 sup6 init (""), /* 406 - superior digit 6 */ 2 73 sup7 init (""), /* 407 - superior digit 7 */ 2 74 sup8 init (""), /* 410 - superior digit 8 */ 2 75 sup9 init (" "), /* 411 - superior digit 9 */ 2 76 EM init (" "), /* 412 - EM space */ 2 77 EM_ init (" "), /* 413 - EM aligned dash */ 2 78 EN init (" "), /* 414 - EN space */ 2 79 EN_ init (" "), /* 415 - EN aligned dash */ 2 80 ENd init (""), /* 416 - EN dash */ 2 81 THIN init (""), /* 417 - thinspace */ 2 82 DEVIT init (""), /* 420 - device unit */ 2 83 lquote init (""), /* 421 - left double quote */ 2 84 rquote init (""), /* 422 - right double quote */ 2 85 modmark init (""), /* 424 - text modification/addition mark */ 2 86 delmark init (""), /* 430 - deletion mark */ 2 87 vrule init ("Z"), /* 532 - vertical rule */ 2 88 lslnt init ("^") /* 536 - left slant */ 2 89 ) char (1) unaligned static options (constant); 2 90 2 91 dcl PSv fixed bin static options (constant) 2 92 init (255); 2 93 2 94 /* END INCLUDE FILE comp_DCcodes.incl.pl1 */ 808 3 1 /* BEGIN INCLUDE FILE - comp_dvt.incl.pl1 */ 3 2 3 3 /* Written: 9/80 - JA Falksen 3 4*/* Modified: 11/81 - EJW - Added comp_dvt.displayproc 3 5*/* Modified: 1/82 - EJW - Added length arg to comp_dvt.displayproc 3 6*/* Modified: 2/82 - EJW - Deleted ptr arg from comp_dvt.displayproc 3 7*/* Modified: 3/83 - EJW - Changed footref arg of comp_dvt.footproc to 3 8* (3) char (*) var. Version 4. */ 3 9 /* Modified: 6/83 - EJW - Added error print control switch to calling 3 10* sequence for comp_dvt.displayproc. - Version 5. 3 11*/* Modified: 11/84 - EJW - Renamed no_adjust to justifying. 3 12**/ 3 13 3 14 /* All names which end in "_r"are offset values within the device table */ 3 15 /* segment. The version of this structure is in comp_dvid.incl.pl1 */ 3 16 3 17 /* format: style2,ind3,ll79,dclind4,idind15,comcol41,linecom */ 3 18 3 19 dcl 1 comp_dvt aligned based (const.devptr), 3 20 2 devclass char (32), /* what general kind of device is */ 3 21 /* this, currently available: */ 3 22 /* "printer" (includes terminals), */ 3 23 /* "braille", "bitmap" */ 3 24 2 outproc entry /* page output processor */ 3 25 (fixed bin, /* function - 0=build */ 3 26 /* 1=init page */ 3 27 /* 2=init file */ 3 28 /* 3=cleanup */ 3 29 fixed bin (35)),/* error code */ 3 30 2 footproc entry /* footnote reference proc */ 3 31 ((3) char (*) var, 3 32 /* reference string (IN/OUT) */ 3 33 ptr), /* comp_dvt_p (IN) */ 3 34 2 artproc entry (), /* artwork proc */ 3 35 /* dont know how to describe yet */ 3 36 2 displayproc 3 37 entry /* string display interpreter */ 3 38 (char (*) var, /* raw input string */ 3 39 fixed bin (24), /* chars used in this call */ 3 40 bit (1)) /* 1= dont show display errors */ 3 41 returns (char (*) var), 3 42 /* interpreted output string */ 3 43 /* following values are in millipoints */ 3 44 2 min_WS fixed bin (31), /* minimum whitespace */ 3 45 2 min_lead fixed bin (31), /* minimun lead */ 3 46 2 vmt_min fixed bin (31), /* min usable .vmt */ 3 47 2 vmb_min fixed bin (31), /* min usable .vmb */ 3 48 2 def_vmt fixed bin (31), /* default .vmt */ 3 49 2 def_vmh fixed bin (31), /* default .vmh */ 3 50 2 def_vmf fixed bin (31), /* default .vmf */ 3 51 2 def_vmb fixed bin (31), /* default .vmb */ 3 52 2 pdw_max fixed bin (31), /* max page width available */ 3 53 2 pdl_max fixed bin (31), /* max page length available, */ 3 54 /* (0 = unlimited) */ 3 55 2 upshift fixed bin (31), /* footnote reference shift */ 3 56 2 init_ps fixed bin (31), /* initial pointsize (millipoints) */ 3 57 2 lettersp fixed bin (31), /* max letterspacing */ 3 58 2 max_pages fixed bin, /* max pages/"file" -1 ->unlimited */ 3 59 2 max_files fixed bin, /* max "files"/reel -1 ->unlimited */ 3 60 2 init_fam fixed bin, /* initial family index */ 3 61 2 init_mem fixed bin, /* initial member index */ 3 62 2 foot_fam fixed bin, /* initial foot family index */ 3 63 2 foot_mem fixed bin, /* initial foot member index */ 3 64 2 init_family 3 65 char (32), /* initial font family to use */ 3 66 2 init_member 3 67 char (32), /* initial font member to use */ 3 68 ( /* the following are offsets */ 3 69 2 atd_r, /* attach desc for on-line output */ 3 70 2 dvc_r, /* device control table relptr */ 3 71 2 comment_r, /* comment string relptr */ 3 72 2 cleanup_r, /* "cleanup" string relptr */ 3 73 2 medsel_table_r /* media select table relptr */ 3 74 ) bit (18) aligned, 3 75 2 foot_family 3 76 char (32), /* family for footnote reference */ 3 77 2 foot_member 3 78 char (32), /* member for footnote reference */ 3 79 /* if one was specified */ 3 80 2 sws unaligned, 3 81 3 interleave /* 0- page block has lines in column */ 3 82 bit (1), /* order left-to-right */ 3 83 /* 1- page block has lines in line */ 3 84 /* order top-to-bottom */ 3 85 3 justifying /* 1- device justifies lines */ 3 86 bit (1), 3 87 3 mbz bit (24), 3 88 3 endpage bit (9), /* EOP char if not "0"b */ 3 89 2 open_mode fixed bin (35), /* when going to a file */ 3 90 2 recleng fixed bin, /* length of tape records */ 3 91 2 family_ct fixed bin, /* # families present */ 3 92 2 family (comp_dvt.family_ct), 3 93 /* families of fonts defined */ 3 94 3 member_r bit (18) aligned, 3 95 /* member table relptr */ 3 96 3 name char (32); /* family name */ 3 97 3 98 3 99 /* The usage formula for units: */ 3 100 /* */ 3 101 /* rel_units * length_in_points */ 3 102 /* ---------------------------- = length_in_units */ 3 103 /* points_per_EM */ 3 104 3 105 /* END INCLUDE FILE comp_dvt.incl.pl1 */ 809 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 */ 810 5 1 /* BEGIN INCLUDE FILE comp_font.incl.pl1 */ 5 2 5 3 /* Fonts already loaded into the compose (pdir) database */ 5 4 5 5 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 5 6 5 7 dcl 1 fnttbldata aligned based (const.fnttbldata_ptr), 5 8 2 count fixed bin, /* number of fonts loaded */ 5 9 2 ndx fixed bin, /* index of current font */ 5 10 2 medsel_ptr ptr, /* -> media select table */ 5 11 2 ptr (100) ptr; /* 100 fonts should be plenty! */ 5 12 5 13 dcl fnttbl_ptr ptr init (null); 5 14 dcl 1 fnttbl aligned based (fnttbl_ptr), 5 15 2 min_wsp fixed bin, /* min wordspace - in strokes */ 5 16 2 avg_wsp fixed bin, /* nominal wordspace - in strokes */ 5 17 2 max_wsp fixed bin, /* max wordspace - in strokes */ 5 18 2 rel_units fixed bin, /* stroke value for this font */ 5 19 2 siztbl_ptr ptr, /* -> loaded size table */ 5 20 2 entry /* stack entry for this font */ 5 21 like fntstk_entry, 5 22 ( /* for each font character */ 5 23 2 devfnt fixed bin, /* font in the device */ 5 24 2 replptr ptr, /* replacement string ptrs */ 5 25 2 units fixed bin, /* width in strokes */ 5 26 2 white bit (1) unal /* white space flags */ 5 27 ) dimension (0:511); 5 28 5 29 dcl repl_str_ptr ptr; /* replacement strings */ 5 30 dcl 1 repl_str based (repl_str_ptr), 5 31 2 len fixed bin (35), 5 32 2 str char (256); 5 33 dcl replstr char (256) var based (repl_str_ptr); 5 34 /* media select strings */ 5 35 /* (indexed on fnttbldata.ndx) */ 5 36 dcl medsel (100) char (12) based (fnttbldata.medsel_ptr); 5 37 5 38 dcl 1 siztbl based (fnttbl.siztbl_ptr), 5 39 2 ct fixed bin, /* number of sizes */ 5 40 2 size (siztbl.ct) fixed bin (31); 5 41 5 42 /* This is the storage referred by family.member_r in comp_dvt 5 43* 5 44* If member.count is 1 and member.name(1) is null, then the font is a 5 45* 'bachelor'. 5 46* 5 47* The font stack will hold the family/member names which were used to 5 48* originally get to the font. When a bachelor is accessed, the member name 5 49* will remain but the bachelor flag will be set to tell any displayers not 5 50* to include it. 5 51* 5 52* %FontName% will contain either "family" or "family/member" depending on 5 53* the setting of the bachelor switch. */ 5 54 5 55 dcl member_ptr ptr; 5 56 dcl 1 member based (member_ptr), 5 57 2 count fixed bin, /* # members present */ 5 58 2 e (member.count), /* members defined for this device */ 5 59 3 font_r bit (18) unal, /* font character table relptr */ 5 60 3 size_r bit (18) aligned, 5 61 /* point size list relptr */ 5 62 3 Scalex fixed bin (35), /* X (hor) scaling * 1e8 - FUTURE */ 5 63 3 Scaley fixed bin (35), /* Y (ver) scaling * 1e8 - FUTURE */ 5 64 3 name char (32); /* member name */ 5 65 5 66 /* Storage referred by member.font_r */ 5 67 dcl font_ptr ptr; 5 68 dcl 1 font based (font_ptr), 5 69 ( 2 oput_r, /* offset of output data array */ 5 70 2 units_r /* offset of width array */ 5 71 ) bit (18) aligned, 5 72 2 rel_units fixed bin, /* stroke value for this table */ 5 73 2 footsep char (1), /* footref separator */ 5 74 2 fill char (3), 5 75 2 min_wsp fixed bin, /* min wordspace */ 5 76 2 avg_wsp fixed bin, /* nominal wordspace */ 5 77 2 max_wsp fixed bin; /* max wordspace */ 5 78 5 79 /* storage referred by font.units_r */ 5 80 dcl units_ptr ptr; /* width in strokes */ 5 81 dcl units (0:511) fixed bin based (units_ptr); 5 82 5 83 /* media select table in the device table */ 5 84 dcl medsel_table_ptr 5 85 ptr; 5 86 dcl 1 medsel_table based (medsel_table_ptr), 5 87 2 count fixed bin, 5 88 2 ref_r (medsel_table.count) bit (18) aligned; 5 89 5 90 /* storage referred by font.oput_r */ 5 91 dcl oput_p ptr; 5 92 dcl 1 oput based (oput_p), 5 93 2 data_ct fixed bin, /* highest char defined */ 5 94 2 e (0:oput.data_ct), 5 95 3 which /* index into view array */ 5 96 fixed bin (17) unal, 5 97 3 what_r /* output string */ 5 98 bit (18) unal; 5 99 5 100 /* storage referred by member.size_r */ 5 101 5 102 dcl sizel_p ptr; 5 103 dcl 1 sizel based (sizel_p),/* list of allowed point sizes */ 5 104 2 val_ct fixed bin, 5 105 2 val (sizel.val_ct) fixed bin (31); 5 106 5 107 /* storage referred by oput.what_r */ 5 108 5 109 dcl medchar_sel_p ptr; /* MediaChar select string */ 5 110 dcl 1 medchar_sel based (medchar_sel_p), 5 111 2 str_l fixed bin, 5 112 2 str char (medchar_sel.str_l); 5 113 dcl medchar char (medchar_sel.str_l) var based (medchar_sel_p); 5 114 5 115 dcl med_sel_p ptr; /* media select string */ 5 116 dcl 1 med_sel based (med_sel_p), 5 117 2 str_l fixed bin, 5 118 2 str char (med_sel.str_l); 5 119 5 120 /* END INCLUDE FILE comp_font.incl.pl1 */ 811 6 1 /* BEGIN INCLUDE FILE comp_footnotes.incl.pl1 */ 6 2 6 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 6 4 6 5 dcl 1 ftnblk_data aligned based (shared.ftnblk_data_ptr), 6 6 /* data for footnote blocks */ 6 7 2 highndx fixed (35), /* highest active footnote index */ 6 8 2 blkptr (250) ptr; /* block pointers */ 6 9 /* footnote header data block */ 6 10 dcl 1 ftnhdr aligned like text based (shared.footnote_header_ptr); 6 11 /* formatting parms for footnotes */ 6 12 dcl 1 footnote_parms 6 13 aligned like default_parms 6 14 based (const.footnote_parms_ptr); 6 15 6 16 /* END INCLUDE FILE comp_footnotes.incl.pl1 */ 812 7 1 /* BEGIN INSERT FILE ... comp_insert.incl.pl1 */ 7 2 7 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 7 4 7 5 dcl 1 insert_data aligned based (const.insert_data_ptr), 7 6 2 count fixed bin, /* count of allocated data blocks */ 7 7 2 index fixed bin, /* the current block */ 7 8 2 ptr (1000) ptr, /* insert file data block pointers */ 7 9 2 ref_area, /* ref name string area data */ 7 10 3 count fixed bin, /* count of allocated areas */ 7 11 3 ptr (100) ptr; /* area pointers */ 7 12 /* insert call stack */ 7 13 dcl 1 call_stack aligned based (const.call_stk_ptr), 7 14 2 count fixed bin, /* count of allocated boxes */ 7 15 2 index fixed bin, /* current stack index */ 7 16 2 ptr (0:50) ptr; /* stack entry ptrs */ 7 17 dcl call_box_ptr ptr; 7 18 dcl 1 call_box aligned like insert.file based (call_box_ptr); 7 19 dcl 1 call_box0 aligned like insert.file based (call_stack.ptr (0)); 7 20 7 21 dcl 1 insert_refs aligned based, /* ref names structure */ 7 22 2 count fixed bin, /* count of names in area */ 7 23 2 index (60) fixed bin, /* insert_data index values */ 7 24 2 name (60) char (32) unal; 7 25 /* the ref names */ 7 26 7 27 dcl refname_str char (refstr_len) based (refstr_ptr); 7 28 /* for searching */ 7 29 dcl refstr_len fixed bin; /* length of refname search string */ 7 30 dcl refstr_ptr ptr; /* refname string pointer */ 7 31 /* data for an insert file */ 7 32 dcl 1 insert aligned based (shared.insert_ptr), 7 33 2 file, /* also used for source files */ 7 34 3 charcount 7 35 fixed bin (21), /* segment character count */ 7 36 3 comp_no fixed bin, /* msf component number */ 7 37 3 dir char (168), /* containing dir */ 7 38 3 entryname 7 39 char (32), /* primary entryname */ 7 40 3 exit_lineno 7 41 fixed bin (35), /* line number of .ifi */ 7 42 3 fcb_ptr ptr, /* FCB pointer for msf manager */ 7 43 3 info like text_entry.info, 7 44 3 insert_ptr /* self pointer - needed when */ 7 45 ptr, /* struc is in the call stack */ 7 46 /* 3 ntext fixed bin (21), /* character count of text line */ 7 47 3 path char (200) var, /* complete pathname */ 7 48 3 pointer ptr, /* segment pointer */ 7 49 3 posn fixed bin (21), /* input character position */ 7 50 3 refname char (200) var, /* for source files only */ 7 51 2 callers_name 7 52 char (100), /* refname of calling file */ 7 53 2 dtcm bit (36), /* fs date-time-modified */ 7 54 2 refndx fixed bin, /* CURRENT refname index for file */ 7 55 2 thrb fixed bin unsigned, 7 56 /* backward thread index in insert stack */ 7 57 2 label, /* label data per insert level */ 7 58 3 count fixed bin, 7 59 3 line (250) fixed bin unsigned, 7 60 3 position (250) fixed bin (21), 7 61 3 value (250) char (32); 7 62 7 63 /* empty file data structure */ 7 64 dcl 1 init_file_data 7 65 static options (constant), 7 66 2 charcount fixed bin (21) init (0), 7 67 /* segment character count */ 7 68 2 comp_no fixed bin init (0), 7 69 /* msf component number */ 7 70 2 dir char (168) init (""), 7 71 /* containing dir */ 7 72 2 entryname char (32) init (""), 7 73 /* primary entryname */ 7 74 2 exit_lineno 7 75 fixed bin (35) init (0), 7 76 /* line number of .ifi */ 7 77 2 fcb_ptr ptr init (null),/* FCB pointer for msf manager */ 7 78 2 info, /* stuff created during line input */ 7 79 3 fileno /* input file index */ 7 80 fixed bin init (0), 7 81 3 lineno /* input file line number */ 7 82 fixed bin init (0), 7 83 3 lineno0 /* call_box0 line number */ 7 84 fixed bin init (0), 7 85 2 insert_ptr ptr init (null),/* self pointer - needed when */ 7 86 /* struc is in the call stack */ 7 87 /* 2 ntext fixed bin (21) init (0), 7 88*/* /* character count of text line */ 7 89 2 path char (200) var init (""), 7 90 /* complete pathname */ 7 91 2 pointer ptr init (null),/* segment pointer */ 7 92 2 posn fixed bin (21) init (1), 7 93 /* input character position */ 7 94 2 refname char (200) var init (""); 7 95 /* for source files only */ 7 96 7 97 /* END INSERT FILE ... comp_insert.incl.pl1 */ 813 8 1 /* BEGIN INCLUDE FILE comp_option.incl.pl1 */ 8 2 8 3 dcl option_version fixed bin (35) static options (constant) init (2); 8 4 8 5 dcl 1 option aligned based (const.option_ptr), /* program options */ 8 6 2 version fixed bin (35), 8 7 /* Options with parameters */ 8 8 (2 argument_opt, /* -argument option flag */ 8 9 2 cbar_opt, /* -change_bars option flag */ 8 10 2 cbar_art_opt, /* -change_bars_art option flag */ 8 11 2 debug_opt, /* -debug option flag */ 8 12 2 db_all_opt, /* -debug_all option flag */ 8 13 2 db_file_opt, /* -debug_file option flag */ 8 14 2 device_opt, /* -device option flag */ 8 15 2 execute_opt, /* -execute option flag */ 8 16 2 from_opt, /* -from option flag */ 8 17 2 galley_opt, /* -galley option flag */ 8 18 2 hyph_opt, /* -hyphenation option flag */ 8 19 2 indent_opt, /* -indent option flag */ 8 20 2 input_file_opt, /* -input_file option flag */ 8 21 2 linespace_opt, /* -linespace option flag */ 8 22 2 output_file_opt, /* -output_file option flag */ 8 23 2 pages_opt, /* -pages option flag */ 8 24 2 page_chng_opt, /* -pages_changed option flag */ 8 25 2 parameter_opt, /* -parameter option flag */ 8 26 2 passes_opt, /* -passes option flag */ 8 27 2 tdir_opt, /* -temp_dir option flag */ 8 28 2 to_opt, /* -to option flag */ 8 29 /* Options without parameters */ 8 30 2 annot_opt, /* -annotate */ 8 31 2 brief_opt, /* -brief option flag */ 8 32 2 check_opt, /* -check option flag */ 8 33 2 cws_opt, /* -cws option flag */ 8 34 2 db_pause_opt, /* -debug_pause option flag */ 8 35 2 noart_opt, /* -noart option flag */ 8 36 2 nobell_opt, /* -no_bell option flag */ 8 37 2 nofill_opt, /* -nofill option flag */ 8 38 2 nohit_opt, /* -nohit option flag */ 8 39 2 number_opt, /* -number option flag */ 8 40 2 number_append_opt, /* -number_append option flag */ 8 41 2 number_brief_opt, /* -number_brief option flag */ 8 42 2 stop_opt, /* -stop option flag */ 8 43 2 wait_opt) unal bit (1), /* -wait option flag */ 8 44 2 MBZ bit (2) unal, 8 45 /* Optional parameters */ 8 46 2 arg_count fixed bin, /* count of -ag values */ 8 47 2 cbar, /* change bar data */ 8 48 3 level char (1), /* change level character (ASCII NUL) */ 8 49 3 place char (1), /* placement character */ 8 50 3 space fixed bin (31), /* extra left margin space needed */ 8 51 3 left, /* left margin mark data */ 8 52 4 sep fixed bin (31), /* separation */ 8 53 4 width fixed bin (31), /* mark width */ 8 54 4 mark char (80) varying, /* the left margin mark */ 8 55 3 right, /* right margin mark data */ 8 56 4 sep fixed bin (31), /* separation */ 8 57 4 width fixed bin (31), /* mark width */ 8 58 4 mark char (80) varying, /* the right margin mark */ 8 59 3 del, /* deletion mark data */ 8 60 4 sep fixed bin (31), /* separation */ 8 61 4 width fixed bin (31), /* mark width */ 8 62 4 mark char (80) varying, /* the deletion mark */ 8 63 2 db_after_line fixed bin (35), /* source line for enabling insert debug */ 8 64 2 db_before_line fixed bin (35), /* source line for disabling insert debug */ 8 65 2 db_file char (200) var, /* file pathanme for debug */ 8 66 2 db_file_after fixed bin (35), /* debug file starting line */ 8 67 2 db_line_end fixed bin (35), /* final line for -debug output */ 8 68 2 db_line_strt fixed bin (35), /* initial line for -debug output */ 8 69 2 device char (32) varying, /* output device */ 8 70 2 extra_indent fixed bin (31), /* extra indent value */ 8 71 2 hyph_size fixed bin (31), /* least word part size for hyphenation */ 8 72 2 line_1 fixed bin (35), /* initial line for output */ 8 73 2 line_2 fixed bin (35), /* final line for output */ 8 74 2 linespace fixed bin (31), /* line spacing value */ 8 75 2 pglstct fixed bin (35), /* number of page list entries */ 8 76 2 pglstndx fixed bin (35), /* index for -pages list */ 8 77 2 pglst (0:49), /* list of requested pages */ 8 78 3 from char (32) var, 8 79 3 to char (32) var, 8 80 2 parameter char (80) varying, /* parameter <value> from command line */ 8 81 2 passes fixed bin, /* passes remaining */ 8 82 2 pgc_select char (1) aligned; /* addendum key to control change page printing - init = NUL */ 8 83 8 84 /* END INCLUDE FILE comp_option.incl.pl1 */ 8 85 814 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 */ 815 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 */ 816 11 1 /* BEGIN INCLUDE FILE comp_stack_box.incl.pl1 */ 11 2 11 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 11 4 11 5 dcl arg_count_symb_index 11 6 fixed bin static options (constant) init (2); 11 7 11 8 dcl stkbox_ptr ptr; 11 9 dcl 1 stack_box aligned like init_stack_box based (stkbox_ptr); 11 10 11 11 dcl 1 init_stack_box 11 12 aligned static options (constant), 11 13 2 bthrd ptr init (null ()), 11 14 /* backward thread */ 11 15 2 fthrd ptr init (null ()), 11 16 /* forward thread */ 11 17 2 level fixed bin init (0), 11 18 /* stack level */ 11 19 2 numval fixed bin (31) init (0), 11 20 /* numeric value */ 11 21 2 incrval fixed bin (31) init (0), 11 22 /* counter increment */ 11 23 2 txtstr char (1020) var init (""); 11 24 /* string value */ 11 25 11 26 /* END INCLUDE FILE comp_stack_box.incl.pl1 */ 817 12 1 /* BEGIN INCLUDE FILE comp_text.incl.pl1 */ 12 2 12 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 12 4 12 5 dcl 1 tblkdata /* data for allocated text blocks */ 12 6 aligned based (shared.tblkdata_ptr), 12 7 2 block, /* block pool */ 12 8 3 count fixed bin, 12 9 3 ptr (500) ptr, /* block pointers */ 12 10 /* block state flags */ 12 11 3 free (500) bit (1) unal, 12 12 2 line_area, /* line area pool */ 12 13 3 count fixed bin, 12 14 3 ptr (500) ptr, /* area pointers */ 12 15 /* area state flags */ 12 16 3 free (500) bit (1) unal, 12 17 2 text_area, /* text area pool */ 12 18 3 count fixed bin, 12 19 3 ptr (500) ptr, /* area pointers */ 12 20 /* area state flags */ 12 21 3 free (500) bit (1) unal, 12 22 3 string_area_count 12 23 fixed bin; /* line areas */ 12 24 dcl LINE_AREA_SIZE fixed bin static options (constant) init (24); 12 25 dcl line_area_ptr ptr init (null); 12 26 dcl 1 line_area aligned based (line_area_ptr), 12 27 2 next ptr, /* forward thread */ 12 28 2 prev ptr, /* backward thread */ 12 29 2 count fixed bin, /* number of lines allocated */ 12 30 2 ndx fixed bin, /* index of current line */ 12 31 2 pndx fixed bin, /* area pool index */ 12 32 2 linptr (LINE_AREA_SIZE) ptr; 12 33 /* text areas */ 12 34 dcl TEXT_AREA_SIZE fixed bin static options (constant) init (6); 12 35 dcl text_area_ptr ptr init (null); 12 36 dcl 1 text_area aligned based (text_area_ptr), 12 37 2 next ptr, /* forward thread */ 12 38 2 count fixed bin, /* number of areas allocated */ 12 39 2 ndx fixed bin, /* index of current strarea */ 12 40 2 pndx fixed bin, /* area pool index */ 12 41 2 strareaptr (TEXT_AREA_SIZE) ptr; 12 42 /* text string area */ 12 43 dcl string_area (256) fixed bin based; 12 44 dcl txtstrptr ptr; /* current text string */ 12 45 dcl txtstr char (1020) var based (txtstrptr); 12 46 12 47 dcl TEXT_VERSION fixed bin static options (constant) init (9); 12 48 /* general text block */ 12 49 dcl 1 text aligned based (shared.blkptr), 12 50 2 version fixed bin, /* version of structure */ 12 51 2 blkndx fixed bin, /* block data index */ 12 52 2 blktype char (2), /* block type code */ 12 53 /* dynamic block control stuff */ 12 54 2 hdr aligned like text_header, 12 55 /* text read from input file */ 12 56 2 input aligned like text_entry, 12 57 2 input_line char (1020) var,/* input buffer */ 12 58 2 line_area, 12 59 3 first ptr, /* head of line area thread */ 12 60 3 cur ptr, /* current line area */ 12 61 2 next_text ptr, /* next text string */ 12 62 /* text formatting parameters */ 12 63 2 parms aligned like default_parms, 12 64 2 text_area, 12 65 3 first ptr, /* head of text area thread */ 12 66 3 cur ptr; /* current text area */ 12 67 /* an empty text block line */ 12 68 dcl 1 text_entry aligned based (const.text_entry_ptr), 12 69 2 sws, /* unaligned switches, etc. */ 12 70 3 art bit (1) unal, /* line has artwork */ 12 71 3 cbar, /* change bar flags */ 12 72 4 add bit (1) unal, /* text addition flag */ 12 73 4 del bit (1) unal, /* text deletion flag */ 12 74 4 mod bit (1) unal, /* text modification flag */ 12 75 3 default bit (1) unal, /* 1 = default case as needed */ 12 76 3 DVctl bit (1) unal, /* 1 = line is a device ctl string */ 12 77 3 embedded bit (1) unal, /* 1 = line has an embedded control */ 12 78 3 end_keep bit (1) unal, /* 1= line ends a keep */ 12 79 3 fnt_chng bit (1) unal, /* 1 = text is a font change string */ 12 80 3 footref bit (1) unal, /* 1 = line has a footnote reference */ 12 81 3 hanging bit (1) unal, /* 1 = a hanging undent */ 12 82 3 keep bit (1) unal, /* 1 = unsplittable line */ 12 83 3 no_trim bit (1) unal, /* 1 = untrimmable white line */ 12 84 3 oflo bit (1) unal, /* line causes overflow */ 12 85 3 punct bit (1) unal, /* 1 = line ends with punctuation */ 12 86 3 quad bit (6) unal, /* text alignment flags */ 12 87 3 space_added /* 1= line has added space */ 12 88 bit (1) unal, 12 89 3 spcl, /* special entry - not output text */ 12 90 4 file bit (1) unal, /* 1= output to special file */ 12 91 4 blk_splt /* 1= action at block split time */ 12 92 bit (1) unal, 12 93 4 page_mkup /* 1= action at page makeup time */ 12 94 bit (1) unal, 12 95 3 table bit (1) unal, /* 1= line is a table entry */ 12 96 3 tblspc bit (1) unal, /* 1= WS fill for table mode */ 12 97 3 title bit (1) unal, /* 1= line is a <title> */ 12 98 3 unspnct bit (1) unal, /* 1= underscore punctuation */ 12 99 3 unstop bit (1) unal, /* 1= line is/ends with UNSTOP */ 12 100 3 unstrt bit (1) unal, /* 1= line is/ends with UNSTART */ 12 101 3 unswrds bit (1) unal, /* 1= underscore words only */ 12 102 3 white bit (1) unal, /* 1= line is white space */ 12 103 3 und_prot bit (1) unal, /* 1= undent is protected */ 12 104 3 MBZ bit (4) unal, 12 105 2 art_start fixed bin unal, /* start of art string in line */ 12 106 2 art_len fixed bin unal, /* length of art string in line */ 12 107 2 cbar_level /* change level for cbars */ 12 108 char (1) aligned, 12 109 2 cur, /* current scanning data for line */ 12 110 3 chrct fixed bin, /* count of chars scanned */ 12 111 3 gaps fixed bin, /* gap count */ 12 112 3 width fixed bin (31), /* width of font chars */ 12 113 3 min fixed bin (31), /* width of min spbnds */ 12 114 3 avg fixed bin (31), /* width of avg spbnds */ 12 115 3 max fixed bin (31), /* width of max spbnds */ 12 116 3 font like fntstk_entry, 12 117 2 depth fixed bin (31), /* page depth for line */ 12 118 /* font at start of line */ 12 119 2 font like fntstk_entry, 12 120 2 index fixed bin (21), /* char index for line scanning */ 12 121 2 info, /* stuff created during line input */ 12 122 3 fileno fixed bin, /* input file index */ 12 123 3 lineno fixed bin, /* input file line number */ 12 124 3 lineno0 fixed bin, /* call_box0 line number */ 12 125 2 linespace fixed bin (31), /* linespace value for the line */ 12 126 2 lmarg fixed bin (31), /* adjusted left margin position */ 12 127 2 mod_len fixed bin, /* length of modified text */ 12 128 2 mod_start fixed bin, /* index for start of modified text */ 12 129 2 net fixed bin (31), /* net line width for filling */ 12 130 2 ptr ptr, /* pointer to the actual text */ 12 131 2 rmarg fixed bin (31), /* adjusted right margin position */ 12 132 2 spcl_iocbp ptr, /* iocb ptr for spcl line */ 12 133 2 sym_delim char (1) unal, /* symbol delimiter for this line */ 12 134 2 tblcol fixed bin, /* column for table entries */ 12 135 2 title_delim 12 136 char (1) unal, /* title delimiter if a <title> */ 12 137 2 title_index 12 138 fixed bin, /* <title> block index for line */ 12 139 2 width fixed bin (31), /* width of text */ 12 140 2 ftn, /* footnote info for line */ 12 141 3 ct fixed bin, /* number of footnote refs */ 12 142 3 used fixed bin (31), /* space used */ 12 143 3 e (40), /* limit is arbitrary */ 12 144 4 blkndx fixed bin unal, /* block index of footnote - if this 12 145* value is 0, then .frf was used */ 12 146 4 refno fixed bin unal; /* reference number */ 12 147 12 148 dcl ( 12 149 quadi init ("40"b3), /* set to the inside margin */ 12 150 quado init ("20"b3), /* set to the outside margin */ 12 151 quadl init ("10"b3), /* set left */ 12 152 quadc init ("04"b3), /* set centered */ 12 153 quadr init ("02"b3), /* set right */ 12 154 just init ("01"b3) /* justified */ 12 155 ) bit (6) static options (constant); 12 156 /* control line structure */ 12 157 dcl 1 ctl aligned like text_entry based (const.ctl_ptr); 12 158 dcl ctl_line char (1020) var based (ctl.ptr); 12 159 12 160 dcl txtlinptr ptr; /* the current text line */ 12 161 dcl 1 txtlin aligned like text_entry based (txtlinptr); 12 162 /* empty text header structure */ 12 163 dcl 1 text_header aligned based (const.text_header_ptr), 12 164 2 sws, /* control switches */ 12 165 3 art bit (1) unal, /* block has artwork */ 12 166 3 dfrftn bit (1) unal, /* block is a deferred footnote */ 12 167 3 modified bit (1) unal, /* block contains modified lines */ 12 168 3 no_trim bit (1) unal, /* 1 = dont trim WS block */ 12 169 3 oflo_ftn bit (1) unal, /* overflow footnote */ 12 170 3 tblblk bit (1) unal, /* a table block */ 12 171 3 unref bit (1) unal, /* block is an unreffed footnote */ 12 172 3 white bit (1) unal, /* block is a white space block */ 12 173 3 picture bit (1) unal, /* picture block */ 12 174 3 orphan bit (1) unal, /* 1= footnote is an orphan */ 12 175 3 MBZ bit (26) unal, 12 176 2 art_count fixed bin unal, /* to count input art lines */ 12 177 2 blkptr ptr, /* pointer to suspended block */ 12 178 2 cap_size fixed bin unal, /* line count of text caption */ 12 179 2 cap_used fixed bin (31), /* size of text caption */ 12 180 2 colno fixed bin unal, /* column owning the block */ 12 181 2 count fixed bin unal, /* line count for block */ 12 182 2 eqn_line_count 12 183 fixed bin unal, /* counter for equation lines */ 12 184 2 first_text fixed bin unal, /* OBSOLETE */ 12 185 2 ftn, /* footnotes */ 12 186 3 ct fixed bin, /* count */ 12 187 3 usd fixed bin (31), /* space used */ 12 188 3 blkndx (40) fixed bin, /* footnote block index values */ 12 189 2 head_size fixed bin, /* line count of text header */ 12 190 2 head_used fixed bin (31), /* size of text header */ 12 191 2 index fixed bin unal, /* block index of next output line */ 12 192 2 keep_count fixed bin unal, /* to count input keep lines */ 12 193 2 last_line fixed bin, /* last text line in column */ 12 194 2 mx_ttl_ndx fixed bin, /* max title index value in block */ 12 195 2 name char (32) var, /* block name, if any */ 12 196 2 nofill_count /* to count nofill lines */ 12 197 fixed bin, 12 198 2 parms_ptr ptr, /* parms for suspended block */ 12 199 2 refer fixed bin, /* inter-block reference */ 12 200 2 refer_index /* OBSOLETE */ 12 201 fixed bin, /* a reference */ 12 202 2 split fixed bin, /* split point for balancing */ 12 203 2 trl_ws fixed bin (31), /* trailing WS */ 12 204 2 used fixed bin (31); /* page space used by a column/block */ 12 205 /* text formatting parameters */ 12 206 dcl 1 text_parms aligned like default_parms 12 207 based (const.text_parms_ptr); 12 208 12 209 dcl 1 current_parms 12 210 aligned like default_parms 12 211 based (const.current_parms_ptr); 12 212 12 213 dcl 1 default_parms 12 214 aligned based (const.default_parms_ptr), 12 215 2 sws, /* control switches */ 12 216 3 quad bit (6) unal, /* text alignment mode */ 12 217 3 art bit (1) unal, /* 1 = block countains artwork */ 12 218 3 cbar, /* change bar flags */ 12 219 4 add bit (1) unal, /* text addition flag */ 12 220 4 del bit (1) unal, /* text deletion flag for next line */ 12 221 4 mod bit (1) unal, /* text modification flag */ 12 222 3 fill_mode 12 223 bit (1) unal, /* 1 = fill mode ON */ 12 224 3 footnote bit (1) unal, /* block is a footnote */ 12 225 3 hfc bit (1) unal, /* OBSOLETE */ 12 226 3 htab_mode 12 227 bit (1) unal, /* 1 = horizontal tab mode ON */ 12 228 3 keep bit (1) unal, /* keep mode */ 12 229 3 page bit (1) unal, /* block belongs to page, not text */ 12 230 3 title_mode 12 231 bit (1) unal, /* 0 = plain text, 1 = <title>s OK */ 12 232 3 MBZ bit (19) unal, 12 233 2 ftrptr ptr, /* text caption block */ 12 234 2 cbar_level /* change level for cbars */ 12 235 char (1) aligned, 12 236 2 hdrptr ptr, /* text header block */ 12 237 2 left, /* left margin data */ 12 238 3 indent fixed bin (31), 12 239 3 undent fixed bin (31), 12 240 2 linespace fixed bin (31), /* line spacing value */ 12 241 2 measure fixed bin (31), /* line space for text */ 12 242 /* right margin data */ 12 243 2 right like default_parms.left, 12 244 2 fntstk, /* stack of last 20 font changes */ 12 245 3 index fixed bin, /* which one in use */ 12 246 /* entry(0) is the default */ 12 247 3 entry (0:19) like fntstk_entry; 12 248 12 249 dcl hfcblk_ptr ptr; 12 250 dcl 1 hfcblk aligned like text based (hfcblk_ptr); 12 251 12 252 /* END INCLUDE FILE comp_text.incl.pl1 */ 818 13 1 /* BEGIN INCLUDE FILE comp_tree.incl.pl1 */ 13 2 13 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 13 4 13 5 dcl 1 tree /* symbol tree structure */ 13 6 based (const.tree_ptr) aligned, 13 7 ( 2 align_mode, /* current text alignment mode */ 13 8 2 art_mode, /* artwork mode */ 13 9 2 block_index, /* current block index */ 13 10 2 block_name, /* name of current block */ 13 11 2 bottom_margin, /* page bottom margin */ 13 12 2 calling_file_name, /* caller of inserted file */ 13 13 2 callers_lineno, /* lineno of .ifi in calling file */ 13 14 2 devclass, /* DeviceClass */ 13 15 2 devname, /* DeviceName */ 13 16 2 dot_addltr, /* add letter of dot page */ 13 17 2 equation_mode, /* equation mode */ 13 18 2 fill_mode, /* text filling mode */ 13 19 2 fontname, /* fontname function */ 13 20 2 footer_margin, /* page footer margin function */ 13 21 2 frontpage, /* front page flag function */ 13 22 2 head_space, /* head space function */ 13 23 2 header_margin, /* page header margin function */ 13 24 2 keep_mode, /* block splitting mode */ 13 25 2 left_indent, /* left margin indention */ 13 26 2 left_undent, /* left margin adjustment */ 13 27 2 line_input, /* line input function */ 13 28 2 linesleft, /* lines left function */ 13 29 2 linespace, /* linespace function */ 13 30 2 measure_bif, /* measure function */ 13 31 2 next_pageno, /* next page number */ 13 32 2 pagecount, /* total page count function */ 13 33 2 pagelines, /* line number on page function */ 13 34 2 page_length, /* current page length function */ 13 35 2 pageno, /* page number function */ 13 36 2 pointsize, /* pointsize function */ 13 37 2 right_indent, /* right margin indention */ 13 38 2 right_undent, /* right margin adjustment */ 13 39 2 symbol_delimiter, /* symbol delimiter function */ 13 40 2 text_depth, /* text depth function */ 13 41 2 text_lineno, /* input file line number for output_line */ 13 42 2 text_width, /* text width function */ 13 43 2 title_delimiter, /* title delimiter function */ 13 44 2 top_margin, /* page top margin function */ 13 45 2 trans, /* translation table for .trf */ 13 46 2 userinput /* terminal insert function */ 13 47 ) label, /**/ 13 48 /* VARIABLE TABLES */ 13 49 2 count fixed bin, /* variable areas allocated */ 13 50 2 areandx fixed bin, /* current area */ 13 51 /* entry count per area */ 13 52 2 entry_ct (MAX_TREE_AREAS) fixed bin, 13 53 2 entryndx fixed bin, /* current entry in area */ 13 54 ( /* storage area pointers */ 13 55 2 flag_ptr, /* flags */ 13 56 2 name_ptr, /* names */ 13 57 2 num_ptr, /* number values */ 13 58 2 incr_ptr, /* counter increments */ 13 59 2 var_ptr /* variable structures */ 13 60 ) ptr dimension (MAX_TREE_AREAS); 13 61 /* flag values */ 13 62 dcl tree_flags (MAX_TREE_AREA_CT) bit (1) aligned 13 63 based (tree.flag_ptr (tree.areandx)); 13 64 /* counter increment values */ 13 65 dcl tree_incrs (MAX_TREE_AREA_CT) fixed bin (31) 13 66 based (tree.incr_ptr (tree.areandx)); 13 67 /* variable names */ 13 68 dcl tree_names_ptr ptr init (null); 13 69 dcl tree_names (MAX_TREE_AREA_CT) char (32) unal 13 70 based (tree_names_ptr); 13 71 /* numeric values */ 13 72 dcl tree_nums (MAX_TREE_AREA_CT) fixed bin (31) 13 73 based (tree.num_ptr (tree.areandx)); 13 74 13 75 dcl tree_var_ptr ptr init (null);/* variable entry structures */ 13 76 dcl 1 tree_var (MAX_TREE_AREA_CT) aligned based (tree_var_ptr), 13 77 2 flags bit (9) aligned,/* type flags */ 13 78 2 mode fixed bin, /* numeric display mode */ 13 79 2 flag_loc ptr, /* flag value pointer */ 13 80 2 num_loc ptr, /* num value pointer */ 13 81 2 incr_loc ptr, /* num increment pointer */ 13 82 2 str_loc ptr; /* str value pointer */ 13 83 13 84 /* END INCLUDE FILE comp_tree.incl.pl1 */ 819 14 1 /* BEGIN INCLUDE FILE compstat.incl.pl1 - external static data for compose 14 2* 14 3* This storage is converted from external (as declared) to internal by the 14 4* binder and contains items that must be accessible to both the bound and 14 5* unbound program. */ 14 6 14 7 /* Written: ??/??/7? - EJW 14 8* Modified: 10/18/84 - EJW - (First recorded change) Added current_parms_ptr 14 9* and removed the codes array; version 6. 14 10**/ 14 11 14 12 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 14 13 14 14 dcl 1 compstat$compconst 14 15 aligned like const ext static; 14 16 14 17 dcl const_version fixed bin (35) static options (constant) init (6); 14 18 dcl MAX_TREE_AREA_CT /* entries in a tree area */ 14 19 fixed bin static options (constant) init (80); 14 20 dcl MAX_TREE_AREAS /* number of tree areas */ 14 21 fixed bin static options (constant) init (20); 14 22 14 23 dcl 1 const aligned based (compstat$compconst.ptr), 14 24 2 ptr ptr, /* self pointer - MUST BE FIRST */ 14 25 2 version fixed bin (35), /* structure version */ 14 26 2 art_symbols /* string of art symbols */ 14 27 char (28) aligned, 14 28 2 builtin_count /* count of builtin variables */ 14 29 fixed bin, 14 30 2 comp_dir char (200), /* dir in which compose lives */ 14 31 2 comp_version 14 32 char (8) var, /* compose version id */ 14 33 2 date_value char (8) var, /* current date */ 14 34 2 dsm_name char (32), /* device support module name */ 14 35 2 dvt_name char (32), /* device table name */ 14 36 2 max_seg_chars 14 37 fixed bin (35), /* char count in a max seg */ 14 38 2 null_str char (1) var, /* an empty string */ 14 39 2 ptrs, 14 40 ( 3 call_stk_ptr, /* -> insert call stack */ 14 41 3 colhdrptr, /* empty column header structure */ 14 42 3 ctl_ptr, /* input line structure */ 14 43 3 current_parms_ptr, /* current formatting parms */ 14 44 3 default_parms_ptr, /* default initial text parms */ 14 45 3 devptr, /* -> comp_dvt structure */ 14 46 3 dvidptr, /* -> comp_dvid structure */ 14 47 3 errblk_ptr, /* error message block pointer */ 14 48 3 footnote_parms_ptr, /* footnote formatting parms */ 14 49 3 fnttbldata_ptr, /* -> font table data */ 14 50 3 global_area_ptr, /* per invocation storage */ 14 51 3 init_page_parms_ptr, /* default initial page parms */ 14 52 3 insert_data_ptr, /* insert file data block */ 14 53 3 local_area_ptr, /* per file storage */ 14 54 3 loctbl_ptr, /* for font copying */ 14 55 3 option_ptr, /* program options block */ 14 56 3 outproc_ptr, /* device writer for cleanup */ 14 57 3 page_ptr, /* active page structure */ 14 58 3 page_header_ptr, /* empty page header structure */ 14 59 3 page_parms_ptr, /* page formatting parameter block */ 14 60 3 save_shared_ptr, /* saved shared data */ 14 61 3 shared_ptr, /* shared data structure */ 14 62 3 text_entry_ptr, /* empty text entry structure */ 14 63 3 text_header_ptr, /* empty text header structure */ 14 64 3 text_parms_ptr, /* main body formatting parms */ 14 65 3 tree_ptr /* symbol tree structure */ 14 66 ) ptr, 14 67 2 time_value char (6) var; /* time at start */ 14 68 14 69 /* Other external */ 14 70 dcl ( 14 71 ioa_, 14 72 ioa_$nnl 14 73 ) entry options (variable); 14 74 dcl iox_$error_output 14 75 ptr ext static, /* iocb pointer for error_output */ 14 76 iox_$user_input 14 77 ptr ext static, /* iocb pointer for user_input */ 14 78 iox_$user_output 14 79 ptr ext static; /* iocb pointer for user_output */ 14 80 dcl sys_info$max_seg_size 14 81 fixed bin (18) ext static; 14 82 14 83 /* END INCLUDE FILE compstat.incl.pl1 */ 820 15 1 /* BEGINNING OF: translator_temp_alloc.incl.pl1 * * * * * * * * * * * * * * * * */ 15 2 15 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 15 4 /* */ 15 5 /* N__a_m_e: translator_temp_alloc.incl.pl1 */ 15 6 /* */ 15 7 /* This include segment allocates space in a translator's temporary segment. It */ 15 8 /* contains a complete space allocation function 'allocate' which can be a quick PL/I */ 15 9 /* internal procedure in the program which includes this include segment. The temporary */ 15 10 /* segment should be one obtained by using the translator_temp_ subroutine. */ 15 11 /* */ 15 12 /* S__t_a_t_u_s */ 15 13 /* */ 15 14 /* 0) Created by: G. C. Dixon in January, 1975. */ 15 15 /* 1) Modified by: G. C. Dixon in February, 1981 - use limit area structure. */ 15 16 /* */ 15 17 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 15 18 15 19 15 20 15 21 allocate: procedure (Parea, ANwords) returns (ptr); 15 22 15 23 dcl Parea ptr, /* ptr to the temporary segment. (In) */ 15 24 ANwords fixed bin; /* number of words to be allocated. (In) */ 15 25 15 26 dcl Nwords fixed bin, /* number of words to be allocated, rounded up */ 15 27 /* to a 0 mod 2 quantity. */ 15 28 P ptr, /* a temporary pointer. */ 15 29 code fixed bin(35), /* a status code. */ 15 30 (mod, null, ptr) builtin; 15 31 15 32 dcl 1 area based (Parea), 15 33 2 Pfirst_temp_seg ptr unal, /* ptr to first temp seg of a group. */ 15 34 2 Ofree fixed bin(35), /* offset of next free word in temp seg. */ 15 35 2 Lfree fixed bin(35); /* length of remaining free space in temp seg. */ 15 36 15 37 dcl translator_temp_$get_next_segment 15 38 entry (ptr, ptr, fixed bin(35)); 15 39 15 40 Nwords = ANwords + mod (ANwords, 2); /* round up word count to 0 + mod 2 quantity. */ 15 41 if Nwords > Lfree then do; /* handle area overflow. */ 15 42 call translator_temp_$get_next_segment (Parea, P, code); 15 43 if P = null then return (null); 15 44 Parea = P; 15 45 if Nwords > area.Lfree then return (null); 15 46 end; 15 47 P = ptr (Parea, area.Ofree); /* get pointer to next free word of area. */ 15 48 area.Ofree = area.Ofree + Nwords; /* increase offset of remaining free space. */ 15 49 area.Lfree = area.Lfree - Nwords; /* decrease length of remaining free space. */ 15 50 return (P); 15 51 15 52 end allocate; 15 53 15 54 /* END OF: translator_temp_alloc.incl.pl1 * * * * * * * * * * * * * * * * */ 821 822 823 end comp_init_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/23/85 0910.0 comp_init_.pl1 >spec>online>comp>comp_init_.pl1 807 1 04/23/85 0912.2 comp_column.incl.pl1 >spec>online>comp>comp_column.incl.pl1 808 2 10/02/84 1225.1 comp_DCcodes.incl.pl1 >ldd>include>comp_DCcodes.incl.pl1 809 3 03/01/85 1411.9 comp_dvt.incl.pl1 >ldd>include>comp_dvt.incl.pl1 810 4 03/01/85 1412.0 comp_fntstk.incl.pl1 >ldd>include>comp_fntstk.incl.pl1 811 5 04/23/85 0912.3 comp_font.incl.pl1 >spec>online>comp>comp_font.incl.pl1 812 6 03/01/85 1412.0 comp_footnotes.incl.pl1 >ldd>include>comp_footnotes.incl.pl1 813 7 03/01/85 1412.0 comp_insert.incl.pl1 >ldd>include>comp_insert.incl.pl1 814 8 03/01/85 1412.0 comp_option.incl.pl1 >ldd>include>comp_option.incl.pl1 815 9 04/23/85 0912.4 comp_page.incl.pl1 >spec>online>comp>comp_page.incl.pl1 816 10 03/01/85 1412.0 comp_shared.incl.pl1 >ldd>include>comp_shared.incl.pl1 817 11 03/01/85 1412.0 comp_stack_box.incl.pl1 >ldd>include>comp_stack_box.incl.pl1 818 12 04/23/85 0912.6 comp_text.incl.pl1 >spec>online>comp>comp_text.incl.pl1 819 13 03/01/85 1412.0 comp_tree.incl.pl1 >ldd>include>comp_tree.incl.pl1 820 14 03/01/85 1412.1 compstat.incl.pl1 >ldd>include>compstat.incl.pl1 821 15 07/22/81 2045.0 translator_temp_alloc.incl.pl1 >ldd>include>translator_temp_alloc.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. ANwords parameter fixed bin(17,0) dcl 15-23 ref 15-21 15-40 15-40 Lfree 2 based fixed bin(35,0) level 2 dcl 15-32 set ref 15-41 15-45 15-49* 15-49 MAX_TREE_AREAS constant fixed bin(17,0) initial dcl 14-20 ref 545 545 545 545 545 545 545 545 545 545 545 545 546 546 546 546 546 546 546 546 546 546 546 546 546 546 546 546 546 546 546 546 546 546 546 546 546 546 546 546 546 546 546 546 546 546 546 550 550 550 551 551 551 551 551 551 551 551 551 551 551 551 552 552 553 553 553 553 553 553 553 553 553 554 554 554 554 554 584 586 586 588 588 588 588 588 MAX_TREE_AREA_CT constant fixed bin(17,0) initial dcl 14-18 ref 550 550 551 551 552 552 553 553 554 554 585 587 589 MBZ 4113(15) 000014 constant bit(21) initial level 3 packed unaligned dcl 87 Nwords 000140 automatic fixed bin(17,0) dcl 15-26 set ref 15-40* 15-41 15-45 15-48 15-49 Ofree 1 based fixed bin(35,0) level 2 dcl 15-32 set ref 15-47 15-48* 15-48 P 000142 automatic pointer dcl 15-26 set ref 15-42* 15-43 15-44 15-47* 15-50 PAD 1(27) 000014 constant char(1) initial level 3 packed unaligned dcl 87 Parea parameter pointer dcl 15-23 set ref 15-21 15-41 15-42* 15-44* 15-45 15-47 15-47 15-48 15-48 15-49 15-49 addr builtin function dcl 24 ref 591 601 603 605 607 609 611 613 615 617 619 621 623 625 627 629 631 633 635 637 639 641 643 645 647 649 651 653 655 657 659 661 663 665 667 669 671 673 675 677 679 681 683 685 687 689 691 693 696 698 700 702 704 706 708 710 712 714 716 718 720 722 724 726 728 730 732 734 736 738 740 742 744 746 align_mode based label variable level 2 dcl 13-5 set ref 591 area based structure level 1 unaligned dcl 15-32 areandx 241 based fixed bin(17,0) level 2 dcl 13-5 set ref 550 550 551 551 553 553 583* arg_count 3 based fixed bin(17,0) level 2 dcl 8-5 set ref 613 art_mode 4 based label variable level 2 dcl 13-5 set ref 601 aux_file_data_ptr 3742 000014 constant pointer initial level 3 dcl 87 balftn 320 based structure level 3 in structure "col" dcl 1-5 in procedure "comp_init_" balftn 2 based structure level 2 in structure "colhdr" dcl 1-21 in procedure "comp_init_" balftn 320 based structure level 3 in structure "col0" dcl 1-37 in procedure "comp_init_" blank_footer_ptr 3744 000014 constant pointer initial level 3 dcl 87 blank_header_ptr 3746 000014 constant pointer initial level 3 dcl 87 blank_text_ptr 3750 000014 constant pointer initial level 3 dcl 87 blkptr based pointer array level 2 in structure "col0" dcl 1-37 in procedure "comp_init_" set ref 782* blkptr 3752 000014 constant pointer initial level 3 in structure "initial_shared" dcl 87 in procedure "comp_init_" block based structure level 2 dcl 12-5 block_index 10 based label variable level 2 dcl 13-5 set ref 603 block_name 14 based label variable level 2 dcl 13-5 set ref 605 bottom 7 based fixed bin(31,0) level 3 dcl 9-108 set ref 755* 757 bottom_margin 20 based label variable level 2 dcl 13-5 set ref 734 bug_mode 4113 based bit(1) level 3 packed unaligned dcl 10-7 set ref 511 578 builtin_count 12 based fixed bin(17,0) level 2 dcl 14-23 set ref 466* builtin_names 010337 constant char(32) initial array unaligned dcl 36 ref 587 call_box based structure level 1 dcl 7-18 ref 775 775 call_box_ptr automatic pointer dcl 7-17 ref 775 775 call_stack based structure level 1 dcl 7-13 set ref 536 536 call_stk_ptr 126 based pointer level 3 dcl 14-23 set ref 456* 536* 536 536 773 773 775 callers_lineno 30 based label variable level 2 dcl 13-5 set ref 609 calling_file_name 24 based label variable level 2 dcl 13-5 set ref 607 cbar 4 based structure level 2 dcl 8-5 cbar_type 2 based varying char(4) level 2 in structure "shared" dcl 10-7 in procedure "comp_init_" set ref 611 cbar_type 2 000014 constant varying char(4) initial level 2 in structure "initial_shared" dcl 87 in procedure "comp_init_" cleanup 000106 stack reference condition dcl 26 ref 478 769 clock_ 000012 constant entry external dcl 28 ref 468 468 code 000144 automatic fixed bin(35,0) dcl 15-26 set ref 15-42* col based structure level 1 dcl 1-5 ref 777 777 col0 based structure level 1 dcl 1-37 col_image_ptr 114 based pointer array level 2 dcl 9-11 set ref 762* colhdr based structure level 1 dcl 1-21 ref 559 559 colhdrptr 130 based pointer level 3 dcl 14-23 set ref 456* 559* 559 559 colptr 3754 based pointer level 3 in structure "shared" dcl 10-7 in procedure "comp_init_" set ref 777 777 colptr 3754 000014 constant pointer initial level 3 in structure "initial_shared" dcl 87 in procedure "comp_init_" column_ptr 42 based pointer array level 2 dcl 9-11 set ref 762* 777* 778 779 779 780 780 781 781 782 com_err_ 000014 constant entry external dcl 29 ref 477 768 comp_dvt based structure level 1 dcl 3-19 compout_not_headed 4113(01) 000014 constant bit(1) initial level 3 packed unaligned dcl 87 compout_ptr 3756 000014 constant pointer initial level 3 dcl 87 compstat$compconst 000022 external static structure level 1 dcl 14-14 compx_ptr 3760 000014 constant pointer initial level 3 dcl 87 const based structure level 1 dcl 14-23 count based fixed bin(17,0) level 2 in structure "insert_data" dcl 7-5 in procedure "comp_init_" set ref 534* count 240 based fixed bin(17,0) level 2 in structure "tree" dcl 13-5 in procedure "comp_init_" set ref 549* 583* count 3722 based fixed bin(17,0) level 3 in structure "insert_data" dcl 7-5 in procedure "comp_init_" set ref 534* count based fixed bin(17,0) level 2 in structure "call_stack" dcl 7-13 in procedure "comp_init_" set ref 773* count based fixed bin(17,0) level 2 in structure "fnttbldata" dcl 5-7 in procedure "comp_init_" set ref 568* ctb_ptr 3762 000014 constant pointer initial level 3 dcl 87 ctl based structure level 1 dcl 12-157 set ref 517 517 519 519 ctl_ptr 132 based pointer level 3 dcl 14-23 set ref 456* 517* 517 517 519 519 519 date_time_ 000016 constant entry external dcl 30 ref 468 date_time_string 000100 automatic char(16) unaligned dcl 19 set ref 468* 469 471 date_value 100 based varying char(8) level 2 dcl 14-23 set ref 469* 615 db_before_line 115 based fixed bin(35,0) level 2 dcl 8-5 set ref 493* db_file 116 based varying char(200) level 2 dcl 8-5 set ref 494* db_line_end 202 based fixed bin(35,0) level 2 dcl 8-5 set ref 493* db_sw 000010 internal static bit(1) initial unaligned dcl 796 set ref 453 504 511 578 800* 804* debug_sw 000104 automatic bit(1) unaligned dcl 21 set ref 511* 514 571 578* 580 791 def_vmb 37 based fixed bin(31,0) level 2 dcl 3-19 ref 755 def_vmf 36 based fixed bin(31,0) level 2 dcl 3-19 ref 754 def_vmh 35 based fixed bin(31,0) level 2 dcl 3-19 ref 753 def_vmt 34 based fixed bin(31,0) level 2 dcl 3-19 ref 752 default_parms based structure level 1 dcl 12-213 set ref 524 524 526* default_parms_ptr 136 based pointer level 3 dcl 14-23 set ref 456* 524* 524 524 526 del 65 based structure level 3 dcl 8-5 delmark constant char(1) initial unaligned dcl 2-6 ref 489 devclass 34 based label variable level 2 dcl 13-5 set ref 619 device 204 based varying char(32) level 2 dcl 8-5 set ref 617 devname 40 based label variable level 2 dcl 13-5 set ref 621 devptr 140 based pointer level 3 dcl 14-23 ref 749 749 751 752 753 754 755 756 dot_add_letter 4 based varying char(1) level 2 in structure "shared" dcl 10-7 in procedure "comp_init_" set ref 625 dot_add_letter 4 000014 constant varying char(1) initial level 2 in structure "initial_shared" dcl 87 in procedure "comp_init_" dot_addltr 44 based label variable level 2 dcl 13-5 set ref 623 end_input 4113(02) 000014 constant bit(1) initial level 3 packed unaligned dcl 87 end_output 4113(03) 000014 constant bit(1) initial level 3 packed unaligned dcl 87 entry_ct 242 based fixed bin(17,0) array level 2 dcl 13-5 set ref 584* 585* epftrptr 3764 000014 constant pointer initial level 3 dcl 87 ephdrptr 3766 000014 constant pointer initial level 3 dcl 87 eqn_refct 7 based fixed bin(17,0) level 2 dcl 10-7 set ref 627 equation_mode 50 based label variable level 2 dcl 13-5 set ref 629 ercd 000105 automatic fixed bin(35,0) dcl 22 set ref 473* 474 477* 764* 765 768* errblk_ptr 144 based pointer level 3 dcl 14-23 set ref 456* even 11 based fixed bin(31,0) level 3 dcl 9-108 set ref 757* extra_indent 215 based fixed bin(31,0) level 2 dcl 8-5 set ref 631 fcb_ptr 3770 000014 constant pointer initial level 3 dcl 87 file based structure level 2 dcl 7-32 fill_mode 54 based label variable level 2 dcl 13-5 set ref 635 firstpass 4113(04) 000014 constant bit(1) initial level 3 in structure "initial_shared" packed unaligned dcl 87 in procedure "comp_init_" firstpass 4113(04) based bit(1) level 3 in structure "shared" packed unaligned dcl 10-7 in procedure "comp_init_" set ref 637 flag_loc 2 based pointer array level 2 dcl 13-76 set ref 637* 643* 651* 655* 671* 683* 685* 700* 708* 710* 714* 742* flag_ptr based pointer array level 2 dcl 13-5 set ref 546* 550* 550 550 fntstk_entry based structure level 1 dcl 4-6 fnttbl_ptr 000114 automatic pointer initial dcl 5-13 set ref 5-13* fnttbldata based structure level 1 dcl 5-7 set ref 567 567 fnttbldata_ptr 150 based pointer level 3 dcl 14-23 set ref 456* 567* 567 567 568 568 569 fontname 60 based label variable level 2 dcl 13-5 set ref 639 footer 6 based fixed bin(31,0) level 3 dcl 9-108 set ref 754* 757 footer_margin 64 based label variable level 2 dcl 13-5 set ref 736 footnote_header_ptr 3774 000014 constant pointer initial level 3 dcl 87 footnote_parms based structure level 1 dcl 6-12 set ref 528 528 530* footnote_parms_ptr 146 based pointer level 3 dcl 14-23 set ref 528* 528 528 530 footref_fcs 10 000014 constant char(8) initial level 2 dcl 87 free 3742 based bit(1) array level 3 in structure "tblkdata" packed unaligned dcl 12-5 in procedure "comp_init_" set ref 788* free 5732 based bit(1) array level 3 in structure "tblkdata" packed unaligned dcl 12-5 in procedure "comp_init_" set ref 788* free 1752 based bit(1) array level 3 in structure "tblkdata" packed unaligned dcl 12-5 in procedure "comp_init_" set ref 788* from 224 based varying char(32) array level 3 dcl 8-5 set ref 497* 647 frontpage 70 based label variable level 2 dcl 13-5 set ref 649 ftn_mode 4113(05) 000014 constant bit(1) initial level 3 in structure "initial_shared" packed unaligned dcl 87 in procedure "comp_init_" ftn_mode 4113(05) based bit(1) level 3 in structure "shared" packed unaligned dcl 10-7 in procedure "comp_init_" set ref 643 ftn_reset 12 based varying char(8) level 2 in structure "shared" dcl 10-7 in procedure "comp_init_" set ref 645 ftn_reset 12 000014 constant varying char(8) initial level 2 in structure "initial_shared" dcl 87 in procedure "comp_init_" ftnblk_data_ptr 3772 000014 constant pointer initial level 3 dcl 87 ftnrefct 15 based fixed bin(17,0) level 2 dcl 10-7 set ref 641 ftrptr 312 based pointer level 2 dcl 1-37 set ref 780* ftrusd 314 based fixed bin(31,0) level 2 dcl 1-37 set ref 781* galley_opt 1(09) based bit(1) level 2 packed unaligned dcl 8-5 set ref 651 global_area_ptr 152 based pointer level 3 dcl 14-23 set ref 456* 473* 482* 500* 517* 519* 521* 524* 528* 532* 536* 538* 542* 545* 550* 551* 552* 553* 554* 556* 559* 561* 562* 565* 567* 593* 597* graphic_page_ptr 3776 000014 constant pointer initial level 3 dcl 87 hdrptr 452 based pointer level 2 dcl 1-37 set ref 780* hdrusd 454 based fixed bin(31,0) level 2 dcl 1-37 set ref 781* head_space 74 based label variable level 2 dcl 13-5 set ref 653 header 5 based fixed bin(31,0) level 3 dcl 9-108 set ref 753* 757 header_margin 100 based label variable level 2 dcl 13-5 set ref 738 hit_data_ptr 4000 000014 constant pointer initial level 3 dcl 87 htab_ptr 4002 000014 constant pointer initial level 3 dcl 87 hwrd_data_ptr 4004 000014 constant pointer initial level 3 dcl 87 hyph_mode 4113(06) based bit(1) level 3 in structure "shared" packed unaligned dcl 10-7 in procedure "comp_init_" set ref 540* 655 hyph_mode 4113(06) 000014 constant bit(1) initial level 3 in structure "initial_shared" packed unaligned dcl 87 in procedure "comp_init_" hyph_opt 1(10) based bit(1) level 2 packed unaligned dcl 8-5 set ref 540 hyph_size 216 based fixed bin(31,0) level 2 dcl 8-5 set ref 495* image_ptr 40 based pointer level 2 dcl 9-11 set ref 762* in 4114 000014 constant varying char(128) initial level 3 dcl 87 incr_ptr based pointer array level 2 dcl 13-5 set ref 546* 551* 551 551 index 1 based fixed bin(17,0) level 2 in structure "call_stack" dcl 7-13 in procedure "comp_init_" set ref 773* index 1 based fixed bin(17,0) level 2 in structure "insert_data" dcl 7-5 in procedure "comp_init_" set ref 534* 667 info 161 based structure level 2 in structure "txtlin" dcl 12-161 in procedure "comp_init_" info 277 based structure level 3 in structure "hfcblk" dcl 12-250 in procedure "comp_init_" info 277 based structure level 3 in structure "text" dcl 12-49 in procedure "comp_init_" info 277 based structure level 3 in structure "ftnhdr" dcl 6-10 in procedure "comp_init_" info 161 based structure level 2 in structure "ctl" dcl 12-157 in procedure "comp_init_" info 161 based structure level 2 in structure "text_entry" dcl 12-68 in procedure "comp_init_" init_default_parms 004234 constant structure level 1 dcl 246 ref 526 530 543 init_page_depth based fixed bin(31,0) level 2 dcl 9-108 set ref 751* init_page_parms based structure level 1 dcl 9-108 set ref 521 521 748* init_page_parms_ptr 154 based pointer level 3 dcl 14-23 set ref 456* 521* 521 521 748 749 751 752 753 754 755 756 757 757 757 757 757 757 757 init_stack_box 007730 constant structure level 1 dcl 11-11 ref 594 598 init_tree_var 006270 constant structure array level 1 dcl 360 ref 589 initial_page_parms 000000 constant structure level 1 dcl 60 ref 748 initial_shared 000014 constant structure level 1 dcl 87 ref 501 initial_text_header 006156 constant structure level 1 dcl 294 ref 564 input_dirname 3317 based varying char(168) level 2 in structure "shared" dcl 10-7 in procedure "comp_init_" set ref 661 input_dirname 3317 000014 constant varying char(168) initial level 2 in structure "initial_shared" dcl 87 in procedure "comp_init_" input_filename 3372 000014 constant varying char(200) initial level 2 in structure "initial_shared" dcl 87 in procedure "comp_init_" input_filename 3372 based varying char(200) level 2 in structure "shared" dcl 10-7 in procedure "comp_init_" set ref 663 insert based structure level 1 dcl 7-32 insert_data based structure level 1 dcl 7-5 set ref 532 532 insert_data_ptr 156 based pointer level 3 dcl 14-23 set ref 456* 532* 532 532 534 534 534 667 insert_ptr 4006 000014 constant pointer initial level 3 dcl 87 inserting_hfc 4113(07) 000014 constant bit(1) initial level 3 packed unaligned dcl 87 ioa_ 000024 constant entry external dcl 14-70 ref 453 504 514 571 580 791 keep_mode 104 based label variable level 2 dcl 13-5 set ref 669 left 12 based structure level 2 in structure "text_parms" dcl 12-206 in procedure "comp_init_" left 12 based structure level 2 in structure "current_parms" dcl 12-209 in procedure "comp_init_" left 12 based structure level 2 in structure "default_parms" dcl 12-213 in procedure "comp_init_" left 1016 based structure level 3 in structure "hfcblk" dcl 12-250 in procedure "comp_init_" left 455 based fixed bin(31,0) level 3 in structure "col0" dcl 1-37 in procedure "comp_init_" set ref 778* left 12 based structure level 2 in structure "footnote_parms" dcl 6-12 in procedure "comp_init_" left 12 004234 constant structure level 2 in structure "init_default_parms" dcl 246 in procedure "comp_init_" left 7 based structure level 3 in structure "option" dcl 8-5 in procedure "comp_init_" left 1016 based structure level 3 in structure "ftnhdr" dcl 6-10 in procedure "comp_init_" left 1016 based structure level 3 in structure "text" dcl 12-49 in procedure "comp_init_" left_indent 110 based label variable level 2 dcl 13-5 set ref 657 left_undent 114 based label variable level 2 dcl 13-5 set ref 728 length 1 based fixed bin(31,0) level 2 dcl 9-108 set ref 749* 757 level 4 based char(1) level 3 dcl 8-5 set ref 485* line_2 220 based fixed bin(35,0) level 2 dcl 8-5 set ref 493* line_area 1770 based structure level 2 dcl 12-5 line_area_ptr 000120 automatic pointer initial dcl 12-25 set ref 12-25* line_input 120 based label variable level 2 dcl 13-5 set ref 673 linesleft 124 based label variable level 2 dcl 13-5 set ref 675 linespace 221 based fixed bin(31,0) level 2 in structure "option" dcl 8-5 in procedure "comp_init_" set ref 496* linespace 130 based label variable level 2 in structure "tree" dcl 13-5 in procedure "comp_init_" set ref 677 literal_mode 4113(08) 000014 constant bit(1) initial level 3 packed unaligned dcl 87 local_area_ptr 160 based pointer level 3 dcl 14-23 set ref 456* 764* 775* 777* 784* loctbl_ptr 162 based pointer level 3 dcl 14-23 set ref 456* margin 455 based structure level 2 in structure "col0" dcl 1-37 in procedure "comp_init_" margin 4 based structure level 2 in structure "init_page_parms" dcl 9-108 in procedure "comp_init_" mark 11 based varying char(80) level 4 in structure "option" dcl 8-5 in procedure "comp_init_" set ref 488* mark 40 based varying char(80) level 4 in structure "option" dcl 8-5 in procedure "comp_init_" set ref 488* mark 67 based varying char(80) level 4 in structure "option" dcl 8-5 in procedure "comp_init_" set ref 489* measure 10 based fixed bin(31,0) level 2 in structure "init_page_parms" dcl 9-108 in procedure "comp_init_" set ref 756* measure 10 based fixed bin(31,0) level 2 in structure "page_parms" dcl 9-86 in procedure "comp_init_" set ref 696 measure 457 based fixed bin(31,0) level 3 in structure "col0" dcl 1-37 in procedure "comp_init_" set ref 779* measure_bif 134 based label variable level 2 dcl 13-5 set ref 679 medsel_ptr 2 based pointer level 2 dcl 5-7 set ref 569* min builtin function dcl 24 ref 749 756 mod builtin function dcl 15-26 ref 15-40 modmark constant char(1) initial unaligned dcl 2-6 ref 488 name_ptr based pointer array level 2 dcl 13-5 set ref 546* 552* 586 ndx 1 based fixed bin(17,0) level 2 dcl 5-7 set ref 568* net 11 based structure level 2 dcl 9-108 next_pagenmbr 3457 000014 constant varying char(32) initial level 2 dcl 87 next_pageno 140 based label variable level 2 dcl 13-5 set ref 681 null builtin function dcl 24 in procedure "comp_init_" ref 456 546 569 694 762 780 782 786 5-13 12-25 12-35 13-68 13-75 null builtin function dcl 15-26 in procedure "allocate" ref 15-43 15-43 15-45 null_str 124 based varying char(1) level 2 dcl 14-23 set ref 470* num_loc 4 based pointer array level 2 dcl 13-76 set ref 591* 595* 599* 601* 603* 605* 607* 609* 613* 619* 621* 623* 627* 629* 631* 635* 639* 641* 649* 653* 657* 659* 665* 667* 669* 673* 675* 677* 679* 681* 687* 689* 691* 693* 694* 696* 702* 704* 706* 712* 716* 718* 722* 726* 728* 730* 732* 734* 736* 738* 740* 744* 746* num_ptr based pointer array level 2 dcl 13-5 set ref 546* 553* 553 553 number_opt 1(30) based bit(1) level 2 packed unaligned dcl 8-5 set ref 671 odd 12 based fixed bin(31,0) level 3 dcl 9-108 set ref 757* opftrptr 4010 000014 constant pointer initial level 3 dcl 87 ophdrptr 4012 000014 constant pointer initial level 3 dcl 87 option based structure level 1 dcl 8-5 set ref 482 482 483* option_ptr 164 based pointer level 3 dcl 14-23 set ref 456* 482* 482 482 483 484 485 485 486 487 488 488 489 490 490 490 491 491 491 493 493 493 494 495 496 497 498 539 540 613 617 631 647 651 671 683 710 724 742 option_version constant fixed bin(35,0) initial dcl 8-3 ref 484 out 4155 000014 constant varying char(128) initial level 3 dcl 87 outproc_ptr 166 based pointer level 3 dcl 14-23 set ref 456* output_file 3470 000014 constant varying char(32) initial level 2 dcl 87 output_file_opt 1(14) based bit(1) level 2 packed unaligned dcl 8-5 set ref 683 page based structure level 1 dcl 9-11 set ref 556 556 page_header based structure level 1 dcl 9-27 ref 565 565 page_header_ptr 172 based pointer level 3 dcl 14-23 set ref 456* 565* 565 565 page_length 154 based label variable level 2 dcl 13-5 set ref 689 page_parms based structure level 1 dcl 9-86 set ref 538 538 page_parms_ptr 174 based pointer level 3 dcl 14-23 set ref 456* 538* 538 538 696 page_ptr 170 based pointer level 3 dcl 14-23 set ref 456* 556* 556 556 557 762 762 762 777 778 779 779 780 780 781 781 782 page_version constant fixed bin(17,0) initial dcl 9-9 ref 557 pageblock 4113(09) 000014 constant bit(1) initial level 3 in structure "initial_shared" packed unaligned dcl 87 in procedure "comp_init_" pageblock 4113(09) based bit(1) level 3 in structure "shared" packed unaligned dcl 10-7 in procedure "comp_init_" set ref 685 pagecount 144 based label variable level 2 dcl 13-5 set ref 687 pagelines 150 based label variable level 2 dcl 13-5 set ref 691 pageno 160 based label variable level 2 dcl 13-5 set ref 693 param_pres 3642 based bit(1) level 2 dcl 10-7 set ref 700 parameter 3541 based varying char(254) level 2 in structure "shared" dcl 10-7 in procedure "comp_init_" set ref 539* 698 parameter 3541 000014 constant varying char(254) initial level 2 in structure "initial_shared" dcl 87 in procedure "comp_init_" parameter 2030 based varying char(80) level 2 in structure "option" dcl 8-5 in procedure "comp_init_" set ref 539 parms 457 based structure level 2 dcl 1-37 pass_counter 3643 based fixed bin(17,0) level 2 dcl 10-7 set ref 702 passes 2055 based fixed bin(17,0) level 2 dcl 8-5 set ref 498* pdl_max 41 based fixed bin(31,0) level 2 dcl 3-19 ref 749 749 pdw_max 40 based fixed bin(31,0) level 2 dcl 3-19 ref 756 pgc_select 2056 based char(1) level 2 dcl 8-5 set ref 485* pglst 224 based structure array level 2 dcl 8-5 picture 3644 based structure level 2 dcl 10-7 picture_mode 4113(10) 000014 constant bit(1) initial level 3 packed unaligned dcl 87 place 5 based char(1) level 3 dcl 8-5 set ref 486* pointsize 164 based label variable level 2 dcl 13-5 set ref 706 print_flag 4113(11) based bit(1) level 3 in structure "shared" packed unaligned dcl 10-7 in procedure "comp_init_" set ref 708 print_flag 4113(11) 000014 constant bit(1) initial level 3 in structure "initial_shared" packed unaligned dcl 87 in procedure "comp_init_" ptb_ptr 4014 000014 constant pointer initial level 3 dcl 87 ptr 2 based pointer array level 3 in structure "tblkdata" dcl 12-5 in procedure "comp_init_" set ref 786* ptr 1772 based pointer array level 3 in structure "tblkdata" dcl 12-5 in procedure "comp_init_" set ref 786* ptr 2 based pointer array level 2 in structure "call_stack" dcl 7-13 in procedure "comp_init_" set ref 775* ptr 172 based pointer level 2 in structure "ctl" dcl 12-157 in procedure "comp_init_" set ref 519* ptr 3762 based pointer array level 3 in structure "tblkdata" dcl 12-5 in procedure "comp_init_" set ref 786* ptr 000022 external static pointer level 2 in structure "compstat$compconst" dcl 14-14 in procedure "comp_init_" ref 456 456 456 456 456 456 456 456 456 456 456 456 456 456 456 456 456 456 456 456 456 456 466 469 470 471 473 482 482 482 482 483 484 485 485 486 487 488 488 489 490 490 490 491 491 491 493 493 493 494 495 496 497 498 500 500 500 500 501 502 511 517 517 517 517 519 519 519 519 521 521 521 521 524 524 524 524 526 528 528 528 528 530 532 532 532 532 534 534 534 536 536 536 536 538 538 538 538 539 539 540 540 542 542 542 542 543 545 545 545 545 546 546 546 546 546 549 550 550 550 550 550 550 551 551 551 551 551 551 552 552 553 553 553 553 553 553 554 554 556 556 556 556 557 559 559 559 559 561 561 561 561 562 562 562 562 564 565 565 565 565 567 567 567 567 568 568 569 578 583 583 584 585 586 588 591 593 597 601 603 605 607 609 611 613 615 617 619 621 623 625 627 629 631 633 635 637 639 641 643 645 647 649 651 653 655 657 659 661 663 665 667 669 671 673 675 677 679 681 683 685 687 689 691 693 696 698 700 702 704 706 708 710 712 714 716 718 720 722 724 726 728 730 732 734 736 738 740 742 744 746 748 749 749 749 751 751 752 752 753 753 754 754 755 755 756 756 757 757 757 757 757 757 757 762 762 762 764 773 773 775 775 777 777 777 777 778 779 779 780 780 781 781 782 784 784 784 784 785 786 786 786 788 788 788 ptr builtin function dcl 15-26 in procedure "allocate" ref 15-47 ptrs 126 based structure level 2 in structure "const" dcl 14-23 in procedure "comp_init_" ptrs 3742 based structure level 2 in structure "shared" dcl 10-7 in procedure "comp_init_" purge_ftns 4113(12) 000014 constant bit(1) initial level 3 packed unaligned dcl 87 ref_area 3722 based structure level 2 dcl 7-5 right 36 based structure level 3 in structure "option" dcl 8-5 in procedure "comp_init_" right 456 based fixed bin(31,0) level 3 in structure "col0" dcl 1-37 in procedure "comp_init_" set ref 779* right_indent 170 based label variable level 2 dcl 13-5 set ref 659 right_undent 174 based label variable level 2 dcl 13-5 set ref 730 save_shared_ptr 176 based pointer level 3 dcl 14-23 set ref 456* sep 36 based fixed bin(31,0) level 4 in structure "option" dcl 8-5 in procedure "comp_init_" set ref 490* sep 65 based fixed bin(31,0) level 4 in structure "option" dcl 8-5 in procedure "comp_init_" set ref 490* sep 7 based fixed bin(31,0) level 4 in structure "option" dcl 8-5 in procedure "comp_init_" set ref 490* shared based structure level 1 dcl 10-7 set ref 500 500 501* shared_ptr 200 based pointer level 3 dcl 14-23 set ref 456* 500* 500 500 501 502 511 539 540 578 611 625 627 633 637 641 643 645 655 661 663 685 698 700 702 704 708 714 744 746 777 777 784 784 784 785 786 786 786 788 788 788 shared_version constant fixed bin(35,0) initial dcl 10-5 ref 502 size builtin function dcl 24 ref 482 482 500 500 517 517 519 519 521 521 524 524 528 528 532 532 536 536 538 538 542 542 545 545 550 550 551 551 552 552 553 553 554 554 556 556 559 559 561 561 562 562 565 565 567 567 593 593 597 597 775 775 777 777 784 784 source_filename 4030 000014 constant varying char(200) initial level 2 in structure "initial_shared" dcl 87 in procedure "comp_init_" source_filename 4030 based varying char(200) level 2 in structure "shared" dcl 10-7 in procedure "comp_init_" set ref 633 space 6 based fixed bin(31,0) level 3 in structure "option" dcl 8-5 in procedure "comp_init_" set ref 487* space 3645 based fixed bin(31,0) level 3 in structure "shared" dcl 10-7 in procedure "comp_init_" set ref 704 spcl_blkptr 4016 000014 constant pointer initial level 3 dcl 87 stack_box based structure level 1 dcl 11-9 set ref 593 593 594* 597 597 598* stkbox_ptr 000116 automatic pointer dcl 11-8 set ref 593* 593 593 594 595 597* 597 597 598 599 stop_opt 1(33) based bit(1) level 2 packed unaligned dcl 8-5 set ref 710 str_loc 10 based pointer array level 2 dcl 13-76 set ref 595* 599* 611* 615* 617* 625* 633* 645* 647* 661* 663* 698* 720* 724* suppress_footref 4113(13) 000014 constant bit(1) initial level 3 packed unaligned dcl 87 sws 4113 based structure level 2 dcl 10-7 sym_delim 1 000014 constant char(1) initial level 3 packed unaligned dcl 87 symbol_delimiter 200 based label variable level 2 dcl 13-5 set ref 712 table_mode 4113(14) 000014 constant bit(1) initial level 3 in structure "initial_shared" packed unaligned dcl 87 in procedure "comp_init_" table_mode 4113(14) based bit(1) level 3 in structure "shared" packed unaligned dcl 10-7 in procedure "comp_init_" set ref 714 tbldata_ptr 4020 000014 constant pointer initial level 3 dcl 87 tblkdata based structure level 1 dcl 12-5 set ref 784 784 785* tblkdata_ptr 4022 based pointer level 3 in structure "shared" dcl 10-7 in procedure "comp_init_" set ref 784* 784 784 785 786 786 786 788 788 788 tblkdata_ptr 4022 000014 constant pointer initial level 3 in structure "initial_shared" dcl 87 in procedure "comp_init_" text based structure level 1 dcl 12-49 text_area 3760 based structure level 2 dcl 12-5 text_area_ptr 000122 automatic pointer initial dcl 12-35 set ref 12-35* text_depth 204 based label variable level 2 dcl 13-5 set ref 716 text_entry based structure level 1 dcl 12-68 ref 561 561 text_entry_ptr 202 based pointer level 3 dcl 14-23 set ref 456* 561* 561 561 text_header based structure level 1 dcl 12-163 set ref 562 562 564* text_header_ptr 204 based pointer level 3 in structure "const" dcl 14-23 in procedure "comp_init_" set ref 456* 562* 562 562 564 text_header_ptr 4024 000014 constant pointer initial level 3 in structure "initial_shared" dcl 87 in procedure "comp_init_" text_lineno 210 based label variable level 2 dcl 13-5 set ref 665 text_parms based structure level 1 dcl 12-206 set ref 542 542 543* text_parms_ptr 206 based pointer level 3 dcl 14-23 set ref 456* 542* 542 542 543 text_width 214 based label variable level 2 dcl 13-5 set ref 718 time_value 212 based varying char(6) level 2 dcl 14-23 set ref 471* 720 title_delimiter 220 based label variable level 2 dcl 13-5 set ref 722 to 235 based varying char(32) array level 3 dcl 8-5 set ref 724 top 4 based fixed bin(31,0) level 3 dcl 9-108 set ref 752* 757 top_margin 224 based label variable level 2 dcl 13-5 set ref 740 trans 230 based label variable level 2 dcl 13-5 set ref 726 translator_temp_$get_next_segment 000026 constant entry external dcl 15-37 ref 15-42 translator_temp_$get_segment 000020 constant entry external dcl 31 ref 473 764 tree based structure level 1 dcl 13-5 set ref 545 545 tree_flags based bit(1) array dcl 13-62 ref 550 550 tree_incrs based fixed bin(31,0) array dcl 13-65 ref 551 551 tree_names based char(32) array unaligned dcl 13-69 set ref 552 552 587* tree_names_ptr 000124 automatic pointer initial dcl 13-68 set ref 552 552 586* 587 13-68* tree_nums based fixed bin(31,0) array dcl 13-72 ref 553 553 tree_ptr 210 based pointer level 3 dcl 14-23 set ref 456* 545* 545 545 546 546 546 546 546 549 550 550 550 550 550 551 551 551 551 551 552 553 553 553 553 553 554 583 583 584 585 586 588 591 601 603 605 607 609 619 621 623 629 635 639 649 653 657 659 665 669 673 675 677 679 681 687 689 691 693 706 712 716 718 722 726 728 730 732 734 736 738 740 tree_var based structure array level 1 dcl 13-76 set ref 554 554 589* tree_var_ptr 000126 automatic pointer initial dcl 13-75 set ref 554 554 588* 589 591 595 595 599 599 601 603 605 607 609 611 613 615 617 619 621 623 625 627 629 631 633 635 637 639 641 643 645 647 649 651 653 655 657 659 661 663 665 667 669 671 673 675 677 679 681 683 685 687 689 691 693 694 696 698 700 702 704 706 708 710 712 714 716 718 720 722 724 726 728 730 732 734 736 738 740 742 744 746 13-75* ttl_delim 1(09) 000014 constant char(1) initial level 3 packed unaligned dcl 87 userinput 234 based label variable level 2 dcl 13-5 set ref 732 var_ptr based pointer array level 2 dcl 13-5 set ref 546* 554* 588 version based fixed bin(35,0) level 2 in structure "shared" dcl 10-7 in procedure "comp_init_" set ref 502* version based fixed bin(35,0) level 2 in structure "option" dcl 8-5 in procedure "comp_init_" set ref 484* version based fixed bin(17,0) level 2 in structure "page" dcl 9-11 in procedure "comp_init_" set ref 557* vmt_min 32 based fixed bin(31,0) level 2 dcl 3-19 ref 751 wait_opt 1(34) based bit(1) level 2 packed unaligned dcl 8-5 set ref 742 widow_foot 4217 based fixed bin(31,0) level 2 dcl 10-7 set ref 746 widow_size 4216 based fixed bin(31,0) level 2 dcl 10-7 set ref 744 width 66 based fixed bin(31,0) level 4 in structure "option" dcl 8-5 in procedure "comp_init_" set ref 491* width 10 based fixed bin(31,0) level 4 in structure "option" dcl 8-5 in procedure "comp_init_" set ref 491* width 37 based fixed bin(31,0) level 4 in structure "option" dcl 8-5 in procedure "comp_init_" set ref 491* wrd_brkr 1(18) 000014 constant char(1) initial level 3 packed unaligned dcl 87 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ACK internal static char(1) initial unaligned dcl 2-6 BEL internal static char(1) initial unaligned dcl 2-6 BRS internal static char(1) initial unaligned dcl 2-6 BSP internal static char(1) initial unaligned dcl 2-6 CAN internal static char(1) initial unaligned dcl 2-6 CR internal static char(1) initial unaligned dcl 2-6 DC1 internal static char(1) initial unaligned dcl 2-6 DC2 internal static char(1) initial unaligned dcl 2-6 DC3 internal static char(1) initial unaligned dcl 2-6 DC4 internal static char(1) initial unaligned dcl 2-6 DEL internal static char(1) initial unaligned dcl 2-6 DEVIT internal static char(1) initial unaligned dcl 2-6 DLE internal static char(1) initial unaligned dcl 2-6 EM internal static char(1) initial unaligned dcl 2-6 EM_ internal static char(1) initial unaligned dcl 2-6 EMd internal static char(1) initial unaligned dcl 2-6 EN internal static char(1) initial unaligned dcl 2-6 ENQ internal static char(1) initial unaligned dcl 2-6 EN_ internal static char(1) initial unaligned dcl 2-6 ENd internal static char(1) initial unaligned dcl 2-6 EOT internal static char(1) initial unaligned dcl 2-6 ESC internal static char(1) initial unaligned dcl 2-6 ETB internal static char(1) initial unaligned dcl 2-6 ETX internal static char(1) initial unaligned dcl 2-6 FF internal static char(1) initial unaligned dcl 2-6 FS internal static char(1) initial unaligned dcl 2-6 GS internal static char(1) initial unaligned dcl 2-6 HAIR internal static char(1) initial unaligned dcl 2-6 HLF internal static char(1) initial unaligned dcl 2-6 HLR internal static char(1) initial unaligned dcl 2-6 HT internal static char(1) initial unaligned dcl 2-6 LF internal static char(1) initial unaligned dcl 2-6 LINE_AREA_SIZE internal static fixed bin(17,0) initial dcl 12-24 MEDIUM internal static char(1) initial unaligned dcl 2-6 NAK internal static char(1) initial unaligned dcl 2-6 NL internal static char(1) initial unaligned dcl 2-6 NUL internal static char(1) initial unaligned dcl 2-6 PAD internal static char(1) initial unaligned dcl 2-6 PI internal static char(1) initial unaligned dcl 2-6 PS internal static char(1) initial unaligned dcl 2-6 PSv internal static fixed bin(17,0) initial dcl 2-91 RRS internal static char(1) initial unaligned dcl 2-6 RS internal static char(1) initial unaligned dcl 2-6 SI internal static char(1) initial unaligned dcl 2-6 SO internal static char(1) initial unaligned dcl 2-6 SOH internal static char(1) initial unaligned dcl 2-6 STROKE internal static char(1) initial unaligned dcl 2-6 STX internal static char(1) initial unaligned dcl 2-6 SUB internal static char(1) initial unaligned dcl 2-6 SYN internal static char(1) initial unaligned dcl 2-6 TEXT_AREA_SIZE internal static fixed bin(17,0) initial dcl 12-34 TEXT_VERSION internal static fixed bin(17,0) initial dcl 12-47 THICK internal static char(1) initial unaligned dcl 2-6 THIN internal static char(1) initial unaligned dcl 2-6 US internal static char(1) initial unaligned dcl 2-6 VT internal static char(1) initial unaligned dcl 2-6 approx internal static char(1) initial unaligned dcl 2-6 arg_count_symb_index internal static fixed bin(17,0) initial dcl 11-5 bullet internal static char(1) initial unaligned dcl 2-6 call_box0 based structure level 1 dcl 7-19 const_version internal static fixed bin(35,0) initial dcl 14-17 cright internal static char(1) initial unaligned dcl 2-6 ctl_line based varying char(1020) dcl 12-158 current_parms based structure level 1 dcl 12-209 dagger internal static char(1) initial unaligned dcl 2-6 dbldag internal static char(1) initial unaligned dcl 2-6 delta internal static char(1) initial unaligned dcl 2-6 dot_addltr_symb_index internal static fixed bin(17,0) initial dcl 10-126 dummy internal static pointer initial dcl 85 flag_value based bit(1) unaligned dcl 10-132 fntstk_eptr automatic pointer dcl 4-5 fnttbl based structure level 1 dcl 5-14 font based structure level 1 unaligned dcl 5-68 font_ptr automatic pointer dcl 5-67 ftnblk_data based structure level 1 dcl 6-5 ftnhdr based structure level 1 dcl 6-10 hfcblk based structure level 1 dcl 12-250 hfcblk_ptr automatic pointer dcl 12-249 infin internal static char(1) initial unaligned dcl 2-6 init_file_data internal static structure level 1 unaligned dcl 7-64 insert_refs based structure level 1 dcl 7-21 ioa_$nnl 000000 constant entry external dcl 14-70 iox_$error_output external static pointer dcl 14-74 iox_$user_input external static pointer dcl 14-74 iox_$user_output external static pointer dcl 14-74 just internal static bit(6) initial unaligned dcl 12-148 line_area based structure level 1 dcl 12-26 lquote internal static char(1) initial unaligned dcl 2-6 lslnt internal static char(1) initial unaligned dcl 2-6 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 med_sel based structure level 1 unaligned dcl 5-116 med_sel_p automatic pointer dcl 5-115 medchar based varying char dcl 5-113 medchar_sel based structure level 1 unaligned dcl 5-110 medchar_sel_p automatic pointer dcl 5-109 medsel based char(12) array unaligned dcl 5-36 medsel_table based structure level 1 unaligned dcl 5-86 medsel_table_ptr automatic pointer dcl 5-84 member based structure level 1 unaligned dcl 5-56 member_ptr automatic pointer dcl 5-55 mode_string internal static char(16) initial unaligned dcl 10-129 multiply internal static char(1) initial unaligned dcl 2-6 nabla internal static char(1) initial unaligned dcl 2-6 not_eq internal static char(1) initial unaligned dcl 2-6 num_value based fixed bin(31,0) dcl 10-133 oct031 internal static char(1) initial unaligned dcl 2-6 oput based structure level 1 unaligned dcl 5-92 oput_p automatic pointer dcl 5-91 overbar internal static char(1) initial unaligned dcl 2-6 page_image based structure level 1 dcl 9-56 page_image_version internal static fixed bin(35,0) initial dcl 9-53 perpen internal static char(1) initial unaligned dcl 2-6 pi internal static char(1) initial unaligned dcl 2-6 pl_mi internal static char(1) initial unaligned dcl 2-6 prll internal static char(1) initial unaligned dcl 2-6 quadc internal static bit(6) initial unaligned dcl 12-148 quadi internal static bit(6) initial unaligned dcl 12-148 quadl internal static bit(6) initial unaligned dcl 12-148 quado internal static bit(6) initial unaligned dcl 12-148 quadr internal static bit(6) initial unaligned dcl 12-148 refname_str based char unaligned dcl 7-27 refstr_len automatic fixed bin(17,0) dcl 7-29 refstr_ptr automatic pointer dcl 7-30 repl_str based structure level 1 unaligned dcl 5-30 repl_str_ptr automatic pointer dcl 5-29 replstr based varying char(256) dcl 5-33 rquote internal static char(1) initial unaligned dcl 2-6 save_shared based structure level 1 dcl 10-124 sizel based structure level 1 unaligned dcl 5-103 sizel_p automatic pointer dcl 5-102 siztbl based structure level 1 unaligned dcl 5-38 slash internal static char(1) initial unaligned dcl 2-6 square internal static char(1) initial unaligned dcl 2-6 string_area based fixed bin(17,0) array dcl 12-43 sup0 internal static char(1) initial unaligned dcl 2-6 sup1 internal static char(1) initial unaligned dcl 2-6 sup2 internal static char(1) initial unaligned dcl 2-6 sup3 internal static char(1) initial unaligned dcl 2-6 sup4 internal static char(1) initial unaligned dcl 2-6 sup5 internal static char(1) initial unaligned dcl 2-6 sup6 internal static char(1) initial unaligned dcl 2-6 sup7 internal static char(1) initial unaligned dcl 2-6 sup8 internal static char(1) initial unaligned dcl 2-6 sup9 internal static char(1) initial unaligned dcl 2-6 sys_info$max_seg_size external static fixed bin(18,0) dcl 14-80 text_area based structure level 1 dcl 12-36 tfore internal static char(1) initial unaligned dcl 2-6 theta internal static char(1) initial unaligned dcl 2-6 tmark internal static char(1) initial unaligned dcl 2-6 txtlin based structure level 1 dcl 12-161 txtlinptr automatic pointer dcl 12-160 txtstr based varying char(1020) dcl 12-45 txtstrptr automatic pointer dcl 12-44 units based fixed bin(17,0) array dcl 5-81 units_ptr automatic pointer dcl 5-80 vrule internal static char(1) initial unaligned dcl 2-6 NAMES DECLARED BY EXPLICIT CONTEXT. allocate 015707 constant entry internal dcl 15-21 ref 482 500 517 519 521 524 528 532 536 538 542 545 550 551 552 553 554 556 559 561 562 565 567 593 597 775 777 784 comp_init_ 011643 constant entry external dcl 13 dbf 015676 constant entry external dcl 802 dbn 015663 constant entry external dcl 798 one 011653 constant entry external dcl 451 three 014127 constant entry external dcl 576 two 013052 constant entry external dcl 509 NAMES DECLARED BY CONTEXT OR IMPLICATION. after builtin function ref 471 before builtin function ref 469 string builtin function ref 587 587 unspec builtin function set ref 483 785* STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 16142 16172 16006 16152 Length 17004 16006 30 575 133 2 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME comp_init_ 152 external procedure is an external procedure. allocate internal procedure shares stack frame of external procedure comp_init_. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 db_sw comp_init_ STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME comp_init_ 000100 date_time_string comp_init_ 000104 debug_sw comp_init_ 000105 ercd comp_init_ 000114 fnttbl_ptr comp_init_ 000116 stkbox_ptr comp_init_ 000120 line_area_ptr comp_init_ 000122 text_area_ptr comp_init_ 000124 tree_names_ptr comp_init_ 000126 tree_var_ptr comp_init_ 000140 Nwords allocate 000142 P allocate 000144 code allocate THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return bound_check_signal mod_fx1 signal ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. clock_ com_err_ date_time_ ioa_ translator_temp_$get_next_segment translator_temp_$get_segment THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. compstat$compconst LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 5 13 011632 12 25 011634 12 35 011635 13 68 011636 13 75 011637 13 011642 15 011651 451 011652 453 011661 456 011700 466 012004 468 012010 469 012033 470 012054 471 012055 473 012100 474 012122 477 012124 478 012152 479 012155 482 012156 483 012175 484 012205 485 012207 486 012212 487 012214 488 012216 489 012224 490 012227 491 012233 493 012236 494 012242 495 012246 496 012250 497 012252 498 012272 500 012275 501 012311 502 013026 504 013030 507 013050 509 013051 511 013060 514 013070 517 013106 519 013125 521 013145 524 013164 526 013203 528 013212 530 013230 532 013237 534 013255 536 013264 538 013300 539 013317 540 013331 542 013336 543 013352 545 013361 546 013410 549 013575 550 013602 551 013622 552 013647 553 013667 554 013711 556 013733 557 013752 559 013757 561 013773 562 014012 564 014031 565 014040 567 014056 568 014075 569 014103 571 014105 574 014125 576 014126 578 014135 580 014145 583 014162 584 014171 585 014206 586 014211 587 014221 588 014230 589 014236 591 014274 593 014301 594 014317 595 014323 597 014326 598 014345 599 014351 601 014354 603 014362 605 014367 607 014374 609 014401 611 014406 613 014413 615 014420 617 014424 619 014431 621 014436 623 014443 625 014450 627 014455 629 014462 631 014467 633 014474 635 014501 637 014506 639 014515 641 014522 643 014527 645 014536 647 014543 649 014550 651 014555 653 014564 655 014571 657 014600 659 014605 661 014612 663 014617 665 014624 667 014631 669 014636 671 014643 673 014652 675 014657 677 014664 679 014671 681 014676 683 014703 685 014712 687 014720 689 014725 691 014732 693 014737 694 014744 696 014746 698 014753 700 014760 702 014765 704 014772 706 014777 708 015004 710 015013 712 015022 714 015027 716 015035 718 015042 720 015047 722 015053 724 015060 726 015065 728 015072 730 015077 732 015104 734 015111 736 015116 738 015123 740 015130 742 015135 744 015144 746 015151 748 015156 749 015164 751 015173 752 015175 753 015177 754 015201 755 015203 756 015205 757 015212 762 015221 764 015262 765 015306 768 015310 769 015336 770 015341 773 015342 775 015350 777 015364 778 015404 779 015412 780 015415 781 015424 782 015432 784 015452 785 015471 786 015502 788 015561 791 015641 794 015661 798 015662 800 015671 801 015674 802 015675 804 015704 805 015706 15 21 015707 15 40 015711 15 41 015717 15 42 015723 15 43 015736 15 44 015746 15 45 015751 15 47 015761 15 48 015770 15 49 015774 15 50 016002 ----------------------------------------------------------- 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