COMPILATION LISTING OF SEGMENT comp_report_ Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 04/23/85 1007.5 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 record input errors */ 11 12 /* format: style2,ind3,ll80,dclind4,idind16,comcol41,linecom */ 13 14 comp_report_: 15 proc (a_sev, a_code, a_message, a_info_ptr, a_line); 16 17 /* PARAMETERS */ 18 19 dcl a_sev fixed bin; /* error a_severity */ 20 dcl a_code fixed bin (35); 21 /* system errcode; if any */ 22 dcl a_message char (*); /* error message */ 23 dcl a_info_ptr ptr; /* line info structure */ 24 dcl a_line char (*) varying; 25 /* text from offending line */ 26 27 dcl 1 line_info like text_entry.info based (info_ptr); 28 29 /* LOCAL STORAGE */ 30 31 dcl call_nest char (4096) var init (""); 32 dcl code fixed bin (35); 33 /* error code */ 34 dcl ctl_str bit (1); /* 1= ctlstr was called */ 35 dcl ercd fixed bin (35); 36 /* local error code */ 37 dcl errlen fixed bin (35); 38 /* length of error message */ 39 dcl errlong char (100) aligned; 40 /* expanded error line for message */ 41 dcl errlong_len fixed bin (35); 42 /* length of errlong */ 43 dcl error_char (const.max_seg_chars - 400) unal char (1) 44 based (addr (error.text)); 45 dcl errshort char (8) aligned; 46 /* short error string for 47* convert_status_code_ */ 48 dcl icall fixed bin; /* working index */ 49 dcl info_ptr ptr; /* pointer to info structure */ 50 dcl line char (1020) var; 51 /* offending line */ 52 dcl me char (32) var;/* entry used */ 53 dcl message char (512) var; 54 /* error message */ 55 dcl next_err char (10000) based (next_err_ptr); 56 /* string overlay for 57* next error message */ 58 dcl next_err_ptr ptr; 59 dcl NL char (1) static options (constant) init (" 60 "); 61 dcl sev fixed bin; /* error severity */ 62 63 dcl (addr, max, null, size) 64 builtin; 65 66 dcl comp_abort condition; 67 68 dcl com_err_ entry options (variable); 69 dcl convert_status_code_ 70 entry (fixed (35), char (8) aligned, 71 char (100) aligned); 72 dcl get_temp_segment_ 73 entry (char (*), ptr, fixed bin (35)); 74 dcl ioa_$rsnp entry options (variable); 75 dcl ioa_$general_rs entry (ptr, fixed bin, fixed bin, char (*), 76 fixed bin (21), bit (1) aligned, bit (1) aligned); 77 78 ctl_str = "0"b; /* not control string entry */ 79 me = "comp_report_:"; 80 sev = a_sev; 81 code = a_code; 82 message = a_message; 83 line = a_line; 84 info_ptr = a_info_ptr; 85 goto JOIN; 86 87 ctlstr: 88 entry; 89 /**** (a_sev, a_code, a_info_ptr, a_line, ctl_str, args... */ 90 91 dcl arglist (0:nargs) ptr based (arglist_ptr); 92 /* argument ptr list */ 93 dcl arglist_ptr ptr; /* pointer to argument list */ 94 dcl fb fixed bin (35) based; 95 dcl 1 msg based (msg_ptr), 96 2 len fixed bin (21), 97 2 chars char (512); 98 dcl msg_ptr ptr; 99 dcl nargs fixed bin; /* argument count */ 100 dcl ptr ptr based; /* to hold info ptr */ 101 102 dcl cu_$arg_count entry (fixed bin); 103 dcl cu_$arg_list_ptr 104 entry (ptr); 105 106 ctl_str = "1"b; /* control string entry */ 107 arglist_ptr = null; 108 msg_ptr = addr (message); 109 me = "comp_report_$ctlstr:"; 110 call cu_$arg_count (nargs); /* number of args */ 111 call cu_$arg_list_ptr (arglist_ptr); 112 /* pointer to arg list */ 113 sev = arglist (1) -> fb; 114 code = arglist (2) -> fb; 115 info_ptr = arglist (3) -> ptr; 116 line = addrel (arglist (4), -1) -> txtstr; 117 118 call ioa_$general_rs (arglist_ptr, 5, 6, msg.chars, msg.len, "0"b, "0"b); 119 120 JOIN: 121 if shared.pass_counter > 1 /* if not the output pass */ 122 then return; /* forget it */ 123 124 if shared.bug_mode 125 then call ioa_ ("^a ^o ^a", me, code, message); 126 127 if const.errblk_ptr = null () 128 then call error_init; 129 130 if code ^= 0 /* convert code if given */ 131 then 132 do; 133 call convert_status_code_ (code, errshort, errlong); 134 errlong_len = 101 - verify (reverse (errlong), " "); 135 end; 136 137 else 138 do; 139 errlong = ""; 140 errlong_len = 0; 141 end; 142 143 compose_severity_ = max (compose_severity_, sev); 144 145 call build_call_nest; /* build the call nest */ 146 147 if option.output_file_opt | option.check_opt 148 /* direct reporting */ 149 then 150 do; 151 if error.next = 0 152 then call ioa_ ("^/compose error list: (Vers. ^a)", 153 const.comp_version); 154 call ioa_ ("^a", call_nest); 155 call ioa_ ("^5x^[^a ^;^s^]^a^[^/^5x^a^]", (errlong_len > 0), 156 substr (errlong, 1, errlong_len), message, (line ^= ""), 157 comp_util_$display (translate (line, " ", " "), 0, "0"b)); 158 error.next = 1; 159 end; 160 161 else 162 do; /* deferred reporting */ 163 next_err_ptr = addr (error_char (error.next + 1)); 164 call ioa_$rsnp ("^a", next_err, errlen, call_nest); 165 error.next = error.next + errlen; 166 next_err_ptr = addr (error_char (error.next + 1)); 167 call ioa_$rsnp ("^5x^[^a ^;^s^]^a^[^/^5x^a^]", next_err, errlen, 168 (errlong_len > 0), substr (errlong, 1, errlong_len), message, 169 (line ^= ""), 170 comp_util_$display (translate (line, " ", " "), 0, "0"b)); 171 error.next = error.next + errlen; 172 error.count = error.count + 1; 173 end; 174 175 return; 176 177 exact: 178 entry (a_message, a_info_ptr); 179 180 message = a_message; 181 info_ptr = a_info_ptr; 182 183 if shared.bug_mode 184 then call ioa_ ("comp_report_$exact: ^a", message); 185 186 if shared.pass_counter > 1 /* if not the output pass */ 187 then return; /* forget it */ 188 189 if const.errblk_ptr = null () 190 then call error_init; 191 192 call build_call_nest; /* build the call nest */ 193 194 if option.output_file_opt | option.check_opt 195 /* direct reporting to the user */ 196 then 197 do; 198 if error.next = 0 199 then call ioa_ ("^/compose error list: (Vers. ^a)", 200 const.comp_version); 201 call ioa_ ("^a", call_nest); 202 call ioa_ ("^5x^a", a_message); 203 error.next = 1; 204 end; 205 206 else 207 do; /* deferred reporting */ 208 next_err_ptr = addr (error_char (error.next + 1)); 209 call ioa_$rsnp ("^a", next_err, errlen, call_nest); 210 error.next = error.next + errlen; 211 next_err_ptr = addr (error_char (error.next + 1)); 212 call ioa_$rsnp ("^5x^a", next_err, errlen, a_message); 213 error.next = error.next + errlen; 214 error.count = error.count + 1; 215 end; 216 217 error_init: 218 proc; 219 call get_temp_segment_ ("compose", const.errblk_ptr, ercd); 220 if ercd ^= 0 221 then 222 do; 223 call com_err_ (ercd, "compose", 224 "Getting a temp segment for the error list."); 225 signal comp_abort; 226 return; 227 end; 228 error.count, error.next = 0; /* initialize list */ 229 end error_init; 230 231 build_call_nest: 232 proc; 233 234 dcl i fixed bin; /* working index */ 235 dcl (hbound, min) builtin; 236 237 do i = 0 to min (call_stack.index, hbound (call_stack.ptr, 1)); 238 call_box_ptr = call_stack.ptr (i); 239 call_nest = call_nest || call_box.refname; 240 call_nest = call_nest || "; "; 241 if i < call_stack.index 242 then call_nest = call_nest || ltrim (char (call_box.exit_lineno)); 243 else call_nest = call_nest || ltrim (char (line_info.lineno)); 244 call_nest = call_nest || ": "; 245 end; 246 247 end build_call_nest; 248 1 1 /* BEGIN INCLUDE FILE comp_entries.incl.pl1 */ 1 2 1 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 1 4 1 5 dcl compose_severity_ 1 6 fixed bin (35) ext static; 1 7 dcl comp_ entry; 1 8 dcl comp_art_ entry (ptr, bit (1)); 1 9 dcl comp_block_ctls_ 1 10 entry (fixed bin); 1 11 dcl comp_break_ entry (fixed bin, fixed bin); 1 12 dcl comp_break_ctls_ 1 13 entry (fixed bin); 1 14 dcl comp_ctls_ entry (bit (1) aligned); 1 15 dcl comp_eject_page_ 1 16 entry; 1 17 dcl comp_expr_eval_ 1 18 entry (char (*) var, fixed bin (21), ptr, fixed bin, 1 19 fixed bin, bit (1), fixed bin (31), char (*) var, 1 20 bit (9), fixed bin (35)); 1 21 dcl comp_extr_str_ entry (bit (1), char (*) var, fixed bin (21), 1 22 fixed bin (21), fixed bin (21), ptr) 1 23 returns (char (*) var); 1 24 dcl comp_fill_ entry; 1 25 dcl comp_font_ entry (bit (1), char (*) var, char (8) aligned); 1 26 dcl comp_format_ctls_ 1 27 entry (fixed bin); 1 28 dcl comp_get_file_$find 1 29 entry (char (*), ptr, char (*), bit (1), char (*) var, 1 30 fixed bin (35)); 1 31 dcl comp_get_file_$open 1 32 entry (ptr, bit (1), fixed bin (35)); 1 33 dcl comp_head_page_ 1 34 entry (fixed bin (31)); 1 35 dcl comp_hft_ctls_ entry (fixed bin); 1 36 dcl comp_hft_ctls_$title 1 37 entry (ptr, ptr, char (*) var, fixed bin (31)); 1 38 dcl comp_init_$one entry; 1 39 dcl comp_init_$two entry; 1 40 dcl comp_init_$three 1 41 entry; 1 42 dcl comp_insert_ctls_ 1 43 entry (fixed bin); 1 44 dcl comp_make_page_ 1 45 entry (fixed bin, bit (1)); 1 46 dcl comp_make_page_$cleanup 1 47 entry; 1 48 dcl comp_measure_ entry (char (1020) var, ptr, bit (1), bit (1), bit (6), 1 49 fixed bin (31), ptr, ptr, ptr); 1 50 dcl comp_read_$name 1 51 entry (char (*) var, fixed bin (21), fixed bin (21), 1 52 ptr) returns (char (*) var); 1 53 dcl comp_read_$number 1 54 entry (char (*) var, (*) fixed bin (31), 1 55 fixed bin (21), fixed bin (21), ptr, fixed bin (35)) 1 56 returns (fixed bin (31)); 1 57 dcl comp_read_$line 1 58 entry (ptr, char (*) var, bit (1)); 1 59 dcl comp_report_ entry (fixed bin, fixed bin (35), char (*), ptr, 1 60 char (*) var); 1 61 dcl comp_report_$ctlstr 1 62 entry options (variable); 1 63 /**** (sev, code, info, line, ctl_str, args... */ 1 64 dcl comp_report_$exact 1 65 entry (char (*), ptr); 1 66 dcl comp_space_ entry (fixed bin (31), ptr, bit (1), bit (1), bit (1), 1 67 bit (1)); 1 68 dcl comp_tbl_ctls_ entry (fixed bin); 1 69 dcl comp_title_block_ 1 70 entry (ptr); 1 71 dcl comp_update_symbol_ 1 72 entry (bit (1), bit (1), bit (1), char (32), 1 73 char (*) var); 1 74 dcl comp_use_ref_ entry (char (*) var, bit (1), bit (1), ptr); 1 75 dcl comp_util_$add_text 1 76 entry (ptr, bit (1), bit (1), bit (1), bit (1), ptr); 1 77 dcl comp_util_$display 1 78 entry (char (*) var, fixed bin, bit (1)) 1 79 returns (char (*) var); 1 80 dcl comp_util_$escape 1 81 entry (char (*) var, ptr); 1 82 dcl comp_util_$getblk 1 83 entry (fixed bin, ptr, char (2), ptr, bit (1)); 1 84 dcl comp_util_$num_display 1 85 entry (ptr, fixed bin) returns (char (256) var); 1 86 dcl comp_util_$pageno 1 87 entry (fixed bin, char (*) var); 1 88 dcl comp_util_$pictures /* emit pending pictures */ 1 89 entry /**/ 1 90 (ptr); /* current text block */ 1 91 dcl comp_util_$pop entry (char (32)); 1 92 dcl comp_util_$push 1 93 entry (char (32)); 1 94 dcl comp_util_$relblk 1 95 entry (fixed bin, ptr); 1 96 dcl comp_util_$replace_text 1 97 entry (ptr, bit (1), ptr, ptr); 1 98 dcl comp_util_$search_tree 1 99 entry (char (32), bit (1)); 1 100 dcl comp_util_$set_bin 1 101 entry (fixed bin (31), char (32) var, fixed bin (31), 1 102 fixed bin (31), fixed bin (31), (*) fixed bin (31), 1 103 fixed bin (31)); 1 104 dcl comp_util_$set_net_page 1 105 entry (bit (1)); 1 106 dcl comp_util_$translate 1 107 entry (char (*) var) returns (char (*) var); 1 108 dcl comp_write_block_ 1 109 entry (fixed bin); 1 110 dcl comp_write_page_ 1 111 entry; 1 112 1 113 /* END INCLUDE FILE comp_entries.incl.pl1 */ 249 2 1 /* BEGIN INCLUDE FILE comp_error.incl.pl1 */ 2 2 2 3 dcl 1 error aligned based (const.errblk_ptr), /* diagnostic error messages */ 2 4 2 count fixed bin, /* count of errors logged */ 2 5 2 next fixed bin (35), /* char offset for next message */ 2 6 2 text char (const.max_seg_chars - 400) unal; /* messages */ 2 7 2 8 /* END INCLUDE FILE comp_error.incl.pl1 */ 250 3 1 /* BEGIN INCLUDE FILE comp_fntstk.incl.pl1 */ 3 2 3 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 3 4 3 5 dcl fntstk_eptr ptr; /* font stack entry structure */ 3 6 dcl 1 fntstk_entry aligned based (fntstk_eptr), 3 7 2 bachelor bit (1), /* 1= has no members */ 3 8 2 devfnt fixed bin, /* font in the device */ 3 9 2 fam_name char (32), /* family name */ 3 10 2 famndx fixed bin, /* family index */ 3 11 2 fntptr ptr, /* font table pointer */ 3 12 2 mem_name char (32), /* /member name (or null) */ 3 13 2 memndx fixed bin, /* member index */ 3 14 2 memptr ptr, /* member table pointer */ 3 15 2 name char (65) var, /* font name */ 3 16 2 size fixed bin (31), /* requested point size */ 3 17 2 ps fixed bin (31), /* effective point size */ 3 18 2 fcs_str char (8); /* FCS string */ 3 19 3 20 /* END INCLUDE FILE comp_fntstk.incl.pl1 */ 251 4 1 /* BEGIN INSERT FILE ... comp_insert.incl.pl1 */ 4 2 4 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 4 4 4 5 dcl 1 insert_data aligned based (const.insert_data_ptr), 4 6 2 count fixed bin, /* count of allocated data blocks */ 4 7 2 index fixed bin, /* the current block */ 4 8 2 ptr (1000) ptr, /* insert file data block pointers */ 4 9 2 ref_area, /* ref name string area data */ 4 10 3 count fixed bin, /* count of allocated areas */ 4 11 3 ptr (100) ptr; /* area pointers */ 4 12 /* insert call stack */ 4 13 dcl 1 call_stack aligned based (const.call_stk_ptr), 4 14 2 count fixed bin, /* count of allocated boxes */ 4 15 2 index fixed bin, /* current stack index */ 4 16 2 ptr (0:50) ptr; /* stack entry ptrs */ 4 17 dcl call_box_ptr ptr; 4 18 dcl 1 call_box aligned like insert.file based (call_box_ptr); 4 19 dcl 1 call_box0 aligned like insert.file based (call_stack.ptr (0)); 4 20 4 21 dcl 1 insert_refs aligned based, /* ref names structure */ 4 22 2 count fixed bin, /* count of names in area */ 4 23 2 index (60) fixed bin, /* insert_data index values */ 4 24 2 name (60) char (32) unal; 4 25 /* the ref names */ 4 26 4 27 dcl refname_str char (refstr_len) based (refstr_ptr); 4 28 /* for searching */ 4 29 dcl refstr_len fixed bin; /* length of refname search string */ 4 30 dcl refstr_ptr ptr; /* refname string pointer */ 4 31 /* data for an insert file */ 4 32 dcl 1 insert aligned based (shared.insert_ptr), 4 33 2 file, /* also used for source files */ 4 34 3 charcount 4 35 fixed bin (21), /* segment character count */ 4 36 3 comp_no fixed bin, /* msf component number */ 4 37 3 dir char (168), /* containing dir */ 4 38 3 entryname 4 39 char (32), /* primary entryname */ 4 40 3 exit_lineno 4 41 fixed bin (35), /* line number of .ifi */ 4 42 3 fcb_ptr ptr, /* FCB pointer for msf manager */ 4 43 3 info like text_entry.info, 4 44 3 insert_ptr /* self pointer - needed when */ 4 45 ptr, /* struc is in the call stack */ 4 46 /* 3 ntext fixed bin (21), /* character count of text line */ 4 47 3 path char (200) var, /* complete pathname */ 4 48 3 pointer ptr, /* segment pointer */ 4 49 3 posn fixed bin (21), /* input character position */ 4 50 3 refname char (200) var, /* for source files only */ 4 51 2 callers_name 4 52 char (100), /* refname of calling file */ 4 53 2 dtcm bit (36), /* fs date-time-modified */ 4 54 2 refndx fixed bin, /* CURRENT refname index for file */ 4 55 2 thrb fixed bin unsigned, 4 56 /* backward thread index in insert stack */ 4 57 2 label, /* label data per insert level */ 4 58 3 count fixed bin, 4 59 3 line (250) fixed bin unsigned, 4 60 3 position (250) fixed bin (21), 4 61 3 value (250) char (32); 4 62 4 63 /* empty file data structure */ 4 64 dcl 1 init_file_data 4 65 static options (constant), 4 66 2 charcount fixed bin (21) init (0), 4 67 /* segment character count */ 4 68 2 comp_no fixed bin init (0), 4 69 /* msf component number */ 4 70 2 dir char (168) init (""), 4 71 /* containing dir */ 4 72 2 entryname char (32) init (""), 4 73 /* primary entryname */ 4 74 2 exit_lineno 4 75 fixed bin (35) init (0), 4 76 /* line number of .ifi */ 4 77 2 fcb_ptr ptr init (null),/* FCB pointer for msf manager */ 4 78 2 info, /* stuff created during line input */ 4 79 3 fileno /* input file index */ 4 80 fixed bin init (0), 4 81 3 lineno /* input file line number */ 4 82 fixed bin init (0), 4 83 3 lineno0 /* call_box0 line number */ 4 84 fixed bin init (0), 4 85 2 insert_ptr ptr init (null),/* self pointer - needed when */ 4 86 /* struc is in the call stack */ 4 87 /* 2 ntext fixed bin (21) init (0), 4 88*/* /* character count of text line */ 4 89 2 path char (200) var init (""), 4 90 /* complete pathname */ 4 91 2 pointer ptr init (null),/* segment pointer */ 4 92 2 posn fixed bin (21) init (1), 4 93 /* input character position */ 4 94 2 refname char (200) var init (""); 4 95 /* for source files only */ 4 96 4 97 /* END INSERT FILE ... comp_insert.incl.pl1 */ 252 5 1 /* BEGIN INCLUDE FILE comp_option.incl.pl1 */ 5 2 5 3 dcl option_version fixed bin (35) static options (constant) init (2); 5 4 5 5 dcl 1 option aligned based (const.option_ptr), /* program options */ 5 6 2 version fixed bin (35), 5 7 /* Options with parameters */ 5 8 (2 argument_opt, /* -argument option flag */ 5 9 2 cbar_opt, /* -change_bars option flag */ 5 10 2 cbar_art_opt, /* -change_bars_art option flag */ 5 11 2 debug_opt, /* -debug option flag */ 5 12 2 db_all_opt, /* -debug_all option flag */ 5 13 2 db_file_opt, /* -debug_file option flag */ 5 14 2 device_opt, /* -device option flag */ 5 15 2 execute_opt, /* -execute option flag */ 5 16 2 from_opt, /* -from option flag */ 5 17 2 galley_opt, /* -galley option flag */ 5 18 2 hyph_opt, /* -hyphenation option flag */ 5 19 2 indent_opt, /* -indent option flag */ 5 20 2 input_file_opt, /* -input_file option flag */ 5 21 2 linespace_opt, /* -linespace option flag */ 5 22 2 output_file_opt, /* -output_file option flag */ 5 23 2 pages_opt, /* -pages option flag */ 5 24 2 page_chng_opt, /* -pages_changed option flag */ 5 25 2 parameter_opt, /* -parameter option flag */ 5 26 2 passes_opt, /* -passes option flag */ 5 27 2 tdir_opt, /* -temp_dir option flag */ 5 28 2 to_opt, /* -to option flag */ 5 29 /* Options without parameters */ 5 30 2 annot_opt, /* -annotate */ 5 31 2 brief_opt, /* -brief option flag */ 5 32 2 check_opt, /* -check option flag */ 5 33 2 cws_opt, /* -cws option flag */ 5 34 2 db_pause_opt, /* -debug_pause option flag */ 5 35 2 noart_opt, /* -noart option flag */ 5 36 2 nobell_opt, /* -no_bell option flag */ 5 37 2 nofill_opt, /* -nofill option flag */ 5 38 2 nohit_opt, /* -nohit option flag */ 5 39 2 number_opt, /* -number option flag */ 5 40 2 number_append_opt, /* -number_append option flag */ 5 41 2 number_brief_opt, /* -number_brief option flag */ 5 42 2 stop_opt, /* -stop option flag */ 5 43 2 wait_opt) unal bit (1), /* -wait option flag */ 5 44 2 MBZ bit (2) unal, 5 45 /* Optional parameters */ 5 46 2 arg_count fixed bin, /* count of -ag values */ 5 47 2 cbar, /* change bar data */ 5 48 3 level char (1), /* change level character (ASCII NUL) */ 5 49 3 place char (1), /* placement character */ 5 50 3 space fixed bin (31), /* extra left margin space needed */ 5 51 3 left, /* left margin mark data */ 5 52 4 sep fixed bin (31), /* separation */ 5 53 4 width fixed bin (31), /* mark width */ 5 54 4 mark char (80) varying, /* the left margin mark */ 5 55 3 right, /* right margin mark data */ 5 56 4 sep fixed bin (31), /* separation */ 5 57 4 width fixed bin (31), /* mark width */ 5 58 4 mark char (80) varying, /* the right margin mark */ 5 59 3 del, /* deletion mark data */ 5 60 4 sep fixed bin (31), /* separation */ 5 61 4 width fixed bin (31), /* mark width */ 5 62 4 mark char (80) varying, /* the deletion mark */ 5 63 2 db_after_line fixed bin (35), /* source line for enabling insert debug */ 5 64 2 db_before_line fixed bin (35), /* source line for disabling insert debug */ 5 65 2 db_file char (200) var, /* file pathanme for debug */ 5 66 2 db_file_after fixed bin (35), /* debug file starting line */ 5 67 2 db_line_end fixed bin (35), /* final line for -debug output */ 5 68 2 db_line_strt fixed bin (35), /* initial line for -debug output */ 5 69 2 device char (32) varying, /* output device */ 5 70 2 extra_indent fixed bin (31), /* extra indent value */ 5 71 2 hyph_size fixed bin (31), /* least word part size for hyphenation */ 5 72 2 line_1 fixed bin (35), /* initial line for output */ 5 73 2 line_2 fixed bin (35), /* final line for output */ 5 74 2 linespace fixed bin (31), /* line spacing value */ 5 75 2 pglstct fixed bin (35), /* number of page list entries */ 5 76 2 pglstndx fixed bin (35), /* index for -pages list */ 5 77 2 pglst (0:49), /* list of requested pages */ 5 78 3 from char (32) var, 5 79 3 to char (32) var, 5 80 2 parameter char (80) varying, /* parameter from command line */ 5 81 2 passes fixed bin, /* passes remaining */ 5 82 2 pgc_select char (1) aligned; /* addendum key to control change page printing - init = NUL */ 5 83 5 84 /* END INCLUDE FILE comp_option.incl.pl1 */ 5 85 253 6 1 /* BEGIN INCLUDE FILE comp_shared.incl.pl1 */ 6 2 6 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 6 4 6 5 dcl shared_version fixed bin (35) static options (constant) init (17); 6 6 6 7 dcl 1 shared aligned based (const.shared_ptr), 6 8 2 version fixed bin (35), /* version of this structure */ 6 9 2 chars, 6 10 ( 3 sym_delim, /* delimiter for symbols */ 6 11 3 ttl_delim, /* delimiter for title parts */ 6 12 3 wrd_brkr /* word break character */ 6 13 ) char (1) unal, 6 14 3 PAD char (1) unal, 6 15 2 cbar_type char (4) var, /* change bar type */ 6 16 2 dot_add_letter /* dot page add letter */ 6 17 char (1) var, 6 18 2 EN_width fixed bin (31), /* width of EN in current font */ 6 19 2 eqn_refct fixed bin, /* equation reference counter */ 6 20 2 footref_fcs /* footnote ref FCS string */ 6 21 char (8) aligned, 6 22 2 ftn_reset char (8) var, /* footnote reset mode */ 6 23 2 ftnrefct fixed bin, /* footnote ref counter */ 6 24 2 hyph_size fixed bin (31), /* least word part size for hyphing */ 6 25 2 if_nest, /* if/then/else logic control */ 6 26 3 ndx fixed bin, /* depth of logic nest */ 6 27 3 e (25), /* nest entries */ 6 28 /* .if control switch */ 6 29 4 sw fixed bin, /* 0=off, 1=(then), -1=(else) */ 6 30 4 info aligned like text_entry.info, 6 31 4 line char (256) var, /* the control line */ 6 32 2 indctl, /* indent ctls stack */ 6 33 3 ndx fixed bin, /* current level */ 6 34 /* switch bits */ 6 35 3 stk (0:35) bit (1) unal, 6 36 2 input_dirname 6 37 char (168) var, /* dir containing current input file */ 6 38 2 input_filename 6 39 char (200) var, /* current input file name */ 6 40 2 lead fixed bin (31), /* current linespacing value */ 6 41 2 lit_count fixed bin (35), /* count of literal lines */ 6 42 2 next_pagenmbr 6 43 char (32) var, /* next page number / */ 6 44 2 output_file 6 45 char (32) var, /* output file identifier */ 6 46 2 pagecount fixed bin, /* number of pages produced */ 6 47 2 pagenum, /* page number structure */ 6 48 3 index fixed bin, /* level currently counting */ 6 49 ( 6 50 3 sep char (1) unal, /* separator chars */ 6 51 3 nmbr fixed bin (31), /* the counters */ 6 52 3 mode /* display modes */ 6 53 fixed bin (8) unal 6 54 ) dimension (20), 6 55 2 parameter char (254) var, /* command line parameter */ 6 56 2 param_pres bit (1), /* passed parameter flag */ 6 57 2 pass_counter 6 58 fixed bin, /* pass counter */ 6 59 2 picture, /* picture blocks */ 6 60 3 count fixed bin, /* number of them */ 6 61 3 space fixed bin (31), /* total picture space */ 6 62 3 blk (10), /* picture blocks */ 6 63 4 type char (4), /* type = page/col */ 6 64 4 place char (4), /* place = top/cen/bot */ 6 65 4 ptr ptr, /* pointer to block */ 6 66 4 size fixed bin (31), /* size of the picture */ 6 67 2 ptrs, 6 68 ( 3 aux_file_data_ptr, /* -> auxiliary file data */ 6 69 3 blank_footer_ptr, /* -> blank page footer */ 6 70 3 blank_header_ptr, /* -> blank page header */ 6 71 3 blank_text_ptr, /* -> blank page text */ 6 72 3 blkptr, /* -> active text */ 6 73 3 colptr, /* current column */ 6 74 3 compout_ptr, /* iocb pointer for output */ 6 75 3 compx_ptr, /* iocb pointer for compx file */ 6 76 3 ctb_ptr, /* current line artwork table */ 6 77 3 epftrptr, /* even page footer block */ 6 78 3 ephdrptr, /* even page header block */ 6 79 3 fcb_ptr, /* input file control block pointer */ 6 80 3 ftnblk_data_ptr, /* footnote block data pointer */ 6 81 3 footnote_header_ptr, /* footnote header "title" */ 6 82 3 graphic_page_ptr, /* graphic output page */ 6 83 3 hit_data_ptr, /* hit data pointer */ 6 84 3 htab_ptr, /* horizontal tab tables */ 6 85 3 hwrd_data_ptr, /* local hyphenation table */ 6 86 3 insert_ptr, /* data entry for current input file */ 6 87 3 opftrptr, /* odd page footer block */ 6 88 3 ophdrptr, /* odd page header block */ 6 89 3 ptb_ptr, /* previous line artwork table */ 6 90 3 spcl_blkptr, /* "special" block pointer */ 6 91 3 tbldata_ptr, /* table column data structure */ 6 92 3 tblkdata_ptr, /* text block data array */ 6 93 3 text_header_ptr /* empty text header structure */ 6 94 ) ptr, 6 95 2 scale, /* space conversion scale factors */ 6 96 3 horz fixed bin (31), /* horizontal */ 6 97 3 vert fixed bin (31), /* vertical */ 6 98 2 source_filename 6 99 char (200) var, /* current source file name */ 6 100 2 sws, /* switch bits */ 6 101 ( 3 bug_mode, /* debug mode */ 6 102 3 compout_not_headed, /* compout is not headed */ 6 103 3 end_input, /* EOF for current input file */ 6 104 3 end_output, /* no more output is wanted */ 6 105 3 firstpass, /* first pass over input */ 6 106 3 ftn_mode, /* in footnote mode */ 6 107 3 hyph_mode, /* hyphenating mode */ 6 108 3 inserting_hfc, /* inserting hdr, ftr, or cap */ 6 109 3 literal_mode, /* literal line mode flag */ 6 110 3 pageblock, /* blocks belong to page */ 6 111 3 picture_mode, /* building a picture */ 6 112 3 print_flag, /* producing output */ 6 113 3 purge_ftns, /* purging footnotes */ 6 114 3 suppress_footref, /* suppress next footnote ref */ 6 115 3 table_mode /* table mode */ 6 116 ) bit (1) unal, 6 117 3 MBZ bit (21) unal, 6 118 2 trans, /* trans table for .tr */ 6 119 3 in char (128) var, /* input chars */ 6 120 3 out char (128) var, /* output chars */ 6 121 2 widow_size fixed bin (31), /* widow size */ 6 122 2 widow_foot fixed bin (31); /* widow for footnotes */ 6 123 /* to save shared data between files/passes */ 6 124 dcl 1 save_shared aligned like shared based (const.save_shared_ptr); 6 125 6 126 dcl dot_addltr_symb_index 6 127 fixed bin static options (constant) init (12); 6 128 dcl max_text_lines fixed bin static options (constant) init (1000); 6 129 dcl mode_string char (16) static options (constant) 6 130 init ("arbihxocalaurlru"); 6 131 /* value overlays */ 6 132 dcl flag_value bit (1) based; 6 133 dcl num_value fixed bin (31) based; 6 134 6 135 /* END INCLUDE FILE comp_shared.incl.pl1 */ 254 7 1 /* BEGIN INCLUDE FILE comp_text.incl.pl1 */ 7 2 7 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 7 4 7 5 dcl 1 tblkdata /* data for allocated text blocks */ 7 6 aligned based (shared.tblkdata_ptr), 7 7 2 block, /* block pool */ 7 8 3 count fixed bin, 7 9 3 ptr (500) ptr, /* block pointers */ 7 10 /* block state flags */ 7 11 3 free (500) bit (1) unal, 7 12 2 line_area, /* line area pool */ 7 13 3 count fixed bin, 7 14 3 ptr (500) ptr, /* area pointers */ 7 15 /* area state flags */ 7 16 3 free (500) bit (1) unal, 7 17 2 text_area, /* text area pool */ 7 18 3 count fixed bin, 7 19 3 ptr (500) ptr, /* area pointers */ 7 20 /* area state flags */ 7 21 3 free (500) bit (1) unal, 7 22 3 string_area_count 7 23 fixed bin; /* line areas */ 7 24 dcl LINE_AREA_SIZE fixed bin static options (constant) init (24); 7 25 dcl line_area_ptr ptr init (null); 7 26 dcl 1 line_area aligned based (line_area_ptr), 7 27 2 next ptr, /* forward thread */ 7 28 2 prev ptr, /* backward thread */ 7 29 2 count fixed bin, /* number of lines allocated */ 7 30 2 ndx fixed bin, /* index of current line */ 7 31 2 pndx fixed bin, /* area pool index */ 7 32 2 linptr (LINE_AREA_SIZE) ptr; 7 33 /* text areas */ 7 34 dcl TEXT_AREA_SIZE fixed bin static options (constant) init (6); 7 35 dcl text_area_ptr ptr init (null); 7 36 dcl 1 text_area aligned based (text_area_ptr), 7 37 2 next ptr, /* forward thread */ 7 38 2 count fixed bin, /* number of areas allocated */ 7 39 2 ndx fixed bin, /* index of current strarea */ 7 40 2 pndx fixed bin, /* area pool index */ 7 41 2 strareaptr (TEXT_AREA_SIZE) ptr; 7 42 /* text string area */ 7 43 dcl string_area (256) fixed bin based; 7 44 dcl txtstrptr ptr; /* current text string */ 7 45 dcl txtstr char (1020) var based (txtstrptr); 7 46 7 47 dcl TEXT_VERSION fixed bin static options (constant) init (9); 7 48 /* general text block */ 7 49 dcl 1 text aligned based (shared.blkptr), 7 50 2 version fixed bin, /* version of structure */ 7 51 2 blkndx fixed bin, /* block data index */ 7 52 2 blktype char (2), /* block type code */ 7 53 /* dynamic block control stuff */ 7 54 2 hdr aligned like text_header, 7 55 /* text read from input file */ 7 56 2 input aligned like text_entry, 7 57 2 input_line char (1020) var,/* input buffer */ 7 58 2 line_area, 7 59 3 first ptr, /* head of line area thread */ 7 60 3 cur ptr, /* current line area */ 7 61 2 next_text ptr, /* next text string */ 7 62 /* text formatting parameters */ 7 63 2 parms aligned like default_parms, 7 64 2 text_area, 7 65 3 first ptr, /* head of text area thread */ 7 66 3 cur ptr; /* current text area */ 7 67 /* an empty text block line */ 7 68 dcl 1 text_entry aligned based (const.text_entry_ptr), 7 69 2 sws, /* unaligned switches, etc. */ 7 70 3 art bit (1) unal, /* line has artwork */ 7 71 3 cbar, /* change bar flags */ 7 72 4 add bit (1) unal, /* text addition flag */ 7 73 4 del bit (1) unal, /* text deletion flag */ 7 74 4 mod bit (1) unal, /* text modification flag */ 7 75 3 default bit (1) unal, /* 1 = default case as needed */ 7 76 3 DVctl bit (1) unal, /* 1 = line is a device ctl string */ 7 77 3 embedded bit (1) unal, /* 1 = line has an embedded control */ 7 78 3 end_keep bit (1) unal, /* 1= line ends a keep */ 7 79 3 fnt_chng bit (1) unal, /* 1 = text is a font change string */ 7 80 3 footref bit (1) unal, /* 1 = line has a footnote reference */ 7 81 3 hanging bit (1) unal, /* 1 = a hanging undent */ 7 82 3 keep bit (1) unal, /* 1 = unsplittable line */ 7 83 3 no_trim bit (1) unal, /* 1 = untrimmable white line */ 7 84 3 oflo bit (1) unal, /* line causes overflow */ 7 85 3 punct bit (1) unal, /* 1 = line ends with punctuation */ 7 86 3 quad bit (6) unal, /* text alignment flags */ 7 87 3 space_added /* 1= line has added space */ 7 88 bit (1) unal, 7 89 3 spcl, /* special entry - not output text */ 7 90 4 file bit (1) unal, /* 1= output to special file */ 7 91 4 blk_splt /* 1= action at block split time */ 7 92 bit (1) unal, 7 93 4 page_mkup /* 1= action at page makeup time */ 7 94 bit (1) unal, 7 95 3 table bit (1) unal, /* 1= line is a table entry */ 7 96 3 tblspc bit (1) unal, /* 1= WS fill for table mode */ 7 97 3 title bit (1) unal, /* 1= line is a */ 7 98 3 unspnct bit (1) unal, /* 1= underscore punctuation */ 7 99 3 unstop bit (1) unal, /* 1= line is/ends with UNSTOP */ 7 100 3 unstrt bit (1) unal, /* 1= line is/ends with UNSTART */ 7 101 3 unswrds bit (1) unal, /* 1= underscore words only */ 7 102 3 white bit (1) unal, /* 1= line is white space */ 7 103 3 und_prot bit (1) unal, /* 1= undent is protected */ 7 104 3 MBZ bit (4) unal, 7 105 2 art_start fixed bin unal, /* start of art string in line */ 7 106 2 art_len fixed bin unal, /* length of art string in line */ 7 107 2 cbar_level /* change level for cbars */ 7 108 char (1) aligned, 7 109 2 cur, /* current scanning data for line */ 7 110 3 chrct fixed bin, /* count of chars scanned */ 7 111 3 gaps fixed bin, /* gap count */ 7 112 3 width fixed bin (31), /* width of font chars */ 7 113 3 min fixed bin (31), /* width of min spbnds */ 7 114 3 avg fixed bin (31), /* width of avg spbnds */ 7 115 3 max fixed bin (31), /* width of max spbnds */ 7 116 3 font like fntstk_entry, 7 117 2 depth fixed bin (31), /* page depth for line */ 7 118 /* font at start of line */ 7 119 2 font like fntstk_entry, 7 120 2 index fixed bin (21), /* char index for line scanning */ 7 121 2 info, /* stuff created during line input */ 7 122 3 fileno fixed bin, /* input file index */ 7 123 3 lineno fixed bin, /* input file line number */ 7 124 3 lineno0 fixed bin, /* call_box0 line number */ 7 125 2 linespace fixed bin (31), /* linespace value for the line */ 7 126 2 lmarg fixed bin (31), /* adjusted left margin position */ 7 127 2 mod_len fixed bin, /* length of modified text */ 7 128 2 mod_start fixed bin, /* index for start of modified text */ 7 129 2 net fixed bin (31), /* net line width for filling */ 7 130 2 ptr ptr, /* pointer to the actual text */ 7 131 2 rmarg fixed bin (31), /* adjusted right margin position */ 7 132 2 spcl_iocbp ptr, /* iocb ptr for spcl line */ 7 133 2 sym_delim char (1) unal, /* symbol delimiter for this line */ 7 134 2 tblcol fixed bin, /* column for table entries */ 7 135 2 title_delim 7 136 char (1) unal, /* title delimiter if a <title> */ 7 137 2 title_index 7 138 fixed bin, /* <title> block index for line */ 7 139 2 width fixed bin (31), /* width of text */ 7 140 2 ftn, /* footnote info for line */ 7 141 3 ct fixed bin, /* number of footnote refs */ 7 142 3 used fixed bin (31), /* space used */ 7 143 3 e (40), /* limit is arbitrary */ 7 144 4 blkndx fixed bin unal, /* block index of footnote - if this 7 145* value is 0, then .frf was used */ 7 146 4 refno fixed bin unal; /* reference number */ 7 147 7 148 dcl ( 7 149 quadi init ("40"b3), /* set to the inside margin */ 7 150 quado init ("20"b3), /* set to the outside margin */ 7 151 quadl init ("10"b3), /* set left */ 7 152 quadc init ("04"b3), /* set centered */ 7 153 quadr init ("02"b3), /* set right */ 7 154 just init ("01"b3) /* justified */ 7 155 ) bit (6) static options (constant); 7 156 /* control line structure */ 7 157 dcl 1 ctl aligned like text_entry based (const.ctl_ptr); 7 158 dcl ctl_line char (1020) var based (ctl.ptr); 7 159 7 160 dcl txtlinptr ptr; /* the current text line */ 7 161 dcl 1 txtlin aligned like text_entry based (txtlinptr); 7 162 /* empty text header structure */ 7 163 dcl 1 text_header aligned based (const.text_header_ptr), 7 164 2 sws, /* control switches */ 7 165 3 art bit (1) unal, /* block has artwork */ 7 166 3 dfrftn bit (1) unal, /* block is a deferred footnote */ 7 167 3 modified bit (1) unal, /* block contains modified lines */ 7 168 3 no_trim bit (1) unal, /* 1 = dont trim WS block */ 7 169 3 oflo_ftn bit (1) unal, /* overflow footnote */ 7 170 3 tblblk bit (1) unal, /* a table block */ 7 171 3 unref bit (1) unal, /* block is an unreffed footnote */ 7 172 3 white bit (1) unal, /* block is a white space block */ 7 173 3 picture bit (1) unal, /* picture block */ 7 174 3 orphan bit (1) unal, /* 1= footnote is an orphan */ 7 175 3 MBZ bit (26) unal, 7 176 2 art_count fixed bin unal, /* to count input art lines */ 7 177 2 blkptr ptr, /* pointer to suspended block */ 7 178 2 cap_size fixed bin unal, /* line count of text caption */ 7 179 2 cap_used fixed bin (31), /* size of text caption */ 7 180 2 colno fixed bin unal, /* column owning the block */ 7 181 2 count fixed bin unal, /* line count for block */ 7 182 2 eqn_line_count 7 183 fixed bin unal, /* counter for equation lines */ 7 184 2 first_text fixed bin unal, /* OBSOLETE */ 7 185 2 ftn, /* footnotes */ 7 186 3 ct fixed bin, /* count */ 7 187 3 usd fixed bin (31), /* space used */ 7 188 3 blkndx (40) fixed bin, /* footnote block index values */ 7 189 2 head_size fixed bin, /* line count of text header */ 7 190 2 head_used fixed bin (31), /* size of text header */ 7 191 2 index fixed bin unal, /* block index of next output line */ 7 192 2 keep_count fixed bin unal, /* to count input keep lines */ 7 193 2 last_line fixed bin, /* last text line in column */ 7 194 2 mx_ttl_ndx fixed bin, /* max title index value in block */ 7 195 2 name char (32) var, /* block name, if any */ 7 196 2 nofill_count /* to count nofill lines */ 7 197 fixed bin, 7 198 2 parms_ptr ptr, /* parms for suspended block */ 7 199 2 refer fixed bin, /* inter-block reference */ 7 200 2 refer_index /* OBSOLETE */ 7 201 fixed bin, /* a reference */ 7 202 2 split fixed bin, /* split point for balancing */ 7 203 2 trl_ws fixed bin (31), /* trailing WS */ 7 204 2 used fixed bin (31); /* page space used by a column/block */ 7 205 /* text formatting parameters */ 7 206 dcl 1 text_parms aligned like default_parms 7 207 based (const.text_parms_ptr); 7 208 7 209 dcl 1 current_parms 7 210 aligned like default_parms 7 211 based (const.current_parms_ptr); 7 212 7 213 dcl 1 default_parms 7 214 aligned based (const.default_parms_ptr), 7 215 2 sws, /* control switches */ 7 216 3 quad bit (6) unal, /* text alignment mode */ 7 217 3 art bit (1) unal, /* 1 = block countains artwork */ 7 218 3 cbar, /* change bar flags */ 7 219 4 add bit (1) unal, /* text addition flag */ 7 220 4 del bit (1) unal, /* text deletion flag for next line */ 7 221 4 mod bit (1) unal, /* text modification flag */ 7 222 3 fill_mode 7 223 bit (1) unal, /* 1 = fill mode ON */ 7 224 3 footnote bit (1) unal, /* block is a footnote */ 7 225 3 hfc bit (1) unal, /* OBSOLETE */ 7 226 3 htab_mode 7 227 bit (1) unal, /* 1 = horizontal tab mode ON */ 7 228 3 keep bit (1) unal, /* keep mode */ 7 229 3 page bit (1) unal, /* block belongs to page, not text */ 7 230 3 title_mode 7 231 bit (1) unal, /* 0 = plain text, 1 = <title>s OK */ 7 232 3 MBZ bit (19) unal, 7 233 2 ftrptr ptr, /* text caption block */ 7 234 2 cbar_level /* change level for cbars */ 7 235 char (1) aligned, 7 236 2 hdrptr ptr, /* text header block */ 7 237 2 left, /* left margin data */ 7 238 3 indent fixed bin (31), 7 239 3 undent fixed bin (31), 7 240 2 linespace fixed bin (31), /* line spacing value */ 7 241 2 measure fixed bin (31), /* line space for text */ 7 242 /* right margin data */ 7 243 2 right like default_parms.left, 7 244 2 fntstk, /* stack of last 20 font changes */ 7 245 3 index fixed bin, /* which one in use */ 7 246 /* entry(0) is the default */ 7 247 3 entry (0:19) like fntstk_entry; 7 248 7 249 dcl hfcblk_ptr ptr; 7 250 dcl 1 hfcblk aligned like text based (hfcblk_ptr); 7 251 7 252 /* END INCLUDE FILE comp_text.incl.pl1 */ 255 8 1 /* BEGIN INCLUDE FILE compstat.incl.pl1 - external static data for compose 8 2* 8 3* This storage is converted from external (as declared) to internal by the 8 4* binder and contains items that must be accessible to both the bound and 8 5* unbound program. */ 8 6 8 7 /* Written: ??/??/7? - EJW 8 8* Modified: 10/18/84 - EJW - (First recorded change) Added current_parms_ptr 8 9* and removed the codes array; version 6. 8 10**/ 8 11 8 12 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 8 13 8 14 dcl 1 compstat$compconst 8 15 aligned like const ext static; 8 16 8 17 dcl const_version fixed bin (35) static options (constant) init (6); 8 18 dcl MAX_TREE_AREA_CT /* entries in a tree area */ 8 19 fixed bin static options (constant) init (80); 8 20 dcl MAX_TREE_AREAS /* number of tree areas */ 8 21 fixed bin static options (constant) init (20); 8 22 8 23 dcl 1 const aligned based (compstat$compconst.ptr), 8 24 2 ptr ptr, /* self pointer - MUST BE FIRST */ 8 25 2 version fixed bin (35), /* structure version */ 8 26 2 art_symbols /* string of art symbols */ 8 27 char (28) aligned, 8 28 2 builtin_count /* count of builtin variables */ 8 29 fixed bin, 8 30 2 comp_dir char (200), /* dir in which compose lives */ 8 31 2 comp_version 8 32 char (8) var, /* compose version id */ 8 33 2 date_value char (8) var, /* current date */ 8 34 2 dsm_name char (32), /* device support module name */ 8 35 2 dvt_name char (32), /* device table name */ 8 36 2 max_seg_chars 8 37 fixed bin (35), /* char count in a max seg */ 8 38 2 null_str char (1) var, /* an empty string */ 8 39 2 ptrs, 8 40 ( 3 call_stk_ptr, /* -> insert call stack */ 8 41 3 colhdrptr, /* empty column header structure */ 8 42 3 ctl_ptr, /* input line structure */ 8 43 3 current_parms_ptr, /* current formatting parms */ 8 44 3 default_parms_ptr, /* default initial text parms */ 8 45 3 devptr, /* -> comp_dvt structure */ 8 46 3 dvidptr, /* -> comp_dvid structure */ 8 47 3 errblk_ptr, /* error message block pointer */ 8 48 3 footnote_parms_ptr, /* footnote formatting parms */ 8 49 3 fnttbldata_ptr, /* -> font table data */ 8 50 3 global_area_ptr, /* per invocation storage */ 8 51 3 init_page_parms_ptr, /* default initial page parms */ 8 52 3 insert_data_ptr, /* insert file data block */ 8 53 3 local_area_ptr, /* per file storage */ 8 54 3 loctbl_ptr, /* for font copying */ 8 55 3 option_ptr, /* program options block */ 8 56 3 outproc_ptr, /* device writer for cleanup */ 8 57 3 page_ptr, /* active page structure */ 8 58 3 page_header_ptr, /* empty page header structure */ 8 59 3 page_parms_ptr, /* page formatting parameter block */ 8 60 3 save_shared_ptr, /* saved shared data */ 8 61 3 shared_ptr, /* shared data structure */ 8 62 3 text_entry_ptr, /* empty text entry structure */ 8 63 3 text_header_ptr, /* empty text header structure */ 8 64 3 text_parms_ptr, /* main body formatting parms */ 8 65 3 tree_ptr /* symbol tree structure */ 8 66 ) ptr, 8 67 2 time_value char (6) var; /* time at start */ 8 68 8 69 /* Other external */ 8 70 dcl ( 8 71 ioa_, 8 72 ioa_$nnl 8 73 ) entry options (variable); 8 74 dcl iox_$error_output 8 75 ptr ext static, /* iocb pointer for error_output */ 8 76 iox_$user_input 8 77 ptr ext static, /* iocb pointer for user_input */ 8 78 iox_$user_output 8 79 ptr ext static; /* iocb pointer for user_output */ 8 80 dcl sys_info$max_seg_size 8 81 fixed bin (18) ext static; 8 82 8 83 /* END INCLUDE FILE compstat.incl.pl1 */ 256 257 258 end comp_report_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/23/85 0910.4 comp_report_.pl1 >spec>online>comp>comp_report_.pl1 249 1 03/01/85 1411.9 comp_entries.incl.pl1 >ldd>include>comp_entries.incl.pl1 250 2 03/01/85 1411.9 comp_error.incl.pl1 >ldd>include>comp_error.incl.pl1 251 3 03/01/85 1412.0 comp_fntstk.incl.pl1 >ldd>include>comp_fntstk.incl.pl1 252 4 03/01/85 1412.0 comp_insert.incl.pl1 >ldd>include>comp_insert.incl.pl1 253 5 03/01/85 1412.0 comp_option.incl.pl1 >ldd>include>comp_option.incl.pl1 254 6 03/01/85 1412.0 comp_shared.incl.pl1 >ldd>include>comp_shared.incl.pl1 255 7 04/23/85 0912.6 comp_text.incl.pl1 >spec>online>comp>comp_text.incl.pl1 256 8 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. a_code parameter fixed bin(35,0) dcl 20 ref 14 81 a_info_ptr parameter pointer dcl 23 ref 14 84 177 181 a_line parameter varying char dcl 24 ref 14 83 a_message parameter char unaligned dcl 22 set ref 14 82 177 180 202* 212* a_sev parameter fixed bin(17,0) dcl 19 ref 14 80 addr builtin function dcl 63 ref 108 163 163 166 166 208 208 211 211 arglist based pointer array dcl 91 ref 113 114 115 116 arglist_ptr 002762 automatic pointer dcl 93 set ref 107* 111* 113 114 115 116 118* bug_mode 4113 based bit(1) level 3 packed unaligned dcl 6-7 ref 124 183 call_box based structure level 1 dcl 4-18 call_box_ptr 002770 automatic pointer dcl 4-17 set ref 238* 239 241 call_nest 000100 automatic varying char(4096) initial dcl 31 set ref 31* 154* 164* 201* 209* 239* 239 240* 240 241* 241 243* 243 244* 244 call_stack based structure level 1 dcl 4-13 call_stk_ptr 126 based pointer level 3 dcl 8-23 ref 237 237 238 241 chars 1 based char(512) level 2 packed unaligned dcl 95 set ref 118* check_opt 1(23) based bit(1) level 2 packed unaligned dcl 5-5 ref 147 194 code 002101 automatic fixed bin(35,0) dcl 32 set ref 81* 114* 124* 130 133* com_err_ 000010 constant entry external dcl 68 ref 223 comp_abort 000000 stack reference condition dcl 66 ref 225 comp_util_$display 000030 constant entry external dcl 1-77 ref 155 167 comp_version 75 based varying char(8) level 2 dcl 8-23 set ref 151* 198* compose_severity_ 000026 external static fixed bin(35,0) dcl 1-5 set ref 143* 143 compstat$compconst 000032 external static structure level 1 dcl 8-14 const based structure level 1 dcl 8-23 convert_status_code_ 000012 constant entry external dcl 69 ref 133 count based fixed bin(17,0) level 2 dcl 2-3 set ref 172* 172 214* 214 228* ctl_str 002102 automatic bit(1) unaligned dcl 34 set ref 78* 106* cu_$arg_count 000022 constant entry external dcl 102 ref 110 cu_$arg_list_ptr 000024 constant entry external dcl 103 ref 111 default_parms based structure level 1 dcl 7-213 ercd 002103 automatic fixed bin(35,0) dcl 35 set ref 219* 220 223* errblk_ptr 144 based pointer level 3 dcl 8-23 set ref 127 151 158 163 163 165 165 166 166 171 171 172 172 189 198 203 208 208 210 210 211 211 213 213 214 214 219* 228 228 errlen 002104 automatic fixed bin(35,0) dcl 37 set ref 164* 165 167* 171 209* 210 212* 213 errlong 002105 automatic char(100) dcl 39 set ref 133* 134 139* 155 155 167 167 errlong_len 002136 automatic fixed bin(35,0) dcl 41 set ref 134* 140* 155 155 155 167 167 167 error based structure level 1 dcl 2-3 error_char based char(1) array unaligned dcl 43 set ref 163 166 208 211 errshort 002140 automatic char(8) dcl 45 set ref 133* exit_lineno 64 based fixed bin(35,0) level 2 dcl 4-18 ref 241 fb based fixed bin(35,0) dcl 94 ref 113 114 file based structure level 2 dcl 4-32 fntstk_entry based structure level 1 dcl 3-6 get_temp_segment_ 000014 constant entry external dcl 72 ref 219 hbound builtin function dcl 235 ref 237 i 003026 automatic fixed bin(17,0) dcl 234 set ref 237* 238 241* index 1 based fixed bin(17,0) level 2 dcl 4-13 ref 237 241 info 277 based structure level 3 in structure "hfcblk" dcl 7-250 in procedure "comp_report_" info 161 based structure level 2 in structure "txtlin" dcl 7-161 in procedure "comp_report_" info 161 based structure level 2 in structure "text_entry" dcl 7-68 in procedure "comp_report_" info 161 based structure level 2 in structure "ctl" dcl 7-157 in procedure "comp_report_" info 277 based structure level 3 in structure "text" dcl 7-49 in procedure "comp_report_" info_ptr 002142 automatic pointer dcl 49 set ref 84* 115* 181* 243 insert based structure level 1 dcl 4-32 ioa_ 000034 constant entry external dcl 8-70 ref 124 151 154 155 183 198 201 202 ioa_$general_rs 000020 constant entry external dcl 75 ref 118 ioa_$rsnp 000016 constant entry external dcl 74 ref 164 167 209 212 left 12 based structure level 2 in structure "default_parms" dcl 7-213 in procedure "comp_report_" left 12 based structure level 2 in structure "current_parms" dcl 7-209 in procedure "comp_report_" left 1016 based structure level 3 in structure "hfcblk" dcl 7-250 in procedure "comp_report_" left 1016 based structure level 3 in structure "text" dcl 7-49 in procedure "comp_report_" left 12 based structure level 2 in structure "text_parms" dcl 7-206 in procedure "comp_report_" len based fixed bin(21,0) level 2 dcl 95 set ref 118* line 002144 automatic varying char(1020) dcl 50 set ref 83* 116* 155 155 155 167 167 167 line_area_ptr 002772 automatic pointer initial dcl 7-25 set ref 7-25* line_info based structure level 1 unaligned dcl 27 lineno 1 based fixed bin(17,0) level 2 dcl 27 ref 243 max builtin function dcl 63 ref 143 max_seg_chars 123 based fixed bin(35,0) level 2 dcl 8-23 ref 163 166 208 211 me 002544 automatic varying char(32) dcl 52 set ref 79* 109* 124* message 002555 automatic varying char(512) dcl 53 set ref 82* 108 124* 155* 167* 180* 183* min builtin function dcl 235 ref 237 msg based structure level 1 unaligned dcl 95 msg_ptr 002764 automatic pointer dcl 98 set ref 108* 118 118 nargs 002766 automatic fixed bin(17,0) dcl 99 set ref 110* next 1 based fixed bin(35,0) level 2 dcl 2-3 set ref 151 158* 163 165* 165 166 171* 171 198 203* 208 210* 210 211 213* 213 228* next_err based char(10000) unaligned dcl 55 set ref 164* 167* 209* 212* next_err_ptr 002756 automatic pointer dcl 58 set ref 163* 164 166* 167 208* 209 211* 212 null builtin function dcl 63 ref 107 127 189 7-25 7-35 option based structure level 1 dcl 5-5 option_ptr 164 based pointer level 3 dcl 8-23 ref 147 147 194 194 output_file_opt 1(14) based bit(1) level 2 packed unaligned dcl 5-5 ref 147 194 pass_counter 3643 based fixed bin(17,0) level 2 dcl 6-7 ref 120 186 ptr 000032 external static pointer level 2 in structure "compstat$compconst" dcl 8-14 in procedure "comp_report_" ref 120 124 127 147 147 151 151 158 163 163 163 165 165 166 166 166 171 171 172 172 183 186 189 194 194 198 198 203 208 208 208 210 210 211 211 211 213 213 214 214 219 228 228 237 237 238 241 ptr based pointer dcl 100 in procedure "comp_report_" ref 115 ptr 2 based pointer array level 2 in structure "call_stack" dcl 4-13 in procedure "comp_report_" ref 237 238 ptrs 126 based structure level 2 dcl 8-23 refname 165 based varying char(200) level 2 dcl 4-18 ref 239 sev 002760 automatic fixed bin(17,0) dcl 61 set ref 80* 113* 143 shared based structure level 1 dcl 6-7 shared_ptr 200 based pointer level 3 dcl 8-23 ref 120 124 183 186 sws 4113 based structure level 2 dcl 6-7 text based structure level 1 dcl 7-49 in procedure "comp_report_" text 2 based char level 2 in structure "error" packed unaligned dcl 2-3 in procedure "comp_report_" set ref 163 166 208 211 text_area_ptr 002774 automatic pointer initial dcl 7-35 set ref 7-35* text_entry based structure level 1 dcl 7-68 text_header based structure level 1 dcl 7-163 txtstr based varying char(1020) dcl 7-45 ref 116 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. LINE_AREA_SIZE internal static fixed bin(17,0) initial dcl 7-24 MAX_TREE_AREAS internal static fixed bin(17,0) initial dcl 8-20 MAX_TREE_AREA_CT internal static fixed bin(17,0) initial dcl 8-18 NL internal static char(1) initial unaligned dcl 59 TEXT_AREA_SIZE internal static fixed bin(17,0) initial dcl 7-34 TEXT_VERSION internal static fixed bin(17,0) initial dcl 7-47 call_box0 based structure level 1 dcl 4-19 comp_ 000000 constant entry external dcl 1-7 comp_art_ 000000 constant entry external dcl 1-8 comp_block_ctls_ 000000 constant entry external dcl 1-9 comp_break_ 000000 constant entry external dcl 1-11 comp_break_ctls_ 000000 constant entry external dcl 1-12 comp_ctls_ 000000 constant entry external dcl 1-14 comp_eject_page_ 000000 constant entry external dcl 1-15 comp_expr_eval_ 000000 constant entry external dcl 1-17 comp_extr_str_ 000000 constant entry external dcl 1-21 comp_fill_ 000000 constant entry external dcl 1-24 comp_font_ 000000 constant entry external dcl 1-25 comp_format_ctls_ 000000 constant entry external dcl 1-26 comp_get_file_$find 000000 constant entry external dcl 1-28 comp_get_file_$open 000000 constant entry external dcl 1-31 comp_head_page_ 000000 constant entry external dcl 1-33 comp_hft_ctls_ 000000 constant entry external dcl 1-35 comp_hft_ctls_$title 000000 constant entry external dcl 1-36 comp_init_$one 000000 constant entry external dcl 1-38 comp_init_$three 000000 constant entry external dcl 1-40 comp_init_$two 000000 constant entry external dcl 1-39 comp_insert_ctls_ 000000 constant entry external dcl 1-42 comp_make_page_ 000000 constant entry external dcl 1-44 comp_make_page_$cleanup 000000 constant entry external dcl 1-46 comp_measure_ 000000 constant entry external dcl 1-48 comp_read_$line 000000 constant entry external dcl 1-57 comp_read_$name 000000 constant entry external dcl 1-50 comp_read_$number 000000 constant entry external dcl 1-53 comp_report_ 000000 constant entry external dcl 1-59 comp_report_$ctlstr 000000 constant entry external dcl 1-61 comp_report_$exact 000000 constant entry external dcl 1-64 comp_space_ 000000 constant entry external dcl 1-66 comp_tbl_ctls_ 000000 constant entry external dcl 1-68 comp_title_block_ 000000 constant entry external dcl 1-69 comp_update_symbol_ 000000 constant entry external dcl 1-71 comp_use_ref_ 000000 constant entry external dcl 1-74 comp_util_$add_text 000000 constant entry external dcl 1-75 comp_util_$escape 000000 constant entry external dcl 1-80 comp_util_$getblk 000000 constant entry external dcl 1-82 comp_util_$num_display 000000 constant entry external dcl 1-84 comp_util_$pageno 000000 constant entry external dcl 1-86 comp_util_$pictures 000000 constant entry external dcl 1-88 comp_util_$pop 000000 constant entry external dcl 1-91 comp_util_$push 000000 constant entry external dcl 1-92 comp_util_$relblk 000000 constant entry external dcl 1-94 comp_util_$replace_text 000000 constant entry external dcl 1-96 comp_util_$search_tree 000000 constant entry external dcl 1-98 comp_util_$set_bin 000000 constant entry external dcl 1-100 comp_util_$set_net_page 000000 constant entry external dcl 1-104 comp_util_$translate 000000 constant entry external dcl 1-106 comp_write_block_ 000000 constant entry external dcl 1-108 comp_write_page_ 000000 constant entry external dcl 1-110 const_version internal static fixed bin(35,0) initial dcl 8-17 ctl based structure level 1 dcl 7-157 ctl_line based varying char(1020) dcl 7-158 current_parms based structure level 1 dcl 7-209 dot_addltr_symb_index internal static fixed bin(17,0) initial dcl 6-126 flag_value based bit(1) unaligned dcl 6-132 fntstk_eptr automatic pointer dcl 3-5 hfcblk based structure level 1 dcl 7-250 hfcblk_ptr automatic pointer dcl 7-249 icall automatic fixed bin(17,0) dcl 48 init_file_data internal static structure level 1 unaligned dcl 4-64 insert_data based structure level 1 dcl 4-5 insert_refs based structure level 1 dcl 4-21 ioa_$nnl 000000 constant entry external dcl 8-70 iox_$error_output external static pointer dcl 8-74 iox_$user_input external static pointer dcl 8-74 iox_$user_output external static pointer dcl 8-74 just internal static bit(6) initial unaligned dcl 7-148 line_area based structure level 1 dcl 7-26 max_text_lines internal static fixed bin(17,0) initial dcl 6-128 mode_string internal static char(16) initial unaligned dcl 6-129 num_value based fixed bin(31,0) dcl 6-133 option_version internal static fixed bin(35,0) initial dcl 5-3 quadc internal static bit(6) initial unaligned dcl 7-148 quadi internal static bit(6) initial unaligned dcl 7-148 quadl internal static bit(6) initial unaligned dcl 7-148 quado internal static bit(6) initial unaligned dcl 7-148 quadr internal static bit(6) initial unaligned dcl 7-148 refname_str based char unaligned dcl 4-27 refstr_len automatic fixed bin(17,0) dcl 4-29 refstr_ptr automatic pointer dcl 4-30 save_shared based structure level 1 dcl 6-124 shared_version internal static fixed bin(35,0) initial dcl 6-5 size builtin function dcl 63 string_area based fixed bin(17,0) array dcl 7-43 sys_info$max_seg_size external static fixed bin(18,0) dcl 8-80 tblkdata based structure level 1 dcl 7-5 text_area based structure level 1 dcl 7-36 text_parms based structure level 1 dcl 7-206 txtlin based structure level 1 dcl 7-161 txtlinptr automatic pointer dcl 7-160 txtstrptr automatic pointer dcl 7-44 NAMES DECLARED BY EXPLICIT CONTEXT. JOIN 000347 constant label dcl 120 ref 85 build_call_nest 001521 constant entry internal dcl 231 ref 145 192 comp_report_ 000132 constant entry external dcl 14 ctlstr 000222 constant entry external dcl 87 error_init 001430 constant entry internal dcl 217 ref 127 189 exact 001112 constant entry external dcl 177 NAMES DECLARED BY CONTEXT OR IMPLICATION. addrel builtin function ref 116 char builtin function ref 241 243 ltrim builtin function ref 241 243 reverse builtin function ref 134 substr builtin function ref 155 155 167 167 translate builtin function ref 155 155 167 167 verify builtin function ref 134 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 2272 2330 2113 2302 Length 2700 2113 36 333 157 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME comp_report_ 1694 external procedure is an external procedure. error_init internal procedure shares stack frame of external procedure comp_report_. build_call_nest internal procedure shares stack frame of external procedure comp_report_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME comp_report_ 000100 call_nest comp_report_ 002101 code comp_report_ 002102 ctl_str comp_report_ 002103 ercd comp_report_ 002104 errlen comp_report_ 002105 errlong comp_report_ 002136 errlong_len comp_report_ 002140 errshort comp_report_ 002142 info_ptr comp_report_ 002144 line comp_report_ 002544 me comp_report_ 002555 message comp_report_ 002756 next_err_ptr comp_report_ 002760 sev comp_report_ 002762 arglist_ptr comp_report_ 002764 msg_ptr comp_report_ 002766 nargs comp_report_ 002770 call_box_ptr comp_report_ 002772 line_area_ptr comp_report_ 002774 text_area_ptr comp_report_ 003026 i build_call_nest THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_g_a r_ne_as alloc_cs realloc_cs call_ext_out_desc call_ext_out return signal shorten_stack ext_entry ext_entry_desc THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ comp_util_$display convert_status_code_ cu_$arg_count cu_$arg_list_ptr get_temp_segment_ ioa_ ioa_$general_rs ioa_$rsnp THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. compose_severity_ compstat$compconst LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 31 000117 7 25 000120 7 35 000122 14 000125 78 000155 79 000156 80 000163 81 000166 82 000170 83 000204 84 000215 85 000220 87 000221 106 000230 107 000232 108 000234 109 000236 110 000243 111 000252 113 000261 114 000264 115 000266 116 000271 118 000300 120 000347 124 000356 127 000407 130 000417 133 000421 134 000434 135 000451 139 000452 140 000455 143 000456 145 000464 147 000465 151 000474 154 000516 155 000535 158 000656 159 000665 163 000666 164 000675 165 000724 166 000734 167 000742 171 001073 172 001104 175 001105 177 001106 180 001130 181 001144 183 001147 186 001200 189 001207 192 001214 194 001215 198 001224 201 001246 202 001265 203 001304 204 001312 208 001313 209 001322 210 001351 211 001361 212 001367 213 001416 214 001426 258 001427 217 001430 219 001431 220 001456 223 001460 225 001506 226 001511 228 001512 229 001520 231 001521 237 001522 238 001537 239 001546 240 001560 241 001572 243 001632 244 001667 245 001701 247 001703 ----------------------------------------------------------- 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