COMPILATION LISTING OF SEGMENT comp_read_ Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 04/23/85 1006.9 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 read stuff from input files */ 11 12 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 13 14 comp_read_: 15 proc; 16 return; /* no entry here */ 17 18 /* GLOBAL PARAMETERS 19* a string - (IN) or (OUT) depending 20* on entry used */ 21 dcl buffer char (*) var parameter; 22 dcl a_info_ptr ptr parameter; /* (IN) -> to error info structure */ 23 /* (OUT) next char index of string */ 24 dcl next fixed bin (21) parameter; 25 /* (IN) char index of string */ 26 dcl start fixed bin (21) parameter; 27 28 /* LOCAL STORAGE */ 29 30 dcl ascii_width fixed bin; /* width of ctl line in chars */ 31 dcl blank_count fixed bin; /* count of blanks inserted */ 32 dcl bufct fixed bin; /* chars returned in buffer */ 33 dcl char_index_ptr ptr; /* for width measurement */ 34 dcl char_index (1020) fixed bin (9) unsigned unaligned 35 based (char_index_ptr); 36 dcl ercd fixed bin (35); /* error code */ 37 /* the MSF control block */ 38 dcl 1 fcb based (fcbp) aligned, 39 2 version fixed bin, /* version of this structure */ 40 2 type fixed bin, /* form of msf */ 41 2 max_components /* maximum number of components */ 42 fixed bin, 43 2 max_len fixed bin (19), /* max words in each component. */ 44 2 pad (1) fixed bin, 45 2 pathnames, /* dirname, ename, and path */ 46 3 dname char (168), 47 3 ename char (32), 48 3 path char (200), 49 2 initiated_components, /* info about initiated components */ 50 3 number fixed bin, /* how many are initiated */ 51 3 highest_value /* highest of those inited */ 52 fixed bin, 53 3 listp ptr, /* ptr to head of inited segs list */ 54 /* save ring bracks */ 55 2 rbs (3) fixed bin (3), 56 /* if comps are multiclass segs */ 57 2 upgrade_sw bit (1) aligned, 58 2 access_class /* AIM class if upgrade_sw ON */ 59 bit (72) aligned; 60 61 dcl fcbp ptr; /* local copy of fcb pointer */ 62 /* input file data */ 63 dcl 1 file like insert.file based (filptr); 64 dcl i fixed bin; /* working index */ 65 dcl info_ptr ptr; 66 dcl 1 info like text_entry.info based (info_ptr); 67 dcl input_file char (const.max_seg_chars) based (file.pointer); 68 dcl linct fixed bin; /* chars in input line */ 69 70 dcl (addr, after, before, bin, char, copy, divide, index, length, ltrim, 71 min, null, rtrim, search, substr, verify) 72 builtin; 73 74 /* read an input line */ 75 76 line: 77 entry (filptr, buffer, skip); 78 79 /* PARAMETERS */ 80 81 dcl filptr ptr; /* input file data pointer */ 82 dcl skip bit (1); /* 1 = skipping lines, dont print */ 83 84 /* LOCAL STORAGE */ 85 86 dcl (ii, j, k) fixed bin; /* working index */ 87 dcl input_bitcount fixed bin (35); /* bit count of MSF components */ 88 dcl junk char (80); /* junk chars for pause option */ 89 dcl rest fixed bin (21); /* rest of input file */ 90 91 dcl (dec, mod) builtin; 92 dcl comp_abort condition; 93 94 dcl comp_error_table_$program_error 95 fixed bin (35) ext static; 96 dcl error_table_$zero_length_seg 97 fixed bin (35) ext static; 98 99 dcl iox_$get_line entry (ptr, ptr, fixed bin (35), fixed bin (35), 100 fixed bin (35)); 101 dcl msf_manager_$get_ptr 102 entry (ptr, fixed bin, bit (1), ptr, fixed bin (35), 103 fixed bin (35)); 104 105 blank_count = 0; 106 fcbp = file.fcb_ptr; /* copy fcb pointer */ 107 info_ptr = addr (file.info); /* set info ptr */ 108 buffer = ""; /* erase the buffer */ 109 110 get_line: /* if not at EOF */ 111 rest = file.charcount - file.posn + 1; 112 if file.posn <= file.charcount /* set input line length */ 113 then linct = index (substr (input_file, file.posn, rest), NL) - 1; 114 else linct = -1; /* set as a no NL signal */ 115 116 if linct < 0 /* if no NL */ 117 then 118 do; /* if not EOF */ 119 if file.posn < file.charcount 120 then 121 do; /* take rest of file */ 122 if length (buffer) + rest > maxlength (buffer) 123 then 124 do; 125 length_error: 126 ercd = comp_error_table_$program_error; 127 call comp_report_$ctlstr (4, ercd, info_ptr, ctl_line, 128 "Input line is longer than max allowable length of " 129 || "^d characters.", maxlength (buffer)); 130 signal comp_abort; 131 return; 132 end; 133 134 buffer = buffer || substr (input_file, file.posn, rest); 135 end; 136 137 next_component: /* if this is an MSF and there are */ 138 if fcb.type = 2 /* more components */ 139 & file.comp_no < fcb.max_components - 1 140 then /* get next component */ 141 do; /* step component number */ 142 file.comp_no = file.comp_no + 1; 143 144 call msf_manager_$get_ptr (fcbp, file.comp_no, "0"b, file.pointer, 145 input_bitcount, ercd); 146 if ercd ^= 0 147 then 148 do; 149 call comp_report_$ctlstr (4, ercd, info_ptr, ctl_line, 150 "Accessing component ^d of input file ^a", file.comp_no, 151 file.path); 152 signal comp_abort; 153 return; 154 end; 155 156 if input_bitcount = 0 /* if the component is null */ 157 then 158 do; 159 call comp_report_$ctlstr (2, error_table_$zero_length_seg, 160 info_ptr, ctl_line, 161 "Component ^d of input file ^a is empty.", file.comp_no, 162 file.path); 163 goto next_component; 164 end; 165 166 else 167 do; 168 file.posn = 1; 169 file.charcount = divide (input_bitcount, 9, 35, 0); 170 goto get_line; 171 end; 172 end; 173 174 if file.posn > file.charcount 175 then 176 do; 177 if shared.bug_mode 178 then call ioa_ ("***^/read$line: (end_input: ^a)", 179 shared.input_filename); 180 shared.end_input = "1"b; 181 return; 182 end; /**/ 183 /* so we dont read any more */ 184 file.posn = file.charcount + 1; 185 end; 186 187 else 188 do; 189 call_box_ptr = call_stack (call_stack.index).ptr; 190 /* step input line count */ 191 info.lineno = info.lineno + 1; 192 if call_stack.index = 0 193 then info.lineno0 = info.lineno; 194 195 /* ignore comment lines */ 196 if substr (input_file, file.posn, 2) = ".*" & ^shared.literal_mode 197 then 198 do; 199 buffer = ""; 200 file.posn = file.posn + linct + 1; 201 goto get_line; 202 end; 203 204 bufct = linct; /* set chars to return */ 205 206 if ^shared.literal_mode /* check for multiple controls */ 207 | shared.literal_mode & shared.lit_count = 0 208 then 209 do; 210 i = index (substr (input_file, file.posn, linct), ";."); 211 if i = 1 /* and ; isnt escaped */ 212 | i > 1 & substr (input_file, file.posn + i - 2, 3) ^= "*;." 213 then if substr (input_file, file.posn + i - 1, 3) = ";.*" 214 then bufct = i - 1; 215 else linct, bufct = i - 1; 216 end; 217 218 if file.posn > 1 /* fool line counter */ 219 then if substr (input_file, file.posn - 1, 1) ^= NL 220 then info.lineno = info.lineno - 1; 221 if call_stack.index = 0 222 then info.lineno0 = info.lineno;/**/ 223 /* take the line */ 224 if length (buffer) + bufct > maxlength (buffer) 225 then goto length_error; 226 227 buffer = buffer || substr (input_file, file.posn, bufct); 228 229 if index ( /* check for continuation */ 230 ltrim ( 231 substr (input_file, file.posn + linct + 1, 232 min (file.charcount - file.posn - linct, 50)), " "), 233 ".+") = 1 & ^shared.literal_mode 234 then 235 do; 236 if length (buffer) + bufct > maxlength (buffer) 237 then goto length_error; 238 239 file.posn = /* step over the partial line */ 240 file.posn + linct 241 + index (substr (input_file, file.posn + linct + 1), ".+") 242 + 2; /**/ 243 /* count continuation lines */ 244 info.lineno = info.lineno + 1; 245 if call_stack.index = 0 246 then info.lineno0 = info.lineno; 247 248 goto get_line; /* and go back for more */ 249 end; 250 end; 251 252 file.posn = file.posn + linct + 1; 253 254 info.fileno = call_box.info.fileno; /* assure file reference is correct */ 255 256 if call_stack.index = 0 /* if this is a command line file */ 257 then 258 do; 259 if option.galley_opt /* check line range in galley mode */ 260 then if info.lineno > option.line_2 & shared.pass_counter <= 1 261 then 262 do; 263 if shared.bug_mode 264 then call ioa_ ("***^/read$line: (end_input: ^a)", 265 shared.input_filename); 266 /* in case there are footnotes */ 267 call_box.lineno0, info.lineno, info.lineno0 = option.line_2; 268 shared.end_input = "1"b; 269 return; 270 end; 271 end; 272 273 if option.debug_opt /* check line range if debugging */ 274 then 275 do; 276 if option.db_all_opt /* if debugging all */ 277 then 278 do; 279 if (option.db_file = "ALLFILES" 280 | shared.input_filename = option.db_file) 281 then 282 do; 283 if call_box.lineno0 >= option.db_file_after 284 & info.lineno >= option.db_after_line 285 & info.lineno <= option.db_before_line 286 then shared.bug_mode = "1"b; 287 else shared.bug_mode = "0"b; 288 end; 289 end; 290 291 else 292 do; 293 if option.db_line_strt <= info.lineno 294 & info.lineno <= option.db_line_end 295 & (option.db_file = "ALLFILES" 296 | shared.input_filename = option.db_file) 297 then shared.bug_mode = "1"b; 298 else shared.bug_mode = "0"b; 299 end; 300 end; 301 else shared.bug_mode = "0"b; /**/ 302 /* trim trailing SPs and HTs */ 303 buffer = rtrim (buffer, " "); 304 305 if index (buffer, " ") ^= 0 /* if any HTs in the line */ 306 then 307 do; /* set overlay ptr */ 308 char_index_ptr = addr (substr (buffer, 1)); 309 ascii_width = 0; /* set up loop counters */ 310 i, j = 1; /* and control indices */ 311 do while (j > 0); /* as long as HTs are found */ 312 /* look for an HT */ 313 j = index (substr (buffer, i), " "); 314 315 if j > 0 /* if one was found */ 316 then 317 do; 318 if j > 1 /* measure preceding text */ 319 then 320 do; 321 do k = i to i + j - 2; 322 if char_index (k) >= 32 & char_index (k) <= 126 323 then ascii_width = ascii_width + 1; 324 else if char_index (k) = 8 325 then ascii_width = ascii_width - 1; 326 end; 327 ii = i + j - 1; /* position of HT in line */ 328 end; 329 else ii = i; /* HT is the next character */ 330 331 blank_count = /* blanks to next Multics tab */ 332 10 - mod (ascii_width, 10); 333 /* insert them */ 334 buffer = 335 substr (buffer, 1, ii - 1) || copy (" ", blank_count) 336 || substr (buffer, ii + 1); 337 /* adjust counters */ 338 i = ii + blank_count; 339 ascii_width = ascii_width + blank_count; 340 end; 341 end; 342 end; 343 344 if ^skip 345 then 346 do; 347 if shared.bug_mode 348 then 349 do; 350 call ioa_ ("***^/read$line: (^a|^d) ^[<>^;""^a""^]", 351 file.refname, info.lineno, (buffer = ""), 352 comp_util_$display (buffer, 0, "0"b)); 353 354 if option.db_pause_opt /* if pausing for debug */ 355 then 356 do; 357 call ioa_ ("-->"); 358 call iox_$get_line (iox_$user_input, addr (junk), 80, 0, ercd); 359 if ercd ^= 0 360 then call comp_report_ (2, ercd, "Attempting -pause option.", 361 info_ptr, ""); 362 end; 363 end; 364 end; 365 366 ctl.info = info; 367 368 return; /* end of read_$line */ 369 370 /* extract name strings from input lines */ 371 372 name: 373 entry (buffer, start, next, a_info_ptr) returns (char (*) var); 374 375 /* LOCAL STORAGE */ 376 377 dcl name char (32) var; /* name holder */ 378 dcl name_chars char (63) static options (constant) 379 init ( 380 "abcdefghijklmnopqrstuvwxyzABCDEFGHJIKLMNOPQRSTUVWXYZ" 381 || "_0123456789"); 382 383 if shared.bug_mode & dt_sw 384 then call ioa_ ("read$name: (^d,""^a"")", start, substr (buffer, start)); 385 386 if substr (buffer, start) = "" /* nothing to read */ 387 then return (""); /**/ 388 /* skip leading white space */ 389 start = start - 1 + verify (substr (buffer, start), " "); 390 /* it must start with alpha */ 391 if index (substr (name_chars, 1, 54), substr (buffer, start, 1)) = 0 392 then goto bad_name; /**/ 393 /* find end of name */ 394 i = verify (substr (buffer, start), name_chars) - 1; 395 if i < 0 /* if nothing follows */ 396 then i = length (buffer) - start + 1; 397 398 if i = 0 /* no legal name chars */ 399 then 400 do; 401 next = length (buffer) + 1; 402 return (""); 403 end; /**/ 404 /* bad terminator? */ 405 else if start + i < length (buffer) 406 then if index ("/ ", substr (buffer, start + i, 1)) = 0 407 then 408 do; 409 bad_name: 410 call comp_report_ (2, 0, "Invalid name.", a_info_ptr, ctl_line); 411 i = index (substr (buffer, start), " "); 412 if i = 0 413 then next = length (buffer) + 1; 414 else next = start + i + 1; 415 return (""); 416 end; 417 418 name = (substr (buffer, start, i)); 419 next = start + i; /* skip over field */ 420 421 if next <= length (buffer) & /* skip trailing white space */ 422 substr (buffer, next, 1) = " " 423 then 424 do; 425 i = verify (substr (buffer, next), " "); 426 if i > 1 427 then next = next + i - 1; 428 else next = length (buffer) + 1; 429 end; 430 431 return (name); 432 433 number: /* read numbers of the form "(+|-)n" */ 434 entry (buffer, scale, start, next, a_info_ptr, code) 435 returns (fixed bin (31)); 436 437 /* PARAMETERS */ 438 dcl scale /* IN scale factor(s) for return value */ 439 (*) fixed bin (31); 440 dcl code fixed bin (35); /* (OUT) error code */ 441 442 /* LOCAL STORAGE */ 443 444 dcl diglen fixed bin; /* length of digit string */ 445 dcl digits char (1020) var; /* field to be converted */ 446 dcl field char (1020) var; 447 dcl scales char (21) static options (constant) 448 init ("p1 p1 in mm pc pt pp "); 449 dcl scalndx fixed bin; /* index into scale array */ 450 dcl sign fixed bin (1); /* sign of value */ 451 /* return value */ 452 dcl value fixed bin (31); 453 454 dcl comp_error_table_$not_numeric 455 ext fixed bin (35); 456 457 code, value = 0; /* clear in case theres an error */ 458 scalndx = 1; /* set the default */ 459 460 if shared.bug_mode & dt_sw 461 then call ioa_ ("read$number: (""^a"")", 462 comp_util_$display (substr (buffer, start), 0, "0"b)); 463 /* step over leading blanks */ 464 start = start + verify (substr (buffer, start), " ") - 1; 465 /* if signed */ 466 if index ("+-", substr (buffer, start, 1)) ^= 0 467 then 468 do; 469 if index (substr (buffer, start), "-") = 1 470 then sign = -1; 471 else sign = 1; 472 start = start + 1; 473 end; 474 else sign = 1; /**/ 475 /* copy field to be read */ 476 diglen = search (substr (buffer, start), ",})/\+-""=<>^ ") - 1; 477 if diglen < 0 478 then diglen = length (buffer) - start + 1; 479 field = substr (buffer, start, diglen); 480 field = ltrim (field); /* trim leading blanks */ 481 /* it must start with a numeric */ 482 if search (field, "0123456789.") ^= 1 483 then 484 do; 485 code = comp_error_table_$not_numeric; 486 call comp_report_$ctlstr (2, code, a_info_ptr, buffer, ""); 487 /* step over field */ 488 next = start + length (field); 489 goto number_return; 490 end; /**/ 491 /* measure the string of numerics */ 492 diglen = verify (field, "0123456789.") - 1; 493 if diglen < 0 /* if all chars are numerics */ 494 then diglen = length (field); /**/ 495 /* copy digit string */ 496 digits = substr (field, 1, diglen); 497 field = after (field, digits); /* trim it from the field */ 498 499 if search (field, "pim") = 1 /* is there a scale? */ 500 then 501 do; 502 scalndx = index (scales, substr (field, 1, 2)); 503 if scalndx = 0 504 then 505 do; 506 call comp_report_$ctlstr (2, 0, a_info_ptr, buffer, 507 "Invalid scale keyword ""^a"".", field); 508 /* step over field */ 509 next = start + length (field); 510 code = -1; 511 goto number_return; 512 end; 513 514 if scalndx = 1 515 then if substr (field, 1, 3) = "p12" 516 then 517 do; 518 scalndx = scalndx + 3; 519 diglen = diglen + 1; 520 end; 521 522 scalndx = divide (scalndx + 2, 3, 17, 0); 523 diglen = diglen + 2; 524 end; 525 526 /* else if field ^= "" & search (field, " ,") ^= 1 527*/* /* if not a delimiter */ 528 /* then 529*/* do; 530*/* next = start + length (field); 531*/* code = -1; 532*/* goto number_return; 533*/* end;*/ 534 535 if index (digits, ".") = 0 /* integer? */ 536 then value = sign * scale (scalndx) * bin (digits); 537 538 else value = /* mixed number */ 539 sign 540 * (scale (scalndx) * bin (before (digits, "."), 31, 0) 541 + 542 divide (scale (scalndx) 543 * bin (substr (after (digits, ".") || "000", 1, 3), 31, 3), 1000, 544 31, 0)); /**/ 545 /* step over value */ 546 next = start + diglen; 547 548 /* if start < length (buffer) /* skip trailing white space */ 549 /* then start = start + verify (substr (buffer, start), " ") - 1;*/ 550 551 number_return: 552 if shared.bug_mode & dt_sw 553 then call ioa_ ("^5x(read$number ^f/^f=^f)", value, scale (scalndx), 554 dec (divide (value, scale (scalndx), 31, 10), 11, 3)); 555 556 return (value); /* end of read$number */ 557 558 dcl dt_sw bit (1) static init ("0"b); 559 dtn: 560 entry; 561 dt_sw = "1"b; 562 return; 563 dtf: 564 entry; 565 dt_sw = "0"b; 566 return; 567 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 */ 568 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 */ 569 3 1 /* BEGIN INSERT FILE ... comp_insert.incl.pl1 */ 3 2 3 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 3 4 3 5 dcl 1 insert_data aligned based (const.insert_data_ptr), 3 6 2 count fixed bin, /* count of allocated data blocks */ 3 7 2 index fixed bin, /* the current block */ 3 8 2 ptr (1000) ptr, /* insert file data block pointers */ 3 9 2 ref_area, /* ref name string area data */ 3 10 3 count fixed bin, /* count of allocated areas */ 3 11 3 ptr (100) ptr; /* area pointers */ 3 12 /* insert call stack */ 3 13 dcl 1 call_stack aligned based (const.call_stk_ptr), 3 14 2 count fixed bin, /* count of allocated boxes */ 3 15 2 index fixed bin, /* current stack index */ 3 16 2 ptr (0:50) ptr; /* stack entry ptrs */ 3 17 dcl call_box_ptr ptr; 3 18 dcl 1 call_box aligned like insert.file based (call_box_ptr); 3 19 dcl 1 call_box0 aligned like insert.file based (call_stack.ptr (0)); 3 20 3 21 dcl 1 insert_refs aligned based, /* ref names structure */ 3 22 2 count fixed bin, /* count of names in area */ 3 23 2 index (60) fixed bin, /* insert_data index values */ 3 24 2 name (60) char (32) unal; 3 25 /* the ref names */ 3 26 3 27 dcl refname_str char (refstr_len) based (refstr_ptr); 3 28 /* for searching */ 3 29 dcl refstr_len fixed bin; /* length of refname search string */ 3 30 dcl refstr_ptr ptr; /* refname string pointer */ 3 31 /* data for an insert file */ 3 32 dcl 1 insert aligned based (shared.insert_ptr), 3 33 2 file, /* also used for source files */ 3 34 3 charcount 3 35 fixed bin (21), /* segment character count */ 3 36 3 comp_no fixed bin, /* msf component number */ 3 37 3 dir char (168), /* containing dir */ 3 38 3 entryname 3 39 char (32), /* primary entryname */ 3 40 3 exit_lineno 3 41 fixed bin (35), /* line number of .ifi */ 3 42 3 fcb_ptr ptr, /* FCB pointer for msf manager */ 3 43 3 info like text_entry.info, 3 44 3 insert_ptr /* self pointer - needed when */ 3 45 ptr, /* struc is in the call stack */ 3 46 /* 3 ntext fixed bin (21), /* character count of text line */ 3 47 3 path char (200) var, /* complete pathname */ 3 48 3 pointer ptr, /* segment pointer */ 3 49 3 posn fixed bin (21), /* input character position */ 3 50 3 refname char (200) var, /* for source files only */ 3 51 2 callers_name 3 52 char (100), /* refname of calling file */ 3 53 2 dtcm bit (36), /* fs date-time-modified */ 3 54 2 refndx fixed bin, /* CURRENT refname index for file */ 3 55 2 thrb fixed bin unsigned, 3 56 /* backward thread index in insert stack */ 3 57 2 label, /* label data per insert level */ 3 58 3 count fixed bin, 3 59 3 line (250) fixed bin unsigned, 3 60 3 position (250) fixed bin (21), 3 61 3 value (250) char (32); 3 62 3 63 /* empty file data structure */ 3 64 dcl 1 init_file_data 3 65 static options (constant), 3 66 2 charcount fixed bin (21) init (0), 3 67 /* segment character count */ 3 68 2 comp_no fixed bin init (0), 3 69 /* msf component number */ 3 70 2 dir char (168) init (""), 3 71 /* containing dir */ 3 72 2 entryname char (32) init (""), 3 73 /* primary entryname */ 3 74 2 exit_lineno 3 75 fixed bin (35) init (0), 3 76 /* line number of .ifi */ 3 77 2 fcb_ptr ptr init (null),/* FCB pointer for msf manager */ 3 78 2 info, /* stuff created during line input */ 3 79 3 fileno /* input file index */ 3 80 fixed bin init (0), 3 81 3 lineno /* input file line number */ 3 82 fixed bin init (0), 3 83 3 lineno0 /* call_box0 line number */ 3 84 fixed bin init (0), 3 85 2 insert_ptr ptr init (null),/* self pointer - needed when */ 3 86 /* struc is in the call stack */ 3 87 /* 2 ntext fixed bin (21) init (0), 3 88*/* /* character count of text line */ 3 89 2 path char (200) var init (""), 3 90 /* complete pathname */ 3 91 2 pointer ptr init (null),/* segment pointer */ 3 92 2 posn fixed bin (21) init (1), 3 93 /* input character position */ 3 94 2 refname char (200) var init (""); 3 95 /* for source files only */ 3 96 3 97 /* END INSERT FILE ... comp_insert.incl.pl1 */ 570 4 1 /* BEGIN INCLUDE FILE - comp_metacodes.incl.pl1 */ 4 2 4 3 /* format: style2,ind2,ll79,dclind4,idind25,comcol51,linecom */ 4 4 4 5 /* ASCII control characters */ 4 6 dcl ( 4 7 NUL init (""), /* 000 */ 4 8 SOH init (""), /* 001 */ 4 9 STX init (""), /* 002 */ 4 10 ETX init (""), /* 003 */ 4 11 EOT init (""), /* 004 */ 4 12 ENQ init (""), /* 005 */ 4 13 ACK init (""), /* 006 */ 4 14 BEL init (""), /* 007 */ 4 15 BSP init (""), /* 010 */ 4 16 HT init (" "), 4 17 /* 011 */ 4 18 (NL, LF) init (" 4 19 "), /* 012 */ 4 20 VT init (" "), /* 013 */ 4 21 FF init (" "), /* 014 */ 4 22 CR init (" "), /* 015 */ 4 23 (RRS, SO) init (""), /* 016 */ 4 24 (BRS, SI) init (""), /* 017 */ 4 25 DLE init (""), /* 020 */ 4 26 DC1 init (""), /* 021 */ 4 27 (DC2, HLF, HUGE) init (""), /* 022 */ 4 28 DC3 init (""), /* 023 */ 4 29 (DC4, HLR, THICK) init (""), /* 024 */ 4 30 (NAK, MEDIUM) init (""), /* 025 */ 4 31 SYN init (""), /* 026 */ 4 32 (ETB, HAIR) init (""), /* 027 */ 4 33 (CAN, STROKE) init (""), /* 030 */ 4 34 oct031 init (""), /* 031 */ 4 35 SUB init (""), /* 032 */ 4 36 ESC init (""), /* 033 */ 4 37 FS init (""), /* 034 */ 4 38 GS init (""), /* 035 */ 4 39 RS init (""), /* 036 */ 4 40 US init (""), /* 037 */ 4 41 (DEL, PAD) init (""), /* 177 */ 4 42 /* compose meta-characters */ 4 43 multiply init ("ª"), /* 252 - multiply symbol */ 4 44 pl_mi init ("«"), /* 253 - plus/minus sign */ 4 45 nabla init ("¬"), /* 254 */ 4 46 EMdash init ("­"), /* 255 - EM dash */ 4 47 slash init ("¯"), /* 256 */ 4 48 dagger init ("±"), /* 261 */ 4 49 perpen init ("»"), /* 273 - perpendicular mark */ 4 50 not_eq init ("½"), /* 275 - not-equal mark */ 4 51 dbldag init ("Á"), /* 301 - double daggar */ 4 52 cright init ("Ã"), /* 303 - copyright mark */ 4 53 delta init ("Ä"), /* 304 */ 4 54 bullet init ("Í"), /* 315 */ 4 55 prll init ("Î"), /* 316 - parallel mark */ 4 56 PI init ("Ð"), /* 320 - uppercase Greek pi */ 4 57 tmark init ("Ô"), /* 324 - trademark */ 4 58 tfore init ("Ö"), /* 326 - therefore mark */ 4 59 approx init ("Ú"), /* 332 - approximately-equal mark */ 4 60 infin init ("ß"), /* 337 - infinity */ 4 61 theta init ("ê"), /* 352 */ 4 62 pi init ("ð"), /* 360 - lowercase Greek pi */ 4 63 square init ("ý"), /* 375 */ 4 64 overbar init ("þ"), /* 376 */ 4 65 PS init ("ÿ"), /* 377 - punctuation space */ 4 66 sup0 init (""), /* 400 - superior digit 0 */ 4 67 sup1 init (""), /* 401 - superior digit 1 */ 4 68 sup2 init (""), /* 402 - superior digit 2 */ 4 69 sup3 init (""), /* 403 - superior digit 3 */ 4 70 sup4 init (""), /* 404 - superior digit 4 */ 4 71 sup5 init (""), /* 405 - superior digit 5 */ 4 72 sup6 init (""), /* 406 - superior digit 6 */ 4 73 sup7 init (""), /* 407 - superior digit 7 */ 4 74 sup8 init (""), /* 410 - superior digit 8 */ 4 75 sup9 init (" "), /* 411 - superior digit 9 */ 4 76 EM init (" "), /* 412 - EM space */ 4 77 EM_ init (" "), /* 413 - EM aligned dash */ 4 78 EN init (" "), /* 414 - EN space */ 4 79 EN_ init (" "), /* 415 - EN aligned dash */ 4 80 ENd init (""), /* 416 - EN dash */ 4 81 THIN init (""), /* 417 - thinspace */ 4 82 DEVIT init (""), /* 420 - device unit */ 4 83 lquote init (""), /* 421 - left double quote */ 4 84 rquote init (""), /* 422 - right double quote */ 4 85 modmark init (""), /* 424 - text modification/addition mark */ 4 86 delmark init (""), /* 430 - deletion mark */ 4 87 vrule init ("Z"), /* 532 - vertical rule */ 4 88 lslnt init ("^") /* 536 - left slant */ 4 89 ) char (1) unaligned static options (constant); 4 90 4 91 /* END INCLUDE FILE comp_metacodes.incl.pl1 */ 571 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 572 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 */ 573 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 */ 574 8 1 /* BEGIN INCLUDE FILE comp_tree.incl.pl1 */ 8 2 8 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 8 4 8 5 dcl 1 tree /* symbol tree structure */ 8 6 based (const.tree_ptr) aligned, 8 7 ( 2 align_mode, /* current text alignment mode */ 8 8 2 art_mode, /* artwork mode */ 8 9 2 block_index, /* current block index */ 8 10 2 block_name, /* name of current block */ 8 11 2 bottom_margin, /* page bottom margin */ 8 12 2 calling_file_name, /* caller of inserted file */ 8 13 2 callers_lineno, /* lineno of .ifi in calling file */ 8 14 2 devclass, /* DeviceClass */ 8 15 2 devname, /* DeviceName */ 8 16 2 dot_addltr, /* add letter of dot page */ 8 17 2 equation_mode, /* equation mode */ 8 18 2 fill_mode, /* text filling mode */ 8 19 2 fontname, /* fontname function */ 8 20 2 footer_margin, /* page footer margin function */ 8 21 2 frontpage, /* front page flag function */ 8 22 2 head_space, /* head space function */ 8 23 2 header_margin, /* page header margin function */ 8 24 2 keep_mode, /* block splitting mode */ 8 25 2 left_indent, /* left margin indention */ 8 26 2 left_undent, /* left margin adjustment */ 8 27 2 line_input, /* line input function */ 8 28 2 linesleft, /* lines left function */ 8 29 2 linespace, /* linespace function */ 8 30 2 measure_bif, /* measure function */ 8 31 2 next_pageno, /* next page number */ 8 32 2 pagecount, /* total page count function */ 8 33 2 pagelines, /* line number on page function */ 8 34 2 page_length, /* current page length function */ 8 35 2 pageno, /* page number function */ 8 36 2 pointsize, /* pointsize function */ 8 37 2 right_indent, /* right margin indention */ 8 38 2 right_undent, /* right margin adjustment */ 8 39 2 symbol_delimiter, /* symbol delimiter function */ 8 40 2 text_depth, /* text depth function */ 8 41 2 text_lineno, /* input file line number for output_line */ 8 42 2 text_width, /* text width function */ 8 43 2 title_delimiter, /* title delimiter function */ 8 44 2 top_margin, /* page top margin function */ 8 45 2 trans, /* translation table for .trf */ 8 46 2 userinput /* terminal insert function */ 8 47 ) label, /**/ 8 48 /* VARIABLE TABLES */ 8 49 2 count fixed bin, /* variable areas allocated */ 8 50 2 areandx fixed bin, /* current area */ 8 51 /* entry count per area */ 8 52 2 entry_ct (MAX_TREE_AREAS) fixed bin, 8 53 2 entryndx fixed bin, /* current entry in area */ 8 54 ( /* storage area pointers */ 8 55 2 flag_ptr, /* flags */ 8 56 2 name_ptr, /* names */ 8 57 2 num_ptr, /* number values */ 8 58 2 incr_ptr, /* counter increments */ 8 59 2 var_ptr /* variable structures */ 8 60 ) ptr dimension (MAX_TREE_AREAS); 8 61 /* flag values */ 8 62 dcl tree_flags (MAX_TREE_AREA_CT) bit (1) aligned 8 63 based (tree.flag_ptr (tree.areandx)); 8 64 /* counter increment values */ 8 65 dcl tree_incrs (MAX_TREE_AREA_CT) fixed bin (31) 8 66 based (tree.incr_ptr (tree.areandx)); 8 67 /* variable names */ 8 68 dcl tree_names_ptr ptr init (null); 8 69 dcl tree_names (MAX_TREE_AREA_CT) char (32) unal 8 70 based (tree_names_ptr); 8 71 /* numeric values */ 8 72 dcl tree_nums (MAX_TREE_AREA_CT) fixed bin (31) 8 73 based (tree.num_ptr (tree.areandx)); 8 74 8 75 dcl tree_var_ptr ptr init (null);/* variable entry structures */ 8 76 dcl 1 tree_var (MAX_TREE_AREA_CT) aligned based (tree_var_ptr), 8 77 2 flags bit (9) aligned,/* type flags */ 8 78 2 mode fixed bin, /* numeric display mode */ 8 79 2 flag_loc ptr, /* flag value pointer */ 8 80 2 num_loc ptr, /* num value pointer */ 8 81 2 incr_loc ptr, /* num increment pointer */ 8 82 2 str_loc ptr; /* str value pointer */ 8 83 8 84 /* END INCLUDE FILE comp_tree.incl.pl1 */ 575 9 1 /* BEGIN INCLUDE FILE compstat.incl.pl1 - external static data for compose 9 2* 9 3* This storage is converted from external (as declared) to internal by the 9 4* binder and contains items that must be accessible to both the bound and 9 5* unbound program. */ 9 6 9 7 /* Written: ??/??/7? - EJW 9 8* Modified: 10/18/84 - EJW - (First recorded change) Added current_parms_ptr 9 9* and removed the codes array; version 6. 9 10**/ 9 11 9 12 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */ 9 13 9 14 dcl 1 compstat$compconst 9 15 aligned like const ext static; 9 16 9 17 dcl const_version fixed bin (35) static options (constant) init (6); 9 18 dcl MAX_TREE_AREA_CT /* entries in a tree area */ 9 19 fixed bin static options (constant) init (80); 9 20 dcl MAX_TREE_AREAS /* number of tree areas */ 9 21 fixed bin static options (constant) init (20); 9 22 9 23 dcl 1 const aligned based (compstat$compconst.ptr), 9 24 2 ptr ptr, /* self pointer - MUST BE FIRST */ 9 25 2 version fixed bin (35), /* structure version */ 9 26 2 art_symbols /* string of art symbols */ 9 27 char (28) aligned, 9 28 2 builtin_count /* count of builtin variables */ 9 29 fixed bin, 9 30 2 comp_dir char (200), /* dir in which compose lives */ 9 31 2 comp_version 9 32 char (8) var, /* compose version id */ 9 33 2 date_value char (8) var, /* current date */ 9 34 2 dsm_name char (32), /* device support module name */ 9 35 2 dvt_name char (32), /* device table name */ 9 36 2 max_seg_chars 9 37 fixed bin (35), /* char count in a max seg */ 9 38 2 null_str char (1) var, /* an empty string */ 9 39 2 ptrs, 9 40 ( 3 call_stk_ptr, /* -> insert call stack */ 9 41 3 colhdrptr, /* empty column header structure */ 9 42 3 ctl_ptr, /* input line structure */ 9 43 3 current_parms_ptr, /* current formatting parms */ 9 44 3 default_parms_ptr, /* default initial text parms */ 9 45 3 devptr, /* -> comp_dvt structure */ 9 46 3 dvidptr, /* -> comp_dvid structure */ 9 47 3 errblk_ptr, /* error message block pointer */ 9 48 3 footnote_parms_ptr, /* footnote formatting parms */ 9 49 3 fnttbldata_ptr, /* -> font table data */ 9 50 3 global_area_ptr, /* per invocation storage */ 9 51 3 init_page_parms_ptr, /* default initial page parms */ 9 52 3 insert_data_ptr, /* insert file data block */ 9 53 3 local_area_ptr, /* per file storage */ 9 54 3 loctbl_ptr, /* for font copying */ 9 55 3 option_ptr, /* program options block */ 9 56 3 outproc_ptr, /* device writer for cleanup */ 9 57 3 page_ptr, /* active page structure */ 9 58 3 page_header_ptr, /* empty page header structure */ 9 59 3 page_parms_ptr, /* page formatting parameter block */ 9 60 3 save_shared_ptr, /* saved shared data */ 9 61 3 shared_ptr, /* shared data structure */ 9 62 3 text_entry_ptr, /* empty text entry structure */ 9 63 3 text_header_ptr, /* empty text header structure */ 9 64 3 text_parms_ptr, /* main body formatting parms */ 9 65 3 tree_ptr /* symbol tree structure */ 9 66 ) ptr, 9 67 2 time_value char (6) var; /* time at start */ 9 68 9 69 /* Other external */ 9 70 dcl ( 9 71 ioa_, 9 72 ioa_$nnl 9 73 ) entry options (variable); 9 74 dcl iox_$error_output 9 75 ptr ext static, /* iocb pointer for error_output */ 9 76 iox_$user_input 9 77 ptr ext static, /* iocb pointer for user_input */ 9 78 iox_$user_output 9 79 ptr ext static; /* iocb pointer for user_output */ 9 80 dcl sys_info$max_seg_size 9 81 fixed bin (18) ext static; 9 82 9 83 /* END INCLUDE FILE compstat.incl.pl1 */ 576 577 578 end comp_read_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/23/85 0910.3 comp_read_.pl1 >spec>online>comp>comp_read_.pl1 568 1 03/01/85 1411.9 comp_entries.incl.pl1 >ldd>include>comp_entries.incl.pl1 569 2 03/01/85 1412.0 comp_fntstk.incl.pl1 >ldd>include>comp_fntstk.incl.pl1 570 3 03/01/85 1412.0 comp_insert.incl.pl1 >ldd>include>comp_insert.incl.pl1 571 4 04/23/85 0912.3 comp_metacodes.incl.pl1 >spec>online>comp>comp_metacodes.incl.pl1 572 5 03/01/85 1412.0 comp_option.incl.pl1 >ldd>include>comp_option.incl.pl1 573 6 03/01/85 1412.0 comp_shared.incl.pl1 >ldd>include>comp_shared.incl.pl1 574 7 04/23/85 0912.6 comp_text.incl.pl1 >spec>online>comp>comp_text.incl.pl1 575 8 03/01/85 1412.0 comp_tree.incl.pl1 >ldd>include>comp_tree.incl.pl1 576 9 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. NL 005502 constant char(1) initial unaligned dcl 4-6 ref 112 218 a_info_ptr parameter pointer dcl 22 set ref 372 409* 433 486* 506* addr builtin function dcl 70 ref 107 308 358 358 after builtin function dcl 70 ref 497 538 ascii_width 000100 automatic fixed bin(17,0) dcl 30 set ref 309* 322* 322 324* 324 331 339* 339 before builtin function dcl 70 ref 538 bin builtin function dcl 70 ref 535 538 538 blank_count 000101 automatic fixed bin(17,0) dcl 31 set ref 105* 331* 334 338 339 bufct 000102 automatic fixed bin(17,0) dcl 32 set ref 204* 211* 215* 224 227 236 buffer parameter varying char dcl 21 set ref 76 108* 122 122 127 127 134* 134 199* 224 224 227* 227 236 236 303* 303 305 308 313 334* 334 334 350 350* 372 383 383 386 389 391 394 395 401 405 405 411 412 418 421 421 425 428 433 460 460 464 466 469 476 477 479 486* 506* bug_mode 4113 based bit(1) level 3 packed unaligned dcl 6-7 set ref 177 263 283* 287* 293* 298* 301* 347 383 460 551 call_box based structure level 1 dcl 3-18 call_box_ptr 001174 automatic pointer dcl 3-17 set ref 189* 254 267 283 call_stack based structure level 1 dcl 3-13 call_stk_ptr 126 based pointer level 3 dcl 9-23 ref 189 189 192 221 245 256 char_index based fixed bin(9,0) array unsigned unaligned dcl 34 ref 322 322 324 char_index_ptr 000104 automatic pointer dcl 33 set ref 308* 322 322 324 charcount based fixed bin(21,0) level 2 dcl 63 set ref 110 112 119 169* 174 184 229 code parameter fixed bin(35,0) dcl 440 set ref 433 457* 485* 486* 510* comp_abort 000150 stack reference condition dcl 92 ref 130 152 comp_error_table_$not_numeric 000022 external static fixed bin(35,0) dcl 454 ref 485 comp_error_table_$program_error 000012 external static fixed bin(35,0) dcl 94 ref 125 comp_no 1 based fixed bin(17,0) level 2 dcl 63 set ref 137 142* 142 144* 149* 159* comp_report_ 000024 constant entry external dcl 1-59 ref 359 409 comp_report_$ctlstr 000026 constant entry external dcl 1-61 ref 127 149 159 486 506 comp_util_$display 000030 constant entry external dcl 1-77 ref 350 460 compstat$compconst 000032 external static structure level 1 dcl 9-14 const based structure level 1 dcl 9-23 copy builtin function dcl 70 ref 334 ctl based structure level 1 dcl 7-157 ctl_line based varying char(1020) dcl 7-158 set ref 127* 149* 159* 409* ctl_ptr 132 based pointer level 3 dcl 9-23 ref 127 149 159 366 409 db_after_line 114 based fixed bin(35,0) level 2 dcl 5-5 ref 283 db_all_opt 1(04) based bit(1) level 2 packed unaligned dcl 5-5 ref 276 db_before_line 115 based fixed bin(35,0) level 2 dcl 5-5 ref 283 db_file 116 based varying char(200) level 2 dcl 5-5 ref 279 279 293 293 db_file_after 201 based fixed bin(35,0) level 2 dcl 5-5 ref 283 db_line_end 202 based fixed bin(35,0) level 2 dcl 5-5 ref 293 db_line_strt 203 based fixed bin(35,0) level 2 dcl 5-5 ref 293 db_pause_opt 1(25) based bit(1) level 2 packed unaligned dcl 5-5 ref 354 debug_opt 1(03) based bit(1) level 2 packed unaligned dcl 5-5 ref 273 dec builtin function dcl 91 ref 551 551 default_parms based structure level 1 dcl 7-213 digits 000170 automatic varying char(1020) dcl 445 set ref 496* 497 535 535 538 538 diglen 000167 automatic fixed bin(17,0) dcl 444 set ref 476* 477 477* 479 492* 493 493* 496 519* 519 523* 523 546 divide builtin function dcl 70 ref 169 522 538 551 551 dt_sw 000010 internal static bit(1) initial unaligned dcl 558 set ref 383 460 551 561* 565* end_input 4113(02) based bit(1) level 3 packed unaligned dcl 6-7 set ref 180* 268* ercd 000106 automatic fixed bin(35,0) dcl 36 set ref 125* 127* 144* 146 149* 358* 359 359* error_table_$zero_length_seg 000014 external static fixed bin(35,0) dcl 96 set ref 159* fcb based structure level 1 dcl 38 fcb_ptr 66 based pointer level 2 dcl 63 ref 106 fcbp 000110 automatic pointer dcl 61 set ref 106* 137 137 144* field 000570 automatic varying char(1020) dcl 446 set ref 479* 480* 480 482 488 492 493 496 497* 497 499 502 506* 509 514 file based structure level 2 in structure "insert" dcl 3-32 in procedure "comp_read_" file based structure level 1 unaligned dcl 63 in procedure "comp_read_" fileno 70 based fixed bin(17,0) level 3 in structure "call_box" dcl 3-18 in procedure "comp_read_" ref 254 fileno based fixed bin(17,0) level 2 in structure "info" dcl 66 in procedure "comp_read_" set ref 254* filptr parameter pointer dcl 81 ref 76 106 107 110 110 112 112 112 112 119 119 134 134 137 142 142 144 144 149 149 159 159 168 169 174 174 184 184 196 196 200 200 210 210 211 211 211 211 218 218 218 227 227 229 229 229 229 239 239 239 239 252 252 350 fntstk_entry based structure level 1 dcl 2-6 galley_opt 1(09) based bit(1) level 2 packed unaligned dcl 5-5 ref 259 i 000112 automatic fixed bin(17,0) dcl 64 set ref 210* 211 211 211 211 211 215 310* 313 321 321 327 329 338* 394* 395 395* 398 405 405 411* 412 414 418 419 425* 426 426 ii 000117 automatic fixed bin(17,0) dcl 86 set ref 327* 329* 334 334 338 index builtin function dcl 70 in procedure "comp_read_" ref 112 210 229 239 305 313 391 405 411 466 469 502 535 index 1 based fixed bin(17,0) level 2 in structure "call_stack" dcl 3-13 in procedure "comp_read_" ref 189 192 221 245 256 info 277 based structure level 3 in structure "hfcblk" dcl 7-250 in procedure "comp_read_" info 161 based structure level 2 in structure "text_entry" dcl 7-68 in procedure "comp_read_" info 161 based structure level 2 in structure "ctl" dcl 7-157 in procedure "comp_read_" set ref 366* info 70 based structure level 2 in structure "call_box" dcl 3-18 in procedure "comp_read_" info based structure level 1 unaligned dcl 66 in procedure "comp_read_" set ref 366 info 70 based structure level 2 in structure "file" unaligned dcl 63 in procedure "comp_read_" set ref 107 info 161 based structure level 2 in structure "txtlin" dcl 7-161 in procedure "comp_read_" info 277 based structure level 3 in structure "text" dcl 7-49 in procedure "comp_read_" info_ptr 000114 automatic pointer dcl 65 set ref 107* 127* 149* 159* 191 191 192 192 218 218 221 221 244 244 245 245 254 259 267 267 283 283 293 293 350 359* 366 input_bitcount 000122 automatic fixed bin(35,0) dcl 87 set ref 144* 156 169 input_file based char unaligned dcl 67 ref 112 134 196 210 211 211 218 227 229 239 input_filename 3372 based varying char(200) level 2 dcl 6-7 set ref 177* 263* 279 293 insert based structure level 1 dcl 3-32 ioa_ 000034 constant entry external dcl 9-70 ref 177 263 350 357 383 460 551 iox_$get_line 000016 constant entry external dcl 99 ref 358 iox_$user_input 000036 external static pointer dcl 9-74 set ref 358* j 000120 automatic fixed bin(17,0) dcl 86 set ref 310* 311 313* 315 318 321 327 junk 000123 automatic char(80) unaligned dcl 88 set ref 358 358 k 000121 automatic fixed bin(17,0) dcl 86 set ref 321* 322 322 324* left 12 based structure level 2 in structure "default_parms" dcl 7-213 in procedure "comp_read_" left 1016 based structure level 3 in structure "hfcblk" dcl 7-250 in procedure "comp_read_" left 12 based structure level 2 in structure "current_parms" dcl 7-209 in procedure "comp_read_" left 1016 based structure level 3 in structure "text" dcl 7-49 in procedure "comp_read_" left 12 based structure level 2 in structure "text_parms" dcl 7-206 in procedure "comp_read_" length builtin function dcl 70 ref 122 224 236 395 401 405 412 421 428 477 488 493 509 linct 000116 automatic fixed bin(17,0) dcl 68 set ref 112* 114* 116 200 204 210 215* 229 229 239 239 252 line_2 220 based fixed bin(35,0) level 2 dcl 5-5 ref 259 267 line_area_ptr 001176 automatic pointer initial dcl 7-25 set ref 7-25* lineno 1 based fixed bin(17,0) level 2 dcl 66 set ref 191* 191 192 218* 218 221 244* 244 245 259 267* 283 283 293 293 350* lineno0 72 based fixed bin(17,0) level 3 in structure "call_box" dcl 3-18 in procedure "comp_read_" set ref 267* 283 lineno0 2 based fixed bin(17,0) level 2 in structure "info" dcl 66 in procedure "comp_read_" set ref 192* 221* 245* 267* lit_count 3456 based fixed bin(35,0) level 2 dcl 6-7 ref 206 literal_mode 4113(08) based bit(1) level 3 packed unaligned dcl 6-7 ref 196 206 206 229 ltrim builtin function dcl 70 ref 229 480 max_components 2 based fixed bin(17,0) level 2 dcl 38 ref 137 max_seg_chars 123 based fixed bin(35,0) level 2 dcl 9-23 ref 112 134 196 210 211 211 218 227 229 239 min builtin function dcl 70 ref 229 mod builtin function dcl 91 ref 331 msf_manager_$get_ptr 000020 constant entry external dcl 101 ref 144 name 000156 automatic varying char(32) dcl 377 set ref 418* 431 name_chars 000006 constant char(63) initial unaligned dcl 378 ref 391 394 next parameter fixed bin(21,0) dcl 24 set ref 372 401* 412* 414* 419* 421 421 425 426* 426 428* 433 488* 509* 546* null builtin function dcl 70 ref 7-25 7-35 8-68 8-75 option based structure level 1 dcl 5-5 option_ptr 164 based pointer level 3 dcl 9-23 ref 259 259 267 273 276 279 279 283 283 283 293 293 293 293 354 pass_counter 3643 based fixed bin(17,0) level 2 dcl 6-7 ref 259 path 76 based varying char(200) level 2 dcl 63 set ref 149* 159* pointer 162 based pointer level 2 dcl 63 set ref 112 134 144* 196 210 211 211 218 227 229 239 posn 164 based fixed bin(21,0) level 2 dcl 63 set ref 110 112 112 119 134 168* 174 184* 196 200* 200 210 211 211 218 218 227 229 229 239* 239 239 252* 252 ptr 172 based pointer level 2 in structure "ctl" dcl 7-157 in procedure "comp_read_" ref 127 149 159 409 ptr 000032 external static pointer level 2 in structure "compstat$compconst" dcl 9-14 in procedure "comp_read_" ref 112 127 134 149 159 177 177 180 189 189 192 196 196 206 206 206 210 211 211 218 221 227 229 229 239 245 256 259 259 259 263 263 267 268 273 276 279 279 279 283 283 283 283 287 293 293 293 293 293 293 298 301 347 354 366 383 409 460 551 ptr 2 based pointer array level 2 in structure "call_stack" dcl 3-13 in procedure "comp_read_" ref 189 ptrs 126 based structure level 2 dcl 9-23 refname 165 based varying char(200) level 2 dcl 63 set ref 350* rest 000147 automatic fixed bin(21,0) dcl 89 set ref 110* 112 122 134 rtrim builtin function dcl 70 ref 303 scale parameter fixed bin(31,0) array dcl 438 set ref 433 535 538 538 551* 551 551 scales 000000 constant char(21) initial unaligned dcl 447 ref 502 scalndx 001170 automatic fixed bin(17,0) dcl 449 set ref 458* 502* 503 514 518* 518 522* 522 535 538 538 551 551 551 search builtin function dcl 70 ref 476 482 499 shared based structure level 1 dcl 6-7 shared_ptr 200 based pointer level 3 dcl 9-23 ref 177 177 180 196 206 206 206 229 259 263 263 268 279 283 287 293 293 298 301 347 383 460 551 sign 001171 automatic fixed bin(1,0) dcl 450 set ref 469* 471* 474* 535 538 skip parameter bit(1) unaligned dcl 82 ref 76 344 start parameter fixed bin(21,0) dcl 26 set ref 372 383* 383 383 386 389* 389 389 391 394 395 405 405 411 414 418 419 433 460 460 464* 464 464 466 469 472* 472 476 477 479 488 509 546 substr builtin function dcl 70 ref 112 134 196 210 211 211 218 227 229 239 308 313 334 334 383 383 386 389 391 391 394 405 411 418 421 425 460 460 464 466 469 476 479 496 502 514 538 sws 4113 based structure level 2 dcl 6-7 text based structure level 1 dcl 7-49 text_area_ptr 001200 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 tree_names_ptr 001202 automatic pointer initial dcl 8-68 set ref 8-68* tree_var_ptr 001204 automatic pointer initial dcl 8-75 set ref 8-75* type 1 based fixed bin(17,0) level 2 dcl 38 ref 137 value 001172 automatic fixed bin(31,0) dcl 452 set ref 457* 535* 538* 551* 551 551 556 verify builtin function dcl 70 ref 389 394 425 464 492 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ACK internal static char(1) initial unaligned dcl 4-6 BEL internal static char(1) initial unaligned dcl 4-6 BRS internal static char(1) initial unaligned dcl 4-6 BSP internal static char(1) initial unaligned dcl 4-6 CAN internal static char(1) initial unaligned dcl 4-6 CR internal static char(1) initial unaligned dcl 4-6 DC1 internal static char(1) initial unaligned dcl 4-6 DC2 internal static char(1) initial unaligned dcl 4-6 DC3 internal static char(1) initial unaligned dcl 4-6 DC4 internal static char(1) initial unaligned dcl 4-6 DEL internal static char(1) initial unaligned dcl 4-6 DEVIT internal static char(1) initial unaligned dcl 4-6 DLE internal static char(1) initial unaligned dcl 4-6 EM internal static char(1) initial unaligned dcl 4-6 EM_ internal static char(1) initial unaligned dcl 4-6 EMdash internal static char(1) initial unaligned dcl 4-6 EN internal static char(1) initial unaligned dcl 4-6 ENQ internal static char(1) initial unaligned dcl 4-6 EN_ internal static char(1) initial unaligned dcl 4-6 ENd internal static char(1) initial unaligned dcl 4-6 EOT internal static char(1) initial unaligned dcl 4-6 ESC internal static char(1) initial unaligned dcl 4-6 ETB internal static char(1) initial unaligned dcl 4-6 ETX internal static char(1) initial unaligned dcl 4-6 FF internal static char(1) initial unaligned dcl 4-6 FS internal static char(1) initial unaligned dcl 4-6 GS internal static char(1) initial unaligned dcl 4-6 HAIR internal static char(1) initial unaligned dcl 4-6 HLF internal static char(1) initial unaligned dcl 4-6 HLR internal static char(1) initial unaligned dcl 4-6 HT internal static char(1) initial unaligned dcl 4-6 HUGE internal static char(1) initial unaligned dcl 4-6 LF internal static char(1) initial unaligned dcl 4-6 LINE_AREA_SIZE internal static fixed bin(17,0) initial dcl 7-24 MAX_TREE_AREAS internal static fixed bin(17,0) initial dcl 9-20 MAX_TREE_AREA_CT internal static fixed bin(17,0) initial dcl 9-18 MEDIUM internal static char(1) initial unaligned dcl 4-6 NAK internal static char(1) initial unaligned dcl 4-6 NUL internal static char(1) initial unaligned dcl 4-6 PAD internal static char(1) initial unaligned dcl 4-6 PI internal static char(1) initial unaligned dcl 4-6 PS internal static char(1) initial unaligned dcl 4-6 RRS internal static char(1) initial unaligned dcl 4-6 RS internal static char(1) initial unaligned dcl 4-6 SI internal static char(1) initial unaligned dcl 4-6 SO internal static char(1) initial unaligned dcl 4-6 SOH internal static char(1) initial unaligned dcl 4-6 STROKE internal static char(1) initial unaligned dcl 4-6 STX internal static char(1) initial unaligned dcl 4-6 SUB internal static char(1) initial unaligned dcl 4-6 SYN internal static char(1) initial unaligned dcl 4-6 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 THICK internal static char(1) initial unaligned dcl 4-6 THIN internal static char(1) initial unaligned dcl 4-6 US internal static char(1) initial unaligned dcl 4-6 VT internal static char(1) initial unaligned dcl 4-6 approx internal static char(1) initial unaligned dcl 4-6 bullet internal static char(1) initial unaligned dcl 4-6 call_box0 based structure level 1 dcl 3-19 char builtin function dcl 70 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_$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 compose_severity_ external static fixed bin(35,0) dcl 1-5 const_version internal static fixed bin(35,0) initial dcl 9-17 cright internal static char(1) initial unaligned dcl 4-6 current_parms based structure level 1 dcl 7-209 dagger internal static char(1) initial unaligned dcl 4-6 dbldag internal static char(1) initial unaligned dcl 4-6 delmark internal static char(1) initial unaligned dcl 4-6 delta internal static char(1) initial unaligned dcl 4-6 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 2-5 hfcblk based structure level 1 dcl 7-250 hfcblk_ptr automatic pointer dcl 7-249 infin internal static char(1) initial unaligned dcl 4-6 init_file_data internal static structure level 1 unaligned dcl 3-64 insert_data based structure level 1 dcl 3-5 insert_refs based structure level 1 dcl 3-21 ioa_$nnl 000000 constant entry external dcl 9-70 iox_$error_output external static pointer dcl 9-74 iox_$user_output external static pointer dcl 9-74 just internal static bit(6) initial unaligned dcl 7-148 line_area based structure level 1 dcl 7-26 lquote internal static char(1) initial unaligned dcl 4-6 lslnt internal static char(1) initial unaligned dcl 4-6 max_text_lines internal static fixed bin(17,0) initial dcl 6-128 mode_string internal static char(16) initial unaligned dcl 6-129 modmark internal static char(1) initial unaligned dcl 4-6 multiply internal static char(1) initial unaligned dcl 4-6 nabla internal static char(1) initial unaligned dcl 4-6 not_eq internal static char(1) initial unaligned dcl 4-6 num_value based fixed bin(31,0) dcl 6-133 oct031 internal static char(1) initial unaligned dcl 4-6 option_version internal static fixed bin(35,0) initial dcl 5-3 overbar internal static char(1) initial unaligned dcl 4-6 perpen internal static char(1) initial unaligned dcl 4-6 pi internal static char(1) initial unaligned dcl 4-6 pl_mi internal static char(1) initial unaligned dcl 4-6 prll internal static char(1) initial unaligned dcl 4-6 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 3-27 refstr_len automatic fixed bin(17,0) dcl 3-29 refstr_ptr automatic pointer dcl 3-30 rquote internal static char(1) initial unaligned dcl 4-6 save_shared based structure level 1 dcl 6-124 shared_version internal static fixed bin(35,0) initial dcl 6-5 slash internal static char(1) initial unaligned dcl 4-6 square internal static char(1) initial unaligned dcl 4-6 string_area based fixed bin(17,0) array dcl 7-43 sup0 internal static char(1) initial unaligned dcl 4-6 sup1 internal static char(1) initial unaligned dcl 4-6 sup2 internal static char(1) initial unaligned dcl 4-6 sup3 internal static char(1) initial unaligned dcl 4-6 sup4 internal static char(1) initial unaligned dcl 4-6 sup5 internal static char(1) initial unaligned dcl 4-6 sup6 internal static char(1) initial unaligned dcl 4-6 sup7 internal static char(1) initial unaligned dcl 4-6 sup8 internal static char(1) initial unaligned dcl 4-6 sup9 internal static char(1) initial unaligned dcl 4-6 sys_info$max_seg_size external static fixed bin(18,0) dcl 9-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 tfore internal static char(1) initial unaligned dcl 4-6 theta internal static char(1) initial unaligned dcl 4-6 tmark internal static char(1) initial unaligned dcl 4-6 tree based structure level 1 dcl 8-5 tree_flags based bit(1) array dcl 8-62 tree_incrs based fixed bin(31,0) array dcl 8-65 tree_names based char(32) array unaligned dcl 8-69 tree_nums based fixed bin(31,0) array dcl 8-72 tree_var based structure array level 1 dcl 8-76 txtlin based structure level 1 dcl 7-161 txtlinptr automatic pointer dcl 7-160 txtstr based varying char(1020) dcl 7-45 txtstrptr automatic pointer dcl 7-44 vrule internal static char(1) initial unaligned dcl 4-6 NAMES DECLARED BY EXPLICIT CONTEXT. bad_name 002526 constant label dcl 409 ref 391 comp_read_ 000261 constant entry external dcl 14 dtf 004050 constant entry external dcl 563 dtn 004022 constant entry external dcl 559 get_line 000343 constant label dcl 110 ref 170 201 248 length_error 000412 constant label dcl 125 ref 224 236 line 000307 constant entry external dcl 76 name 002254 constant entry external dcl 372 next_component 000523 constant label dcl 137 ref 163 number 002756 constant entry external dcl 433 number_return 003671 constant label dcl 551 ref 489 511 NAME DECLARED BY CONTEXT OR IMPLICATION. maxlength builtin function ref 122 127 127 224 236 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 5712 5752 5511 5722 Length 6354 5511 40 366 201 2 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME comp_read_ 902 external procedure is an external procedure. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 dt_sw comp_read_ STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME comp_read_ 000100 ascii_width comp_read_ 000101 blank_count comp_read_ 000102 bufct comp_read_ 000104 char_index_ptr comp_read_ 000106 ercd comp_read_ 000110 fcbp comp_read_ 000112 i comp_read_ 000114 info_ptr comp_read_ 000116 linct comp_read_ 000117 ii comp_read_ 000120 j comp_read_ 000121 k comp_read_ 000122 input_bitcount comp_read_ 000123 junk comp_read_ 000147 rest comp_read_ 000156 name comp_read_ 000167 diglen comp_read_ 000170 digits comp_read_ 000570 field comp_read_ 001170 scalndx comp_read_ 001171 sign comp_read_ 001172 value comp_read_ 001174 call_box_ptr comp_read_ 001176 line_area_ptr comp_read_ 001200 text_area_ptr comp_read_ 001202 tree_names_ptr comp_read_ 001204 tree_var_ptr comp_read_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_e_as alloc_cs cat_realloc_cs call_ext_out_desc call_ext_out return mpfx2 mod_fx1 signal shorten_stack ext_entry ext_entry_desc set_cs_eis return_chars_eis real_to_real_tr any_to_any_tr divide_fx1 divide_fx3 index_after_cs THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. comp_report_ comp_report_$ctlstr comp_util_$display ioa_ iox_$get_line msf_manager_$get_ptr THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. comp_error_table_$not_numeric comp_error_table_$program_error compstat$compconst error_table_$zero_length_seg iox_$user_input LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 7 25 000251 7 35 000253 8 68 000254 8 75 000255 14 000260 16 000271 76 000303 105 000325 106 000326 107 000333 108 000335 110 000343 112 000353 114 000371 116 000373 119 000374 122 000377 125 000412 127 000415 130 000467 131 000472 134 000504 137 000523 142 000536 144 000537 146 000562 149 000564 152 000641 153 000644 156 000656 159 000660 163 000735 168 000736 169 000743 170 000746 174 000747 177 000755 180 001003 181 001011 184 001023 185 001026 189 001027 191 001037 192 001041 196 001045 199 001065 200 001073 201 001077 204 001100 206 001102 210 001113 211 001127 215 001153 218 001157 221 001172 224 001202 227 001214 229 001233 236 001276 239 001302 244 001322 245 001324 248 001331 252 001332 254 001341 256 001344 259 001352 263 001366 267 001410 268 001422 269 001425 273 001437 276 001443 279 001446 283 001462 287 001502 289 001507 293 001510 298 001537 300 001542 301 001543 303 001546 305 001572 308 001604 309 001606 310 001607 311 001612 313 001614 315 001634 318 001635 321 001637 322 001647 324 001666 326 001672 327 001674 328 001700 329 001701 331 001703 334 001712 338 001771 339 001775 341 001777 344 002000 347 002006 350 002015 354 002113 357 002123 358 002135 359 002161 366 002222 368 002235 372 002247 383 002300 386 002352 389 002412 391 002425 394 002436 395 002455 398 002462 401 002463 402 002466 405 002511 409 002526 411 002572 412 002612 414 002617 415 002622 418 002645 419 002655 421 002660 425 002666 426 002705 428 002713 431 002716 433 002750 457 003001 458 003004 460 003006 464 003107 466 003133 469 003144 471 003167 472 003171 473 003172 474 003173 476 003175 477 003214 479 003221 480 003230 482 003252 485 003266 486 003272 488 003324 489 003327 492 003330 493 003342 496 003345 497 003354 499 003375 502 003411 503 003422 506 003423 509 003465 510 003470 511 003473 514 003474 518 003502 519 003504 522 003505 523 003511 535 003513 538 003555 546 003665 551 003671 556 003766 559 004021 561 004032 562 004035 563 004047 565 004060 566 004062 ----------------------------------------------------------- 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