COMPILATION LISTING OF SEGMENT comp_head_page_ Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 04/23/85 0958.4 mst Tue Options: optimize map 1 /* *********************************************************** 2* * * 3* * * 4* * Copyright, (C) Honeywell Information Systems Inc., 1981 * 5* * Copyright, (C) Honeywell Information Systems Inc., 1980 * 6* * * 7* * * 8* *********************************************************** */ 9 10 /* compose subroutine to head a page */ 11 12 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 13 14 comp_head_page_: 15 proc (head_used); 16 17 /* PARAMETERS */ 18 19 dcl head_used fixed bin (31); /* space taken by page header */ 20 21 /* LOCAL STORAGE */ 22 23 dcl blank bit (1); /* local copy of blank page flag */ 24 dcl EMPTY bit (1) static options (constant) init ("1"b); 25 dcl ftnblkptr ptr; /* footnote block */ 26 dcl 1 ftnblk aligned like text based (ftnblkptr); 27 dcl i fixed; /* working index */ 28 dcl meas bit (1); /* 1= measure of parts */ 29 dcl parms_ptr ptr; /* parms for the header */ 30 dcl save_colno fixed bin; 31 32 dcl (addr, dec, divide, index, length, max, mod, null) 33 builtin; 34 35 if ^page.hdr.blankpage /* advance pageno */ 36 then 37 do; 38 call comp_util_$pageno (1000, page.hdr.pageno); 39 /* set frontpage flag */ 40 if shared.dot_add_letter = PAD 41 then page_header.frontpage, page.hdr.frontpage = 42 mod (shared.pagenum.nmbr (shared.pagenum.index), 2000) 43 = 1000; 44 else /* toggle frontpage flag */ 45 page.hdr.frontpage, page_header.frontpage = 46 ^page_header.frontpage; 47 end; /**/ 48 /* toggle frontpage flag */ 49 else page.hdr.frontpage, page_header.frontpage = ^page_header.frontpage; 50 51 page.hdr.dot_addltr = shared.dot_add_letter; 52 53 if shared.bug_mode 54 then call ioa_ ("head_page: (^[front^;back^]^[,blank^] pag=^a)", 55 page.hdr.frontpage, page.hdr.blankpage, page.hdr.pageno); 56 57 page.hdr.pgc_select = " "; 58 59 save_colno = page.hdr.col_index; /* go to column 0 for the header */ 60 page.hdr.col_index = 0; 61 shared.colptr = page.column_ptr (0); 62 63 if page.hdr.frontpage 64 then 65 do; 66 page.hdr.net = page_parms.net.odd; 67 page.hdr.lmarg = page_parms.lmarg.odd; 68 if shared.ophdrptr ^= null 69 then parms_ptr = addr (shared.ophdrptr -> hfcblk.parms); 70 else parms_ptr = const.text_parms_ptr; 71 end; 72 73 else 74 do; 75 page.hdr.net = page_parms.net.even; 76 page.hdr.lmarg = page_parms.lmarg.even; 77 if shared.ephdrptr ^= null 78 then parms_ptr = addr (shared.ephdrptr -> hfcblk.parms); 79 else parms_ptr = const.text_parms_ptr; 80 end; 81 82 do i = 0 to page.parms.cols.count; 83 if page.column_ptr (i) ^= null 84 then page.column_ptr (i) -> col.hdr.net = 85 page.hdr.net - page.column_ptr (i) -> col.ftrusd; 86 end; 87 88 call comp_util_$getblk (0, col0.blkptr (1), "ph", parms_ptr, "0"b); 89 shared.blkptr = col0.blkptr (1); 90 const.current_parms_ptr = parms_ptr; 91 text.parms.page = "1"b; 92 text.parms.cbar.add, /* no cbars in page headers */ 93 text.parms.cbar.mod, text.parms.cbar.del = "0"b; 94 text.hdr.tblblk = "0"b; 95 96 if page.hdr.blankpage /* blank page? */ 97 then 98 do; 99 hfcblk_ptr = shared.blank_header_ptr; 100 if hfcblk_ptr ^= null 101 then text.hdr.tblblk = hfcblk.hdr.tblblk; 102 end; 103 104 else if page.hdr.frontpage /* odd page? */ 105 then 106 do; 107 hfcblk_ptr = shared.ophdrptr; 108 if hfcblk_ptr ^= null 109 then text.hdr.tblblk = hfcblk.hdr.tblblk; 110 end; 111 112 else if ^page.hdr.frontpage /* even page? */ 113 then 114 do; 115 hfcblk_ptr = shared.ephdrptr; 116 if hfcblk_ptr ^= null 117 then text.hdr.tblblk = hfcblk.hdr.tblblk; 118 end; 119 120 text.parms.art, text.hdr.art = "0"b;/**/ 121 122 page.hdr.hdspc, col0.hdr.pspc = 0; /* put in top margin */ 123 if page.parms.margin.top - page.parms.init_page_depth > 0 124 then call comp_space_ (page.parms.margin.top - page.parms.init_page_depth, 125 shared.blkptr, "0"b, "0"b, "0"b, "0"b); 126 page.hdr.headed = "1"b; /* the page is now headed */ 127 page.hdr.hdspc, col0.hdr.pspc = page.parms.margin.top; 128 129 if hfcblk_ptr ^= null () 130 then 131 do; 132 text.parms = hfcblk.parms; /* set parms for the header */ 133 page.hdr.art, text.hdr.art = hfcblk.parms.art; 134 135 if hfcblk.hdr.count > 0 /* build header */ 136 then call comp_title_block_ (hfcblk_ptr); 137 text.input_line = ""; /* clean up input */ 138 139 if hfcblk.hdr.white 140 then page.hdr.hdspc, col0.hdr.pspc = page.hdr.hdspc + hfcblk.hdr.used; 141 else page.hdr.hdspc, col0.hdr.pspc = text.hdr.trl_ws; 142 end; 143 144 if page.parms.margin.header > 0 145 then 146 do; 147 call comp_space_ (page.parms.margin.header, shared.blkptr, "0"b, "0"b, 148 "0"b, "0"b); 149 page.hdr.hdspc, col0.hdr.pspc = 150 page.hdr.hdspc + page.parms.margin.header; 151 end; /**/ 152 /* pick up orphan footnotes */ 153 if shared.ftnblk_data_ptr ^= null 154 then 155 do i = 1 to ftnblk_data.highndx; 156 ftnblkptr = ftnblk_data.blkptr (i); 157 if ftnblkptr ^= null 158 then if ftnblk.hdr.orphan 159 then 160 do; 161 col0.ftn.ct, text.hdr.ftn.ct = text.hdr.ftn.ct + 1; 162 col0.ftn.usd, text.hdr.ftn.usd = 163 text.hdr.ftn.usd + ftnblk.hdr.used; 164 col0.ftn.blkndx (col0.ftn.ct), 165 text.hdr.ftn.blkndx (text.hdr.ftn.ct) = i; 166 end; 167 end; 168 169 head_used, col0.hdr.depth = text.hdr.used; 170 page.hdr.hdspc = col0.hdr.pspc; 171 page.parms.cols.bal = page_parms.cols.bal; 172 173 page.hdr.col_index = save_colno; 174 shared.colptr = page.column_ptr (save_colno); 175 176 if col.hdrptr ^= null /* running column header? */ 177 then if col.hdrptr -> text.hdr.count > 0 178 then 179 do; 180 call comp_util_$getblk (page.hdr.col_index, shared.blkptr, "ch", 181 addr (col.hdrptr -> text.parms), ^EMPTY); 182 text.hdr.tblblk = "0"b; 183 call comp_title_block_ (col.hdrptr); 184 /**** call comp_break_ (header_break, 0);*/ 185 end; 186 187 const.current_parms_ptr = const.text_parms_ptr; 188 shared.blkptr = null; 189 190 return_: 191 if shared.pass_counter <= 1 /* if this page is to be printed */ 192 & page.hdr.pageno = option.pglst (option.pglstndx).from 193 then shared.print_flag = "1"b; /* print flag ON */ 194 195 if shared.bug_mode 196 then call ioa_ ("^5x(head_page: pag=^a husd=^f hspc=^f^[ A^] " 197 || "^[front^;back^])", page.hdr.pageno, 198 dec (divide (head_used, 12000, 31, 10), 11, 3), 199 dec (divide (page.hdr.hdspc, 12000, 31, 10), 11, 3), 200 page.hdr.art, page.hdr.frontpage); 201 1 1 /* BEGINE INCLUDE FILE comp_brktypes.incl.pl1 */ 1 2 1 3 /* Written - 4/18 - EJW 1 4* 1 5* Defines constants for all the types of text breaks in compose */ 1 6 1 7 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 1 8 1 9 dcl ( 1 10 format_break init (0), 1 11 block_break init (1), 1 12 column_break init (2), 1 13 page_break init (3), 1 14 need_break init (4), 1 15 footnote_break init (5), 1 16 footer_break init (7) 1 17 ) fixed bin static options (constant); 1 18 1 19 /* END INCLUDE FILE comp_brktypes.incl.pl1 */ 202 2 1 /* BEGIN INCLUDE FILE comp_column.incl.pl1 */ 2 2 2 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 2 4 2 5 dcl 1 col /* the text column */ 2 6 aligned based (shared.colptr), 2 7 2 blkptr (100) ptr, /* pointers to text blocks */ 2 8 2 depth_adj fixed bin (31), /* for variable start depth */ 2 9 2 ftrptr ptr, /* -> column footer */ 2 10 2 ftrusd fixed bin (31), /* column footer space used */ 2 11 2 gutter fixed bin (31), /* column separation */ 2 12 2 hdr like colhdr, /* column control stuff */ 2 13 2 hdrptr ptr, /* -> column header */ 2 14 2 hdrusd fixed bin (31), /* column header space used */ 2 15 2 margin, /* margin settings for column */ 2 16 3 left fixed bin (31), 2 17 3 right fixed bin (31), 2 18 2 parms, /* text parms for the column */ 2 19 3 measure fixed bin (31); /* column width */ 2 20 2 21 dcl 1 colhdr aligned based (const.colhdrptr), 2 22 /* an empty column header */ 2 23 2 balblk fixed bin, /* block to begin column balancing */ 2 24 2 baldepth fixed bin (31), /* page depth at balance point */ 2 25 2 balftn, /* footnotes at balance point */ 2 26 3 ct fixed bin, /* count */ 2 27 3 usd fixed bin (31), /* space used */ 2 28 3 blkndx (40) fixed bin, /* block index values */ 2 29 2 balusd fixed bin (31), /* space used up to balance point */ 2 30 2 blkct fixed bin, /* text block count */ 2 31 2 depth fixed bin (31), /* current page depth in the column */ 2 32 2 ftn like balftn, /* footnotes */ 2 33 2 pspc fixed bin (31), /* current white space */ 2 34 2 net fixed bin (31), /* net usable space in the column */ 2 35 2 used fixed bin (31); /* space used in this column */ 2 36 /* for quick reference */ 2 37 dcl 1 col0 aligned like col based (page.column_ptr (0)); 2 38 2 39 /* END INCLUDE FILE comp_column.incl.pl1 */ 203 3 1 /* BEGIN INCLUDE FILE comp_entries.incl.pl1 */ 3 2 3 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 3 4 3 5 dcl compose_severity_ 3 6 fixed bin (35) ext static; 3 7 dcl comp_ entry; 3 8 dcl comp_art_ entry (ptr, bit (1)); 3 9 dcl comp_block_ctls_ 3 10 entry (fixed bin); 3 11 dcl comp_break_ entry (fixed bin, fixed bin); 3 12 dcl comp_break_ctls_ 3 13 entry (fixed bin); 3 14 dcl comp_ctls_ entry (bit (1) aligned); 3 15 dcl comp_eject_page_ 3 16 entry; 3 17 dcl comp_expr_eval_ 3 18 entry (char (*) var, fixed bin (21), ptr, fixed bin, 3 19 fixed bin, bit (1), fixed bin (31), char (*) var, 3 20 bit (9), fixed bin (35)); 3 21 dcl comp_extr_str_ entry (bit (1), char (*) var, fixed bin (21), 3 22 fixed bin (21), fixed bin (21), ptr) 3 23 returns (char (*) var); 3 24 dcl comp_fill_ entry; 3 25 dcl comp_font_ entry (bit (1), char (*) var, char (8) aligned); 3 26 dcl comp_format_ctls_ 3 27 entry (fixed bin); 3 28 dcl comp_get_file_$find 3 29 entry (char (*), ptr, char (*), bit (1), char (*) var, 3 30 fixed bin (35)); 3 31 dcl comp_get_file_$open 3 32 entry (ptr, bit (1), fixed bin (35)); 3 33 dcl comp_head_page_ 3 34 entry (fixed bin (31)); 3 35 dcl comp_hft_ctls_ entry (fixed bin); 3 36 dcl comp_hft_ctls_$title 3 37 entry (ptr, ptr, char (*) var, fixed bin (31)); 3 38 dcl comp_init_$one entry; 3 39 dcl comp_init_$two entry; 3 40 dcl comp_init_$three 3 41 entry; 3 42 dcl comp_insert_ctls_ 3 43 entry (fixed bin); 3 44 dcl comp_make_page_ 3 45 entry (fixed bin, bit (1)); 3 46 dcl comp_make_page_$cleanup 3 47 entry; 3 48 dcl comp_measure_ entry (char (1020) var, ptr, bit (1), bit (1), bit (6), 3 49 fixed bin (31), ptr, ptr, ptr); 3 50 dcl comp_read_$name 3 51 entry (char (*) var, fixed bin (21), fixed bin (21), 3 52 ptr) returns (char (*) var); 3 53 dcl comp_read_$number 3 54 entry (char (*) var, (*) fixed bin (31), 3 55 fixed bin (21), fixed bin (21), ptr, fixed bin (35)) 3 56 returns (fixed bin (31)); 3 57 dcl comp_read_$line 3 58 entry (ptr, char (*) var, bit (1)); 3 59 dcl comp_report_ entry (fixed bin, fixed bin (35), char (*), ptr, 3 60 char (*) var); 3 61 dcl comp_report_$ctlstr 3 62 entry options (variable); 3 63 /**** (sev, code, info, line, ctl_str, args... */ 3 64 dcl comp_report_$exact 3 65 entry (char (*), ptr); 3 66 dcl comp_space_ entry (fixed bin (31), ptr, bit (1), bit (1), bit (1), 3 67 bit (1)); 3 68 dcl comp_tbl_ctls_ entry (fixed bin); 3 69 dcl comp_title_block_ 3 70 entry (ptr); 3 71 dcl comp_update_symbol_ 3 72 entry (bit (1), bit (1), bit (1), char (32), 3 73 char (*) var); 3 74 dcl comp_use_ref_ entry (char (*) var, bit (1), bit (1), ptr); 3 75 dcl comp_util_$add_text 3 76 entry (ptr, bit (1), bit (1), bit (1), bit (1), ptr); 3 77 dcl comp_util_$display 3 78 entry (char (*) var, fixed bin, bit (1)) 3 79 returns (char (*) var); 3 80 dcl comp_util_$escape 3 81 entry (char (*) var, ptr); 3 82 dcl comp_util_$getblk 3 83 entry (fixed bin, ptr, char (2), ptr, bit (1)); 3 84 dcl comp_util_$num_display 3 85 entry (ptr, fixed bin) returns (char (256) var); 3 86 dcl comp_util_$pageno 3 87 entry (fixed bin, char (*) var); 3 88 dcl comp_util_$pictures /* emit pending pictures */ 3 89 entry /**/ 3 90 (ptr); /* current text block */ 3 91 dcl comp_util_$pop entry (char (32)); 3 92 dcl comp_util_$push 3 93 entry (char (32)); 3 94 dcl comp_util_$relblk 3 95 entry (fixed bin, ptr); 3 96 dcl comp_util_$replace_text 3 97 entry (ptr, bit (1), ptr, ptr); 3 98 dcl comp_util_$search_tree 3 99 entry (char (32), bit (1)); 3 100 dcl comp_util_$set_bin 3 101 entry (fixed bin (31), char (32) var, fixed bin (31), 3 102 fixed bin (31), fixed bin (31), (*) fixed bin (31), 3 103 fixed bin (31)); 3 104 dcl comp_util_$set_net_page 3 105 entry (bit (1)); 3 106 dcl comp_util_$translate 3 107 entry (char (*) var) returns (char (*) var); 3 108 dcl comp_write_block_ 3 109 entry (fixed bin); 3 110 dcl comp_write_page_ 3 111 entry; 3 112 3 113 /* END INCLUDE FILE comp_entries.incl.pl1 */ 204 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 */ 205 5 1 /* BEGIN INCLUDE FILE comp_footnotes.incl.pl1 */ 5 2 5 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 5 4 5 5 dcl 1 ftnblk_data aligned based (shared.ftnblk_data_ptr), 5 6 /* data for footnote blocks */ 5 7 2 highndx fixed (35), /* highest active footnote index */ 5 8 2 blkptr (250) ptr; /* block pointers */ 5 9 /* footnote header data block */ 5 10 dcl 1 ftnhdr aligned like text based (shared.footnote_header_ptr); 5 11 /* formatting parms for footnotes */ 5 12 dcl 1 footnote_parms 5 13 aligned like default_parms 5 14 based (const.footnote_parms_ptr); 5 15 5 16 /* END INCLUDE FILE comp_footnotes.incl.pl1 */ 206 6 1 /* BEGIN INCLUDE FILE - comp_metacodes.incl.pl1 */ 6 2 6 3 /* format: style2,ind2,ll79,dclind4,idind25,comcol51,linecom */ 6 4 6 5 /* ASCII control characters */ 6 6 dcl ( 6 7 NUL init ("�"), /* 000 */ 6 8 SOH init (""), /* 001 */ 6 9 STX init (""), /* 002 */ 6 10 ETX init (""), /* 003 */ 6 11 EOT init (""), /* 004 */ 6 12 ENQ init (""), /* 005 */ 6 13 ACK init (""), /* 006 */ 6 14 BEL init (""), /* 007 */ 6 15 BSP init (""), /* 010 */ 6 16 HT init (" "), 6 17 /* 011 */ 6 18 (NL, LF) init (" 6 19 "), /* 012 */ 6 20 VT init (" "), /* 013 */ 6 21 FF init (" "), /* 014 */ 6 22 CR init (" "), /* 015 */ 6 23 (RRS, SO) init (""), /* 016 */ 6 24 (BRS, SI) init (""), /* 017 */ 6 25 DLE init (""), /* 020 */ 6 26 DC1 init (""), /* 021 */ 6 27 (DC2, HLF, HUGE) init (""), /* 022 */ 6 28 DC3 init (""), /* 023 */ 6 29 (DC4, HLR, THICK) init (""), /* 024 */ 6 30 (NAK, MEDIUM) init (""), /* 025 */ 6 31 SYN init (""), /* 026 */ 6 32 (ETB, HAIR) init (""), /* 027 */ 6 33 (CAN, STROKE) init (""), /* 030 */ 6 34 oct031 init (""), /* 031 */ 6 35 SUB init (""), /* 032 */ 6 36 ESC init (""), /* 033 */ 6 37 FS init (""), /* 034 */ 6 38 GS init (""), /* 035 */ 6 39 RS init (""), /* 036 */ 6 40 US init (""), /* 037 */ 6 41 (DEL, PAD) init (""), /* 177 */ 6 42 /* compose meta-characters */ 6 43 multiply init ("ª"), /* 252 - multiply symbol */ 6 44 pl_mi init ("«"), /* 253 - plus/minus sign */ 6 45 nabla init ("¬"), /* 254 */ 6 46 EMdash init ("­"), /* 255 - EM dash */ 6 47 slash init ("¯"), /* 256 */ 6 48 dagger init ("±"), /* 261 */ 6 49 perpen init ("»"), /* 273 - perpendicular mark */ 6 50 not_eq init ("½"), /* 275 - not-equal mark */ 6 51 dbldag init ("Á"), /* 301 - double daggar */ 6 52 cright init ("Ã"), /* 303 - copyright mark */ 6 53 delta init ("Ä"), /* 304 */ 6 54 bullet init ("Í"), /* 315 */ 6 55 prll init ("Î"), /* 316 - parallel mark */ 6 56 PI init ("Ð"), /* 320 - uppercase Greek pi */ 6 57 tmark init ("Ô"), /* 324 - trademark */ 6 58 tfore init ("Ö"), /* 326 - therefore mark */ 6 59 approx init ("Ú"), /* 332 - approximately-equal mark */ 6 60 infin init ("ß"), /* 337 - infinity */ 6 61 theta init ("ê"), /* 352 */ 6 62 pi init ("ð"), /* 360 - lowercase Greek pi */ 6 63 square init ("ý"), /* 375 */ 6 64 overbar init ("þ"), /* 376 */ 6 65 PS init ("ÿ"), /* 377 - punctuation space */ 6 66 sup0 init ("�"), /* 400 - superior digit 0 */ 6 67 sup1 init (""), /* 401 - superior digit 1 */ 6 68 sup2 init (""), /* 402 - superior digit 2 */ 6 69 sup3 init (""), /* 403 - superior digit 3 */ 6 70 sup4 init (""), /* 404 - superior digit 4 */ 6 71 sup5 init (""), /* 405 - superior digit 5 */ 6 72 sup6 init (""), /* 406 - superior digit 6 */ 6 73 sup7 init (""), /* 407 - superior digit 7 */ 6 74 sup8 init (""), /* 410 - superior digit 8 */ 6 75 sup9 init (" "), /* 411 - superior digit 9 */ 6 76 EM init (" "), /* 412 - EM space */ 6 77 EM_ init (" "), /* 413 - EM aligned dash */ 6 78 EN init (" "), /* 414 - EN space */ 6 79 EN_ init (" "), /* 415 - EN aligned dash */ 6 80 ENd init (""), /* 416 - EN dash */ 6 81 THIN init (""), /* 417 - thinspace */ 6 82 DEVIT init (""), /* 420 - device unit */ 6 83 lquote init (""), /* 421 - left double quote */ 6 84 rquote init (""), /* 422 - right double quote */ 6 85 modmark init (""), /* 424 - text modification/addition mark */ 6 86 delmark init (""), /* 430 - deletion mark */ 6 87 vrule init ("Z"), /* 532 - vertical rule */ 6 88 lslnt init ("^") /* 536 - left slant */ 6 89 ) char (1) unaligned static options (constant); 6 90 6 91 /* END INCLUDE FILE comp_metacodes.incl.pl1 */ 207 7 1 /* BEGIN INCLUDE FILE comp_option.incl.pl1 */ 7 2 7 3 dcl option_version fixed bin (35) static options (constant) init (2); 7 4 7 5 dcl 1 option aligned based (const.option_ptr), /* program options */ 7 6 2 version fixed bin (35), 7 7 /* Options with parameters */ 7 8 (2 argument_opt, /* -argument option flag */ 7 9 2 cbar_opt, /* -change_bars option flag */ 7 10 2 cbar_art_opt, /* -change_bars_art option flag */ 7 11 2 debug_opt, /* -debug option flag */ 7 12 2 db_all_opt, /* -debug_all option flag */ 7 13 2 db_file_opt, /* -debug_file option flag */ 7 14 2 device_opt, /* -device option flag */ 7 15 2 execute_opt, /* -execute option flag */ 7 16 2 from_opt, /* -from option flag */ 7 17 2 galley_opt, /* -galley option flag */ 7 18 2 hyph_opt, /* -hyphenation option flag */ 7 19 2 indent_opt, /* -indent option flag */ 7 20 2 input_file_opt, /* -input_file option flag */ 7 21 2 linespace_opt, /* -linespace option flag */ 7 22 2 output_file_opt, /* -output_file option flag */ 7 23 2 pages_opt, /* -pages option flag */ 7 24 2 page_chng_opt, /* -pages_changed option flag */ 7 25 2 parameter_opt, /* -parameter option flag */ 7 26 2 passes_opt, /* -passes option flag */ 7 27 2 tdir_opt, /* -temp_dir option flag */ 7 28 2 to_opt, /* -to option flag */ 7 29 /* Options without parameters */ 7 30 2 annot_opt, /* -annotate */ 7 31 2 brief_opt, /* -brief option flag */ 7 32 2 check_opt, /* -check option flag */ 7 33 2 cws_opt, /* -cws option flag */ 7 34 2 db_pause_opt, /* -debug_pause option flag */ 7 35 2 noart_opt, /* -noart option flag */ 7 36 2 nobell_opt, /* -no_bell option flag */ 7 37 2 nofill_opt, /* -nofill option flag */ 7 38 2 nohit_opt, /* -nohit option flag */ 7 39 2 number_opt, /* -number option flag */ 7 40 2 number_append_opt, /* -number_append option flag */ 7 41 2 number_brief_opt, /* -number_brief option flag */ 7 42 2 stop_opt, /* -stop option flag */ 7 43 2 wait_opt) unal bit (1), /* -wait option flag */ 7 44 2 MBZ bit (2) unal, 7 45 /* Optional parameters */ 7 46 2 arg_count fixed bin, /* count of -ag values */ 7 47 2 cbar, /* change bar data */ 7 48 3 level char (1), /* change level character (ASCII NUL) */ 7 49 3 place char (1), /* placement character */ 7 50 3 space fixed bin (31), /* extra left margin space needed */ 7 51 3 left, /* left margin mark data */ 7 52 4 sep fixed bin (31), /* separation */ 7 53 4 width fixed bin (31), /* mark width */ 7 54 4 mark char (80) varying, /* the left margin mark */ 7 55 3 right, /* right margin mark data */ 7 56 4 sep fixed bin (31), /* separation */ 7 57 4 width fixed bin (31), /* mark width */ 7 58 4 mark char (80) varying, /* the right margin mark */ 7 59 3 del, /* deletion mark data */ 7 60 4 sep fixed bin (31), /* separation */ 7 61 4 width fixed bin (31), /* mark width */ 7 62 4 mark char (80) varying, /* the deletion mark */ 7 63 2 db_after_line fixed bin (35), /* source line for enabling insert debug */ 7 64 2 db_before_line fixed bin (35), /* source line for disabling insert debug */ 7 65 2 db_file char (200) var, /* file pathanme for debug */ 7 66 2 db_file_after fixed bin (35), /* debug file starting line */ 7 67 2 db_line_end fixed bin (35), /* final line for -debug output */ 7 68 2 db_line_strt fixed bin (35), /* initial line for -debug output */ 7 69 2 device char (32) varying, /* output device */ 7 70 2 extra_indent fixed bin (31), /* extra indent value */ 7 71 2 hyph_size fixed bin (31), /* least word part size for hyphenation */ 7 72 2 line_1 fixed bin (35), /* initial line for output */ 7 73 2 line_2 fixed bin (35), /* final line for output */ 7 74 2 linespace fixed bin (31), /* line spacing value */ 7 75 2 pglstct fixed bin (35), /* number of page list entries */ 7 76 2 pglstndx fixed bin (35), /* index for -pages list */ 7 77 2 pglst (0:49), /* list of requested pages */ 7 78 3 from char (32) var, 7 79 3 to char (32) var, 7 80 2 parameter char (80) varying, /* parameter <value> from command line */ 7 81 2 passes fixed bin, /* passes remaining */ 7 82 2 pgc_select char (1) aligned; /* addendum key to control change page printing - init = NUL */ 7 83 7 84 /* END INCLUDE FILE comp_option.incl.pl1 */ 7 85 208 8 1 /* BEGIN INCLUDE FILE comp_page.incl.pl1 */ 8 2 8 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 8 4 8 5 dcl max_image_lines 8 6 fixed static options (constant) init (1000); 8 7 dcl max_cols fixed static options (constant) init (20); 8 8 8 9 dcl page_version fixed bin static options (constant) init (5); 8 10 /* composed page structure */ 8 11 dcl 1 page aligned based (const.page_ptr), 8 12 2 version fixed bin, /* version of this structure */ 8 13 2 parms aligned like page_parms, 8 14 /* page formatting parameters */ 8 15 2 hdr aligned like page_header, 8 16 /* page control stuff */ 8 17 2 image_ptr ptr, /* pointer to the madeup page image */ 8 18 2 column_ptr (0:20) ptr, /* pointers to the column structures */ 8 19 2 col_image_ptr 8 20 (-2:21) ptr; /* pointers to column images */ 8 21 /* col -1 is for line numbers and */ 8 22 /* left margin change bars; */ 8 23 /* col -2 is for */ 8 24 /* right margin change bars */ 8 25 /* and/or annotation * / 8 26* /* page control stuff */ 8 27 dcl 1 page_header aligned based (const.page_header_ptr), 8 28 2 sws, 8 29 3 art bit (1) unal, /* 1 = header/footer art */ 8 30 3 blankpage 8 31 bit (1) unal, /* 1 = intentional blank page */ 8 32 3 frontpage 8 33 bit (1) unal, /* 1 = odd page number */ 8 34 3 headed bit (1) unal, /* 1 = page header has been written */ 8 35 3 modified bit (1) unal, /* 1 = page has been modified */ 8 36 3 overflow bit (1) unal, /* OBSOLETE */ 8 37 3 MBZ bit (12) unal, 8 38 3 dot_addltr 8 39 char (1) unal, /* dot page add letter, if any */ 8 40 3 pgc_select 8 41 char (1) unal, /* for selecting change pages */ 8 42 2 baldepth fixed bin (31), /* page depth at balance point */ 8 43 2 balusd fixed bin (31), /* space used at balance point */ 8 44 2 col_count fixed bin, /* highest value of col_index for the page */ 8 45 2 col_index fixed bin, /* column index */ 8 46 2 depth fixed bin (31), /* current page depth */ 8 47 2 hdspc fixed bin (31), /* TOP white space */ 8 48 2 lmarg fixed bin (31), /* left margin for this page */ 8 49 2 net fixed bin (31), /* net usable space on the page */ 8 50 2 pageno char (32) var, /* current page number */ 8 51 2 used fixed bin (31); /* space already used on the page */ 8 52 8 53 dcl page_image_version 8 54 fixed bin (35) static options (constant) init (2); 8 55 /* structure passed to writers */ 8 56 dcl 1 page_image aligned based (page.image_ptr), 8 57 2 version fixed bin (35), /* structure version no */ 8 58 2 count fixed bin, /* count of page image lines */ 8 59 2 file_id char (32) var, /* compout identifier */ 8 60 2 func fixed bin, /* function code; 0 = build, 8 61* 1 = intialize, 2 = cleanup */ 8 62 2 text_ptr ptr, /* pointer to the text area */ 8 63 /* the image lines */ 8 64 2 line (max_image_lines), 8 65 3 sws, 8 66 4 quad bit (6) unal, /* text set position flags */ 8 67 4 art bit (1) unal, /* 1 = artwork in the line */ 8 68 4 cbar bit (1) unal, /* 1= line has a cbar, dont erase */ 8 69 4 mrgtxt bit (1) unal, /* line number or marginal note */ 8 70 4 white bit (1) unal, /* line is white */ 8 71 4 MBZ bit (26) unal, 8 72 3 depth fixed bin (31), /* page depth for the text */ 8 73 3 gaps fixed bin, /* number of WS gaps in the line */ 8 74 3 info like text_entry.info, 8 75 /* input file info */ 8 76 3 lead fixed bin (31), /* lead value if trailing WS */ 8 77 3 lfnt fixed bin, /* font at the left margin */ 8 78 3 lmarg fixed bin (31), /* text left margin position */ 8 79 3 lsize fixed bin (31), /* pointsize at the left margin */ 8 80 3 net fixed bin (31), /* net width for filling */ 8 81 3 pos fixed bin (31), /* current horiz position */ 8 82 3 ptr ptr, /* pointer to the text */ 8 83 3 rmarg fixed bin (31), /* text right margin position */ 8 84 3 width fixed bin (31); /* width of the text */ 8 85 /* current page formatting parms */ 8 86 dcl 1 page_parms aligned based (const.page_parms_ptr), 8 87 2 init_page_depth 8 88 fixed bin (31), /* initial page depth */ 8 89 2 length fixed bin (31), /* page length */ 8 90 2 lmarg, /* page left margin */ 8 91 3 even fixed bin (31), 8 92 3 odd fixed bin (31), 8 93 2 margin, /* margin values */ 8 94 3 top fixed bin (31), 8 95 3 header fixed bin (31), 8 96 3 footer fixed bin (31), 8 97 3 bottom fixed bin (31), 8 98 2 measure fixed bin (31), /* line space available for text */ 8 99 2 net, /* net usable space on page */ 8 100 3 even fixed bin (31), /* even pages */ 8 101 3 odd fixed bin (31), /* odd pages */ 8 102 /* arrays at the end */ 8 103 2 cols, /* columns defined for the page */ 8 104 3 bal bit (1) unal, /* column balancing control flag */ 8 105 3 MBZ bit (17) unal, 8 106 3 count fixed bin unal; /* the number of columns */ 8 107 /* default page formatting parms */ 8 108 dcl 1 init_page_parms 8 109 aligned like page_parms 8 110 based (const.init_page_parms_ptr); 8 111 8 112 /* END INCLUDE FILE comp_page.incl.pl1 */ 209 9 1 /* BEGIN INCLUDE FILE comp_shared.incl.pl1 */ 9 2 9 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 9 4 9 5 dcl shared_version fixed bin (35) static options (constant) init (17); 9 6 9 7 dcl 1 shared aligned based (const.shared_ptr), 9 8 2 version fixed bin (35), /* version of this structure */ 9 9 2 chars, 9 10 ( 3 sym_delim, /* delimiter for symbols */ 9 11 3 ttl_delim, /* delimiter for title parts */ 9 12 3 wrd_brkr /* word break character */ 9 13 ) char (1) unal, 9 14 3 PAD char (1) unal, 9 15 2 cbar_type char (4) var, /* change bar type */ 9 16 2 dot_add_letter /* dot page add letter */ 9 17 char (1) var, 9 18 2 EN_width fixed bin (31), /* width of EN in current font */ 9 19 2 eqn_refct fixed bin, /* equation reference counter */ 9 20 2 footref_fcs /* footnote ref FCS string */ 9 21 char (8) aligned, 9 22 2 ftn_reset char (8) var, /* footnote reset mode */ 9 23 2 ftnrefct fixed bin, /* footnote ref counter */ 9 24 2 hyph_size fixed bin (31), /* least word part size for hyphing */ 9 25 2 if_nest, /* if/then/else logic control */ 9 26 3 ndx fixed bin, /* depth of logic nest */ 9 27 3 e (25), /* nest entries */ 9 28 /* .if control switch */ 9 29 4 sw fixed bin, /* 0=off, 1=(then), -1=(else) */ 9 30 4 info aligned like text_entry.info, 9 31 4 line char (256) var, /* the control line */ 9 32 2 indctl, /* indent ctls stack */ 9 33 3 ndx fixed bin, /* current level */ 9 34 /* switch bits */ 9 35 3 stk (0:35) bit (1) unal, 9 36 2 input_dirname 9 37 char (168) var, /* dir containing current input file */ 9 38 2 input_filename 9 39 char (200) var, /* current input file name */ 9 40 2 lead fixed bin (31), /* current linespacing value */ 9 41 2 lit_count fixed bin (35), /* count of literal lines */ 9 42 2 next_pagenmbr 9 43 char (32) var, /* next page number / */ 9 44 2 output_file 9 45 char (32) var, /* output file identifier */ 9 46 2 pagecount fixed bin, /* number of pages produced */ 9 47 2 pagenum, /* page number structure */ 9 48 3 index fixed bin, /* level currently counting */ 9 49 ( 9 50 3 sep char (1) unal, /* separator chars */ 9 51 3 nmbr fixed bin (31), /* the counters */ 9 52 3 mode /* display modes */ 9 53 fixed bin (8) unal 9 54 ) dimension (20), 9 55 2 parameter char (254) var, /* command line parameter */ 9 56 2 param_pres bit (1), /* passed parameter flag */ 9 57 2 pass_counter 9 58 fixed bin, /* pass counter */ 9 59 2 picture, /* picture blocks */ 9 60 3 count fixed bin, /* number of them */ 9 61 3 space fixed bin (31), /* total picture space */ 9 62 3 blk (10), /* picture blocks */ 9 63 4 type char (4), /* type = page/col */ 9 64 4 place char (4), /* place = top/cen/bot */ 9 65 4 ptr ptr, /* pointer to block */ 9 66 4 size fixed bin (31), /* size of the picture */ 9 67 2 ptrs, 9 68 ( 3 aux_file_data_ptr, /* -> auxiliary file data */ 9 69 3 blank_footer_ptr, /* -> blank page footer */ 9 70 3 blank_header_ptr, /* -> blank page header */ 9 71 3 blank_text_ptr, /* -> blank page text */ 9 72 3 blkptr, /* -> active text */ 9 73 3 colptr, /* current column */ 9 74 3 compout_ptr, /* iocb pointer for output */ 9 75 3 compx_ptr, /* iocb pointer for compx file */ 9 76 3 ctb_ptr, /* current line artwork table */ 9 77 3 epftrptr, /* even page footer block */ 9 78 3 ephdrptr, /* even page header block */ 9 79 3 fcb_ptr, /* input file control block pointer */ 9 80 3 ftnblk_data_ptr, /* footnote block data pointer */ 9 81 3 footnote_header_ptr, /* footnote header "title" */ 9 82 3 graphic_page_ptr, /* graphic output page */ 9 83 3 hit_data_ptr, /* hit data pointer */ 9 84 3 htab_ptr, /* horizontal tab tables */ 9 85 3 hwrd_data_ptr, /* local hyphenation table */ 9 86 3 insert_ptr, /* data entry for current input file */ 9 87 3 opftrptr, /* odd page footer block */ 9 88 3 ophdrptr, /* odd page header block */ 9 89 3 ptb_ptr, /* previous line artwork table */ 9 90 3 spcl_blkptr, /* "special" block pointer */ 9 91 3 tbldata_ptr, /* table column data structure */ 9 92 3 tblkdata_ptr, /* text block data array */ 9 93 3 text_header_ptr /* empty text header structure */ 9 94 ) ptr, 9 95 2 scale, /* space conversion scale factors */ 9 96 3 horz fixed bin (31), /* horizontal */ 9 97 3 vert fixed bin (31), /* vertical */ 9 98 2 source_filename 9 99 char (200) var, /* current source file name */ 9 100 2 sws, /* switch bits */ 9 101 ( 3 bug_mode, /* debug mode */ 9 102 3 compout_not_headed, /* compout is not headed */ 9 103 3 end_input, /* EOF for current input file */ 9 104 3 end_output, /* no more output is wanted */ 9 105 3 firstpass, /* first pass over input */ 9 106 3 ftn_mode, /* in footnote mode */ 9 107 3 hyph_mode, /* hyphenating mode */ 9 108 3 inserting_hfc, /* inserting hdr, ftr, or cap */ 9 109 3 literal_mode, /* literal line mode flag */ 9 110 3 pageblock, /* blocks belong to page */ 9 111 3 picture_mode, /* building a picture */ 9 112 3 print_flag, /* producing output */ 9 113 3 purge_ftns, /* purging footnotes */ 9 114 3 suppress_footref, /* suppress next footnote ref */ 9 115 3 table_mode /* table mode */ 9 116 ) bit (1) unal, 9 117 3 MBZ bit (21) unal, 9 118 2 trans, /* trans table for .tr */ 9 119 3 in char (128) var, /* input chars */ 9 120 3 out char (128) var, /* output chars */ 9 121 2 widow_size fixed bin (31), /* widow size */ 9 122 2 widow_foot fixed bin (31); /* widow for footnotes */ 9 123 /* to save shared data between files/passes */ 9 124 dcl 1 save_shared aligned like shared based (const.save_shared_ptr); 9 125 9 126 dcl dot_addltr_symb_index 9 127 fixed bin static options (constant) init (12); 9 128 dcl max_text_lines fixed bin static options (constant) init (1000); 9 129 dcl mode_string char (16) static options (constant) 9 130 init ("arbihxocalaurlru"); 9 131 /* value overlays */ 9 132 dcl flag_value bit (1) based; 9 133 dcl num_value fixed bin (31) based; 9 134 9 135 /* END INCLUDE FILE comp_shared.incl.pl1 */ 210 10 1 /* BEGIN INCLUDE FILE comp_table.incl.pl1 */ 10 2 10 3 /* format: style2,ind3,ll79,dclind4,idind15,comcol41,linecom */ 10 4 10 5 dcl 1 tbldata aligned based (shared.tbldata_ptr), 10 6 2 ct fixed bin, /* number of active table formats */ 10 7 2 ndx fixed bin, /* index of current active format */ 10 8 2 fmt (20), /* the format */ 10 9 3 name char (32) var, /* name of the format */ 10 10 3 ptr ptr; /* pointer to the format data */ 10 11 10 12 dcl tblfmtndx fixed bin; /* current table format index */ 10 13 dcl tblfmtptr ptr; /* -> current table format */ 10 14 /* table format data */ 10 15 dcl 1 tblfmt aligned based (tblfmtptr), 10 16 2 context bit (1), /* =1 if context mode */ 10 17 2 ccol fixed bin, /* the current table column */ 10 18 2 maxdepth fixed bin (31), /* max depth in table */ 10 19 2 ncols fixed bin, /* number of columns in this format */ 10 20 2 colptr (0:20) ptr; /* pointers to the columns */ 10 21 10 22 dcl tblcolndx fixed bin; /* current table column index */ 10 23 /* -> current table column */ 10 24 dcl tblcolptr ptr init (null ()); 10 25 /* table column data */ 10 26 dcl 1 tblcol aligned based (tblcolptr), 10 27 2 align, /* column alignment mode */ 10 28 3 posn fixed bin (31), 10 29 3 str char (32) var, 10 30 2 depth fixed bin (31), /* current depth for column */ 10 31 2 gutter fixed bin (31), 10 32 2 leader char (16) var, /* leadering string */ 10 33 2 margin, 10 34 3 left fixed bin (31), 10 35 3 right fixed bin (31), 10 36 2 valign bit (4) unal, /* vertical alignment flags */ 10 37 2 MBZ bit (29) unal, 10 38 2 parms /* parms for columns */ 10 39 aligned like default_parms; 10 40 10 41 dcl 1 tblcol0 aligned like tblcol based (tblfmt.colptr (0)); 10 42 /* -> previous table column */ 10 43 dcl prvtblcolptr ptr init (null ()); 10 44 dcl 1 prvtblcol like tblcol aligned based (prvtblcolptr); 10 45 10 46 dcl vtop bit (4) static options (constant) init ("1000"b); 10 47 dcl vcen bit (4) static options (constant) init ("0100"b); 10 48 dcl vbot bit (4) static options (constant) init ("0010"b); 10 49 dcl vjust bit (4) static options (constant) init ("0001"b); 10 50 10 51 /* END INCLUDE FILE comp_table.incl.pl1 */ 211 11 1 /* BEGIN INCLUDE FILE comp_text.incl.pl1 */ 11 2 11 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 11 4 11 5 dcl 1 tblkdata /* data for allocated text blocks */ 11 6 aligned based (shared.tblkdata_ptr), 11 7 2 block, /* block pool */ 11 8 3 count fixed bin, 11 9 3 ptr (500) ptr, /* block pointers */ 11 10 /* block state flags */ 11 11 3 free (500) bit (1) unal, 11 12 2 line_area, /* line area pool */ 11 13 3 count fixed bin, 11 14 3 ptr (500) ptr, /* area pointers */ 11 15 /* area state flags */ 11 16 3 free (500) bit (1) unal, 11 17 2 text_area, /* text area pool */ 11 18 3 count fixed bin, 11 19 3 ptr (500) ptr, /* area pointers */ 11 20 /* area state flags */ 11 21 3 free (500) bit (1) unal, 11 22 3 string_area_count 11 23 fixed bin; /* line areas */ 11 24 dcl LINE_AREA_SIZE fixed bin static options (constant) init (24); 11 25 dcl line_area_ptr ptr init (null); 11 26 dcl 1 line_area aligned based (line_area_ptr), 11 27 2 next ptr, /* forward thread */ 11 28 2 prev ptr, /* backward thread */ 11 29 2 count fixed bin, /* number of lines allocated */ 11 30 2 ndx fixed bin, /* index of current line */ 11 31 2 pndx fixed bin, /* area pool index */ 11 32 2 linptr (LINE_AREA_SIZE) ptr; 11 33 /* text areas */ 11 34 dcl TEXT_AREA_SIZE fixed bin static options (constant) init (6); 11 35 dcl text_area_ptr ptr init (null); 11 36 dcl 1 text_area aligned based (text_area_ptr), 11 37 2 next ptr, /* forward thread */ 11 38 2 count fixed bin, /* number of areas allocated */ 11 39 2 ndx fixed bin, /* index of current strarea */ 11 40 2 pndx fixed bin, /* area pool index */ 11 41 2 strareaptr (TEXT_AREA_SIZE) ptr; 11 42 /* text string area */ 11 43 dcl string_area (256) fixed bin based; 11 44 dcl txtstrptr ptr; /* current text string */ 11 45 dcl txtstr char (1020) var based (txtstrptr); 11 46 11 47 dcl TEXT_VERSION fixed bin static options (constant) init (9); 11 48 /* general text block */ 11 49 dcl 1 text aligned based (shared.blkptr), 11 50 2 version fixed bin, /* version of structure */ 11 51 2 blkndx fixed bin, /* block data index */ 11 52 2 blktype char (2), /* block type code */ 11 53 /* dynamic block control stuff */ 11 54 2 hdr aligned like text_header, 11 55 /* text read from input file */ 11 56 2 input aligned like text_entry, 11 57 2 input_line char (1020) var,/* input buffer */ 11 58 2 line_area, 11 59 3 first ptr, /* head of line area thread */ 11 60 3 cur ptr, /* current line area */ 11 61 2 next_text ptr, /* next text string */ 11 62 /* text formatting parameters */ 11 63 2 parms aligned like default_parms, 11 64 2 text_area, 11 65 3 first ptr, /* head of text area thread */ 11 66 3 cur ptr; /* current text area */ 11 67 /* an empty text block line */ 11 68 dcl 1 text_entry aligned based (const.text_entry_ptr), 11 69 2 sws, /* unaligned switches, etc. */ 11 70 3 art bit (1) unal, /* line has artwork */ 11 71 3 cbar, /* change bar flags */ 11 72 4 add bit (1) unal, /* text addition flag */ 11 73 4 del bit (1) unal, /* text deletion flag */ 11 74 4 mod bit (1) unal, /* text modification flag */ 11 75 3 default bit (1) unal, /* 1 = default case as needed */ 11 76 3 DVctl bit (1) unal, /* 1 = line is a device ctl string */ 11 77 3 embedded bit (1) unal, /* 1 = line has an embedded control */ 11 78 3 end_keep bit (1) unal, /* 1= line ends a keep */ 11 79 3 fnt_chng bit (1) unal, /* 1 = text is a font change string */ 11 80 3 footref bit (1) unal, /* 1 = line has a footnote reference */ 11 81 3 hanging bit (1) unal, /* 1 = a hanging undent */ 11 82 3 keep bit (1) unal, /* 1 = unsplittable line */ 11 83 3 no_trim bit (1) unal, /* 1 = untrimmable white line */ 11 84 3 oflo bit (1) unal, /* line causes overflow */ 11 85 3 punct bit (1) unal, /* 1 = line ends with punctuation */ 11 86 3 quad bit (6) unal, /* text alignment flags */ 11 87 3 space_added /* 1= line has added space */ 11 88 bit (1) unal, 11 89 3 spcl, /* special entry - not output text */ 11 90 4 file bit (1) unal, /* 1= output to special file */ 11 91 4 blk_splt /* 1= action at block split time */ 11 92 bit (1) unal, 11 93 4 page_mkup /* 1= action at page makeup time */ 11 94 bit (1) unal, 11 95 3 table bit (1) unal, /* 1= line is a table entry */ 11 96 3 tblspc bit (1) unal, /* 1= WS fill for table mode */ 11 97 3 title bit (1) unal, /* 1= line is a <title> */ 11 98 3 unspnct bit (1) unal, /* 1= underscore punctuation */ 11 99 3 unstop bit (1) unal, /* 1= line is/ends with UNSTOP */ 11 100 3 unstrt bit (1) unal, /* 1= line is/ends with UNSTART */ 11 101 3 unswrds bit (1) unal, /* 1= underscore words only */ 11 102 3 white bit (1) unal, /* 1= line is white space */ 11 103 3 und_prot bit (1) unal, /* 1= undent is protected */ 11 104 3 MBZ bit (4) unal, 11 105 2 art_start fixed bin unal, /* start of art string in line */ 11 106 2 art_len fixed bin unal, /* length of art string in line */ 11 107 2 cbar_level /* change level for cbars */ 11 108 char (1) aligned, 11 109 2 cur, /* current scanning data for line */ 11 110 3 chrct fixed bin, /* count of chars scanned */ 11 111 3 gaps fixed bin, /* gap count */ 11 112 3 width fixed bin (31), /* width of font chars */ 11 113 3 min fixed bin (31), /* width of min spbnds */ 11 114 3 avg fixed bin (31), /* width of avg spbnds */ 11 115 3 max fixed bin (31), /* width of max spbnds */ 11 116 3 font like fntstk_entry, 11 117 2 depth fixed bin (31), /* page depth for line */ 11 118 /* font at start of line */ 11 119 2 font like fntstk_entry, 11 120 2 index fixed bin (21), /* char index for line scanning */ 11 121 2 info, /* stuff created during line input */ 11 122 3 fileno fixed bin, /* input file index */ 11 123 3 lineno fixed bin, /* input file line number */ 11 124 3 lineno0 fixed bin, /* call_box0 line number */ 11 125 2 linespace fixed bin (31), /* linespace value for the line */ 11 126 2 lmarg fixed bin (31), /* adjusted left margin position */ 11 127 2 mod_len fixed bin, /* length of modified text */ 11 128 2 mod_start fixed bin, /* index for start of modified text */ 11 129 2 net fixed bin (31), /* net line width for filling */ 11 130 2 ptr ptr, /* pointer to the actual text */ 11 131 2 rmarg fixed bin (31), /* adjusted right margin position */ 11 132 2 spcl_iocbp ptr, /* iocb ptr for spcl line */ 11 133 2 sym_delim char (1) unal, /* symbol delimiter for this line */ 11 134 2 tblcol fixed bin, /* column for table entries */ 11 135 2 title_delim 11 136 char (1) unal, /* title delimiter if a <title> */ 11 137 2 title_index 11 138 fixed bin, /* <title> block index for line */ 11 139 2 width fixed bin (31), /* width of text */ 11 140 2 ftn, /* footnote info for line */ 11 141 3 ct fixed bin, /* number of footnote refs */ 11 142 3 used fixed bin (31), /* space used */ 11 143 3 e (40), /* limit is arbitrary */ 11 144 4 blkndx fixed bin unal, /* block index of footnote - if this 11 145* value is 0, then .frf was used */ 11 146 4 refno fixed bin unal; /* reference number */ 11 147 11 148 dcl ( 11 149 quadi init ("40"b3), /* set to the inside margin */ 11 150 quado init ("20"b3), /* set to the outside margin */ 11 151 quadl init ("10"b3), /* set left */ 11 152 quadc init ("04"b3), /* set centered */ 11 153 quadr init ("02"b3), /* set right */ 11 154 just init ("01"b3) /* justified */ 11 155 ) bit (6) static options (constant); 11 156 /* control line structure */ 11 157 dcl 1 ctl aligned like text_entry based (const.ctl_ptr); 11 158 dcl ctl_line char (1020) var based (ctl.ptr); 11 159 11 160 dcl txtlinptr ptr; /* the current text line */ 11 161 dcl 1 txtlin aligned like text_entry based (txtlinptr); 11 162 /* empty text header structure */ 11 163 dcl 1 text_header aligned based (const.text_header_ptr), 11 164 2 sws, /* control switches */ 11 165 3 art bit (1) unal, /* block has artwork */ 11 166 3 dfrftn bit (1) unal, /* block is a deferred footnote */ 11 167 3 modified bit (1) unal, /* block contains modified lines */ 11 168 3 no_trim bit (1) unal, /* 1 = dont trim WS block */ 11 169 3 oflo_ftn bit (1) unal, /* overflow footnote */ 11 170 3 tblblk bit (1) unal, /* a table block */ 11 171 3 unref bit (1) unal, /* block is an unreffed footnote */ 11 172 3 white bit (1) unal, /* block is a white space block */ 11 173 3 picture bit (1) unal, /* picture block */ 11 174 3 orphan bit (1) unal, /* 1= footnote is an orphan */ 11 175 3 MBZ bit (26) unal, 11 176 2 art_count fixed bin unal, /* to count input art lines */ 11 177 2 blkptr ptr, /* pointer to suspended block */ 11 178 2 cap_size fixed bin unal, /* line count of text caption */ 11 179 2 cap_used fixed bin (31), /* size of text caption */ 11 180 2 colno fixed bin unal, /* column owning the block */ 11 181 2 count fixed bin unal, /* line count for block */ 11 182 2 eqn_line_count 11 183 fixed bin unal, /* counter for equation lines */ 11 184 2 first_text fixed bin unal, /* OBSOLETE */ 11 185 2 ftn, /* footnotes */ 11 186 3 ct fixed bin, /* count */ 11 187 3 usd fixed bin (31), /* space used */ 11 188 3 blkndx (40) fixed bin, /* footnote block index values */ 11 189 2 head_size fixed bin, /* line count of text header */ 11 190 2 head_used fixed bin (31), /* size of text header */ 11 191 2 index fixed bin unal, /* block index of next output line */ 11 192 2 keep_count fixed bin unal, /* to count input keep lines */ 11 193 2 last_line fixed bin, /* last text line in column */ 11 194 2 mx_ttl_ndx fixed bin, /* max title index value in block */ 11 195 2 name char (32) var, /* block name, if any */ 11 196 2 nofill_count /* to count nofill lines */ 11 197 fixed bin, 11 198 2 parms_ptr ptr, /* parms for suspended block */ 11 199 2 refer fixed bin, /* inter-block reference */ 11 200 2 refer_index /* OBSOLETE */ 11 201 fixed bin, /* a reference */ 11 202 2 split fixed bin, /* split point for balancing */ 11 203 2 trl_ws fixed bin (31), /* trailing WS */ 11 204 2 used fixed bin (31); /* page space used by a column/block */ 11 205 /* text formatting parameters */ 11 206 dcl 1 text_parms aligned like default_parms 11 207 based (const.text_parms_ptr); 11 208 11 209 dcl 1 current_parms 11 210 aligned like default_parms 11 211 based (const.current_parms_ptr); 11 212 11 213 dcl 1 default_parms 11 214 aligned based (const.default_parms_ptr), 11 215 2 sws, /* control switches */ 11 216 3 quad bit (6) unal, /* text alignment mode */ 11 217 3 art bit (1) unal, /* 1 = block countains artwork */ 11 218 3 cbar, /* change bar flags */ 11 219 4 add bit (1) unal, /* text addition flag */ 11 220 4 del bit (1) unal, /* text deletion flag for next line */ 11 221 4 mod bit (1) unal, /* text modification flag */ 11 222 3 fill_mode 11 223 bit (1) unal, /* 1 = fill mode ON */ 11 224 3 footnote bit (1) unal, /* block is a footnote */ 11 225 3 hfc bit (1) unal, /* OBSOLETE */ 11 226 3 htab_mode 11 227 bit (1) unal, /* 1 = horizontal tab mode ON */ 11 228 3 keep bit (1) unal, /* keep mode */ 11 229 3 page bit (1) unal, /* block belongs to page, not text */ 11 230 3 title_mode 11 231 bit (1) unal, /* 0 = plain text, 1 = <title>s OK */ 11 232 3 MBZ bit (19) unal, 11 233 2 ftrptr ptr, /* text caption block */ 11 234 2 cbar_level /* change level for cbars */ 11 235 char (1) aligned, 11 236 2 hdrptr ptr, /* text header block */ 11 237 2 left, /* left margin data */ 11 238 3 indent fixed bin (31), 11 239 3 undent fixed bin (31), 11 240 2 linespace fixed bin (31), /* line spacing value */ 11 241 2 measure fixed bin (31), /* line space for text */ 11 242 /* right margin data */ 11 243 2 right like default_parms.left, 11 244 2 fntstk, /* stack of last 20 font changes */ 11 245 3 index fixed bin, /* which one in use */ 11 246 /* entry(0) is the default */ 11 247 3 entry (0:19) like fntstk_entry; 11 248 11 249 dcl hfcblk_ptr ptr; 11 250 dcl 1 hfcblk aligned like text based (hfcblk_ptr); 11 251 11 252 /* END INCLUDE FILE comp_text.incl.pl1 */ 212 12 1 /* BEGIN INCLUDE FILE compstat.incl.pl1 - external static data for compose 12 2* 12 3* This storage is converted from external (as declared) to internal by the 12 4* binder and contains items that must be accessible to both the bound and 12 5* unbound program. */ 12 6 12 7 /* Written: ??/??/7? - EJW 12 8* Modified: 10/18/84 - EJW - (First recorded change) Added current_parms_ptr 12 9* and removed the codes array; version 6. 12 10**/ 12 11 12 12 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 12 13 12 14 dcl 1 compstat$compconst 12 15 aligned like const ext static; 12 16 12 17 dcl const_version fixed bin (35) static options (constant) init (6); 12 18 dcl MAX_TREE_AREA_CT /* entries in a tree area */ 12 19 fixed bin static options (constant) init (80); 12 20 dcl MAX_TREE_AREAS /* number of tree areas */ 12 21 fixed bin static options (constant) init (20); 12 22 12 23 dcl 1 const aligned based (compstat$compconst.ptr), 12 24 2 ptr ptr, /* self pointer - MUST BE FIRST */ 12 25 2 version fixed bin (35), /* structure version */ 12 26 2 art_symbols /* string of art symbols */ 12 27 char (28) aligned, 12 28 2 builtin_count /* count of builtin variables */ 12 29 fixed bin, 12 30 2 comp_dir char (200), /* dir in which compose lives */ 12 31 2 comp_version 12 32 char (8) var, /* compose version id */ 12 33 2 date_value char (8) var, /* current date */ 12 34 2 dsm_name char (32), /* device support module name */ 12 35 2 dvt_name char (32), /* device table name */ 12 36 2 max_seg_chars 12 37 fixed bin (35), /* char count in a max seg */ 12 38 2 null_str char (1) var, /* an empty string */ 12 39 2 ptrs, 12 40 ( 3 call_stk_ptr, /* -> insert call stack */ 12 41 3 colhdrptr, /* empty column header structure */ 12 42 3 ctl_ptr, /* input line structure */ 12 43 3 current_parms_ptr, /* current formatting parms */ 12 44 3 default_parms_ptr, /* default initial text parms */ 12 45 3 devptr, /* -> comp_dvt structure */ 12 46 3 dvidptr, /* -> comp_dvid structure */ 12 47 3 errblk_ptr, /* error message block pointer */ 12 48 3 footnote_parms_ptr, /* footnote formatting parms */ 12 49 3 fnttbldata_ptr, /* -> font table data */ 12 50 3 global_area_ptr, /* per invocation storage */ 12 51 3 init_page_parms_ptr, /* default initial page parms */ 12 52 3 insert_data_ptr, /* insert file data block */ 12 53 3 local_area_ptr, /* per file storage */ 12 54 3 loctbl_ptr, /* for font copying */ 12 55 3 option_ptr, /* program options block */ 12 56 3 outproc_ptr, /* device writer for cleanup */ 12 57 3 page_ptr, /* active page structure */ 12 58 3 page_header_ptr, /* empty page header structure */ 12 59 3 page_parms_ptr, /* page formatting parameter block */ 12 60 3 save_shared_ptr, /* saved shared data */ 12 61 3 shared_ptr, /* shared data structure */ 12 62 3 text_entry_ptr, /* empty text entry structure */ 12 63 3 text_header_ptr, /* empty text header structure */ 12 64 3 text_parms_ptr, /* main body formatting parms */ 12 65 3 tree_ptr /* symbol tree structure */ 12 66 ) ptr, 12 67 2 time_value char (6) var; /* time at start */ 12 68 12 69 /* Other external */ 12 70 dcl ( 12 71 ioa_, 12 72 ioa_$nnl 12 73 ) entry options (variable); 12 74 dcl iox_$error_output 12 75 ptr ext static, /* iocb pointer for error_output */ 12 76 iox_$user_input 12 77 ptr ext static, /* iocb pointer for user_input */ 12 78 iox_$user_output 12 79 ptr ext static; /* iocb pointer for user_output */ 12 80 dcl sys_info$max_seg_size 12 81 fixed bin (18) ext static; 12 82 12 83 /* END INCLUDE FILE compstat.incl.pl1 */ 213 214 215 end comp_head_page_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/23/85 0909.7 comp_head_page_.pl1 >spec>online>comp>comp_head_page_.pl1 202 1 04/23/85 0912.1 comp_brktypes.incl.pl1 >spec>online>comp>comp_brktypes.incl.pl1 203 2 04/23/85 0912.2 comp_column.incl.pl1 >spec>online>comp>comp_column.incl.pl1 204 3 03/01/85 1411.9 comp_entries.incl.pl1 >ldd>include>comp_entries.incl.pl1 205 4 03/01/85 1412.0 comp_fntstk.incl.pl1 >ldd>include>comp_fntstk.incl.pl1 206 5 03/01/85 1412.0 comp_footnotes.incl.pl1 >ldd>include>comp_footnotes.incl.pl1 207 6 04/23/85 0912.3 comp_metacodes.incl.pl1 >spec>online>comp>comp_metacodes.incl.pl1 208 7 03/01/85 1412.0 comp_option.incl.pl1 >ldd>include>comp_option.incl.pl1 209 8 04/23/85 0912.4 comp_page.incl.pl1 >spec>online>comp>comp_page.incl.pl1 210 9 03/01/85 1412.0 comp_shared.incl.pl1 >ldd>include>comp_shared.incl.pl1 211 10 03/01/85 1412.0 comp_table.incl.pl1 >ldd>include>comp_table.incl.pl1 212 11 04/23/85 0912.6 comp_text.incl.pl1 >spec>online>comp>comp_text.incl.pl1 213 12 03/01/85 1412.1 compstat.incl.pl1 >ldd>include>compstat.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. EMPTY constant bit(1) initial unaligned dcl 24 ref 180 PAD 001265 constant char(1) initial unaligned dcl 6-6 ref 40 add 1005 based bit(1) level 5 packed unaligned dcl 11-49 set ref 92* addr builtin function dcl 32 ref 68 77 180 180 art 15 based bit(1) level 4 in structure "page" packed unaligned dcl 8-11 in procedure "comp_head_page_" set ref 133* 195* art 1004(06) based bit(1) level 4 in structure "hfcblk" packed unaligned dcl 11-250 in procedure "comp_head_page_" set ref 133 art 1004(06) based bit(1) level 4 in structure "text" packed unaligned dcl 11-49 in procedure "comp_head_page_" set ref 120* art 4 based bit(1) level 4 in structure "text" packed unaligned dcl 11-49 in procedure "comp_head_page_" set ref 120* 133* bal 14 based bit(1) level 4 in structure "page" packed unaligned dcl 8-11 in procedure "comp_head_page_" set ref 171* bal 13 based bit(1) level 3 in structure "page_parms" packed unaligned dcl 8-86 in procedure "comp_head_page_" ref 171 balftn 320 based structure level 3 in structure "col0" dcl 2-37 in procedure "comp_head_page_" balftn 2 based structure level 2 in structure "colhdr" dcl 2-21 in procedure "comp_head_page_" balftn 320 based structure level 3 in structure "col" dcl 2-5 in procedure "comp_head_page_" blank_header_ptr 3746 based pointer level 3 dcl 9-7 ref 99 blankpage 15(01) based bit(1) level 4 packed unaligned dcl 8-11 set ref 35 53* 96 blkndx 16 based fixed bin(17,0) array level 4 in structure "text" dcl 11-49 in procedure "comp_head_page_" set ref 164* blkndx 377 based fixed bin(17,0) array level 4 in structure "col0" dcl 2-37 in procedure "comp_head_page_" set ref 164* blkptr based pointer array level 2 in structure "col0" dcl 2-37 in procedure "comp_head_page_" set ref 88* 89 blkptr 2 based pointer array level 2 in structure "ftnblk_data" dcl 5-5 in procedure "comp_head_page_" ref 156 blkptr 3752 based pointer level 3 in structure "shared" dcl 9-7 in procedure "comp_head_page_" set ref 89* 91 92 92 92 94 100 108 116 120 120 123* 132 133 137 141 147* 161 161 162 162 164 164 169 180* 182 188* bug_mode 4113 based bit(1) level 3 packed unaligned dcl 9-7 ref 53 195 cbar 1005 based structure level 4 dcl 11-49 col based structure level 1 dcl 2-5 col0 based structure level 1 dcl 2-37 col_index 21 based fixed bin(17,0) level 3 dcl 8-11 set ref 59 60* 173* 180* colhdr based structure level 1 dcl 2-21 colptr 3754 based pointer level 3 dcl 9-7 set ref 61* 174* 176 176 180 180 183 cols 13 based structure level 2 in structure "page_parms" dcl 8-86 in procedure "comp_head_page_" cols 14 based structure level 3 in structure "page" dcl 8-11 in procedure "comp_head_page_" column_ptr 42 based pointer array level 2 dcl 8-11 ref 61 83 83 83 88 89 122 127 139 141 149 161 162 164 164 169 170 174 comp_space_ 000010 constant entry external dcl 3-66 ref 123 147 comp_title_block_ 000012 constant entry external dcl 3-69 ref 135 183 comp_util_$getblk 000014 constant entry external dcl 3-82 ref 88 180 comp_util_$pageno 000016 constant entry external dcl 3-86 ref 38 compstat$compconst 000020 external static structure level 1 dcl 12-14 const based structure level 1 dcl 12-23 count 12(18) based fixed bin(17,0) level 3 in structure "hfcblk" packed unaligned dcl 11-250 in procedure "comp_head_page_" ref 135 count 14(18) based fixed bin(17,0) level 4 in structure "page" packed unaligned dcl 8-11 in procedure "comp_head_page_" ref 82 count 12(18) based fixed bin(17,0) level 3 in structure "text" packed unaligned dcl 11-49 in procedure "comp_head_page_" ref 176 ct 14 based fixed bin(17,0) level 4 in structure "text" dcl 11-49 in procedure "comp_head_page_" set ref 161 161* 164 ct 375 based fixed bin(17,0) level 4 in structure "col0" dcl 2-37 in procedure "comp_head_page_" set ref 161* 164 current_parms_ptr 134 based pointer level 3 dcl 12-23 set ref 90* 187* dec builtin function dcl 32 ref 195 195 195 195 default_parms based structure level 1 dcl 11-213 del 1005(01) based bit(1) level 5 packed unaligned dcl 11-49 set ref 92* depth 374 based fixed bin(31,0) level 3 dcl 2-37 set ref 169* divide builtin function dcl 32 ref 195 195 195 195 dot_add_letter 4 based varying char(1) level 2 dcl 9-7 ref 40 51 dot_addltr 15(18) based char(1) level 4 packed unaligned dcl 8-11 set ref 51* ephdrptr 3766 based pointer level 3 dcl 9-7 ref 77 77 115 even 2 based fixed bin(31,0) level 3 in structure "page_parms" dcl 8-86 in procedure "comp_head_page_" ref 76 even 11 based fixed bin(31,0) level 3 in structure "page_parms" dcl 8-86 in procedure "comp_head_page_" ref 75 fntstk_entry based structure level 1 dcl 4-6 from 224 based varying char(32) array level 3 dcl 7-5 ref 190 frontpage 0(02) based bit(1) level 3 in structure "page_header" packed unaligned dcl 8-27 in procedure "comp_head_page_" set ref 40* 44 44* 49 49* frontpage 15(02) based bit(1) level 4 in structure "page" packed unaligned dcl 8-11 in procedure "comp_head_page_" set ref 40* 44* 49* 53* 63 104 112 195* ftn 14 based structure level 3 in structure "text" dcl 11-49 in procedure "comp_head_page_" ftn 375 based structure level 3 in structure "col0" dcl 2-37 in procedure "comp_head_page_" ftnblk based structure level 1 dcl 26 ftnblk_data based structure level 1 dcl 5-5 ftnblk_data_ptr 3772 based pointer level 3 dcl 9-7 ref 153 153 156 ftnblkptr 000100 automatic pointer dcl 25 set ref 156* 157 157 162 ftrusd 314 based fixed bin(31,0) level 2 dcl 2-5 ref 83 hdr 15 based structure level 2 in structure "page" dcl 8-11 in procedure "comp_head_page_" hdr 316 based structure level 2 in structure "col" dcl 2-5 in procedure "comp_head_page_" hdr 4 based structure level 2 in structure "hfcblk" dcl 11-250 in procedure "comp_head_page_" hdr 4 based structure level 2 in structure "text" dcl 11-49 in procedure "comp_head_page_" hdr 4 based structure level 2 in structure "ftnblk" dcl 26 in procedure "comp_head_page_" hdr 316 based structure level 2 in structure "col0" dcl 2-37 in procedure "comp_head_page_" hdrptr 452 based pointer level 2 dcl 2-5 set ref 176 176 180 180 183* hdspc 23 based fixed bin(31,0) level 3 dcl 8-11 set ref 122* 127* 139 139* 141* 149 149* 170* 195 195 head_used parameter fixed bin(31,0) dcl 19 set ref 14 169* 195 195 headed 15(03) based bit(1) level 4 packed unaligned dcl 8-11 set ref 126* header 6 based fixed bin(31,0) level 4 dcl 8-11 set ref 144 147* 149 hfcblk based structure level 1 dcl 11-250 hfcblk_ptr 000120 automatic pointer dcl 11-249 set ref 99* 100 100 107* 108 108 115* 116 116 129 132 133 135 135* 139 139 highndx based fixed bin(35,0) level 2 dcl 5-5 ref 153 i 000102 automatic fixed bin(17,0) dcl 27 set ref 82* 83 83 83* 153* 156 164* index 3502 based fixed bin(17,0) level 3 dcl 9-7 ref 40 info 277 based structure level 3 in structure "ftnblk" dcl 26 in procedure "comp_head_page_" info 161 based structure level 2 in structure "txtlin" dcl 11-161 in procedure "comp_head_page_" info 277 based structure level 3 in structure "hfcblk" dcl 11-250 in procedure "comp_head_page_" info 161 based structure level 2 in structure "ctl" dcl 11-157 in procedure "comp_head_page_" info 161 based structure level 2 in structure "text_entry" dcl 11-68 in procedure "comp_head_page_" info 277 based structure level 3 in structure "text" dcl 11-49 in procedure "comp_head_page_" info 277 based structure level 3 in structure "ftnhdr" dcl 5-10 in procedure "comp_head_page_" init_page_depth 1 based fixed bin(31,0) level 3 dcl 8-11 ref 123 123 input_line 375 based varying char(1020) level 2 dcl 11-49 set ref 137* ioa_ 000022 constant entry external dcl 12-70 ref 53 195 left 12 based structure level 2 in structure "default_parms" dcl 11-213 in procedure "comp_head_page_" left 12 based structure level 2 in structure "text_parms" dcl 11-206 in procedure "comp_head_page_" left 36 based structure level 3 in structure "tblcol" dcl 10-26 in procedure "comp_head_page_" left 12 based structure level 2 in structure "footnote_parms" dcl 5-12 in procedure "comp_head_page_" left 1016 based structure level 3 in structure "text" dcl 11-49 in procedure "comp_head_page_" left 12 based structure level 2 in structure "current_parms" dcl 11-209 in procedure "comp_head_page_" left 1016 based structure level 3 in structure "ftnhdr" dcl 5-10 in procedure "comp_head_page_" left 1016 based structure level 3 in structure "hfcblk" dcl 11-250 in procedure "comp_head_page_" left 36 based structure level 3 in structure "prvtblcol" dcl 10-44 in procedure "comp_head_page_" left 1016 based structure level 3 in structure "ftnblk" dcl 26 in procedure "comp_head_page_" left 36 based structure level 3 in structure "tblcol0" dcl 10-41 in procedure "comp_head_page_" line_area_ptr 000114 automatic pointer initial dcl 11-25 set ref 11-25* lmarg 24 based fixed bin(31,0) level 3 in structure "page" dcl 8-11 in procedure "comp_head_page_" set ref 67* 76* lmarg 2 based structure level 2 in structure "page_parms" dcl 8-86 in procedure "comp_head_page_" margin 5 based structure level 3 dcl 8-11 mod 1005(02) based bit(1) level 5 in structure "text" packed unaligned dcl 11-49 in procedure "comp_head_page_" set ref 92* mod builtin function dcl 32 in procedure "comp_head_page_" ref 40 net 11 based structure level 2 in structure "page_parms" dcl 8-86 in procedure "comp_head_page_" net 450 based fixed bin(31,0) level 3 in structure "col" dcl 2-5 in procedure "comp_head_page_" set ref 83* net 25 based fixed bin(31,0) level 3 in structure "page" dcl 8-11 in procedure "comp_head_page_" set ref 66* 75* 83 nmbr 3510 based fixed bin(31,0) array level 3 dcl 9-7 ref 40 null builtin function dcl 32 ref 68 77 83 100 108 116 129 153 157 176 188 10-24 10-43 11-25 11-35 odd 3 based fixed bin(31,0) level 3 in structure "page_parms" dcl 8-86 in procedure "comp_head_page_" ref 67 odd 12 based fixed bin(31,0) level 3 in structure "page_parms" dcl 8-86 in procedure "comp_head_page_" ref 66 ophdrptr 4012 based pointer level 3 dcl 9-7 ref 68 68 107 option based structure level 1 dcl 7-5 option_ptr 164 based pointer level 3 dcl 12-23 ref 190 190 orphan 4(09) based bit(1) level 4 packed unaligned dcl 26 ref 157 page based structure level 1 dcl 8-11 in procedure "comp_head_page_" page 1006(05) based bit(1) level 4 in structure "text" packed unaligned dcl 11-49 in procedure "comp_head_page_" set ref 91* page_header based structure level 1 dcl 8-27 page_header_ptr 172 based pointer level 3 dcl 12-23 ref 40 44 44 49 49 page_parms based structure level 1 dcl 8-86 page_parms_ptr 174 based pointer level 3 dcl 12-23 ref 66 67 75 76 171 page_ptr 170 based pointer level 3 dcl 12-23 ref 35 38 40 44 49 51 53 53 53 57 59 60 61 63 66 67 75 76 82 83 83 83 83 88 89 96 104 112 122 122 123 123 123 123 126 127 127 127 133 139 139 139 141 141 144 147 149 149 149 149 161 162 164 164 169 170 170 171 173 174 180 190 195 195 195 195 195 pageno 26 based varying char(32) level 3 dcl 8-11 set ref 38* 53* 190 195* pagenum 3502 based structure level 2 dcl 9-7 parms 1004 based structure level 2 in structure "text" dcl 11-49 in procedure "comp_head_page_" set ref 132* 180 180 parms 1 based structure level 2 in structure "page" dcl 8-11 in procedure "comp_head_page_" parms 1004 based structure level 2 in structure "hfcblk" dcl 11-250 in procedure "comp_head_page_" set ref 68 77 132 parms_ptr 000104 automatic pointer dcl 29 set ref 68* 70* 77* 79* 88* 90 pass_counter 3643 based fixed bin(17,0) level 2 dcl 9-7 ref 190 pgc_select 15(27) based char(1) level 4 packed unaligned dcl 8-11 set ref 57* pglst 224 based structure array level 2 dcl 7-5 pglstndx 223 based fixed bin(35,0) level 2 dcl 7-5 ref 190 print_flag 4113(11) based bit(1) level 3 packed unaligned dcl 9-7 set ref 190* prvtblcolptr 000112 automatic pointer initial dcl 10-43 set ref 10-43* pspc 447 based fixed bin(31,0) level 3 dcl 2-37 set ref 122* 127* 139* 141* 149* 170 ptr 000020 external static pointer level 2 dcl 12-14 ref 35 38 40 40 40 40 40 44 44 44 49 49 49 51 51 53 53 53 53 57 59 60 61 61 63 66 66 67 67 68 68 70 75 75 76 76 77 77 79 82 83 83 83 83 88 89 89 90 91 92 92 92 94 96 99 100 104 107 108 112 115 116 120 120 122 122 123 123 123 123 123 126 127 127 127 132 133 133 137 139 139 139 141 141 141 144 147 147 149 149 149 149 153 153 156 161 161 161 162 162 162 164 164 164 164 169 169 170 170 171 171 173 174 174 176 176 180 180 180 180 182 183 187 187 188 190 190 190 190 190 195 195 195 195 195 195 ptrs 3742 based structure level 2 in structure "shared" dcl 9-7 in procedure "comp_head_page_" ptrs 126 based structure level 2 in structure "const" dcl 12-23 in procedure "comp_head_page_" save_colno 000106 automatic fixed bin(17,0) dcl 30 set ref 59* 173 174 shared based structure level 1 dcl 9-7 shared_ptr 200 based pointer level 3 dcl 12-23 ref 40 40 40 51 53 61 68 68 77 77 89 91 92 92 92 94 99 100 107 108 115 116 120 120 123 132 133 137 141 147 153 153 156 161 161 162 162 164 164 169 174 176 176 180 180 180 182 183 188 190 190 195 sws 4113 based structure level 2 in structure "shared" dcl 9-7 in procedure "comp_head_page_" sws 1004 based structure level 3 in structure "text" dcl 11-49 in procedure "comp_head_page_" sws 4 based structure level 3 in structure "text" dcl 11-49 in procedure "comp_head_page_" sws based structure level 2 in structure "page_header" dcl 8-27 in procedure "comp_head_page_" sws 4 based structure level 3 in structure "ftnblk" dcl 26 in procedure "comp_head_page_" sws 1004 based structure level 3 in structure "hfcblk" dcl 11-250 in procedure "comp_head_page_" sws 15 based structure level 3 in structure "page" dcl 8-11 in procedure "comp_head_page_" sws 4 based structure level 3 in structure "hfcblk" dcl 11-250 in procedure "comp_head_page_" tblblk 4(05) based bit(1) level 4 in structure "hfcblk" packed unaligned dcl 11-250 in procedure "comp_head_page_" ref 100 108 116 tblblk 4(05) based bit(1) level 4 in structure "text" packed unaligned dcl 11-49 in procedure "comp_head_page_" set ref 94* 100* 108* 116* 182* tblcol based structure level 1 dcl 10-26 tblcolptr 000110 automatic pointer initial dcl 10-24 set ref 10-24* text based structure level 1 dcl 11-49 text_area_ptr 000116 automatic pointer initial dcl 11-35 set ref 11-35* text_entry based structure level 1 dcl 11-68 text_header based structure level 1 dcl 11-163 text_parms_ptr 206 based pointer level 3 dcl 12-23 ref 70 79 187 top 5 based fixed bin(31,0) level 4 dcl 8-11 ref 123 123 127 trl_ws 113 based fixed bin(31,0) level 3 dcl 11-49 ref 141 usd 15 based fixed bin(31,0) level 4 in structure "text" dcl 11-49 in procedure "comp_head_page_" set ref 162 162* usd 376 based fixed bin(31,0) level 4 in structure "col0" dcl 2-37 in procedure "comp_head_page_" set ref 162* used 114 based fixed bin(31,0) level 3 in structure "hfcblk" dcl 11-250 in procedure "comp_head_page_" ref 139 used 114 based fixed bin(31,0) level 3 in structure "text" dcl 11-49 in procedure "comp_head_page_" ref 169 used 114 based fixed bin(31,0) level 3 in structure "ftnblk" dcl 26 in procedure "comp_head_page_" ref 162 white 4(07) based bit(1) level 4 packed unaligned dcl 11-250 ref 139 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ACK internal static char(1) initial unaligned dcl 6-6 BEL internal static char(1) initial unaligned dcl 6-6 BRS internal static char(1) initial unaligned dcl 6-6 BSP internal static char(1) initial unaligned dcl 6-6 CAN internal static char(1) initial unaligned dcl 6-6 CR internal static char(1) initial unaligned dcl 6-6 DC1 internal static char(1) initial unaligned dcl 6-6 DC2 internal static char(1) initial unaligned dcl 6-6 DC3 internal static char(1) initial unaligned dcl 6-6 DC4 internal static char(1) initial unaligned dcl 6-6 DEL internal static char(1) initial unaligned dcl 6-6 DEVIT internal static char(1) initial unaligned dcl 6-6 DLE internal static char(1) initial unaligned dcl 6-6 EM internal static char(1) initial unaligned dcl 6-6 EM_ internal static char(1) initial unaligned dcl 6-6 EMdash internal static char(1) initial unaligned dcl 6-6 EN internal static char(1) initial unaligned dcl 6-6 ENQ internal static char(1) initial unaligned dcl 6-6 EN_ internal static char(1) initial unaligned dcl 6-6 ENd internal static char(1) initial unaligned dcl 6-6 EOT internal static char(1) initial unaligned dcl 6-6 ESC internal static char(1) initial unaligned dcl 6-6 ETB internal static char(1) initial unaligned dcl 6-6 ETX internal static char(1) initial unaligned dcl 6-6 FF internal static char(1) initial unaligned dcl 6-6 FS internal static char(1) initial unaligned dcl 6-6 GS internal static char(1) initial unaligned dcl 6-6 HAIR internal static char(1) initial unaligned dcl 6-6 HLF internal static char(1) initial unaligned dcl 6-6 HLR internal static char(1) initial unaligned dcl 6-6 HT internal static char(1) initial unaligned dcl 6-6 HUGE internal static char(1) initial unaligned dcl 6-6 LF internal static char(1) initial unaligned dcl 6-6 LINE_AREA_SIZE internal static fixed bin(17,0) initial dcl 11-24 MAX_TREE_AREAS internal static fixed bin(17,0) initial dcl 12-20 MAX_TREE_AREA_CT internal static fixed bin(17,0) initial dcl 12-18 MEDIUM internal static char(1) initial unaligned dcl 6-6 NAK internal static char(1) initial unaligned dcl 6-6 NL internal static char(1) initial unaligned dcl 6-6 NUL internal static char(1) initial unaligned dcl 6-6 PI internal static char(1) initial unaligned dcl 6-6 PS internal static char(1) initial unaligned dcl 6-6 RRS internal static char(1) initial unaligned dcl 6-6 RS internal static char(1) initial unaligned dcl 6-6 SI internal static char(1) initial unaligned dcl 6-6 SO internal static char(1) initial unaligned dcl 6-6 SOH internal static char(1) initial unaligned dcl 6-6 STROKE internal static char(1) initial unaligned dcl 6-6 STX internal static char(1) initial unaligned dcl 6-6 SUB internal static char(1) initial unaligned dcl 6-6 SYN internal static char(1) initial unaligned dcl 6-6 TEXT_AREA_SIZE internal static fixed bin(17,0) initial dcl 11-34 TEXT_VERSION internal static fixed bin(17,0) initial dcl 11-47 THICK internal static char(1) initial unaligned dcl 6-6 THIN internal static char(1) initial unaligned dcl 6-6 US internal static char(1) initial unaligned dcl 6-6 VT internal static char(1) initial unaligned dcl 6-6 approx internal static char(1) initial unaligned dcl 6-6 blank automatic bit(1) unaligned dcl 23 block_break internal static fixed bin(17,0) initial dcl 1-9 bullet internal static char(1) initial unaligned dcl 6-6 column_break internal static fixed bin(17,0) initial dcl 1-9 comp_ 000000 constant entry external dcl 3-7 comp_art_ 000000 constant entry external dcl 3-8 comp_block_ctls_ 000000 constant entry external dcl 3-9 comp_break_ 000000 constant entry external dcl 3-11 comp_break_ctls_ 000000 constant entry external dcl 3-12 comp_ctls_ 000000 constant entry external dcl 3-14 comp_eject_page_ 000000 constant entry external dcl 3-15 comp_expr_eval_ 000000 constant entry external dcl 3-17 comp_extr_str_ 000000 constant entry external dcl 3-21 comp_fill_ 000000 constant entry external dcl 3-24 comp_font_ 000000 constant entry external dcl 3-25 comp_format_ctls_ 000000 constant entry external dcl 3-26 comp_get_file_$find 000000 constant entry external dcl 3-28 comp_get_file_$open 000000 constant entry external dcl 3-31 comp_head_page_ 000000 constant entry external dcl 3-33 comp_hft_ctls_ 000000 constant entry external dcl 3-35 comp_hft_ctls_$title 000000 constant entry external dcl 3-36 comp_init_$one 000000 constant entry external dcl 3-38 comp_init_$three 000000 constant entry external dcl 3-40 comp_init_$two 000000 constant entry external dcl 3-39 comp_insert_ctls_ 000000 constant entry external dcl 3-42 comp_make_page_ 000000 constant entry external dcl 3-44 comp_make_page_$cleanup 000000 constant entry external dcl 3-46 comp_measure_ 000000 constant entry external dcl 3-48 comp_read_$line 000000 constant entry external dcl 3-57 comp_read_$name 000000 constant entry external dcl 3-50 comp_read_$number 000000 constant entry external dcl 3-53 comp_report_ 000000 constant entry external dcl 3-59 comp_report_$ctlstr 000000 constant entry external dcl 3-61 comp_report_$exact 000000 constant entry external dcl 3-64 comp_tbl_ctls_ 000000 constant entry external dcl 3-68 comp_update_symbol_ 000000 constant entry external dcl 3-71 comp_use_ref_ 000000 constant entry external dcl 3-74 comp_util_$add_text 000000 constant entry external dcl 3-75 comp_util_$display 000000 constant entry external dcl 3-77 comp_util_$escape 000000 constant entry external dcl 3-80 comp_util_$num_display 000000 constant entry external dcl 3-84 comp_util_$pictures 000000 constant entry external dcl 3-88 comp_util_$pop 000000 constant entry external dcl 3-91 comp_util_$push 000000 constant entry external dcl 3-92 comp_util_$relblk 000000 constant entry external dcl 3-94 comp_util_$replace_text 000000 constant entry external dcl 3-96 comp_util_$search_tree 000000 constant entry external dcl 3-98 comp_util_$set_bin 000000 constant entry external dcl 3-100 comp_util_$set_net_page 000000 constant entry external dcl 3-104 comp_util_$translate 000000 constant entry external dcl 3-106 comp_write_block_ 000000 constant entry external dcl 3-108 comp_write_page_ 000000 constant entry external dcl 3-110 compose_severity_ external static fixed bin(35,0) dcl 3-5 const_version internal static fixed bin(35,0) initial dcl 12-17 cright internal static char(1) initial unaligned dcl 6-6 ctl based structure level 1 dcl 11-157 ctl_line based varying char(1020) dcl 11-158 current_parms based structure level 1 dcl 11-209 dagger internal static char(1) initial unaligned dcl 6-6 dbldag internal static char(1) initial unaligned dcl 6-6 delmark internal static char(1) initial unaligned dcl 6-6 delta internal static char(1) initial unaligned dcl 6-6 dot_addltr_symb_index internal static fixed bin(17,0) initial dcl 9-126 flag_value based bit(1) unaligned dcl 9-132 fntstk_eptr automatic pointer dcl 4-5 footer_break internal static fixed bin(17,0) initial dcl 1-9 footnote_break internal static fixed bin(17,0) initial dcl 1-9 footnote_parms based structure level 1 dcl 5-12 format_break internal static fixed bin(17,0) initial dcl 1-9 ftnhdr based structure level 1 dcl 5-10 index builtin function dcl 32 infin internal static char(1) initial unaligned dcl 6-6 init_page_parms based structure level 1 dcl 8-108 ioa_$nnl 000000 constant entry external dcl 12-70 iox_$error_output external static pointer dcl 12-74 iox_$user_input external static pointer dcl 12-74 iox_$user_output external static pointer dcl 12-74 just internal static bit(6) initial unaligned dcl 11-148 length builtin function dcl 32 line_area based structure level 1 dcl 11-26 lquote internal static char(1) initial unaligned dcl 6-6 lslnt internal static char(1) initial unaligned dcl 6-6 max builtin function dcl 32 max_cols internal static fixed bin(17,0) initial dcl 8-7 max_image_lines internal static fixed bin(17,0) initial dcl 8-5 max_text_lines internal static fixed bin(17,0) initial dcl 9-128 meas automatic bit(1) unaligned dcl 28 mode_string internal static char(16) initial unaligned dcl 9-129 modmark internal static char(1) initial unaligned dcl 6-6 multiply internal static char(1) initial unaligned dcl 6-6 nabla internal static char(1) initial unaligned dcl 6-6 need_break internal static fixed bin(17,0) initial dcl 1-9 not_eq internal static char(1) initial unaligned dcl 6-6 num_value based fixed bin(31,0) dcl 9-133 oct031 internal static char(1) initial unaligned dcl 6-6 option_version internal static fixed bin(35,0) initial dcl 7-3 overbar internal static char(1) initial unaligned dcl 6-6 page_break internal static fixed bin(17,0) initial dcl 1-9 page_image based structure level 1 dcl 8-56 page_image_version internal static fixed bin(35,0) initial dcl 8-53 page_version internal static fixed bin(17,0) initial dcl 8-9 perpen internal static char(1) initial unaligned dcl 6-6 pi internal static char(1) initial unaligned dcl 6-6 pl_mi internal static char(1) initial unaligned dcl 6-6 prll internal static char(1) initial unaligned dcl 6-6 prvtblcol based structure level 1 dcl 10-44 quadc internal static bit(6) initial unaligned dcl 11-148 quadi internal static bit(6) initial unaligned dcl 11-148 quadl internal static bit(6) initial unaligned dcl 11-148 quado internal static bit(6) initial unaligned dcl 11-148 quadr internal static bit(6) initial unaligned dcl 11-148 rquote internal static char(1) initial unaligned dcl 6-6 save_shared based structure level 1 dcl 9-124 shared_version internal static fixed bin(35,0) initial dcl 9-5 slash internal static char(1) initial unaligned dcl 6-6 square internal static char(1) initial unaligned dcl 6-6 string_area based fixed bin(17,0) array dcl 11-43 sup0 internal static char(1) initial unaligned dcl 6-6 sup1 internal static char(1) initial unaligned dcl 6-6 sup2 internal static char(1) initial unaligned dcl 6-6 sup3 internal static char(1) initial unaligned dcl 6-6 sup4 internal static char(1) initial unaligned dcl 6-6 sup5 internal static char(1) initial unaligned dcl 6-6 sup6 internal static char(1) initial unaligned dcl 6-6 sup7 internal static char(1) initial unaligned dcl 6-6 sup8 internal static char(1) initial unaligned dcl 6-6 sup9 internal static char(1) initial unaligned dcl 6-6 sys_info$max_seg_size external static fixed bin(18,0) dcl 12-80 tblcol0 based structure level 1 dcl 10-41 tblcolndx automatic fixed bin(17,0) dcl 10-22 tbldata based structure level 1 dcl 10-5 tblfmt based structure level 1 dcl 10-15 tblfmtndx automatic fixed bin(17,0) dcl 10-12 tblfmtptr automatic pointer dcl 10-13 tblkdata based structure level 1 dcl 11-5 text_area based structure level 1 dcl 11-36 text_parms based structure level 1 dcl 11-206 tfore internal static char(1) initial unaligned dcl 6-6 theta internal static char(1) initial unaligned dcl 6-6 tmark internal static char(1) initial unaligned dcl 6-6 txtlin based structure level 1 dcl 11-161 txtlinptr automatic pointer dcl 11-160 txtstr based varying char(1020) dcl 11-45 txtstrptr automatic pointer dcl 11-44 vbot internal static bit(4) initial unaligned dcl 10-48 vcen internal static bit(4) initial unaligned dcl 10-47 vjust internal static bit(4) initial unaligned dcl 10-49 vrule internal static char(1) initial unaligned dcl 6-6 vtop internal static bit(4) initial unaligned dcl 10-46 NAMES DECLARED BY EXPLICIT CONTEXT. comp_head_page_ 000050 constant entry external dcl 14 return_ 001125 constant label dcl 190 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1366 1412 1270 1376 Length 2040 1270 24 412 76 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME comp_head_page_ 176 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME comp_head_page_ 000100 ftnblkptr comp_head_page_ 000102 i comp_head_page_ 000104 parms_ptr comp_head_page_ 000106 save_colno comp_head_page_ 000110 tblcolptr comp_head_page_ 000112 prvtblcolptr comp_head_page_ 000114 line_area_ptr comp_head_page_ 000116 text_area_ptr comp_head_page_ 000120 hfcblk_ptr comp_head_page_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_e_as call_ext_out_desc call_ext_out return mod_fx1 ext_entry real_to_real_tr divide_fx1 THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. comp_space_ comp_title_block_ comp_util_$getblk comp_util_$pageno ioa_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. compstat$compconst LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 14 000045 10 24 000055 10 43 000057 11 25 000060 11 35 000061 35 000062 38 000070 40 000106 44 000140 47 000156 49 000157 51 000174 53 000202 57 000237 59 000245 60 000247 61 000250 63 000253 66 000261 67 000264 68 000266 70 000277 71 000301 75 000302 76 000305 77 000307 79 000320 82 000322 83 000333 86 000352 88 000354 89 000403 90 000415 91 000421 92 000427 94 000435 96 000437 99 000443 100 000445 102 000455 104 000456 107 000463 108 000465 110 000475 112 000476 115 000477 116 000501 120 000511 122 000515 123 000520 126 000553 127 000561 129 000565 132 000571 133 000577 135 000612 137 000624 139 000632 141 000646 144 000653 147 000660 149 000706 153 000717 156 000733 157 000743 161 000752 162 000761 164 000766 167 000773 169 000775 170 001010 171 001012 173 001021 174 001023 176 001026 180 001043 182 001073 183 001102 187 001111 188 001120 190 001125 195 001150 215 001255 ----------------------------------------------------------- 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