COMPILATION LISTING OF SEGMENT comp_extr_str_ Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 04/23/85 0952.7 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 extract character strings */ 11 12 /* format: style2,ind3,ll79,dclind4,idind15,comcol41,linecom */ 13 14 comp_extr_str_: 15 proc (reduce, buffer, pmstart, pmnext, flen, info_ptr) 16 returns (char (*) varying); 17 18 /* PARAMETERS */ 19 20 dcl reduce bit (1); /* escape reduction flag 21* 0 = raw, 1 = reduced */ 22 /* buffer from which to extract */ 23 dcl buffer char (*) varying; 24 dcl pmstart fixed bin (21);/* starting character in buffer */ 25 dcl pmnext fixed bin (21);/* next character in buffer */ 26 dcl flen fixed bin (21);/* length of string extracted */ 27 dcl info_ptr ptr; /* info structure for buffer */ 28 dcl 1 bufinfo like text_entry.info based (info_ptr); 29 30 /* LOCAL STORAGE */ 31 32 dcl buflen fixed bin (21);/* length of the buffered string */ 33 /* replacement character */ 34 dcl char char (1) init (""); 35 dcl char_index fixed bin; /* collating index for *cnnn */ 36 /* escaped copy of buffer */ 37 dcl escval char (1020) varying; 38 dcl given_len fixed bin (31);/* given substring length, if any */ 39 dcl given_strt fixed bin (31);/* given substring start, if any */ 40 /* working index */ 41 dcl (i, j, k) fixed bin init (1); 42 /* working string length */ 43 dcl len fixed bin init (1); 44 dcl NUM fixed bin static options (constant) init (2); 45 dcl null_result bit (1); 46 dcl mode fixed bin (35);/* conversion mode for *cnnn */ 47 dcl qt_pos fixed bin; /* position of closing quote */ 48 dcl start fixed bin (21);/* local string start value */ 49 dcl sub_len fixed bin; /* length of substring */ 50 dcl sub_strt fixed bin; /* start of substring */ 51 /* value to be returned */ 52 dcl value char (1020) varying; 53 54 dcl (collate9, index, length, min, null) 55 builtin; 56 57 dcl comp_error_table_$missing_delimiter 58 ext fixed bin (35); 59 60 buflen = length (buffer); 61 null_result = "0"b; /* not so far, anyway */ 62 63 if shared.bug_mode 64 then call ioa_ ("extr_str: (^d,^d) ^a", pmstart, buflen - pmstart + 1, 65 comp_util_$display (substr (buffer, pmstart), 0, "0"b)); 66 /* if not quoted */ 67 if substr (buffer, pmstart, 1) ^= """" 68 then 69 do; /* return the raw string */ 70 value = substr (buffer, pmstart); 71 pmnext = length (buffer) + 1; 72 flen = length (value); 73 goto return_; 74 end; /**/ 75 /* it is quoted */ 76 value, escval = buffer; /* copy the string */ 77 if reduce & index (escval, "*") ^= 0 78 then call comp_util_$escape (escval, info_ptr); 79 qt_pos = 1; 80 start = pmstart; 81 82 qt_scan_2: /* look for a closer */ 83 i = index (substr (value, start + qt_pos), """"); 84 85 if i = 0 /* if no quote found */ 86 then 87 do; 88 call comp_report_$ctlstr (2, comp_error_table_$missing_delimiter, 89 info_ptr, buffer, "No closing quote for ""^a""", 90 substr (value, start)); 91 value = substr (value, start + 1); 92 pmnext = length (buffer) + 1; 93 flen = length (value); 94 goto return_; /* return with what we have */ 95 end; /**/ 96 /* is it escaped? */ 97 if substr (value, start + qt_pos + i - 2, 1) = "*" 98 then if start + qt_pos + i > 3 /* not \277*" OR **" */ 99 then if ^(substr (escval, start + qt_pos + i - 3, 2) = "¿*" 100 | substr (escval, start + qt_pos + i - 3, 2) = "**") 101 then 102 do; /* step over the quote */ 103 qt_pos = qt_pos + i; 104 goto qt_scan_2; /* and look for another */ 105 end; /**/ 106 /* this is the closing quote */ 107 else qt_pos = start + qt_pos + i - 1; 108 else qt_pos = start + qt_pos + i - 1; 109 else qt_pos = start + qt_pos + i - 1; 110 111 sub_strt = start + 1; /* start of given string */ 112 sub_len = qt_pos - sub_strt; /* end of given string */ 113 114 start = sub_strt + sub_len + 1; /* see what follows the closer */ 115 116 if start < buflen & substr (value, start, 1) = "(" 117 then 118 do; /* if its a substr expression */ 119 start = start + 1; /* step over the paren */ 120 call comp_expr_eval_ (value, start, info_ptr, NUM, 0, "0"b, 121 given_strt, "", "0"b, 0); 122 given_strt = divide (given_strt, 1000, 31, 0); 123 124 if start = 0 /* something was wrong */ 125 then 126 do; 127 pmstart = 0; 128 goto return_; 129 end; 130 131 if given_strt < 0 /* if "-i" form */ 132 then 133 do; 134 given_strt = /* back up from end of string */ 135 sub_len + given_strt + 1; 136 137 if given_strt <= 0 /* if before given string */ 138 then 139 do; 140 call comp_report_ (2, 0, 141 "Substring starts before given string.", info_ptr, 142 buffer); 143 pmstart = 0; 144 goto return_; 145 end; 146 end; 147 148 if given_strt > sub_len /* if after given string */ 149 then null_result = "1"b; /* will give back null string */ 150 /* but we must still finish parsing */ 151 152 if substr (value, start, 1) = "," 153 /* if ",k" form */ 154 then 155 do; 156 start = start + 1; /* step over the comma */ 157 call comp_expr_eval_ (value, start, info_ptr, NUM, 0, "0"b, 158 given_len, "", "0"b, 0); 159 given_len = divide (given_len, 1000, 31, 0); 160 161 if start = 0 /* something was wrong */ 162 then 163 do; 164 pmstart = 0; 165 goto return_; 166 end; 167 168 if given_len < 0 /* if ",-k" form */ 169 then 170 do; 171 sub_len = sub_len - given_strt + given_len + 2; 172 /* adjust substr length */ 173 174 if sub_len < 0 & ^null_result 175 /* dont complain of we already know */ 176 /* there is "nothing" there */ 177 then 178 do; 179 call comp_report_ (2, 0, 180 "Negative substring length.", info_ptr, 181 buffer); 182 pmstart = 0; 183 goto return_; 184 end; 185 end; 186 187 else sub_len = min (sub_len, given_len); 188 end; 189 190 else sub_len = sub_len - given_strt + 1; 191 192 sub_strt = sub_strt + given_strt - 1; 193 /* check for closer */ 194 if substr (value, start, 1) ^= ")" 195 then 196 do; 197 call comp_report_ (2, 0, "Missing right parenthesis", 198 info_ptr, buffer); 199 pmstart = 0; 200 goto return_; 201 end; 202 else start = start + 1; /* else step over it */ 203 end; 204 205 if null_result /* set final result */ 206 then 207 do; 208 value = ""; 209 flen = 0; 210 pmnext = start; 211 goto return_; 212 end; /**/ 213 /* final output string */ 214 if reduce & index (value, "*") ^= 0 215 then call comp_util_$escape (value, info_ptr); 216 value = substr (value, sub_strt, sub_len); 217 pmnext = start; 218 flen = length (value); 219 220 return_: 221 if shared.bug_mode 222 then call ioa_ ("^5x(extr_str) (^d) ^a", flen, 223 comp_util_$display (value, 0, "0"b)); 224 225 return (value); 226 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 */ 227 2 1 /* BEGIN INCLUDE FILE comp_fntstk.incl.pl1 */ 2 2 2 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 2 4 2 5 dcl fntstk_eptr ptr; /* font stack entry structure */ 2 6 dcl 1 fntstk_entry aligned based (fntstk_eptr), 2 7 2 bachelor bit (1), /* 1= has no members */ 2 8 2 devfnt fixed bin, /* font in the device */ 2 9 2 fam_name char (32), /* family name */ 2 10 2 famndx fixed bin, /* family index */ 2 11 2 fntptr ptr, /* font table pointer */ 2 12 2 mem_name char (32), /* /member name (or null) */ 2 13 2 memndx fixed bin, /* member index */ 2 14 2 memptr ptr, /* member table pointer */ 2 15 2 name char (65) var, /* font name */ 2 16 2 size fixed bin (31), /* requested point size */ 2 17 2 ps fixed bin (31), /* effective point size */ 2 18 2 fcs_str char (8); /* FCS string */ 2 19 2 20 /* END INCLUDE FILE comp_fntstk.incl.pl1 */ 228 3 1 /* BEGIN INCLUDE FILE comp_shared.incl.pl1 */ 3 2 3 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 3 4 3 5 dcl shared_version fixed bin (35) static options (constant) init (17); 3 6 3 7 dcl 1 shared aligned based (const.shared_ptr), 3 8 2 version fixed bin (35), /* version of this structure */ 3 9 2 chars, 3 10 ( 3 sym_delim, /* delimiter for symbols */ 3 11 3 ttl_delim, /* delimiter for title parts */ 3 12 3 wrd_brkr /* word break character */ 3 13 ) char (1) unal, 3 14 3 PAD char (1) unal, 3 15 2 cbar_type char (4) var, /* change bar type */ 3 16 2 dot_add_letter /* dot page add letter */ 3 17 char (1) var, 3 18 2 EN_width fixed bin (31), /* width of EN in current font */ 3 19 2 eqn_refct fixed bin, /* equation reference counter */ 3 20 2 footref_fcs /* footnote ref FCS string */ 3 21 char (8) aligned, 3 22 2 ftn_reset char (8) var, /* footnote reset mode */ 3 23 2 ftnrefct fixed bin, /* footnote ref counter */ 3 24 2 hyph_size fixed bin (31), /* least word part size for hyphing */ 3 25 2 if_nest, /* if/then/else logic control */ 3 26 3 ndx fixed bin, /* depth of logic nest */ 3 27 3 e (25), /* nest entries */ 3 28 /* .if control switch */ 3 29 4 sw fixed bin, /* 0=off, 1=(then), -1=(else) */ 3 30 4 info aligned like text_entry.info, 3 31 4 line char (256) var, /* the control line */ 3 32 2 indctl, /* indent ctls stack */ 3 33 3 ndx fixed bin, /* current level */ 3 34 /* switch bits */ 3 35 3 stk (0:35) bit (1) unal, 3 36 2 input_dirname 3 37 char (168) var, /* dir containing current input file */ 3 38 2 input_filename 3 39 char (200) var, /* current input file name */ 3 40 2 lead fixed bin (31), /* current linespacing value */ 3 41 2 lit_count fixed bin (35), /* count of literal lines */ 3 42 2 next_pagenmbr 3 43 char (32) var, /* next page number / */ 3 44 2 output_file 3 45 char (32) var, /* output file identifier */ 3 46 2 pagecount fixed bin, /* number of pages produced */ 3 47 2 pagenum, /* page number structure */ 3 48 3 index fixed bin, /* level currently counting */ 3 49 ( 3 50 3 sep char (1) unal, /* separator chars */ 3 51 3 nmbr fixed bin (31), /* the counters */ 3 52 3 mode /* display modes */ 3 53 fixed bin (8) unal 3 54 ) dimension (20), 3 55 2 parameter char (254) var, /* command line parameter */ 3 56 2 param_pres bit (1), /* passed parameter flag */ 3 57 2 pass_counter 3 58 fixed bin, /* pass counter */ 3 59 2 picture, /* picture blocks */ 3 60 3 count fixed bin, /* number of them */ 3 61 3 space fixed bin (31), /* total picture space */ 3 62 3 blk (10), /* picture blocks */ 3 63 4 type char (4), /* type = page/col */ 3 64 4 place char (4), /* place = top/cen/bot */ 3 65 4 ptr ptr, /* pointer to block */ 3 66 4 size fixed bin (31), /* size of the picture */ 3 67 2 ptrs, 3 68 ( 3 aux_file_data_ptr, /* -> auxiliary file data */ 3 69 3 blank_footer_ptr, /* -> blank page footer */ 3 70 3 blank_header_ptr, /* -> blank page header */ 3 71 3 blank_text_ptr, /* -> blank page text */ 3 72 3 blkptr, /* -> active text */ 3 73 3 colptr, /* current column */ 3 74 3 compout_ptr, /* iocb pointer for output */ 3 75 3 compx_ptr, /* iocb pointer for compx file */ 3 76 3 ctb_ptr, /* current line artwork table */ 3 77 3 epftrptr, /* even page footer block */ 3 78 3 ephdrptr, /* even page header block */ 3 79 3 fcb_ptr, /* input file control block pointer */ 3 80 3 ftnblk_data_ptr, /* footnote block data pointer */ 3 81 3 footnote_header_ptr, /* footnote header "title" */ 3 82 3 graphic_page_ptr, /* graphic output page */ 3 83 3 hit_data_ptr, /* hit data pointer */ 3 84 3 htab_ptr, /* horizontal tab tables */ 3 85 3 hwrd_data_ptr, /* local hyphenation table */ 3 86 3 insert_ptr, /* data entry for current input file */ 3 87 3 opftrptr, /* odd page footer block */ 3 88 3 ophdrptr, /* odd page header block */ 3 89 3 ptb_ptr, /* previous line artwork table */ 3 90 3 spcl_blkptr, /* "special" block pointer */ 3 91 3 tbldata_ptr, /* table column data structure */ 3 92 3 tblkdata_ptr, /* text block data array */ 3 93 3 text_header_ptr /* empty text header structure */ 3 94 ) ptr, 3 95 2 scale, /* space conversion scale factors */ 3 96 3 horz fixed bin (31), /* horizontal */ 3 97 3 vert fixed bin (31), /* vertical */ 3 98 2 source_filename 3 99 char (200) var, /* current source file name */ 3 100 2 sws, /* switch bits */ 3 101 ( 3 bug_mode, /* debug mode */ 3 102 3 compout_not_headed, /* compout is not headed */ 3 103 3 end_input, /* EOF for current input file */ 3 104 3 end_output, /* no more output is wanted */ 3 105 3 firstpass, /* first pass over input */ 3 106 3 ftn_mode, /* in footnote mode */ 3 107 3 hyph_mode, /* hyphenating mode */ 3 108 3 inserting_hfc, /* inserting hdr, ftr, or cap */ 3 109 3 literal_mode, /* literal line mode flag */ 3 110 3 pageblock, /* blocks belong to page */ 3 111 3 picture_mode, /* building a picture */ 3 112 3 print_flag, /* producing output */ 3 113 3 purge_ftns, /* purging footnotes */ 3 114 3 suppress_footref, /* suppress next footnote ref */ 3 115 3 table_mode /* table mode */ 3 116 ) bit (1) unal, 3 117 3 MBZ bit (21) unal, 3 118 2 trans, /* trans table for .tr */ 3 119 3 in char (128) var, /* input chars */ 3 120 3 out char (128) var, /* output chars */ 3 121 2 widow_size fixed bin (31), /* widow size */ 3 122 2 widow_foot fixed bin (31); /* widow for footnotes */ 3 123 /* to save shared data between files/passes */ 3 124 dcl 1 save_shared aligned like shared based (const.save_shared_ptr); 3 125 3 126 dcl dot_addltr_symb_index 3 127 fixed bin static options (constant) init (12); 3 128 dcl max_text_lines fixed bin static options (constant) init (1000); 3 129 dcl mode_string char (16) static options (constant) 3 130 init ("arbihxocalaurlru"); 3 131 /* value overlays */ 3 132 dcl flag_value bit (1) based; 3 133 dcl num_value fixed bin (31) based; 3 134 3 135 /* END INCLUDE FILE comp_shared.incl.pl1 */ 229 4 1 /* BEGIN INCLUDE FILE comp_text.incl.pl1 */ 4 2 4 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 4 4 4 5 dcl 1 tblkdata /* data for allocated text blocks */ 4 6 aligned based (shared.tblkdata_ptr), 4 7 2 block, /* block pool */ 4 8 3 count fixed bin, 4 9 3 ptr (500) ptr, /* block pointers */ 4 10 /* block state flags */ 4 11 3 free (500) bit (1) unal, 4 12 2 line_area, /* line area pool */ 4 13 3 count fixed bin, 4 14 3 ptr (500) ptr, /* area pointers */ 4 15 /* area state flags */ 4 16 3 free (500) bit (1) unal, 4 17 2 text_area, /* text area pool */ 4 18 3 count fixed bin, 4 19 3 ptr (500) ptr, /* area pointers */ 4 20 /* area state flags */ 4 21 3 free (500) bit (1) unal, 4 22 3 string_area_count 4 23 fixed bin; /* line areas */ 4 24 dcl LINE_AREA_SIZE fixed bin static options (constant) init (24); 4 25 dcl line_area_ptr ptr init (null); 4 26 dcl 1 line_area aligned based (line_area_ptr), 4 27 2 next ptr, /* forward thread */ 4 28 2 prev ptr, /* backward thread */ 4 29 2 count fixed bin, /* number of lines allocated */ 4 30 2 ndx fixed bin, /* index of current line */ 4 31 2 pndx fixed bin, /* area pool index */ 4 32 2 linptr (LINE_AREA_SIZE) ptr; 4 33 /* text areas */ 4 34 dcl TEXT_AREA_SIZE fixed bin static options (constant) init (6); 4 35 dcl text_area_ptr ptr init (null); 4 36 dcl 1 text_area aligned based (text_area_ptr), 4 37 2 next ptr, /* forward thread */ 4 38 2 count fixed bin, /* number of areas allocated */ 4 39 2 ndx fixed bin, /* index of current strarea */ 4 40 2 pndx fixed bin, /* area pool index */ 4 41 2 strareaptr (TEXT_AREA_SIZE) ptr; 4 42 /* text string area */ 4 43 dcl string_area (256) fixed bin based; 4 44 dcl txtstrptr ptr; /* current text string */ 4 45 dcl txtstr char (1020) var based (txtstrptr); 4 46 4 47 dcl TEXT_VERSION fixed bin static options (constant) init (9); 4 48 /* general text block */ 4 49 dcl 1 text aligned based (shared.blkptr), 4 50 2 version fixed bin, /* version of structure */ 4 51 2 blkndx fixed bin, /* block data index */ 4 52 2 blktype char (2), /* block type code */ 4 53 /* dynamic block control stuff */ 4 54 2 hdr aligned like text_header, 4 55 /* text read from input file */ 4 56 2 input aligned like text_entry, 4 57 2 input_line char (1020) var,/* input buffer */ 4 58 2 line_area, 4 59 3 first ptr, /* head of line area thread */ 4 60 3 cur ptr, /* current line area */ 4 61 2 next_text ptr, /* next text string */ 4 62 /* text formatting parameters */ 4 63 2 parms aligned like default_parms, 4 64 2 text_area, 4 65 3 first ptr, /* head of text area thread */ 4 66 3 cur ptr; /* current text area */ 4 67 /* an empty text block line */ 4 68 dcl 1 text_entry aligned based (const.text_entry_ptr), 4 69 2 sws, /* unaligned switches, etc. */ 4 70 3 art bit (1) unal, /* line has artwork */ 4 71 3 cbar, /* change bar flags */ 4 72 4 add bit (1) unal, /* text addition flag */ 4 73 4 del bit (1) unal, /* text deletion flag */ 4 74 4 mod bit (1) unal, /* text modification flag */ 4 75 3 default bit (1) unal, /* 1 = default case as needed */ 4 76 3 DVctl bit (1) unal, /* 1 = line is a device ctl string */ 4 77 3 embedded bit (1) unal, /* 1 = line has an embedded control */ 4 78 3 end_keep bit (1) unal, /* 1= line ends a keep */ 4 79 3 fnt_chng bit (1) unal, /* 1 = text is a font change string */ 4 80 3 footref bit (1) unal, /* 1 = line has a footnote reference */ 4 81 3 hanging bit (1) unal, /* 1 = a hanging undent */ 4 82 3 keep bit (1) unal, /* 1 = unsplittable line */ 4 83 3 no_trim bit (1) unal, /* 1 = untrimmable white line */ 4 84 3 oflo bit (1) unal, /* line causes overflow */ 4 85 3 punct bit (1) unal, /* 1 = line ends with punctuation */ 4 86 3 quad bit (6) unal, /* text alignment flags */ 4 87 3 space_added /* 1= line has added space */ 4 88 bit (1) unal, 4 89 3 spcl, /* special entry - not output text */ 4 90 4 file bit (1) unal, /* 1= output to special file */ 4 91 4 blk_splt /* 1= action at block split time */ 4 92 bit (1) unal, 4 93 4 page_mkup /* 1= action at page makeup time */ 4 94 bit (1) unal, 4 95 3 table bit (1) unal, /* 1= line is a table entry */ 4 96 3 tblspc bit (1) unal, /* 1= WS fill for table mode */ 4 97 3 title bit (1) unal, /* 1= line is a */ 4 98 3 unspnct bit (1) unal, /* 1= underscore punctuation */ 4 99 3 unstop bit (1) unal, /* 1= line is/ends with UNSTOP */ 4 100 3 unstrt bit (1) unal, /* 1= line is/ends with UNSTART */ 4 101 3 unswrds bit (1) unal, /* 1= underscore words only */ 4 102 3 white bit (1) unal, /* 1= line is white space */ 4 103 3 und_prot bit (1) unal, /* 1= undent is protected */ 4 104 3 MBZ bit (4) unal, 4 105 2 art_start fixed bin unal, /* start of art string in line */ 4 106 2 art_len fixed bin unal, /* length of art string in line */ 4 107 2 cbar_level /* change level for cbars */ 4 108 char (1) aligned, 4 109 2 cur, /* current scanning data for line */ 4 110 3 chrct fixed bin, /* count of chars scanned */ 4 111 3 gaps fixed bin, /* gap count */ 4 112 3 width fixed bin (31), /* width of font chars */ 4 113 3 min fixed bin (31), /* width of min spbnds */ 4 114 3 avg fixed bin (31), /* width of avg spbnds */ 4 115 3 max fixed bin (31), /* width of max spbnds */ 4 116 3 font like fntstk_entry, 4 117 2 depth fixed bin (31), /* page depth for line */ 4 118 /* font at start of line */ 4 119 2 font like fntstk_entry, 4 120 2 index fixed bin (21), /* char index for line scanning */ 4 121 2 info, /* stuff created during line input */ 4 122 3 fileno fixed bin, /* input file index */ 4 123 3 lineno fixed bin, /* input file line number */ 4 124 3 lineno0 fixed bin, /* call_box0 line number */ 4 125 2 linespace fixed bin (31), /* linespace value for the line */ 4 126 2 lmarg fixed bin (31), /* adjusted left margin position */ 4 127 2 mod_len fixed bin, /* length of modified text */ 4 128 2 mod_start fixed bin, /* index for start of modified text */ 4 129 2 net fixed bin (31), /* net line width for filling */ 4 130 2 ptr ptr, /* pointer to the actual text */ 4 131 2 rmarg fixed bin (31), /* adjusted right margin position */ 4 132 2 spcl_iocbp ptr, /* iocb ptr for spcl line */ 4 133 2 sym_delim char (1) unal, /* symbol delimiter for this line */ 4 134 2 tblcol fixed bin, /* column for table entries */ 4 135 2 title_delim 4 136 char (1) unal, /* title delimiter if a <title> */ 4 137 2 title_index 4 138 fixed bin, /* <title> block index for line */ 4 139 2 width fixed bin (31), /* width of text */ 4 140 2 ftn, /* footnote info for line */ 4 141 3 ct fixed bin, /* number of footnote refs */ 4 142 3 used fixed bin (31), /* space used */ 4 143 3 e (40), /* limit is arbitrary */ 4 144 4 blkndx fixed bin unal, /* block index of footnote - if this 4 145* value is 0, then .frf was used */ 4 146 4 refno fixed bin unal; /* reference number */ 4 147 4 148 dcl ( 4 149 quadi init ("40"b3), /* set to the inside margin */ 4 150 quado init ("20"b3), /* set to the outside margin */ 4 151 quadl init ("10"b3), /* set left */ 4 152 quadc init ("04"b3), /* set centered */ 4 153 quadr init ("02"b3), /* set right */ 4 154 just init ("01"b3) /* justified */ 4 155 ) bit (6) static options (constant); 4 156 /* control line structure */ 4 157 dcl 1 ctl aligned like text_entry based (const.ctl_ptr); 4 158 dcl ctl_line char (1020) var based (ctl.ptr); 4 159 4 160 dcl txtlinptr ptr; /* the current text line */ 4 161 dcl 1 txtlin aligned like text_entry based (txtlinptr); 4 162 /* empty text header structure */ 4 163 dcl 1 text_header aligned based (const.text_header_ptr), 4 164 2 sws, /* control switches */ 4 165 3 art bit (1) unal, /* block has artwork */ 4 166 3 dfrftn bit (1) unal, /* block is a deferred footnote */ 4 167 3 modified bit (1) unal, /* block contains modified lines */ 4 168 3 no_trim bit (1) unal, /* 1 = dont trim WS block */ 4 169 3 oflo_ftn bit (1) unal, /* overflow footnote */ 4 170 3 tblblk bit (1) unal, /* a table block */ 4 171 3 unref bit (1) unal, /* block is an unreffed footnote */ 4 172 3 white bit (1) unal, /* block is a white space block */ 4 173 3 picture bit (1) unal, /* picture block */ 4 174 3 orphan bit (1) unal, /* 1= footnote is an orphan */ 4 175 3 MBZ bit (26) unal, 4 176 2 art_count fixed bin unal, /* to count input art lines */ 4 177 2 blkptr ptr, /* pointer to suspended block */ 4 178 2 cap_size fixed bin unal, /* line count of text caption */ 4 179 2 cap_used fixed bin (31), /* size of text caption */ 4 180 2 colno fixed bin unal, /* column owning the block */ 4 181 2 count fixed bin unal, /* line count for block */ 4 182 2 eqn_line_count 4 183 fixed bin unal, /* counter for equation lines */ 4 184 2 first_text fixed bin unal, /* OBSOLETE */ 4 185 2 ftn, /* footnotes */ 4 186 3 ct fixed bin, /* count */ 4 187 3 usd fixed bin (31), /* space used */ 4 188 3 blkndx (40) fixed bin, /* footnote block index values */ 4 189 2 head_size fixed bin, /* line count of text header */ 4 190 2 head_used fixed bin (31), /* size of text header */ 4 191 2 index fixed bin unal, /* block index of next output line */ 4 192 2 keep_count fixed bin unal, /* to count input keep lines */ 4 193 2 last_line fixed bin, /* last text line in column */ 4 194 2 mx_ttl_ndx fixed bin, /* max title index value in block */ 4 195 2 name char (32) var, /* block name, if any */ 4 196 2 nofill_count /* to count nofill lines */ 4 197 fixed bin, 4 198 2 parms_ptr ptr, /* parms for suspended block */ 4 199 2 refer fixed bin, /* inter-block reference */ 4 200 2 refer_index /* OBSOLETE */ 4 201 fixed bin, /* a reference */ 4 202 2 split fixed bin, /* split point for balancing */ 4 203 2 trl_ws fixed bin (31), /* trailing WS */ 4 204 2 used fixed bin (31); /* page space used by a column/block */ 4 205 /* text formatting parameters */ 4 206 dcl 1 text_parms aligned like default_parms 4 207 based (const.text_parms_ptr); 4 208 4 209 dcl 1 current_parms 4 210 aligned like default_parms 4 211 based (const.current_parms_ptr); 4 212 4 213 dcl 1 default_parms 4 214 aligned based (const.default_parms_ptr), 4 215 2 sws, /* control switches */ 4 216 3 quad bit (6) unal, /* text alignment mode */ 4 217 3 art bit (1) unal, /* 1 = block countains artwork */ 4 218 3 cbar, /* change bar flags */ 4 219 4 add bit (1) unal, /* text addition flag */ 4 220 4 del bit (1) unal, /* text deletion flag for next line */ 4 221 4 mod bit (1) unal, /* text modification flag */ 4 222 3 fill_mode 4 223 bit (1) unal, /* 1 = fill mode ON */ 4 224 3 footnote bit (1) unal, /* block is a footnote */ 4 225 3 hfc bit (1) unal, /* OBSOLETE */ 4 226 3 htab_mode 4 227 bit (1) unal, /* 1 = horizontal tab mode ON */ 4 228 3 keep bit (1) unal, /* keep mode */ 4 229 3 page bit (1) unal, /* block belongs to page, not text */ 4 230 3 title_mode 4 231 bit (1) unal, /* 0 = plain text, 1 = <title>s OK */ 4 232 3 MBZ bit (19) unal, 4 233 2 ftrptr ptr, /* text caption block */ 4 234 2 cbar_level /* change level for cbars */ 4 235 char (1) aligned, 4 236 2 hdrptr ptr, /* text header block */ 4 237 2 left, /* left margin data */ 4 238 3 indent fixed bin (31), 4 239 3 undent fixed bin (31), 4 240 2 linespace fixed bin (31), /* line spacing value */ 4 241 2 measure fixed bin (31), /* line space for text */ 4 242 /* right margin data */ 4 243 2 right like default_parms.left, 4 244 2 fntstk, /* stack of last 20 font changes */ 4 245 3 index fixed bin, /* which one in use */ 4 246 /* entry(0) is the default */ 4 247 3 entry (0:19) like fntstk_entry; 4 248 4 249 dcl hfcblk_ptr ptr; 4 250 dcl 1 hfcblk aligned like text based (hfcblk_ptr); 4 251 4 252 /* END INCLUDE FILE comp_text.incl.pl1 */ 230 5 1 /* BEGIN INCLUDE FILE compstat.incl.pl1 - external static data for compose 5 2* 5 3* This storage is converted from external (as declared) to internal by the 5 4* binder and contains items that must be accessible to both the bound and 5 5* unbound program. */ 5 6 5 7 /* Written: ??/??/7? - EJW 5 8* Modified: 10/18/84 - EJW - (First recorded change) Added current_parms_ptr 5 9* and removed the codes array; version 6. 5 10**/ 5 11 5 12 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 5 13 5 14 dcl 1 compstat$compconst 5 15 aligned like const ext static; 5 16 5 17 dcl const_version fixed bin (35) static options (constant) init (6); 5 18 dcl MAX_TREE_AREA_CT /* entries in a tree area */ 5 19 fixed bin static options (constant) init (80); 5 20 dcl MAX_TREE_AREAS /* number of tree areas */ 5 21 fixed bin static options (constant) init (20); 5 22 5 23 dcl 1 const aligned based (compstat$compconst.ptr), 5 24 2 ptr ptr, /* self pointer - MUST BE FIRST */ 5 25 2 version fixed bin (35), /* structure version */ 5 26 2 art_symbols /* string of art symbols */ 5 27 char (28) aligned, 5 28 2 builtin_count /* count of builtin variables */ 5 29 fixed bin, 5 30 2 comp_dir char (200), /* dir in which compose lives */ 5 31 2 comp_version 5 32 char (8) var, /* compose version id */ 5 33 2 date_value char (8) var, /* current date */ 5 34 2 dsm_name char (32), /* device support module name */ 5 35 2 dvt_name char (32), /* device table name */ 5 36 2 max_seg_chars 5 37 fixed bin (35), /* char count in a max seg */ 5 38 2 null_str char (1) var, /* an empty string */ 5 39 2 ptrs, 5 40 ( 3 call_stk_ptr, /* -> insert call stack */ 5 41 3 colhdrptr, /* empty column header structure */ 5 42 3 ctl_ptr, /* input line structure */ 5 43 3 current_parms_ptr, /* current formatting parms */ 5 44 3 default_parms_ptr, /* default initial text parms */ 5 45 3 devptr, /* -> comp_dvt structure */ 5 46 3 dvidptr, /* -> comp_dvid structure */ 5 47 3 errblk_ptr, /* error message block pointer */ 5 48 3 footnote_parms_ptr, /* footnote formatting parms */ 5 49 3 fnttbldata_ptr, /* -> font table data */ 5 50 3 global_area_ptr, /* per invocation storage */ 5 51 3 init_page_parms_ptr, /* default initial page parms */ 5 52 3 insert_data_ptr, /* insert file data block */ 5 53 3 local_area_ptr, /* per file storage */ 5 54 3 loctbl_ptr, /* for font copying */ 5 55 3 option_ptr, /* program options block */ 5 56 3 outproc_ptr, /* device writer for cleanup */ 5 57 3 page_ptr, /* active page structure */ 5 58 3 page_header_ptr, /* empty page header structure */ 5 59 3 page_parms_ptr, /* page formatting parameter block */ 5 60 3 save_shared_ptr, /* saved shared data */ 5 61 3 shared_ptr, /* shared data structure */ 5 62 3 text_entry_ptr, /* empty text entry structure */ 5 63 3 text_header_ptr, /* empty text header structure */ 5 64 3 text_parms_ptr, /* main body formatting parms */ 5 65 3 tree_ptr /* symbol tree structure */ 5 66 ) ptr, 5 67 2 time_value char (6) var; /* time at start */ 5 68 5 69 /* Other external */ 5 70 dcl ( 5 71 ioa_, 5 72 ioa_$nnl 5 73 ) entry options (variable); 5 74 dcl iox_$error_output 5 75 ptr ext static, /* iocb pointer for error_output */ 5 76 iox_$user_input 5 77 ptr ext static, /* iocb pointer for user_input */ 5 78 iox_$user_output 5 79 ptr ext static; /* iocb pointer for user_output */ 5 80 dcl sys_info$max_seg_size 5 81 fixed bin (18) ext static; 5 82 5 83 /* END INCLUDE FILE compstat.incl.pl1 */ 231 232 233 end comp_extr_str_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/23/85 0909.1 comp_extr_str_.pl1 >spec>online>comp>comp_extr_str_.pl1 227 1 03/01/85 1411.9 comp_entries.incl.pl1 >ldd>include>comp_entries.incl.pl1 228 2 03/01/85 1412.0 comp_fntstk.incl.pl1 >ldd>include>comp_fntstk.incl.pl1 229 3 03/01/85 1412.0 comp_shared.incl.pl1 >ldd>include>comp_shared.incl.pl1 230 4 04/23/85 0912.6 comp_text.incl.pl1 >spec>online>comp>comp_text.incl.pl1 231 5 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. NUM 000022 constant fixed bin(17,0) initial dcl 44 set ref 120* 157* buffer parameter varying char dcl 23 set ref 14 60 63 63 67 70 71 76 88* 92 140* 179* 197* buflen 000100 automatic fixed bin(21,0) dcl 32 set ref 60* 63 116 bug_mode 4113 based bit(1) level 3 packed unaligned dcl 3-7 ref 63 220 char 000101 automatic char(1) initial unaligned dcl 34 set ref 34* comp_error_table_$missing_delimiter 000010 external static fixed bin(35,0) dcl 57 set ref 88* comp_expr_eval_ 000012 constant entry external dcl 1-17 ref 120 157 comp_report_ 000014 constant entry external dcl 1-59 ref 140 179 197 comp_report_$ctlstr 000016 constant entry external dcl 1-61 ref 88 comp_util_$display 000020 constant entry external dcl 1-77 ref 63 220 comp_util_$escape 000022 constant entry external dcl 1-80 ref 77 214 compstat$compconst 000024 external static structure level 1 dcl 5-14 const based structure level 1 dcl 5-23 default_parms based structure level 1 dcl 4-213 escval 000102 automatic varying char(1020) dcl 37 set ref 76* 77 77* 97 97 flen parameter fixed bin(21,0) dcl 26 set ref 14 72* 93* 209* 218* 220* fntstk_entry based structure level 1 dcl 2-6 given_len 000502 automatic fixed bin(31,0) dcl 38 set ref 157* 159* 159 168 171 187 given_strt 000503 automatic fixed bin(31,0) dcl 39 set ref 120* 122* 122 131 134* 134 137 148 171 190 192 i 000504 automatic fixed bin(17,0) initial dcl 41 set ref 41* 82* 85 97 97 97 97 103 107 108 109 index builtin function dcl 54 ref 77 82 214 info 277 based structure level 3 in structure "text" dcl 4-49 in procedure "comp_extr_str_" info 161 based structure level 2 in structure "txtlin" dcl 4-161 in procedure "comp_extr_str_" info 277 based structure level 3 in structure "hfcblk" dcl 4-250 in procedure "comp_extr_str_" info 161 based structure level 2 in structure "text_entry" dcl 4-68 in procedure "comp_extr_str_" info 161 based structure level 2 in structure "ctl" dcl 4-157 in procedure "comp_extr_str_" info_ptr parameter pointer dcl 27 set ref 14 77* 88* 120* 140* 157* 179* 197* 214* ioa_ 000026 constant entry external dcl 5-70 ref 63 220 j 000505 automatic fixed bin(17,0) initial dcl 41 set ref 41* k 000506 automatic fixed bin(17,0) initial dcl 41 set ref 41* left 12 based structure level 2 in structure "default_parms" dcl 4-213 in procedure "comp_extr_str_" left 1016 based structure level 3 in structure "hfcblk" dcl 4-250 in procedure "comp_extr_str_" left 12 based structure level 2 in structure "text_parms" dcl 4-206 in procedure "comp_extr_str_" left 12 based structure level 2 in structure "current_parms" dcl 4-209 in procedure "comp_extr_str_" left 1016 based structure level 3 in structure "text" dcl 4-49 in procedure "comp_extr_str_" len 000507 automatic fixed bin(17,0) initial dcl 43 set ref 43* length builtin function dcl 54 ref 60 71 72 92 93 218 line_area_ptr 001116 automatic pointer initial dcl 4-25 set ref 4-25* min builtin function dcl 54 ref 187 null builtin function dcl 54 ref 4-25 4-35 null_result 000510 automatic bit(1) unaligned dcl 45 set ref 61* 148* 174 205 pmnext parameter fixed bin(21,0) dcl 25 set ref 14 71* 92* 210* 217* pmstart parameter fixed bin(21,0) dcl 24 set ref 14 63* 63 63 63 67 70 80 127* 143* 164* 182* 199* ptr 000024 external static pointer level 2 dcl 5-14 ref 63 220 ptrs 126 based structure level 2 dcl 5-23 qt_pos 000511 automatic fixed bin(17,0) dcl 47 set ref 79* 82 97 97 97 97 103* 103 107* 107 108* 108 109* 109 112 reduce parameter bit(1) unaligned dcl 20 ref 14 77 214 shared based structure level 1 dcl 3-7 shared_ptr 200 based pointer level 3 dcl 5-23 ref 63 220 start 000512 automatic fixed bin(21,0) dcl 48 set ref 80* 82 88 88 91 97 97 97 97 107 108 109 111 114* 116 116 119* 119 120* 124 152 156* 156 157* 161 194 202* 202 210 217 sub_len 000513 automatic fixed bin(17,0) dcl 49 set ref 112* 114 134 148 171* 171 174 187* 187 190* 190 216 sub_strt 000514 automatic fixed bin(17,0) dcl 50 set ref 111* 112 114 192* 192 216 sws 4113 based structure level 2 dcl 3-7 text based structure level 1 dcl 4-49 text_area_ptr 001120 automatic pointer initial dcl 4-35 set ref 4-35* text_entry based structure level 1 dcl 4-68 text_header based structure level 1 dcl 4-163 value 000515 automatic varying char(1020) dcl 52 set ref 70* 72 76* 82 88 88 91* 91 93 97 116 120* 152 157* 194 208* 214 214* 216* 216 218 220* 225 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. LINE_AREA_SIZE internal static fixed bin(17,0) initial dcl 4-24 MAX_TREE_AREAS internal static fixed bin(17,0) initial dcl 5-20 MAX_TREE_AREA_CT internal static fixed bin(17,0) initial dcl 5-18 TEXT_AREA_SIZE internal static fixed bin(17,0) initial dcl 4-34 TEXT_VERSION internal static fixed bin(17,0) initial dcl 4-47 bufinfo based structure level 1 unaligned dcl 28 char_index automatic fixed bin(17,0) dcl 35 collate9 builtin function dcl 54 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_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_$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_$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 compose_severity_ external static fixed bin(35,0) dcl 1-5 const_version internal static fixed bin(35,0) initial dcl 5-17 ctl based structure level 1 dcl 4-157 ctl_line based varying char(1020) dcl 4-158 current_parms based structure level 1 dcl 4-209 dot_addltr_symb_index internal static fixed bin(17,0) initial dcl 3-126 flag_value based bit(1) unaligned dcl 3-132 fntstk_eptr automatic pointer dcl 2-5 hfcblk based structure level 1 dcl 4-250 hfcblk_ptr automatic pointer dcl 4-249 ioa_$nnl 000000 constant entry external dcl 5-70 iox_$error_output external static pointer dcl 5-74 iox_$user_input external static pointer dcl 5-74 iox_$user_output external static pointer dcl 5-74 just internal static bit(6) initial unaligned dcl 4-148 line_area based structure level 1 dcl 4-26 max_text_lines internal static fixed bin(17,0) initial dcl 3-128 mode automatic fixed bin(35,0) dcl 46 mode_string internal static char(16) initial unaligned dcl 3-129 num_value based fixed bin(31,0) dcl 3-133 quadc internal static bit(6) initial unaligned dcl 4-148 quadi internal static bit(6) initial unaligned dcl 4-148 quadl internal static bit(6) initial unaligned dcl 4-148 quado internal static bit(6) initial unaligned dcl 4-148 quadr internal static bit(6) initial unaligned dcl 4-148 save_shared based structure level 1 dcl 3-124 shared_version internal static fixed bin(35,0) initial dcl 3-5 string_area based fixed bin(17,0) array dcl 4-43 sys_info$max_seg_size external static fixed bin(18,0) dcl 5-80 tblkdata based structure level 1 dcl 4-5 text_area based structure level 1 dcl 4-36 text_parms based structure level 1 dcl 4-206 txtlin based structure level 1 dcl 4-161 txtlinptr automatic pointer dcl 4-160 txtstr based varying char(1020) dcl 4-45 txtstrptr automatic pointer dcl 4-44 NAMES DECLARED BY EXPLICIT CONTEXT. comp_extr_str_ 000110 constant entry external dcl 14 qt_scan_2 000375 constant label dcl 82 ref 104 return_ 001313 constant label dcl 220 ref 73 94 128 144 165 183 200 211 NAMES DECLARED BY CONTEXT OR IMPLICATION. divide builtin function ref 122 159 substr builtin function ref 63 63 67 70 82 88 88 91 97 97 97 116 152 194 216 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1534 1564 1414 1544 Length 2046 1414 30 246 120 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME comp_extr_str_ 710 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME comp_extr_str_ 000100 buflen comp_extr_str_ 000101 char comp_extr_str_ 000102 escval comp_extr_str_ 000502 given_len comp_extr_str_ 000503 given_strt comp_extr_str_ 000504 i comp_extr_str_ 000505 j comp_extr_str_ 000506 k comp_extr_str_ 000507 len comp_extr_str_ 000510 null_result comp_extr_str_ 000511 qt_pos comp_extr_str_ 000512 start comp_extr_str_ 000513 sub_len comp_extr_str_ 000514 sub_strt comp_extr_str_ 000515 value comp_extr_str_ 001116 line_area_ptr comp_extr_str_ 001120 text_area_ptr comp_extr_str_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_cs call_ext_out_desc shorten_stack ext_entry_desc return_chars_eis THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. comp_expr_eval_ comp_report_ comp_report_$ctlstr comp_util_$display comp_util_$escape ioa_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. comp_error_table_$missing_delimiter compstat$compconst LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 14 000102 34 000123 41 000125 43 000131 4 25 000132 4 35 000134 60 000135 61 000141 63 000142 67 000254 70 000264 71 000300 72 000303 73 000305 76 000306 77 000333 79 000370 80 000372 82 000375 85 000416 88 000417 91 000500 92 000513 93 000520 94 000522 97 000523 103 000551 104 000553 107 000554 108 000557 109 000562 111 000566 112 000571 114 000574 116 000577 119 000605 120 000606 122 000672 124 000675 127 000677 128 000701 131 000702 134 000704 137 000707 140 000710 143 000751 144 000753 148 000754 152 000760 156 000765 157 000766 159 001052 161 001055 164 001057 165 001061 168 001062 171 001064 174 001071 179 001074 182 001135 183 001137 185 001140 187 001141 188 001145 190 001146 192 001152 194 001156 197 001163 199 001224 200 001226 202 001227 205 001230 208 001232 209 001233 210 001235 211 001237 214 001240 216 001275 217 001306 218 001311 220 001313 225 001376 ----------------------------------------------------------- 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