COMPILATION LISTING OF SEGMENT comp_eject_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 0951.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 finish and eject the current page */ 11 12 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 13 14 comp_eject_page_: 15 proc; 16 17 /* PARAMETERS */ 18 19 /* LOCAL STORAGE */ 20 21 dcl footer_depth fixed bin (31); /* depth of first footer line */ 22 /* copy of page footer pointer */ 23 dcl (i, j) fixed bin; /* working index */ 24 dcl 1 locol aligned like col based (locolptr); 25 /* for local reference */ 26 dcl locolptr ptr; /* for local reference */ 27 dcl tmpline char (1020) var; /* for header symbol replacement */ 28 29 dcl (index, length, max, mod, null) 30 builtin; 31 dcl end_output condition; 32 33 if shared.bug_mode 34 then call ioa_ ("eject_page: (^a ^[front^;back^]^[ blank^]" 35 || "^[ MOD pgc=^a^;^s^] d^f u^f/^f)", page.hdr.pageno, 36 page.hdr.frontpage, page.hdr.blankpage, page.hdr.modified, 37 page.hdr.pgc_select, show (page.hdr.depth, 12000), 38 show (page.hdr.used, 12000), show (page.hdr.net, 12000)); 39 40 if shared.ftn_mode /* if building footnotes */ 41 then goto return_; 42 43 page.hdr.col_index = 0; /* return to column 0 */ 44 shared.colptr = page.column_ptr (0); 45 shared.blkptr = col0.blkptr (1); /* and select page header */ 46 /* replace header symbols */ 47 do line_area_ptr = text.line_area.first repeat (line_area.next) 48 while (line_area_ptr ^= null); 49 do i = 1 to line_area.ndx; 50 txtlinptr = line_area.linptr (i); 51 txtstrptr = txtlin.ptr; /* does it have symbols or escapes? */ 52 if index (txtstr, shared.sym_delim) ^= 0 53 | (^txtlin.art & index (txtstr, "*") ^= 0) 54 then 55 do; 56 tmpline = txtstr; /* copy the text */ 57 if index (tmpline, shared.sym_delim) ^= 0 58 then call comp_use_ref_ (tmpline, txtlin.art, "1"b, 59 addr (txtlin.info)); 60 61 if index (tmpline, "*") ^= 0 62 then call comp_util_$escape (tmpline, addr (txtlin.info)); 63 64 call comp_util_$replace_text (shared.blkptr, 65 (txtlin.quad ^= quadl & txtlin.quad ^= just), txtlinptr, 66 addr (tmpline)); 67 end; 68 end; 69 end; 70 71 if page.hdr.blankpage /* blank page? */ 72 then hfcblk_ptr = shared.blank_footer_ptr; 73 else if page.hdr.frontpage /* odd page? */ 74 then hfcblk_ptr = shared.opftrptr; 75 else if ^page.hdr.frontpage /* even page? */ 76 then hfcblk_ptr = shared.epftrptr; 77 78 if hfcblk_ptr ^= null /* do the page footer */ 79 then if hfcblk.hdr.used > 0 80 then 81 do; 82 footer_depth = 83 page.parms.length - page.parms.margin.bottom 84 - hfcblk.hdr.used - page.parms.init_page_depth; 85 86 if shared.bug_mode 87 then call ioa_ ("^-(footer depth=^f)", show (footer_depth, 12000)) 88 ; 89 90 if page.hdr.art /* if page header starts artwork, */ 91 then /* extend it and append footer */ 92 do; 93 shared.blkptr = col0.blkptr (1); 94 /* put in real space */ 95 call comp_space_ (footer_depth - text.hdr.used, shared.blkptr, 96 "0"b, "1"b, "0"b, "1"b); 97 /* build the footer */ 98 call comp_title_block_ (hfcblk_ptr); 99 /* fill in page depth */ 100 page.hdr.depth, col0.hdr.depth = 0; 101 do line_area_ptr = text.line_area.first 102 repeat (line_area.next) while (line_area_ptr ^= null); 103 do i = 1 to line_area.ndx; 104 txtlinptr = line_area.linptr (i); 105 txtstrptr = txtlin.ptr; 106 /* does it have symbols or escapes? */ 107 if index (txtstr, shared.sym_delim) ^= 0 108 | (^txtlin.art & index (txtstr, "*") ^= 0) 109 then 110 do; 111 tmpline = txtstr; 112 /* copy the text */ 113 if index (tmpline, shared.sym_delim) ^= 0 114 then call comp_use_ref_ (tmpline, txtlin.art, "1"b, 115 addr (txtlin.info)); 116 117 if index (tmpline, "*") ^= 0 118 then call comp_util_$escape (tmpline, 119 addr (txtlin.info)); 120 121 call comp_util_$replace_text (shared.blkptr, 122 (txtlin.quad ^= quadl & txtlin.quad ^= just), 123 txtlinptr, addr (tmpline)); 124 end; 125 126 txtlin.depth = page.hdr.depth; 127 page.hdr.depth, col0.hdr.depth = 128 page.hdr.depth + txtlin.linespace; 129 end; 130 end; 131 132 if text.hdr.art 133 then call comp_art_ (shared.blkptr, "0"b); 134 end; 135 136 else /* create a separate footer block */ 137 do; 138 call comp_util_$getblk (0, shared.blkptr, "pf", 139 addr (hfcblk.parms), "0"b); 140 text.parms.page = "1"b; 141 unspec (text.parms.cbar) = "0"b; 142 /* build the footer */ 143 call comp_title_block_ (hfcblk_ptr); 144 /**** /* fill in page depth */ 145 /**** page.hdr.depth, col0.hdr.depth = footer_depth - 12000; 146*/**** do line_area_ptr = text.line_area.first 147*/**** repeat (line_area.next) while (line_area_ptr ^= null); 148*/**** do i = 1 to line_area.ndx; 149*/**** txtlinptr = line_area.linptr (i); 150*/**** txtlin.depth = page.hdr.depth; 151*/**** page.hdr.depth, col0.hdr.depth = 152*/**** page.hdr.depth + txtlin.linespace; 153*/**** end; 154*/**** end; 155*/**** 156*/**** if text.hdr.art 157*/**** then call comp_art_ (shared.blkptr, "0"b);*/ 158 159 page.hdr.depth, col0.hdr.depth = footer_depth; 160 call comp_break_ (footer_break, 0); 161 end; 162 end; 163 164 call comp_write_page_; /* write the page */ 165 166 do i = 0 to page.hdr.col_count; /* clean up all the columns */ 167 locolptr = page.column_ptr (i); 168 locol.hdr = colhdr; /* erase column header */ 169 locol.hdr.net = page.hdr.net - locol.ftrusd; 170 end; 171 172 page.hdr.used, page.hdr.balusd, page.hdr.baldepth = 0; 173 174 if shared.pass_counter <= 1 /* if an output pass */ 175 then 176 do; 177 if shared.print_flag /* if page was printed */ 178 then 179 do; /* and page is last of current range */ 180 if page.hdr.pageno = option.pglst (option.pglstndx).to 181 then 182 do; /* print flag OFF */ 183 shared.print_flag = "0"b; 184 /* next list entry */ 185 option.pglstndx = option.pglstndx + 1; 186 end; 187 end; /**/ 188 /* if end hasn't been signalled */ 189 if ^shared.end_output & /* if -to and this is it */ 190 /* or the last given -page */ 191 (option.pglst (0).to ^= "" 192 & page.hdr.pageno = option.pglst (0).to) 193 | (option.pages_opt 194 & page.hdr.pageno = option.pglst (option.pglstct).to) 195 then 196 do; 197 shared.end_output = "1"b; 198 /**** signal end_output;*/ 199 goto return_; 200 end; 201 end; /**/ 202 /* count the page */ 203 shared.pagecount = shared.pagecount + 1; 204 205 if page.parms.cols.count > 0 /* if multicolumn */ 206 then /* next page starts in column 1 */ 207 do; 208 page.hdr.col_index = 1; 209 shared.colptr = page.column_ptr (1); 210 page.hdr.col_count = page.parms.cols.count; 211 end; 212 213 if shared.ftn_reset = "paged" /* if footnotes are paged */ 214 then shared.ftnrefct = 1; /* reset the counter */ 215 216 return_: 217 if shared.bug_mode 218 then call ioa_ ("^5x(eject_page) (^[END^;^a ^[front^;back^]^])", 219 shared.end_output, page.hdr.pageno, page.hdr.frontpage); 220 page.hdr.headed = "0"b; 221 222 show: 223 proc (value, scale) returns (fixed dec (11, 3)); 224 dcl value fixed bin (31); 225 dcl scale fixed bin (31); 226 return (dec (divide (value, scale, 31, 10), 11, 3)); 227 end show; 228 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 */ 229 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 */ 230 3 1 /* BEGIN INCLUDE FILE comp_ctl_index.incl.pl1 */ 3 2 3 3 /* Written: 3/82 - EJW */ 3 4 3 5 /* Vector index values for controls that must be globally known. */ 3 6 3 7 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 3 8 3 9 dcl ( 3 10 be_ctl_index init (22), /* block-end */ 3 11 bef_ctl_index init (26), /* block-end-footnote */ 3 12 bel_ctl_index init (28), /* block-end-literal */ 3 13 bep_ctl_index init (30), /* block-end-picture */ 3 14 fin_ctl_index init (76), /* fill-on */ 3 15 ifi_ctl_index init (110), /* insert-file */ 3 16 ift_ctl_index init (111), /* insert-footnotes */ 3 17 tac_ctl_index init (145), /* table-column */ 3 18 taf_ctl_index init (146) /* table-off */ 3 19 ) fixed bin static options (constant); 3 20 3 21 /* END INCLUDE FILE comp_ctl_index.incl.pl1 */ 231 4 1 /* BEGIN INCLUDE FILE comp_entries.incl.pl1 */ 4 2 4 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 4 4 4 5 dcl compose_severity_ 4 6 fixed bin (35) ext static; 4 7 dcl comp_ entry; 4 8 dcl comp_art_ entry (ptr, bit (1)); 4 9 dcl comp_block_ctls_ 4 10 entry (fixed bin); 4 11 dcl comp_break_ entry (fixed bin, fixed bin); 4 12 dcl comp_break_ctls_ 4 13 entry (fixed bin); 4 14 dcl comp_ctls_ entry (bit (1) aligned); 4 15 dcl comp_eject_page_ 4 16 entry; 4 17 dcl comp_expr_eval_ 4 18 entry (char (*) var, fixed bin (21), ptr, fixed bin, 4 19 fixed bin, bit (1), fixed bin (31), char (*) var, 4 20 bit (9), fixed bin (35)); 4 21 dcl comp_extr_str_ entry (bit (1), char (*) var, fixed bin (21), 4 22 fixed bin (21), fixed bin (21), ptr) 4 23 returns (char (*) var); 4 24 dcl comp_fill_ entry; 4 25 dcl comp_font_ entry (bit (1), char (*) var, char (8) aligned); 4 26 dcl comp_format_ctls_ 4 27 entry (fixed bin); 4 28 dcl comp_get_file_$find 4 29 entry (char (*), ptr, char (*), bit (1), char (*) var, 4 30 fixed bin (35)); 4 31 dcl comp_get_file_$open 4 32 entry (ptr, bit (1), fixed bin (35)); 4 33 dcl comp_head_page_ 4 34 entry (fixed bin (31)); 4 35 dcl comp_hft_ctls_ entry (fixed bin); 4 36 dcl comp_hft_ctls_$title 4 37 entry (ptr, ptr, char (*) var, fixed bin (31)); 4 38 dcl comp_init_$one entry; 4 39 dcl comp_init_$two entry; 4 40 dcl comp_init_$three 4 41 entry; 4 42 dcl comp_insert_ctls_ 4 43 entry (fixed bin); 4 44 dcl comp_make_page_ 4 45 entry (fixed bin, bit (1)); 4 46 dcl comp_make_page_$cleanup 4 47 entry; 4 48 dcl comp_measure_ entry (char (1020) var, ptr, bit (1), bit (1), bit (6), 4 49 fixed bin (31), ptr, ptr, ptr); 4 50 dcl comp_read_$name 4 51 entry (char (*) var, fixed bin (21), fixed bin (21), 4 52 ptr) returns (char (*) var); 4 53 dcl comp_read_$number 4 54 entry (char (*) var, (*) fixed bin (31), 4 55 fixed bin (21), fixed bin (21), ptr, fixed bin (35)) 4 56 returns (fixed bin (31)); 4 57 dcl comp_read_$line 4 58 entry (ptr, char (*) var, bit (1)); 4 59 dcl comp_report_ entry (fixed bin, fixed bin (35), char (*), ptr, 4 60 char (*) var); 4 61 dcl comp_report_$ctlstr 4 62 entry options (variable); 4 63 /**** (sev, code, info, line, ctl_str, args... */ 4 64 dcl comp_report_$exact 4 65 entry (char (*), ptr); 4 66 dcl comp_space_ entry (fixed bin (31), ptr, bit (1), bit (1), bit (1), 4 67 bit (1)); 4 68 dcl comp_tbl_ctls_ entry (fixed bin); 4 69 dcl comp_title_block_ 4 70 entry (ptr); 4 71 dcl comp_update_symbol_ 4 72 entry (bit (1), bit (1), bit (1), char (32), 4 73 char (*) var); 4 74 dcl comp_use_ref_ entry (char (*) var, bit (1), bit (1), ptr); 4 75 dcl comp_util_$add_text 4 76 entry (ptr, bit (1), bit (1), bit (1), bit (1), ptr); 4 77 dcl comp_util_$display 4 78 entry (char (*) var, fixed bin, bit (1)) 4 79 returns (char (*) var); 4 80 dcl comp_util_$escape 4 81 entry (char (*) var, ptr); 4 82 dcl comp_util_$getblk 4 83 entry (fixed bin, ptr, char (2), ptr, bit (1)); 4 84 dcl comp_util_$num_display 4 85 entry (ptr, fixed bin) returns (char (256) var); 4 86 dcl comp_util_$pageno 4 87 entry (fixed bin, char (*) var); 4 88 dcl comp_util_$pictures /* emit pending pictures */ 4 89 entry /**/ 4 90 (ptr); /* current text block */ 4 91 dcl comp_util_$pop entry (char (32)); 4 92 dcl comp_util_$push 4 93 entry (char (32)); 4 94 dcl comp_util_$relblk 4 95 entry (fixed bin, ptr); 4 96 dcl comp_util_$replace_text 4 97 entry (ptr, bit (1), ptr, ptr); 4 98 dcl comp_util_$search_tree 4 99 entry (char (32), bit (1)); 4 100 dcl comp_util_$set_bin 4 101 entry (fixed bin (31), char (32) var, fixed bin (31), 4 102 fixed bin (31), fixed bin (31), (*) fixed bin (31), 4 103 fixed bin (31)); 4 104 dcl comp_util_$set_net_page 4 105 entry (bit (1)); 4 106 dcl comp_util_$translate 4 107 entry (char (*) var) returns (char (*) var); 4 108 dcl comp_write_block_ 4 109 entry (fixed bin); 4 110 dcl comp_write_page_ 4 111 entry; 4 112 4 113 /* END INCLUDE FILE comp_entries.incl.pl1 */ 232 5 1 /* BEGIN INCLUDE FILE comp_fntstk.incl.pl1 */ 5 2 5 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 5 4 5 5 dcl fntstk_eptr ptr; /* font stack entry structure */ 5 6 dcl 1 fntstk_entry aligned based (fntstk_eptr), 5 7 2 bachelor bit (1), /* 1= has no members */ 5 8 2 devfnt fixed bin, /* font in the device */ 5 9 2 fam_name char (32), /* family name */ 5 10 2 famndx fixed bin, /* family index */ 5 11 2 fntptr ptr, /* font table pointer */ 5 12 2 mem_name char (32), /* /member name (or null) */ 5 13 2 memndx fixed bin, /* member index */ 5 14 2 memptr ptr, /* member table pointer */ 5 15 2 name char (65) var, /* font name */ 5 16 2 size fixed bin (31), /* requested point size */ 5 17 2 ps fixed bin (31), /* effective point size */ 5 18 2 fcs_str char (8); /* FCS string */ 5 19 5 20 /* END INCLUDE FILE comp_fntstk.incl.pl1 */ 233 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 */ 234 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 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 235 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 */ 236 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 */ 237 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 */ 238 11 1 /* BEGIN INCLUDE FILE comp_text.incl.pl1 */ 11 2 11 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 11 4 11 5 dcl 1 tblkdata /* data for allocated text blocks */ 11 6 aligned based (shared.tblkdata_ptr), 11 7 2 block, /* block pool */ 11 8 3 count fixed bin, 11 9 3 ptr (500) ptr, /* block pointers */ 11 10 /* block state flags */ 11 11 3 free (500) bit (1) unal, 11 12 2 line_area, /* line area pool */ 11 13 3 count fixed bin, 11 14 3 ptr (500) ptr, /* area pointers */ 11 15 /* area state flags */ 11 16 3 free (500) bit (1) unal, 11 17 2 text_area, /* text area pool */ 11 18 3 count fixed bin, 11 19 3 ptr (500) ptr, /* area pointers */ 11 20 /* area state flags */ 11 21 3 free (500) bit (1) unal, 11 22 3 string_area_count 11 23 fixed bin; /* line areas */ 11 24 dcl LINE_AREA_SIZE fixed bin static options (constant) init (24); 11 25 dcl line_area_ptr ptr init (null); 11 26 dcl 1 line_area aligned based (line_area_ptr), 11 27 2 next ptr, /* forward thread */ 11 28 2 prev ptr, /* backward thread */ 11 29 2 count fixed bin, /* number of lines allocated */ 11 30 2 ndx fixed bin, /* index of current line */ 11 31 2 pndx fixed bin, /* area pool index */ 11 32 2 linptr (LINE_AREA_SIZE) ptr; 11 33 /* text areas */ 11 34 dcl TEXT_AREA_SIZE fixed bin static options (constant) init (6); 11 35 dcl text_area_ptr ptr init (null); 11 36 dcl 1 text_area aligned based (text_area_ptr), 11 37 2 next ptr, /* forward thread */ 11 38 2 count fixed bin, /* number of areas allocated */ 11 39 2 ndx fixed bin, /* index of current strarea */ 11 40 2 pndx fixed bin, /* area pool index */ 11 41 2 strareaptr (TEXT_AREA_SIZE) ptr; 11 42 /* text string area */ 11 43 dcl string_area (256) fixed bin based; 11 44 dcl txtstrptr ptr; /* current text string */ 11 45 dcl txtstr char (1020) var based (txtstrptr); 11 46 11 47 dcl TEXT_VERSION fixed bin static options (constant) init (9); 11 48 /* general text block */ 11 49 dcl 1 text aligned based (shared.blkptr), 11 50 2 version fixed bin, /* version of structure */ 11 51 2 blkndx fixed bin, /* block data index */ 11 52 2 blktype char (2), /* block type code */ 11 53 /* dynamic block control stuff */ 11 54 2 hdr aligned like text_header, 11 55 /* text read from input file */ 11 56 2 input aligned like text_entry, 11 57 2 input_line char (1020) var,/* input buffer */ 11 58 2 line_area, 11 59 3 first ptr, /* head of line area thread */ 11 60 3 cur ptr, /* current line area */ 11 61 2 next_text ptr, /* next text string */ 11 62 /* text formatting parameters */ 11 63 2 parms aligned like default_parms, 11 64 2 text_area, 11 65 3 first ptr, /* head of text area thread */ 11 66 3 cur ptr; /* current text area */ 11 67 /* an empty text block line */ 11 68 dcl 1 text_entry aligned based (const.text_entry_ptr), 11 69 2 sws, /* unaligned switches, etc. */ 11 70 3 art bit (1) unal, /* line has artwork */ 11 71 3 cbar, /* change bar flags */ 11 72 4 add bit (1) unal, /* text addition flag */ 11 73 4 del bit (1) unal, /* text deletion flag */ 11 74 4 mod bit (1) unal, /* text modification flag */ 11 75 3 default bit (1) unal, /* 1 = default case as needed */ 11 76 3 DVctl bit (1) unal, /* 1 = line is a device ctl string */ 11 77 3 embedded bit (1) unal, /* 1 = line has an embedded control */ 11 78 3 end_keep bit (1) unal, /* 1= line ends a keep */ 11 79 3 fnt_chng bit (1) unal, /* 1 = text is a font change string */ 11 80 3 footref bit (1) unal, /* 1 = line has a footnote reference */ 11 81 3 hanging bit (1) unal, /* 1 = a hanging undent */ 11 82 3 keep bit (1) unal, /* 1 = unsplittable line */ 11 83 3 no_trim bit (1) unal, /* 1 = untrimmable white line */ 11 84 3 oflo bit (1) unal, /* line causes overflow */ 11 85 3 punct bit (1) unal, /* 1 = line ends with punctuation */ 11 86 3 quad bit (6) unal, /* text alignment flags */ 11 87 3 space_added /* 1= line has added space */ 11 88 bit (1) unal, 11 89 3 spcl, /* special entry - not output text */ 11 90 4 file bit (1) unal, /* 1= output to special file */ 11 91 4 blk_splt /* 1= action at block split time */ 11 92 bit (1) unal, 11 93 4 page_mkup /* 1= action at page makeup time */ 11 94 bit (1) unal, 11 95 3 table bit (1) unal, /* 1= line is a table entry */ 11 96 3 tblspc bit (1) unal, /* 1= WS fill for table mode */ 11 97 3 title bit (1) unal, /* 1= line is a */ 11 98 3 unspnct bit (1) unal, /* 1= underscore punctuation */ 11 99 3 unstop bit (1) unal, /* 1= line is/ends with UNSTOP */ 11 100 3 unstrt bit (1) unal, /* 1= line is/ends with UNSTART */ 11 101 3 unswrds bit (1) unal, /* 1= underscore words only */ 11 102 3 white bit (1) unal, /* 1= line is white space */ 11 103 3 und_prot bit (1) unal, /* 1= undent is protected */ 11 104 3 MBZ bit (4) unal, 11 105 2 art_start fixed bin unal, /* start of art string in line */ 11 106 2 art_len fixed bin unal, /* length of art string in line */ 11 107 2 cbar_level /* change level for cbars */ 11 108 char (1) aligned, 11 109 2 cur, /* current scanning data for line */ 11 110 3 chrct fixed bin, /* count of chars scanned */ 11 111 3 gaps fixed bin, /* gap count */ 11 112 3 width fixed bin (31), /* width of font chars */ 11 113 3 min fixed bin (31), /* width of min spbnds */ 11 114 3 avg fixed bin (31), /* width of avg spbnds */ 11 115 3 max fixed bin (31), /* width of max spbnds */ 11 116 3 font like fntstk_entry, 11 117 2 depth fixed bin (31), /* page depth for line */ 11 118 /* font at start of line */ 11 119 2 font like fntstk_entry, 11 120 2 index fixed bin (21), /* char index for line scanning */ 11 121 2 info, /* stuff created during line input */ 11 122 3 fileno fixed bin, /* input file index */ 11 123 3 lineno fixed bin, /* input file line number */ 11 124 3 lineno0 fixed bin, /* call_box0 line number */ 11 125 2 linespace fixed bin (31), /* linespace value for the line */ 11 126 2 lmarg fixed bin (31), /* adjusted left margin position */ 11 127 2 mod_len fixed bin, /* length of modified text */ 11 128 2 mod_start fixed bin, /* index for start of modified text */ 11 129 2 net fixed bin (31), /* net line width for filling */ 11 130 2 ptr ptr, /* pointer to the actual text */ 11 131 2 rmarg fixed bin (31), /* adjusted right margin position */ 11 132 2 spcl_iocbp ptr, /* iocb ptr for spcl line */ 11 133 2 sym_delim char (1) unal, /* symbol delimiter for this line */ 11 134 2 tblcol fixed bin, /* column for table entries */ 11 135 2 title_delim 11 136 char (1) unal, /* title delimiter if a <title> */ 11 137 2 title_index 11 138 fixed bin, /* <title> block index for line */ 11 139 2 width fixed bin (31), /* width of text */ 11 140 2 ftn, /* footnote info for line */ 11 141 3 ct fixed bin, /* number of footnote refs */ 11 142 3 used fixed bin (31), /* space used */ 11 143 3 e (40), /* limit is arbitrary */ 11 144 4 blkndx fixed bin unal, /* block index of footnote - if this 11 145* value is 0, then .frf was used */ 11 146 4 refno fixed bin unal; /* reference number */ 11 147 11 148 dcl ( 11 149 quadi init ("40"b3), /* set to the inside margin */ 11 150 quado init ("20"b3), /* set to the outside margin */ 11 151 quadl init ("10"b3), /* set left */ 11 152 quadc init ("04"b3), /* set centered */ 11 153 quadr init ("02"b3), /* set right */ 11 154 just init ("01"b3) /* justified */ 11 155 ) bit (6) static options (constant); 11 156 /* control line structure */ 11 157 dcl 1 ctl aligned like text_entry based (const.ctl_ptr); 11 158 dcl ctl_line char (1020) var based (ctl.ptr); 11 159 11 160 dcl txtlinptr ptr; /* the current text line */ 11 161 dcl 1 txtlin aligned like text_entry based (txtlinptr); 11 162 /* empty text header structure */ 11 163 dcl 1 text_header aligned based (const.text_header_ptr), 11 164 2 sws, /* control switches */ 11 165 3 art bit (1) unal, /* block has artwork */ 11 166 3 dfrftn bit (1) unal, /* block is a deferred footnote */ 11 167 3 modified bit (1) unal, /* block contains modified lines */ 11 168 3 no_trim bit (1) unal, /* 1 = dont trim WS block */ 11 169 3 oflo_ftn bit (1) unal, /* overflow footnote */ 11 170 3 tblblk bit (1) unal, /* a table block */ 11 171 3 unref bit (1) unal, /* block is an unreffed footnote */ 11 172 3 white bit (1) unal, /* block is a white space block */ 11 173 3 picture bit (1) unal, /* picture block */ 11 174 3 orphan bit (1) unal, /* 1= footnote is an orphan */ 11 175 3 MBZ bit (26) unal, 11 176 2 art_count fixed bin unal, /* to count input art lines */ 11 177 2 blkptr ptr, /* pointer to suspended block */ 11 178 2 cap_size fixed bin unal, /* line count of text caption */ 11 179 2 cap_used fixed bin (31), /* size of text caption */ 11 180 2 colno fixed bin unal, /* column owning the block */ 11 181 2 count fixed bin unal, /* line count for block */ 11 182 2 eqn_line_count 11 183 fixed bin unal, /* counter for equation lines */ 11 184 2 first_text fixed bin unal, /* OBSOLETE */ 11 185 2 ftn, /* footnotes */ 11 186 3 ct fixed bin, /* count */ 11 187 3 usd fixed bin (31), /* space used */ 11 188 3 blkndx (40) fixed bin, /* footnote block index values */ 11 189 2 head_size fixed bin, /* line count of text header */ 11 190 2 head_used fixed bin (31), /* size of text header */ 11 191 2 index fixed bin unal, /* block index of next output line */ 11 192 2 keep_count fixed bin unal, /* to count input keep lines */ 11 193 2 last_line fixed bin, /* last text line in column */ 11 194 2 mx_ttl_ndx fixed bin, /* max title index value in block */ 11 195 2 name char (32) var, /* block name, if any */ 11 196 2 nofill_count /* to count nofill lines */ 11 197 fixed bin, 11 198 2 parms_ptr ptr, /* parms for suspended block */ 11 199 2 refer fixed bin, /* inter-block reference */ 11 200 2 refer_index /* OBSOLETE */ 11 201 fixed bin, /* a reference */ 11 202 2 split fixed bin, /* split point for balancing */ 11 203 2 trl_ws fixed bin (31), /* trailing WS */ 11 204 2 used fixed bin (31); /* page space used by a column/block */ 11 205 /* text formatting parameters */ 11 206 dcl 1 text_parms aligned like default_parms 11 207 based (const.text_parms_ptr); 11 208 11 209 dcl 1 current_parms 11 210 aligned like default_parms 11 211 based (const.current_parms_ptr); 11 212 11 213 dcl 1 default_parms 11 214 aligned based (const.default_parms_ptr), 11 215 2 sws, /* control switches */ 11 216 3 quad bit (6) unal, /* text alignment mode */ 11 217 3 art bit (1) unal, /* 1 = block countains artwork */ 11 218 3 cbar, /* change bar flags */ 11 219 4 add bit (1) unal, /* text addition flag */ 11 220 4 del bit (1) unal, /* text deletion flag for next line */ 11 221 4 mod bit (1) unal, /* text modification flag */ 11 222 3 fill_mode 11 223 bit (1) unal, /* 1 = fill mode ON */ 11 224 3 footnote bit (1) unal, /* block is a footnote */ 11 225 3 hfc bit (1) unal, /* OBSOLETE */ 11 226 3 htab_mode 11 227 bit (1) unal, /* 1 = horizontal tab mode ON */ 11 228 3 keep bit (1) unal, /* keep mode */ 11 229 3 page bit (1) unal, /* block belongs to page, not text */ 11 230 3 title_mode 11 231 bit (1) unal, /* 0 = plain text, 1 = <title>s OK */ 11 232 3 MBZ bit (19) unal, 11 233 2 ftrptr ptr, /* text caption block */ 11 234 2 cbar_level /* change level for cbars */ 11 235 char (1) aligned, 11 236 2 hdrptr ptr, /* text header block */ 11 237 2 left, /* left margin data */ 11 238 3 indent fixed bin (31), 11 239 3 undent fixed bin (31), 11 240 2 linespace fixed bin (31), /* line spacing value */ 11 241 2 measure fixed bin (31), /* line space for text */ 11 242 /* right margin data */ 11 243 2 right like default_parms.left, 11 244 2 fntstk, /* stack of last 20 font changes */ 11 245 3 index fixed bin, /* which one in use */ 11 246 /* entry(0) is the default */ 11 247 3 entry (0:19) like fntstk_entry; 11 248 11 249 dcl hfcblk_ptr ptr; 11 250 dcl 1 hfcblk aligned like text based (hfcblk_ptr); 11 251 11 252 /* END INCLUDE FILE comp_text.incl.pl1 */ 239 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 */ 240 241 242 end comp_eject_page_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/23/85 0909.0 comp_eject_page_.pl1 >spec>online>comp>comp_eject_page_.pl1 229 1 04/23/85 0912.1 comp_brktypes.incl.pl1 >spec>online>comp>comp_brktypes.incl.pl1 230 2 04/23/85 0912.2 comp_column.incl.pl1 >spec>online>comp>comp_column.incl.pl1 231 3 03/01/85 1411.8 comp_ctl_index.incl.pl1 >ldd>include>comp_ctl_index.incl.pl1 232 4 03/01/85 1411.9 comp_entries.incl.pl1 >ldd>include>comp_entries.incl.pl1 233 5 03/01/85 1412.0 comp_fntstk.incl.pl1 >ldd>include>comp_fntstk.incl.pl1 234 6 03/01/85 1412.0 comp_footnotes.incl.pl1 >ldd>include>comp_footnotes.incl.pl1 235 7 03/01/85 1412.0 comp_option.incl.pl1 >ldd>include>comp_option.incl.pl1 236 8 04/23/85 0912.4 comp_page.incl.pl1 >spec>online>comp>comp_page.incl.pl1 237 9 03/01/85 1412.0 comp_shared.incl.pl1 >ldd>include>comp_shared.incl.pl1 238 10 03/01/85 1412.0 comp_table.incl.pl1 >ldd>include>comp_table.incl.pl1 239 11 04/23/85 0912.6 comp_text.incl.pl1 >spec>online>comp>comp_text.incl.pl1 240 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. art based bit(1) level 3 in structure "txtlin" packed unaligned dcl 11-161 in procedure "comp_eject_page_" set ref 52 57* 107 113* art 4 based bit(1) level 4 in structure "text" packed unaligned dcl 11-49 in procedure "comp_eject_page_" ref 132 art 15 based bit(1) level 4 in structure "page" packed unaligned dcl 8-11 in procedure "comp_eject_page_" ref 90 baldepth 16 based fixed bin(31,0) level 3 dcl 8-11 set ref 172* balftn 320 based structure level 3 in structure "locol" dcl 24 in procedure "comp_eject_page_" balftn 2 based structure level 2 in structure "colhdr" dcl 2-21 in procedure "comp_eject_page_" balftn 320 based structure level 3 in structure "col0" dcl 2-37 in procedure "comp_eject_page_" balftn 320 based structure level 3 in structure "col" dcl 2-5 in procedure "comp_eject_page_" balusd 17 based fixed bin(31,0) level 3 dcl 8-11 set ref 172* blank_footer_ptr 3744 based pointer level 3 dcl 9-7 ref 71 blankpage 15(01) based bit(1) level 4 packed unaligned dcl 8-11 set ref 33* 71 blkptr based pointer array level 2 in structure "col0" dcl 2-37 in procedure "comp_eject_page_" ref 45 93 blkptr 3752 based pointer level 3 in structure "shared" dcl 9-7 in procedure "comp_eject_page_" set ref 45* 47 64* 93* 95 95* 101 121* 132 132* 138* 140 141 bottom 10 based fixed bin(31,0) level 4 dcl 8-11 ref 82 bug_mode 4113 based bit(1) level 3 packed unaligned dcl 9-7 ref 33 86 216 cbar 1005 based structure level 4 dcl 11-49 set ref 141* chars 1 based structure level 2 dcl 9-7 col based structure level 1 dcl 2-5 col0 based structure level 1 dcl 2-37 col_count 20 based fixed bin(17,0) level 3 dcl 8-11 set ref 166 210* col_index 21 based fixed bin(17,0) level 3 dcl 8-11 set ref 43* 208* colhdr based structure level 1 dcl 2-21 ref 168 colhdrptr 130 based pointer level 3 dcl 12-23 ref 168 colptr 3754 based pointer level 3 dcl 9-7 set ref 44* 209* cols 14 based structure level 3 dcl 8-11 column_ptr 42 based pointer array level 2 dcl 8-11 ref 44 45 93 100 127 159 167 209 comp_art_ 000010 constant entry external dcl 4-8 ref 132 comp_break_ 000012 constant entry external dcl 4-11 ref 160 comp_space_ 000014 constant entry external dcl 4-66 ref 95 comp_title_block_ 000016 constant entry external dcl 4-69 ref 98 143 comp_use_ref_ 000020 constant entry external dcl 4-74 ref 57 113 comp_util_$escape 000022 constant entry external dcl 4-80 ref 61 117 comp_util_$getblk 000024 constant entry external dcl 4-82 ref 138 comp_util_$replace_text 000026 constant entry external dcl 4-96 ref 64 121 comp_write_page_ 000030 constant entry external dcl 4-110 ref 164 compstat$compconst 000032 external static structure level 1 dcl 12-14 const based structure level 1 dcl 12-23 count 14(18) based fixed bin(17,0) level 4 packed unaligned dcl 8-11 ref 205 210 default_parms based structure level 1 dcl 11-213 depth 76 based fixed bin(31,0) level 2 in structure "txtlin" dcl 11-161 in procedure "comp_eject_page_" set ref 126* depth 22 based fixed bin(31,0) level 3 in structure "page" dcl 8-11 in procedure "comp_eject_page_" set ref 33* 33* 100* 126 127 127* 159* depth 374 based fixed bin(31,0) level 3 in structure "col0" dcl 2-37 in procedure "comp_eject_page_" set ref 100* 127* 159* end_output 4113(03) based bit(1) level 3 packed unaligned dcl 9-7 set ref 189 197* 216* epftrptr 3764 based pointer level 3 dcl 9-7 ref 75 first 776 based pointer level 3 dcl 11-49 ref 47 101 fntstk_entry based structure level 1 dcl 5-6 footer_break 000000 constant fixed bin(17,0) initial dcl 1-9 set ref 160* footer_depth 000100 automatic fixed bin(31,0) dcl 21 set ref 82* 86* 86* 95 159 frontpage 15(02) based bit(1) level 4 packed unaligned dcl 8-11 set ref 33* 73 75 216* ftn_mode 4113(05) based bit(1) level 3 packed unaligned dcl 9-7 ref 40 ftn_reset 12 based varying char(8) level 2 dcl 9-7 ref 213 ftnrefct 15 based fixed bin(17,0) level 2 dcl 9-7 set ref 213* ftrusd 314 based fixed bin(31,0) level 2 dcl 24 ref 169 hdr 15 based structure level 2 in structure "page" dcl 8-11 in procedure "comp_eject_page_" hdr 4 based structure level 2 in structure "hfcblk" dcl 11-250 in procedure "comp_eject_page_" hdr 316 based structure level 2 in structure "locol" dcl 24 in procedure "comp_eject_page_" set ref 168* hdr 316 based structure level 2 in structure "col0" dcl 2-37 in procedure "comp_eject_page_" hdr 4 based structure level 2 in structure "text" dcl 11-49 in procedure "comp_eject_page_" headed 15(03) based bit(1) level 4 packed unaligned dcl 8-11 set ref 220* hfcblk based structure level 1 dcl 11-250 hfcblk_ptr 000520 automatic pointer dcl 11-249 set ref 71* 73* 75* 78 78 82 98* 138 138 143* i 000101 automatic fixed bin(17,0) dcl 23 set ref 49* 50* 103* 104* 166* 167* index builtin function dcl 29 ref 52 52 57 61 107 107 113 117 info 161 based structure level 2 in structure "text_entry" dcl 11-68 in procedure "comp_eject_page_" info 277 based structure level 3 in structure "text" dcl 11-49 in procedure "comp_eject_page_" info 161 based structure level 2 in structure "ctl" dcl 11-157 in procedure "comp_eject_page_" info 277 based structure level 3 in structure "hfcblk" dcl 11-250 in procedure "comp_eject_page_" info 277 based structure level 3 in structure "ftnhdr" dcl 6-10 in procedure "comp_eject_page_" info 161 based structure level 2 in structure "txtlin" dcl 11-161 in procedure "comp_eject_page_" set ref 57 57 61 61 113 113 117 117 init_page_depth 1 based fixed bin(31,0) level 3 dcl 8-11 ref 82 ioa_ 000034 constant entry external dcl 12-70 ref 33 86 216 just constant bit(6) initial unaligned dcl 11-148 ref 64 121 left 12 based structure level 2 in structure "text_parms" dcl 11-206 in procedure "comp_eject_page_" left 12 based structure level 2 in structure "default_parms" dcl 11-213 in procedure "comp_eject_page_" left 36 based structure level 3 in structure "tblcol0" dcl 10-41 in procedure "comp_eject_page_" left 12 based structure level 2 in structure "current_parms" dcl 11-209 in procedure "comp_eject_page_" left 1016 based structure level 3 in structure "ftnhdr" dcl 6-10 in procedure "comp_eject_page_" left 12 based structure level 2 in structure "footnote_parms" dcl 6-12 in procedure "comp_eject_page_" left 1016 based structure level 3 in structure "hfcblk" dcl 11-250 in procedure "comp_eject_page_" left 36 based structure level 3 in structure "prvtblcol" dcl 10-44 in procedure "comp_eject_page_" left 1016 based structure level 3 in structure "text" dcl 11-49 in procedure "comp_eject_page_" left 36 based structure level 3 in structure "tblcol" dcl 10-26 in procedure "comp_eject_page_" length 2 based fixed bin(31,0) level 3 dcl 8-11 ref 82 line_area 776 based structure level 2 in structure "text" dcl 11-49 in procedure "comp_eject_page_" line_area based structure level 1 dcl 11-26 in procedure "comp_eject_page_" line_area_ptr 000510 automatic pointer initial dcl 11-25 set ref 47* 47* 49 50* 69 101* 101* 103 104* 130 11-25* linespace 164 based fixed bin(31,0) level 2 dcl 11-161 ref 127 linptr 10 based pointer array level 2 dcl 11-26 ref 50 104 locol based structure level 1 dcl 24 locolptr 000102 automatic pointer dcl 26 set ref 167* 168 169 169 margin 5 based structure level 3 dcl 8-11 modified 15(04) based bit(1) level 4 packed unaligned dcl 8-11 set ref 33* ndx 5 based fixed bin(17,0) level 2 dcl 11-26 ref 49 103 net 25 based fixed bin(31,0) level 3 in structure "page" dcl 8-11 in procedure "comp_eject_page_" set ref 33* 33* 169 net 450 based fixed bin(31,0) level 3 in structure "locol" dcl 24 in procedure "comp_eject_page_" set ref 169* next based pointer level 2 dcl 11-26 ref 69 130 null builtin function dcl 29 ref 47 78 101 10-24 10-43 11-25 11-35 opftrptr 4010 based pointer level 3 dcl 9-7 ref 73 option based structure level 1 dcl 7-5 option_ptr 164 based pointer level 3 dcl 12-23 ref 180 180 185 185 189 189 189 189 189 page 1006(05) based bit(1) level 4 in structure "text" packed unaligned dcl 11-49 in procedure "comp_eject_page_" set ref 140* page based structure level 1 dcl 8-11 in procedure "comp_eject_page_" page_header based structure level 1 dcl 8-27 page_parms based structure level 1 dcl 8-86 page_ptr 170 based pointer level 3 dcl 12-23 ref 33 33 33 33 33 33 33 33 33 33 33 43 44 45 71 73 75 82 82 82 90 93 100 100 126 127 127 127 159 159 166 167 169 172 172 172 180 189 189 205 208 209 210 210 216 216 220 pagecount 3501 based fixed bin(17,0) level 2 dcl 9-7 set ref 203* 203 pageno 26 based varying char(32) level 3 dcl 8-11 set ref 33* 180 189 189 216* pages_opt 1(15) based bit(1) level 2 packed unaligned dcl 7-5 ref 189 parms 1 based structure level 2 in structure "page" dcl 8-11 in procedure "comp_eject_page_" parms 1004 based structure level 2 in structure "hfcblk" dcl 11-250 in procedure "comp_eject_page_" set ref 138 138 parms 1004 based structure level 2 in structure "text" dcl 11-49 in procedure "comp_eject_page_" pass_counter 3643 based fixed bin(17,0) level 2 dcl 9-7 ref 174 pgc_select 15(27) based char(1) level 4 packed unaligned dcl 8-11 set ref 33* pglst 224 based structure array level 2 dcl 7-5 pglstct 222 based fixed bin(35,0) level 2 dcl 7-5 ref 189 pglstndx 223 based fixed bin(35,0) level 2 dcl 7-5 set ref 180 185* 185 print_flag 4113(11) based bit(1) level 3 packed unaligned dcl 9-7 set ref 177 183* prvtblcolptr 000506 automatic pointer initial dcl 10-43 set ref 10-43* ptr 000032 external static pointer level 2 in structure "compstat$compconst" dcl 12-14 in procedure "comp_eject_page_" ref 33 33 33 33 33 33 33 33 33 33 33 33 40 43 44 44 45 45 47 52 57 64 71 71 73 73 75 75 82 82 82 86 90 93 93 95 95 100 100 101 107 113 121 126 127 127 127 132 132 138 140 141 159 159 166 167 168 169 172 172 172 174 177 180 180 180 183 185 185 189 189 189 189 189 189 189 189 197 203 203 205 208 209 209 210 210 213 213 216 216 216 216 220 ptr 172 based pointer level 2 in structure "txtlin" dcl 11-161 in procedure "comp_eject_page_" ref 51 105 ptrs 3742 based structure level 2 in structure "shared" dcl 9-7 in procedure "comp_eject_page_" ptrs 126 based structure level 2 in structure "const" dcl 12-23 in procedure "comp_eject_page_" quad 2(11) based bit(6) level 3 packed unaligned dcl 11-161 ref 64 64 121 121 quadl constant bit(6) initial unaligned dcl 11-148 ref 64 121 scale parameter fixed bin(31,0) dcl 225 ref 222 226 shared based structure level 1 dcl 9-7 shared_ptr 200 based pointer level 3 dcl 12-23 ref 33 40 44 45 47 52 57 64 71 73 75 86 93 95 95 101 107 113 121 132 132 138 140 141 174 177 183 189 197 203 203 209 213 213 216 216 sws based structure level 2 in structure "txtlin" dcl 11-161 in procedure "comp_eject_page_" sws 4 based structure level 3 in structure "text" dcl 11-49 in procedure "comp_eject_page_" sws 4113 based structure level 2 in structure "shared" dcl 9-7 in procedure "comp_eject_page_" sws 1004 based structure level 3 in structure "text" dcl 11-49 in procedure "comp_eject_page_" sws 15 based structure level 3 in structure "page" dcl 8-11 in procedure "comp_eject_page_" sym_delim 1 based char(1) level 3 packed unaligned dcl 9-7 ref 52 57 107 113 tblcol based structure level 1 dcl 10-26 tblcolptr 000504 automatic pointer initial dcl 10-24 set ref 10-24* text based structure level 1 dcl 11-49 text_area_ptr 000512 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 tmpline 000104 automatic varying char(1020) dcl 27 set ref 56* 57 57* 61 61* 64 64 111* 113 113* 117 117* 121 121 to 235 based varying char(32) array level 3 dcl 7-5 ref 180 189 189 189 txtlin based structure level 1 dcl 11-161 txtlinptr 000516 automatic pointer dcl 11-160 set ref 50* 51 52 57 57 57 61 61 64 64 64* 104* 105 107 113 113 113 117 117 121 121 121* 126 127 txtstr based varying char(1020) dcl 11-45 ref 52 52 56 107 107 111 txtstrptr 000514 automatic pointer dcl 11-44 set ref 51* 52 52 56 105* 107 107 111 used 114 based fixed bin(31,0) level 3 in structure "hfcblk" dcl 11-250 in procedure "comp_eject_page_" ref 78 82 used 37 based fixed bin(31,0) level 3 in structure "page" dcl 8-11 in procedure "comp_eject_page_" set ref 33* 33* 172* used 114 based fixed bin(31,0) level 3 in structure "text" dcl 11-49 in procedure "comp_eject_page_" ref 95 value parameter fixed bin(31,0) dcl 224 ref 222 226 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. 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 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 be_ctl_index internal static fixed bin(17,0) initial dcl 3-9 bef_ctl_index internal static fixed bin(17,0) initial dcl 3-9 bel_ctl_index internal static fixed bin(17,0) initial dcl 3-9 bep_ctl_index internal static fixed bin(17,0) initial dcl 3-9 block_break internal static fixed bin(17,0) initial dcl 1-9 column_break internal static fixed bin(17,0) initial dcl 1-9 comp_ 000000 constant entry external dcl 4-7 comp_block_ctls_ 000000 constant entry external dcl 4-9 comp_break_ctls_ 000000 constant entry external dcl 4-12 comp_ctls_ 000000 constant entry external dcl 4-14 comp_eject_page_ 000000 constant entry external dcl 4-15 comp_expr_eval_ 000000 constant entry external dcl 4-17 comp_extr_str_ 000000 constant entry external dcl 4-21 comp_fill_ 000000 constant entry external dcl 4-24 comp_font_ 000000 constant entry external dcl 4-25 comp_format_ctls_ 000000 constant entry external dcl 4-26 comp_get_file_$find 000000 constant entry external dcl 4-28 comp_get_file_$open 000000 constant entry external dcl 4-31 comp_head_page_ 000000 constant entry external dcl 4-33 comp_hft_ctls_ 000000 constant entry external dcl 4-35 comp_hft_ctls_$title 000000 constant entry external dcl 4-36 comp_init_$one 000000 constant entry external dcl 4-38 comp_init_$three 000000 constant entry external dcl 4-40 comp_init_$two 000000 constant entry external dcl 4-39 comp_insert_ctls_ 000000 constant entry external dcl 4-42 comp_make_page_ 000000 constant entry external dcl 4-44 comp_make_page_$cleanup 000000 constant entry external dcl 4-46 comp_measure_ 000000 constant entry external dcl 4-48 comp_read_$line 000000 constant entry external dcl 4-57 comp_read_$name 000000 constant entry external dcl 4-50 comp_read_$number 000000 constant entry external dcl 4-53 comp_report_ 000000 constant entry external dcl 4-59 comp_report_$ctlstr 000000 constant entry external dcl 4-61 comp_report_$exact 000000 constant entry external dcl 4-64 comp_tbl_ctls_ 000000 constant entry external dcl 4-68 comp_update_symbol_ 000000 constant entry external dcl 4-71 comp_util_$add_text 000000 constant entry external dcl 4-75 comp_util_$display 000000 constant entry external dcl 4-77 comp_util_$num_display 000000 constant entry external dcl 4-84 comp_util_$pageno 000000 constant entry external dcl 4-86 comp_util_$pictures 000000 constant entry external dcl 4-88 comp_util_$pop 000000 constant entry external dcl 4-91 comp_util_$push 000000 constant entry external dcl 4-92 comp_util_$relblk 000000 constant entry external dcl 4-94 comp_util_$search_tree 000000 constant entry external dcl 4-98 comp_util_$set_bin 000000 constant entry external dcl 4-100 comp_util_$set_net_page 000000 constant entry external dcl 4-104 comp_util_$translate 000000 constant entry external dcl 4-106 comp_write_block_ 000000 constant entry external dcl 4-108 compose_severity_ external static fixed bin(35,0) dcl 4-5 const_version internal static fixed bin(35,0) initial dcl 12-17 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 dot_addltr_symb_index internal static fixed bin(17,0) initial dcl 9-126 end_output 000000 stack reference condition dcl 31 fin_ctl_index internal static fixed bin(17,0) initial dcl 3-9 flag_value based bit(1) unaligned dcl 9-132 fntstk_eptr automatic pointer dcl 5-5 footnote_break internal static fixed bin(17,0) initial dcl 1-9 footnote_parms based structure level 1 dcl 6-12 format_break internal static fixed bin(17,0) initial dcl 1-9 ftnblk_data based structure level 1 dcl 6-5 ftnhdr based structure level 1 dcl 6-10 ifi_ctl_index internal static fixed bin(17,0) initial dcl 3-9 ift_ctl_index internal static fixed bin(17,0) initial dcl 3-9 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 j automatic fixed bin(17,0) dcl 23 length builtin function dcl 29 max builtin function dcl 29 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 mod builtin function dcl 29 mode_string internal static char(16) initial unaligned dcl 9-129 need_break internal static fixed bin(17,0) initial dcl 1-9 num_value based fixed bin(31,0) dcl 9-133 option_version internal static fixed bin(35,0) initial dcl 7-3 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 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 quado internal static bit(6) initial unaligned dcl 11-148 quadr internal static bit(6) initial unaligned dcl 11-148 save_shared based structure level 1 dcl 9-124 shared_version internal static fixed bin(35,0) initial dcl 9-5 string_area based fixed bin(17,0) array dcl 11-43 sys_info$max_seg_size external static fixed bin(18,0) dcl 12-80 tac_ctl_index internal static fixed bin(17,0) initial dcl 3-9 taf_ctl_index internal static fixed bin(17,0) initial dcl 3-9 tblcol0 based structure level 1 dcl 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 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 vtop internal static bit(4) initial unaligned dcl 10-46 NAMES DECLARED BY EXPLICIT CONTEXT. comp_eject_page_ 000071 constant entry external dcl 14 return_ 001472 constant label dcl 216 ref 40 199 show 001542 constant entry internal dcl 222 ref 33 33 33 33 33 33 86 86 NAMES DECLARED BY CONTEXT OR IMPLICATION. addr builtin function ref 57 57 61 61 64 64 113 113 117 117 121 121 138 138 dec builtin function ref 226 divide builtin function ref 226 unspec builtin function ref 141 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1742 2000 1600 1752 Length 2440 1600 36 423 141 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME comp_eject_page_ 474 external procedure is an external procedure. show internal procedure shares stack frame of external procedure comp_eject_page_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME comp_eject_page_ 000100 footer_depth comp_eject_page_ 000101 i comp_eject_page_ 000102 locolptr comp_eject_page_ 000104 tmpline comp_eject_page_ 000504 tblcolptr comp_eject_page_ 000506 prvtblcolptr comp_eject_page_ 000510 line_area_ptr comp_eject_page_ 000512 text_area_ptr comp_eject_page_ 000514 txtstrptr comp_eject_page_ 000516 txtlinptr comp_eject_page_ 000520 hfcblk_ptr comp_eject_page_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_ne_as call_ext_out_desc call_ext_out return ext_entry real_to_real_tr divide_fx1 THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. comp_art_ comp_break_ comp_space_ comp_title_block_ comp_use_ref_ comp_util_$escape comp_util_$getblk comp_util_$replace_text comp_write_page_ 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 000070 10 24 000076 10 43 000100 11 25 000101 11 35 000102 33 000103 40 000251 43 000260 44 000262 45 000264 47 000275 49 000310 50 000321 51 000325 52 000327 56 000365 57 000372 61 000434 64 000466 68 000525 69 000527 71 000533 73 000546 75 000557 78 000563 82 000572 86 000577 90 000627 93 000636 95 000642 98 000701 100 000710 101 000717 103 000730 104 000741 105 000745 107 000747 111 001005 113 001012 117 001054 121 001106 126 001145 127 001154 129 001161 130 001163 132 001167 134 001211 138 001212 140 001241 141 001250 143 001251 159 001257 160 001267 164 001300 166 001305 167 001317 168 001326 169 001332 170 001335 172 001337 174 001346 177 001352 180 001355 183 001367 185 001371 189 001375 197 001435 199 001437 203 001440 205 001441 208 001445 209 001447 210 001451 213 001460 216 001472 220 001533 242 001541 222 001542 226 001544 ----------------------------------------------------------- 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