COMPILATION LISTING OF SEGMENT cobol_gen_driver_ Compiled by: Multics PL/I Compiler, Release 31b, of April 24, 1989 Compiled at: Bull HN, Phoenix AZ, System-M Compiled on: 05/24/89 0950.8 mst Wed Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) BULL HN Information Systems Inc., 1989 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6* * * 7* * Copyright (c) 1972 by Massachusetts Institute of * 8* * Technology and Honeywell Information Systems, Inc. * 9* * * 10* *********************************************************** */ 11 12 13 14 15 /****^ HISTORY COMMENTS: 16* 1) change(89-04-23,Zimmerman), approve(89-04-23,MCR8060), 17* audit(89-05-05,RWaters), install(89-05-24,MR12.3-1048): 18* MCR8060 cobol_gen_driver_.pl1 Added Trace statements. 19* 2) change(89-04-23,Zimmerman), approve(89-04-23,MCR8082), 20* audit(89-05-05,RWaters), install(89-05-24,MR12.3-1048): 21* MCR8082 cobol_gen_driver_.pl1 Fix wild array subscript. 22* END HISTORY COMMENTS */ 23 24 25 /* Modified on 02/01/85 by FCH, [5.3-2], BUG561, cond statements revised */ 26 /* Modified on 10/19/84 by FCH, [5.3-1], BUG563(phx18381), new cobol_addr_tokens.incl.pl1 */ 27 /* Modified on 09/03/83 by FCH, [5.2...], trace added */ 28 /* Modified on 01/20/81 by FCH, [4.4-1], BUG461, statement map incorrect if statement follows para at end of perf range */ 29 /* Modified on 05/16/80 by FCH, [4.2-5], decl for tag_addr corrected */ 30 /* Modified on 04/18/80 by FCH, [4.2-4], tag stack added */ 31 /* Modified on 04/08/80 by FCH, [4.2-3], subscripts lost if abbrev compare BUG428(TR3271) */ 32 /* Modified on 10/20/79 by PRP, [4.1-2], recognize paragraph names for statement map */ 33 /* Modified on 10/20/79 by PRP, [4.1-1], add to map_data_table for statement map */ 34 /* Modified on 06/27/79 by FCH, [4.0-1], not option added for debug */ 35 /* Modified since Version 4.0 */ 36 /* format: style3 */ 37 cobol_gen_driver_: 38 proc; 39 40 dcl on_err_tag fixed bin, 41 subscript_flag fixed bin, 42 binit_tag fixed bin, 43 decl_flag fixed bin, 44 last_decl_proc fixed bin, 45 fxs_tag fixed bin, 46 fxs_locno fixed bin, 47 index fixed bin, 48 pc_flag fixed bin, 49 search_flag fixed bin, 50 temp fixed bin, 51 token_type fixed bin, 52 sub_token_index fixed bin, 53 space_ptr ptr, 54 subscript_ptr ptr, 55 record_ptr ptr, 56 current_token_ptr ptr static int, 57 temp_prev_ptr ptr, 58 bypass_flag bit (1), 59 temp_ptr ptr, 60 decl_sw fixed bin, 61 (end_flag, off) fixed bin; /*[4.2-4]*/ 62 declare tag_stack_loc fixed bin; /*[4.2-4]*/ 63 declare tag_stack (512) fixed bin; 64 65 66 67 dcl dn_ptr ptr, 68 h_no fixed bin; 69 70 71 dcl seq_file_hdr (8) fixed bin aligned based (cobol_$minpral5_ptr); 72 73 dcl 1 shdr based (cobol_$minpral5_ptr) aligned, 74 /* header of working file */ 75 2 x1 char (12), 76 2 next fixed bin, /* offset of next token */ 77 2 code fixed bin, /* 10 for sequential file */ 78 2 x3 char (4), /* unused */ 79 2 next_file ptr, 80 2 prev_file ptr, /* points to previous file */ 81 2 fc char (4), /* file code for each different kind of file */ 82 2 file_no fixed bin, /* file count for each working file */ 83 2 x2 char (12), /* unused */ 84 2 first fixed bin; /* first token */ 85 86 87 dcl 1 record aligned based (record_ptr), 88 2 prev_rcd_ln fixed bin aligned, 89 2 this_rcd_ln fixed bin aligned; 90 91 dcl 1 token_hdr aligned based (in_token.token_ptr (in_token.n)), 92 2 size fixed bin (15) aligned, 93 2 line fixed bin (15) aligned, 94 2 column fixed bin (15) aligned, 95 2 type fixed bin (15) aligned, 96 2 sub_ptr ptr unal; 97 98 dcl 1 sub_token aligned based (in_token_ptr), 99 2 pad1 fixed bin aligned, 100 2 pad2 fixed bin aligned, 101 2 sub_token_ptr (511) ptr aligned; 102 103 dcl 1 map_data_table aligned based (cobol_$map_data_ptr), 104 2 no_source_stmts fixed bin aligned, 105 2 data (0 refer (map_data_table.no_source_stmts)), 106 3 line_no fixed bin unaligned, 107 3 text_addr fixed bin unaligned, 108 3 col fixed bin unaligned, 109 3 label bit unaligned; 110 111 /*[4.2-5]*/ 112 declare 1 DEF aligned based (cobol_$tag_table_ptr), 113 /*[4.2-5]*/ 114 2 tag_max fixed bin, /*[4.2-5]*/ 115 2 TAG (32767), /*[4.2-5]*/ 116 3 tag_addr fixed bin (17) unal, /*[4.2-5]*/ 117 3 tag_no fixed bin (17) unal; 118 119 120 /*************************************/ 121 start: /***..... Trace_Bit="0"b;/**/ 122 /***..... Trace_Lev=0;/**/ 123 /***..... Trace_Line="0123456789ABCDEFGHIJKLMOOPQRSTUVWXYZ";/**/ 124 /* PROCESS ALTER/PERFORM INFORMATION */ 125 space_ptr = cobol_$misc_end_ptr; 126 127 if fixed_common.perf_alter_info ^= "00000" | fixed_common.size_perform_info ^= "00000" 128 then call cobol_alter_perform (space_ptr, cobol_$misc_max); 129 130 else do; 131 cobol_$alter_list_ptr = null; 132 cobol_$perform_list_ptr = null; 133 cobol_$seg_init_list_ptr = null; 134 seg_init_flag = 0; 135 end; 136 137 comp_token_area: 138 cobol_$temp_token_max = cobol_$misc_max - binary (rel (space_ptr), 17) + binary (rel (cobol_$misc_end_ptr), 17); 139 140 if cobol_$temp_token_max < 28 141 then do; 142 143 error_info.message = "Temporary token area overflow"; 144 error_info.message_len = 29; 145 146 call signal_ ("command_abort_", null, addr (error_info)); 147 148 goto comp_token_area; 149 150 end; 151 152 cobol_$temp_token_area_ptr = space_ptr; 153 cobol_$temp_token_ptr = space_ptr; 154 cobol_$misc_end_ptr = null; 155 156 157 158 bypass_flag = "0"b; 159 cobol_$sect_eop_flag = 0; 160 cobol_$para_eop_flag = 0; 161 cobol_$alter_flag = 0; 162 cobol_$alter_index = 1; 163 cobol_$perform_para_index = 1; 164 cobol_$perform_sect_index = 0; 165 cobol_$priority_no = 0; 166 decl_flag = 0; 167 end_flag = 0; 168 last_decl_proc = 0; 169 on_err_tag = 0; /*[4.2-4]*/ 170 tag_stack_loc = 0; 171 pc_flag = 0; 172 search_flag = 0; 173 subscript_flag = 0; 174 cobol_$init_stack_off = 68; 175 cobol_$stack_off = cobol_$init_stack_off; 176 cobol_$max_stack_off = cobol_$init_stack_off; 177 in_token_ptr = cobol_$token_block1_ptr; 178 in_token.n = 0; 179 sub_token_index = 511; 180 in_token.code = 0; 181 map_data_table.no_source_stmts = 0; 182 183 if fixed_common.prog_coll_seq ^= 0 184 then do; 185 186 index = fixed_common.prog_coll_seq; 187 188 call cobol_read_rand$fixed_bin (2, index, alpha_name_ptr); 189 190 cobol_$main_pcs_ptr = alpha_name_ptr; 191 192 if alphabet_name.iw_key = 0 193 then do; 194 call cobol_pool (alphabet_name.table, 2, alphabet_name.offset); 195 alphabet_name.offset = alphabet_name.offset * 4; 196 alphabet_name.segno = 3000; 197 end; 198 199 if alphabet_name.iw_key = 11 200 then alpha_name_ptr = null (); /* ascii */ 201 202 end; 203 else cobol_$main_pcs_ptr = null (); 204 205 temp_prev_ptr = shdr.prev_file; 206 207 if temp_prev_ptr ^= null () 208 then do while (temp_prev_ptr ^= null ()); 209 cobol_$minpral5_ptr = temp_prev_ptr; 210 temp_prev_ptr = cobol_$minpral5_ptr -> shdr.prev_file; 211 end; 212 213 record_ptr = addrel (cobol_$minpral5_ptr, seq_file_hdr (5) + 4); 214 215 goto eof_test; 216 217 /* ....... GET TOKENS COMPRISING "STATEMENT" ....... */ 218 219 get_tokens: 220 if on_err_tag < 0 221 then do; 222 on_err_tag = 0; 223 bypass_flag = "1"b; 224 end; 225 226 if in_token.code > 0 227 then in_token.n = in_token.code; 228 else do; 229 230 if search_flag = 0 231 then do; 232 if cobol_$stack_off > cobol_$max_stack_off 233 then cobol_$max_stack_off = cobol_$stack_off; 234 cobol_$stack_off = cobol_$init_stack_off; 235 end; 236 cobol_$temp_token_ptr = cobol_$temp_token_area_ptr; 237 238 if in_token.code = -1 239 then if in_token_ptr = cobol_$token_block1_ptr 240 then in_token_ptr = cobol_$token_block2_ptr; 241 else in_token_ptr = cobol_$token_block1_ptr; 242 in_token.n = 0; 243 244 end; 245 246 in_token.code = 0; /*[4.2-3]*/ 247 if h_no ^= 13 248 then sub_token_index = 511; 249 250 get_next_token: 251 temp = record.this_rcd_ln + 7; 252 record_ptr = addrel (record_ptr, substr (unspec (temp), 17, 18)); 253 254 255 eof_test: 256 if record.this_rcd_ln <= 0 257 then do; 258 259 if shdr.next_file = null () 260 then go to data_and_seg_init; 261 else do; 262 263 cobol_$minpral5_ptr = shdr.next_file; 264 record_ptr = addrel (cobol_$minpral5_ptr, seq_file_hdr (5) + 4); 265 266 if record.this_rcd_ln <= 0 267 then go to data_and_seg_init; 268 end; 269 end; 270 271 type_tests: 272 in_token.n = in_token.n + 1; 273 274 token_block_ovfl_test: 275 if in_token.n > sub_token_index 276 then do; 277 278 error_info.message = "Token block overflow"; 279 error_info.message_len = 20; 280 call signal_ ("command_abort_", null, addr (error_info)); 281 282 goto token_block_ovfl_test; 283 284 end; 285 286 in_token.token_ptr (in_token.n) = addrel (record_ptr, 2); 287 current_token_ptr = addrel (record_ptr, 2); 288 token_type = token_hdr.type; 289 290 /***..... if Trace_Bit/**/ 291 /***..... then call ioa_("^30x^a^d^x^a^d^x^a^p^x^a^d",/**/ 292 /***..... "TOKEN: LINE= ",token_hdr.line,"COL= ",token_hdr.column,"LOC= ",record_ptr,/**/ 293 /***..... "TYPE= ",token_type);/**/ 294 295 296 if token_type = 7 /*[4.1-2]*/ 297 then do; 298 299 /*[4.4-1]*/ 300 off = cobol_$text_wd_off; /*[4.4-1]*/ 301 if cobol_$para_eop_flag ^= 0 302 then off = off + 2; /* last para was end of perform */ 303 304 305 map_data_table.no_source_stmts = map_data_table.no_source_stmts + 1; 306 map_data_table.data.line_no (map_data_table.no_source_stmts) = current_token_ptr -> proc_def.line; 307 map_data_table.data.text_addr (map_data_table.no_source_stmts) = off; 308 map_data_table.col (map_data_table.no_source_stmts) = current_token_ptr -> proc_def.column; 309 /*[4.1-1]*/ 310 map_data_table.label (map_data_table.no_source_stmts) = "1"b; 311 312 end; 313 314 if token_type = reserved_wd 315 then do; 316 317 if subscript_flag ^= 0 318 then do; 319 320 sub_token.sub_token_ptr (sub_token_index) = current_token_ptr; 321 in_token.n = in_token.n - 1; 322 sub_token_index = sub_token_index - 1; 323 324 goto get_next_token; 325 326 327 end; 328 329 if current_token_ptr -> reserved_word.end_cobol 330 /*[4.1-1]*/ 331 then do; 332 333 if current_token_ptr -> reserved_word.column ^= 9999 334 then do; 335 336 map_data_table.no_source_stmts = map_data_table.no_source_stmts + 1; 337 map_data_table.data.line_no (map_data_table.no_source_stmts) = 338 current_token_ptr -> reserved_word.line; 339 map_data_table.data.text_addr (map_data_table.no_source_stmts) = 340 cobol_$text_wd_off; 341 map_data_table.col (map_data_table.no_source_stmts) = 342 current_token_ptr -> reserved_word.column; 343 map_data_table.label (map_data_table.no_source_stmts) = "0"b; 344 map_data_table.data.line_no (map_data_table.no_source_stmts + 1) = 345 current_token_ptr -> reserved_word.line + 1; 346 347 end; 348 349 else map_data_table.data.line_no (map_data_table.no_source_stmts + 1) = 350 current_token_ptr -> reserved_word.line; 351 352 end; 353 354 if current_token_ptr -> reserved_word.verb = "1"b 355 then do; 356 357 if pd_map_sw = 1 & end_flag = 0 358 then do; 359 360 test1_map_data_ovfl: 361 if map_data_table.no_source_stmts + 2 > cobol_$map_data_max 362 then do; 363 364 error_info.message = "Object map overflow"; 365 error_info.message_len = 19; 366 367 call signal_ ("command_abort_", null, addr (error_info)); 368 369 goto test1_map_data_ovfl; 370 371 end; 372 373 map_data_table.no_source_stmts = map_data_table.no_source_stmts + 1; 374 375 map_data_table.data.line_no (map_data_table.no_source_stmts) = 376 current_token_ptr -> reserved_word.line; 377 378 map_data_table.data.text_addr (map_data_table.no_source_stmts) = 379 cobol_$text_wd_off; 380 map_data_table.col (map_data_table.no_source_stmts) = 381 current_token_ptr -> reserved_word.column; 382 map_data_table.label (map_data_table.no_source_stmts) = "0"b; 383 384 call cobol_reset_r$in_line; 385 386 if fixed_common.options.profile 387 then call cobol_profile; 388 389 end; 390 391 if current_token_ptr -> reserved_word.key = perform 392 | current_token_ptr -> reserved_word.key = compute 393 then pc_flag = 1; 394 395 end; 396 397 goto get_next_token; 398 399 end; 400 401 if token_type > 31 402 then go to get_next_token; 403 else go to TOK (token_type); 404 405 TOK (2): /* numeric literal */ 406 if current_token_ptr -> numeric_lit.subscript = "1"b 407 then call stack_sub; 408 409 goto get_next_token; 410 411 TOK (31): /* tag equivalence */ 412 call cobol_equate_tag (current_token_ptr); 413 414 in_token.n = in_token.n - 1; 415 416 goto get_next_token; 417 418 TOK (9): /* data name */ 419 if current_token_ptr -> data_name.used_as_sub = "1"b 420 then call stack_sub; 421 422 else if subscript_flag = 1 423 then if current_token_ptr -> data_name.subscripted = "1"b 424 then do; 425 426 token_hdr.sub_ptr = subscript_ptr; 427 428 sub_token.sub_token_ptr (sub_token_index) = null; 429 sub_token_index = sub_token_index - 1; 430 subscript_flag = 0; 431 432 end; 433 434 goto get_next_token; 435 436 TOK (10): /* index name */ 437 if current_token_ptr -> index_name.subscript = "1"b 438 then do; 439 440 call stack_sub; 441 442 end; 443 444 goto get_next_token; 445 446 TOK (30): /* tag definition */ 447 if pc_flag ^= 0 448 then goto get_next_token; 449 450 if search_flag ^= 0 & current_token_ptr -> int_tag.true_path = "0"b 451 then goto get_next_token; 452 453 call cobol_define_tag_nc (binary (current_token_ptr -> int_tag.proc_num, 17), cobol_$text_wd_off); 454 455 in_token.n = in_token.n - 1; 456 goto get_next_token; 457 458 TOK (19): /* eos */ 459 if bypass_flag 460 then do; 461 462 if current_token_ptr -> end_stmt.verb = 3 463 then bypass_flag = "0"b; /* end of imperative statement */ 464 465 go to get_tokens; 466 467 end; 468 469 h_no = current_token_ptr -> end_stmt.verb; 470 /***.....if Trace_Bit then call ioa_("^a^d^a^d","*****HANDLER= ",h_no,"TAG= ",on_err_tag);/**/ 471 go to handler (h_no); 472 473 TOK (1): 474 TOK (3): 475 TOK (4): 476 TOK (5): 477 TOK (6): 478 TOK (7): 479 TOK (8): 480 TOK (11): 481 TOK (12): 482 TOK (13): 483 TOK (14): 484 TOK (15): 485 TOK (16): 486 TOK (17): 487 TOK (18): 488 TOK (20): 489 TOK (21): 490 TOK (22): 491 TOK (23): 492 TOK (24): 493 TOK (25): 494 TOK (26): 495 TOK (27): 496 TOK (28): 497 TOK (29): 498 go to get_next_token; 499 500 stack_sub: 501 proc; 502 503 sub_token.sub_token_ptr (sub_token_index) = current_token_ptr; 504 505 if subscript_flag = 0 506 then do; 507 508 subscript_flag = 1; 509 subscript_ptr = addr (sub_token.sub_token_ptr (sub_token_index)); 510 511 end; 512 513 in_token.n = in_token.n - 1; 514 sub_token_index = sub_token_index - 1; 515 end; 516 517 push: 518 proc; 519 520 /*[4.2-4]*/ 521 if current_token_ptr -> end_stmt.b /*[4.2-4]*/ 522 then do; 523 tag_stack_loc = tag_stack_loc + 1; /*[4.2-4]*/ 524 tag_stack (tag_stack_loc) = on_err_tag; /*[4.2-4]*/ 525 on_err_tag = 0; /*[4.2-4]*/ 526 end; 527 528 end; 529 530 push1: 531 proc; /* Used by READ */ 532 /*[4.2-4]*/ 533 if current_token_ptr -> end_stmt.a ^= "0"b /*[4.2-4]*/ 534 then do; 535 tag_stack_loc = tag_stack_loc + 1; /*[4.2-4]*/ 536 tag_stack (tag_stack_loc) = on_err_tag; /*[4.2-4]*/ 537 on_err_tag = 0; /*[4.2-4]*/ 538 end; 539 540 end; 541 542 pop: 543 proc; 544 545 /*[4.2-4]*/ 546 on_err_tag = tag_stack (tag_stack_loc); /*[4.2-4]*/ 547 tag_stack_loc = tag_stack_loc - 1; 548 549 end; 550 551 /* ....... HANDLERS ....... */ 552 553 handler (1): 554 call cobol_accept_gen (in_token_ptr); 555 goto get_tokens; 556 557 handler (2): /*[4.2-4]*/ 558 call push; 559 call cobol_add_gen (in_token_ptr, on_err_tag); 560 goto get_tokens; 561 562 handler (3): /*[4.0-1]*/ 563 if current_token_ptr -> end_stmt.b /*[4.0-1]*/ 564 then do; 565 if on_err_tag ^= 0 566 then call cobol_gen_ioerror$finish_up_not (on_err_tag); 567 /*[4.0-1]*/ 568 end; /*[4.0-1]*/ 569 else do; 570 if on_err_tag ^= 0 571 then call cobol_define_tag (on_err_tag);/*[4.2-4]*/ 572 call pop; /*[4.0-1]*/ 573 end; 574 575 go to get_tokens; 576 577 handler (4): 578 call cobol_alter_gen (in_token_ptr); 579 goto get_tokens; 580 581 handler (5): 582 call cobol_call_gen (in_token_ptr); 583 goto get_tokens; 584 585 handler (6): 586 error_info.message = "Unassigned verb number in EOS"; 587 error_info.message_len = 29; 588 589 call signal_ ("command_abort_", null, addr (error_info)); 590 goto get_tokens; 591 592 handler (7): 593 call cobol_cancel_gen (in_token_ptr); 594 go to get_tokens; 595 596 handler (8): 597 call cobol_close_gen (in_token_ptr); 598 goto get_tokens; 599 600 handler (9): /*[4.2-4]*/ 601 call push; 602 call cobol_divide_gen (in_token_ptr, on_err_tag); 603 goto get_tokens; 604 605 handler (10): /*[4.2-4]*/ 606 call push; 607 call cobol_multiply_gen (in_token_ptr, on_err_tag); 608 goto get_tokens; 609 610 handler (11): /*[4.2-4]*/ 611 call push; 612 call cobol_subtract_gen (in_token_ptr, on_err_tag); 613 goto get_tokens; 614 615 handler (12): 616 call cobol_exit_gen (in_token_ptr); 617 goto get_tokens; 618 619 handler (13): 620 if pc_flag ^= 0 621 then goto get_next_token; 622 call cobol_compare_gen (in_token_ptr); 623 goto get_tokens; 624 625 handler (14): 626 call cobol_go_gen (in_token_ptr); 627 goto get_tokens; 628 629 handler (15): 630 call cobol_merge_gen (in_token_ptr); 631 goto get_tokens; 632 633 handler (16): 634 error_info.message = "Verb not supported in this release"; 635 error_info.message_len = 34; 636 call signal_ ("command_abort_", null, addr (error_info)); 637 goto get_tokens; 638 639 handler (17): 640 call cobol_inspect_gen (in_token_ptr); 641 goto get_tokens; 642 643 handler (18): 644 call cobol_move_gen (in_token_ptr); 645 goto get_tokens; 646 647 handler (19): 648 call cobol_open_gen (in_token_ptr); 649 goto get_tokens; 650 651 handler (20): 652 call cobol_perform_gen (in_token_ptr); 653 pc_flag = 0; 654 goto get_tokens; 655 656 handler (21): /*[4.2-4]*/ 657 call push1; 658 call cobol_read_gen (in_token_ptr, on_err_tag); 659 goto get_tokens; 660 661 handler (22): /*[4.2-4]*/ 662 call push; 663 call cobol_delete_gen (in_token_ptr, on_err_tag); 664 goto get_tokens; 665 666 handler (23): /*[4.2-4]*/ 667 call push; 668 call cobol_receive_gen (in_token_ptr, on_err_tag); 669 goto get_tokens; 670 671 handler (24): 672 call cobol_release_gen (in_token_ptr); 673 goto get_tokens; 674 675 handler (25): /*[4.2-4]*/ 676 call push; 677 call cobol_return_gen (in_token_ptr, on_err_tag); 678 goto get_tokens; 679 680 handler (26): 681 call cobol_search_gen (in_token_ptr, search_flag); 682 goto get_tokens; 683 684 handler (27): /*[5.3-2]*/ 685 call push; 686 call cobol_rewrite_gen (in_token_ptr, on_err_tag); 687 goto get_tokens; 688 689 handler (28): 690 if pc_flag ^= 0 691 then goto get_next_token; 692 call cobol_arithop_gen (in_token_ptr); 693 goto get_tokens; 694 695 handler (29): 696 goto handler (6); /* for now */ 697 698 handler (30): 699 call cobol_send_gen (in_token_ptr); 700 goto get_tokens; 701 702 handler (31): 703 call cobol_set_gen (in_token_ptr); 704 goto get_tokens; 705 706 handler (32): 707 goto handler (6); /* for now */ 708 709 handler (33): 710 call cobol_stop_gen (in_token_ptr); 711 goto get_tokens; 712 713 handler (34): /*[4.2-4]*/ 714 call push; 715 call cobol_string_gen (in_token_ptr, on_err_tag); 716 goto get_tokens; 717 718 handler (35): 719 goto handler (6); /* 06-30-77 */ 720 721 handler (36): 722 goto handler (6); /* 06-30-77 */ 723 724 handler (37): /*[4.2-4]*/ 725 call push; 726 call cobol_unstring_gen (in_token_ptr, on_err_tag); 727 goto get_tokens; 728 729 handler (38): /*[4.2-4]*/ 730 call push; 731 call cobol_write_gen (in_token_ptr, on_err_tag); 732 goto get_tokens; 733 734 handler (39): 735 goto get_tokens; 736 737 handler (40): /*[4.2-4]*/ 738 call push; 739 call cobol_compute_gen (in_token_ptr, on_err_tag); 740 pc_flag = 0; 741 goto get_tokens; 742 743 handler (41): 744 call cobol_disable_gen (in_token_ptr); 745 goto get_tokens; 746 747 handler (42): 748 call cobol_display_gen (in_token_ptr); 749 goto get_tokens; 750 751 handler (43): 752 call cobol_enable_gen (in_token_ptr); 753 goto get_tokens; 754 755 handler (44): 756 goto handler (6); /* 06-30-77 */ 757 758 handler (45): 759 goto handler (6); /* 06-30-77 */ 760 761 handler (46): 762 goto handler (6); /* 06-30-77 */ 763 764 handler (47): 765 goto handler (6); /* for now */ 766 767 handler (48): 768 goto handler (6); /* 06-30-77 */ 769 770 handler (49): 771 call cobol_sort_gen (in_token_ptr); 772 goto get_tokens; 773 774 handler (50): 775 error_info.message = "Verb not supported in this release"; 776 error_info.message_len = 34; 777 call signal_ ("command_abort_", null, addr (error_info)); 778 goto get_tokens; 779 780 handler (51): 781 error_info.message = "Verb not supported in this release"; 782 error_info.message_len = 34; 783 call signal_ ("command_abort_", null, addr (error_info)); 784 goto get_tokens; 785 786 handler (52): 787 if pd_map_sw = 1 & end_flag = 0 788 then do; 789 790 test2_map_data_ovfl: 791 if map_data_table.no_source_stmts + 2 > cobol_$map_data_max 792 then do; 793 794 error_info.message = "Object map overflow"; 795 error_info.message_len = 19; 796 797 call signal_ ("command_abort_", null, addr (error_info)); 798 799 goto test2_map_data_ovfl; 800 801 end; 802 803 map_data_table.no_source_stmts = map_data_table.no_source_stmts + 1; 804 map_data_table.data.line_no (map_data_table.no_source_stmts) = 805 in_token.token_ptr (1) -> reserved_word.line; 806 map_data_table.data.text_addr (map_data_table.no_source_stmts) = cobol_$text_wd_off; 807 map_data_table.col (map_data_table.no_source_stmts) = in_token.token_ptr (1) -> reserved_word.column; 808 map_data_table.label (map_data_table.no_source_stmts) = "0"b; 809 810 end; 811 812 decl_sw = 0; 813 temp = record.this_rcd_ln + 7; 814 temp_ptr = addrel (record_ptr, substr (unspec (temp), 17, 18)); 815 816 if temp_ptr -> record.this_rcd_ln > 0 817 then do; 818 temp_ptr = addrel (temp_ptr, 2); 819 if temp_ptr -> token_hdr.type = reserved_wd 820 then if temp_ptr -> reserved_word.key = 89 821 then decl_sw = 1; /* DECLARATIVES */ 822 end; 823 824 call cobol_prologue_gen (in_token_ptr, binit_tag, fxs_tag, fxs_locno, decl_sw); 825 826 /* Stack space used by cobol_prologue_gen is not returnable */ 827 828 cobol_$init_stack_off = cobol_$stack_off; 829 830 goto get_tokens; 831 832 handler (53): 833 decl_flag = 1; 834 if fxs_tag = 0 835 then call cobol_decl_gen (fxs_tag); 836 837 goto get_tokens; 838 839 handler (54): 840 call cobol_section_gen (in_token_ptr); 841 goto get_tokens; 842 843 handler (55): 844 call cobol_paragraph_gen (in_token_ptr); 845 goto get_tokens; 846 847 handler (56): /*[4.2-4]*/ 848 call push; 849 call cobol_start_gen (in_token_ptr, on_err_tag); 850 goto get_tokens; 851 852 handler (57): 853 goto handler (6); /* 06-30-77 */ 854 855 handler (58): 856 call cobol_purge_gen (in_token_ptr); 857 goto get_tokens; 858 859 handler (59): 860 handler (60): 861 handler (61): 862 handler (62): 863 handler (63): 864 handler (64): 865 handler (65): 866 handler (66): 867 handler (67): 868 handler (68): 869 handler (69): 870 handler (70): 871 handler (71): 872 handler (72): 873 handler (73): 874 handler (74): 875 handler (75): 876 handler (76): 877 handler (77): 878 handler (78): 879 handler (79): 880 handler (80): 881 handler (81): 882 handler (82): 883 handler (83): 884 handler (84): 885 handler (85): 886 handler (86): 887 handler (87): 888 handler (88): 889 handler (89): 890 handler (90): 891 handler (91): 892 handler (92): 893 handler (93): 894 handler (94): 895 handler (95): 896 handler (96): 897 handler (97): 898 goto handler (6); /* for now */ 899 900 handler (98): 901 call cobol_end_gen (in_token_ptr, fxs_locno, fxs_tag, last_decl_proc, end_flag); 902 903 if end_flag = 1 904 then cobol_$init_stack_off = cobol_$max_stack_off; 905 906 goto get_tokens; 907 908 data_and_seg_init: 909 /***..... Trace_Bit="0"b;/**/ 910 if binit_tag ^= 0 911 then do; 912 913 call cobol_define_tag (binit_tag); 914 915 /* Data initialization */ 916 917 if data_init_flag ^= 0 918 then do; 919 920 record_ptr = addrel (initval_base_ptr, seq_file_hdr (5) + 4); 921 cobol_$stack_off = cobol_$init_stack_off; 922 923 do while (record.this_rcd_ln > 0); 924 925 do index = 1 to 4; 926 927 in_token.token_ptr (index) = addrel (record_ptr, 2); 928 temp = record.this_rcd_ln + 7; 929 record_ptr = addrel (record_ptr, substr (unspec (temp), 17, 18)); 930 931 end; 932 933 in_token.n = 4; 934 935 call cobol_move_gen (in_token_ptr); 936 937 if cobol_$stack_off > cobol_$max_stack_off 938 then cobol_$max_stack_off = cobol_$stack_off; 939 940 cobol_$stack_off = cobol_$init_stack_off; 941 942 cobol_$temp_token_ptr = cobol_$temp_token_area_ptr; 943 944 end; 945 946 end; 947 948 /* Segment initialization */ 949 950 call cobol_seginit_gen (fxs_locno, last_decl_proc); 951 952 if decl_flag = 0 & fxs_tag ^= 0 953 then /*-11/30/76-*/ 954 call cobol_define_tag_nc (fxs_tag, fxs_locno); 955 956 end; 957 958 exit: 959 return; 960 961 962 /***.....Tr_Beg: entry(str);/**/ 963 /***..... Trace_Lev=Trace_Lev+1;/**/ 964 /***..... call ioa_("^a^a",substr(Trace_Line,Trace_Lev,1)," "||str);/**/ 965 /***.....return;/**/ 966 967 /***.....Tr_End: entry(str);/**/ 968 /***..... call ioa_("^a^a",substr(Trace_Line,Trace_Lev,1)," END:"||str);/**/ 969 /***..... Trace_Lev=Trace_Lev-1;/**/ 970 /***.....return;/**/ 971 972 973 /***..... dcl Trace_Bit bit(1) static external;/**/ 974 /***..... dcl Trace_Lev fixed bin static external;/**/ 975 /***..... dcl Trace_Line char(36) static external;/**/ 976 /***..... dcl ioa_ entry options(variable); /**/ 977 /***..... dcl str char(*);/**/ 978 979 980 981 /* 982*The function of cobol_gen_driver_ is to direct the generation of the 983*object code necessary to implement the source code comprising a 984*given COBOL program. The primary input to cobol_gen_driver_ is the 985*file Minpral5. This file comprises a sequence of tokens which 986*are, in effect, a coded version of the source program. These 987*tokens are grouped, by PD Syntax, into logical sets for process- 988*ing by the insertion of type-19 End of "Statement" (EOS) tokens. 989*cobol_gen_driver_ creates a structure (in_token) consisting primarily 990*of pointers to each token comprising a "statement", as delimited 991*by EOS tokens, and passes a pointer to this structure to the 992*appropriate generator. In addition, cobol_gen_driver_ performs a 993*number of auxiliary functions, such as; 994* 995* 1. Initialization of a number of variables to pre-code-gener- 996* ation values. 997* 998* 2. Initialization of the definition and linkage sections. 999* 1000* 3. Deallocation of the stack and determination of maximum re- 1001* quired stack size. 1002* 1003* 4. Deallocation of the area (temp_token_area) in which tokens 1004* to temporaries are built. 1005* 1006* 5. Tabulation of data for the construction of the procedure 1007* division map. 1008* 1009* 6. Resolution of internal tag definition and tag equivalence 1010* tokens not bracketed within EOS tokens. 1011* 1012* 1013*U__s_a_g_e:_ 1014* 1015* declare cobol_gen_driver_ entry; 1016* 1017* call cobol_gen_driver_; 1018* 1019* 1020*D__a_t_a:_ 1021* 1022* include cobol_; 1023* 1024* Items in cobol_ include file used (u) and/or set (s) by 1025* cobol_gen_driver_: 1026* 1027* cobol_ptr (u) 1028* com_ptr (u) 1029* alter_flag (s) 1030* alter_index (s) 1031* alter_list_ptr (s) 1032* init_stack_off (s) 1033* map_data_ptr (u) 1034* map_data_max (u) 1035* max_stack_off (s) 1036* minpral5_ptr (u) 1037* misc_end_ptr (u) 1038* misc_max (u) 1039* para_eop_flag (s) 1040* perform_list_ptr (u/s) 1041* perform_para_index (s) 1042* perform_sect_index (s) 1043* priority_no (s) 1044* sect_eop_flag (s) 1045* seg_init_list_ptr (s) 1046* stack_off (u/s) 1047* temp_token_area_ptr (s) 1048* temp_token_ptr (s) 1049* temp_token_max (s) 1050* token_block1_ptr (u) 1051* token_block2_ptr (u) 1052* text_wd_off (u) 1053* 1054* include fixed_common; 1055* 1056* Items in fixed_common include file used (u) and/or set (s) by 1057* cobol_gen_driver_: 1058* 1059* perf_alter_info (u) 1060* size_perform_info (u) 1061* 1062*Conditional Statements: 1063* 1064* end_stmt.b="1"b if code for an option follows 1065* end_stmt.f="01"b if it is a NOT option 1066* 1067* end_stmt.a(3)b(1)c(1)d(2)f(2) 1068* 1069*(1) STATEMENT OPTION 1070* 1071* (a) cobol_pdout_ 1072* 1073* STATEMENT 1074* type19(vt = CODE, b = 1, f = 00) 1075* OPTION 1076* type19(vt = 3, b = 0) 1077* 1078* (b) generated code 1079* 1080* STATEMENT -> (L1) 1081* OPTION 1082* L1: 1083* 1084*(2) STATEMENT OPTION NOT OPTION 1085* 1086* (a) cobol_pdout_ 1087* 1088* STATEMENT 1089* type19(vt = CODE, b = 1, f = 00) 1090* OPTION 1091* type19(vt = 3, b = 1, f = 01) 1092* NOT OPTION 1093* type19(vt = 3, b = 0) 1094* 1095* (b) generated code 1096* 1097* STATEMENT -> (L1) 1098* OPTION 1099* TRA L3 1100* L1: 1101* NOT OPTION 1102* L2: 1103* 1104*(3) STATEMENT NOT OPTION OPTION 1105* 1106* (a) cobol_pdout_ 1107* 1108* STATEMENT 1109* type19(vt = CODE, b = 1, f = 01) 1110* NOT OPTION 1111* type19(vt = 3, b = 1, f = 00) 1112* OPTION 1113* type19(vt = 3, b = 0) 1114* 1115* (b) generated code 1116* 1117* STATEMENT -> (L1) 1118* NOT OPTION 1119* TRA L2 1120* L1: 1121* OPTION 1122* L2: 1123* 1124*(4) STATEMENT NOT OPTION 1125* 1126* (a) cobol_pdout_ 1127* 1128* STATEMENT 1129* type19(vt = CODE, b = 1, f = 01) 1130* NOT OPTION 1131* type19(vt = 3, b = 0) 1132* 1133* (b) generated code 1134* 1135* STATEMENT -> (L1) 1136* NOT-OPTION 1137* L1: 1138* */ 1139 1140 1141 dcl 1 error_info static aligned, 1142 2 name char (32) aligned init ("cobol_gen_driver_"), 1143 2 message_len fixed bin aligned, 1144 2 message char (36) aligned; 1145 1146 dcl reserved_wd fixed bin internal static init (1), 1147 numeric_lit_token fixed bin internal static init (2), 1148 type_9 fixed bin internal static init (9), 1149 index_name_token fixed bin internal static init (10), 1150 eos fixed bin internal static init (19), 1151 internal_tag fixed bin internal static init (30), 1152 tag_equivalence fixed bin internal static init (31), 1153 perform fixed bin internal static init (20), 1154 compute fixed bin internal static init (40); 1155 1156 1157 1158 /* 1159*P__r_o_c_e_d_u_r_e_s_C__a_l_l_e_d:_ 1160* */ 1161 1162 dcl cobol_alter_perform entry (ptr, fixed bin), 1163 cobol_reset_r$in_line 1164 entry, 1165 signal_ entry (char (*), ptr, ptr), 1166 cobol_equate_tag entry (ptr), 1167 cobol_define_tag entry (fixed bin), 1168 cobol_define_tag_nc entry (fixed bin, fixed bin), 1169 cobol_accept_gen entry (ptr), 1170 cobol_add_gen entry (ptr, fixed bin), 1171 cobol_alter_gen entry (ptr), 1172 cobol_call_gen entry (ptr), 1173 cobol_cancel_gen entry (ptr), 1174 cobol_close_gen entry (ptr), 1175 cobol_divide_gen entry (ptr, fixed bin), 1176 cobol_multiply_gen entry (ptr, fixed bin), 1177 cobol_subtract_gen entry (ptr, fixed bin), 1178 cobol_exit_gen entry (ptr), 1179 cobol_compare_gen entry (ptr), 1180 cobol_go_gen entry (ptr), 1181 cobol_move_gen entry (ptr), 1182 cobol_open_gen entry (ptr), 1183 cobol_perform_gen entry (ptr), 1184 cobol_read_gen entry (ptr, fixed bin), 1185 cobol_gen_ioerror$finish_up_not 1186 entry (fixed bin), 1187 cobol_delete_gen entry (ptr, fixed bin), 1188 cobol_receive_gen entry (ptr, fixed bin), 1189 cobol_release_gen entry (ptr), 1190 cobol_return_gen entry (ptr, fixed bin), 1191 cobol_rewrite_gen entry (ptr, fixed bin), 1192 cobol_arithop_gen entry (ptr), 1193 cobol_send_gen entry (ptr), 1194 cobol_set_gen entry (ptr), 1195 cobol_stop_gen entry (ptr), 1196 cobol_write_gen entry (ptr, fixed bin), 1197 cobol_compute_gen entry (ptr, fixed bin), 1198 cobol_disable_gen entry (ptr), 1199 cobol_display_gen entry (ptr), 1200 cobol_enable_gen entry (ptr), 1201 cobol_sort_gen entry (ptr), 1202 cobol_merge_gen entry (ptr), 1203 cobol_profile entry, 1204 cobol_prologue_gen entry (ptr, fixed bin, fixed bin, fixed bin, fixed bin), 1205 cobol_decl_gen entry (fixed bin), 1206 cobol_section_gen entry (ptr), 1207 cobol_paragraph_gen entry (ptr), 1208 cobol_start_gen entry (ptr, fixed bin), 1209 cobol_pool entry (char (*), fixed bin, fixed bin), 1210 cobol_read_rand$fixed_bin 1211 entry (fixed bin, fixed bin, ptr), 1212 cobol_seginit_gen entry (fixed bin, fixed bin), 1213 cobol_search_gen entry (ptr, fixed bin), 1214 cobol_inspect_gen entry (ptr), 1215 cobol_string_gen entry (ptr, fixed bin), 1216 cobol_unstring_gen entry (ptr, fixed bin), 1217 cobol_purge_gen entry (ptr), 1218 cobol_end_gen entry (ptr, fixed bin, fixed bin, fixed bin, fixed bin); 1219 1220 1221 /* 1222*B__u_i_l_t-__i_n_F__u_n_c_t_i_o_n_s_U__s_e_d:_ 1223* */ 1224 1225 dcl (addr, size) builtin, 1226 addrel builtin, 1227 baseno builtin, 1228 binary builtin, 1229 null builtin, 1230 rel builtin, 1231 substr builtin, 1232 unspec builtin; 1233 1 1 1 2 /* BEGIN INCLUDE FILE ... cobol_in_token.incl.pl1 */ 1 3 1 4 /* Last modified August 22, 1974 by AEG */ 1 5 1 6 1 7 declare in_token_ptr ptr; 1 8 1 9 declare 1 in_token aligned based(in_token_ptr), 1 10 2 n fixed bin aligned, 1 11 2 code fixed bin aligned, 1 12 2 token_ptr(0 refer(in_token.n)) ptr aligned; 1 13 1 14 1 15 /* END INCLUDE FILE ... cobol_in_token.incl.pl1 */ 1 16 1234 2 1 2 2 /* BEGIN INCLUDE FILE ... cobol_type1.incl.pl1 */ 2 3 /* Last modified on 11/19/76 by ORN */ 2 4 2 5 /* 2 6*A reserved word token is created in the minpral files for each occurrence 2 7*of a reserved word in the source program. The value of the key field 2 8*indicates the specific reserved word which a type 1 token represents. 2 9**/ 2 10 2 11 dcl rw_ptr ptr; 2 12 2 13 /* BEGIN DECLARATION OF TYPE1 (RESERVED WORD) TOKEN */ 2 14 dcl 1 reserved_word based (rw_ptr), 3 1 3 2 /* begin include file ... cobol_TYPE1.incl.pl1 */ 3 3 /* Last modified on 11/17/76 by ORN */ 3 4 /* Last modified on 12/28/76 by FCH */ 3 5 /* Last modified on 12/16/80 by FCH */ 3 6 3 7 /* header */ 3 8 2 size fixed bin, 3 9 2 line fixed bin, 3 10 2 column fixed bin, 3 11 2 type fixed bin, 3 12 /* body */ 3 13 2 key fixed bin, 3 14 /* procedure division class bits */ 3 15 2 verb bit (1), 3 16 2 arith_op bit (1), 3 17 2 figcon bit (1), 3 18 2 terminator bit (1), 3 19 2 end_dec bit (1), 3 20 2 rel_op bit (1), 3 21 2 imper_verb bit (1), 3 22 2 end_cobol bit (1), 3 23 /* data division class bits */ 3 24 2 section_header bit (1), 3 25 2 fs_ind bit (1), 3 26 2 fd_clause bit (1), 3 27 2 dd_clause bit (1), 3 28 2 cd_input bit (1), 3 29 2 cd_output bit (1), 3 30 2 cset_name bit (1), 3 31 2 ss_division bit (1), 3 32 2 repl_jump_ind bit (4), 3 33 2 ided_recovery bit (1), 3 34 2 report_writer bit (5), 3 35 2 ss_desc_entry bit (1), 3 36 2 jump_index fixed bin, 3 37 2 length fixed bin, 3 38 2 name char(0 refer(reserved_word.length)); 3 39 3 40 3 41 3 42 /* end include file ... cobol_TYPE1.incl.pl1 */ 3 43 2 15 2 16 /* END DECLARATION OF TYPE1 (RESERVED WORD) TOKEN */ 2 17 2 18 /* END INCLUDE FILE ... cobol_type1.incl.pl1 */ 2 19 1235 4 1 4 2 /* BEGIN INCLUDE FILE ... cobol_type2.incl.pl1 */ 4 3 /* Last modified on 11/19/76 by ORN */ 4 4 4 5 /* 4 6*A type 2 numeric literal token is entered into the minpral file by the 4 7*lexical analysis phase for each numeric literal encountered in the source 4 8*program. 4 9**/ 4 10 4 11 dcl nlit_ptr ptr; 4 12 4 13 /* BEGIN DECLARATION OF TYPE2 (NUMERIC LITERAL) TOKEN */ 4 14 dcl 1 numeric_lit based (nlit_ptr), 5 1 5 2 /* begin include file ... cobol_TYPE2.incl.pl1 */ 5 3 /* Last modified on 12/28/76 by FCH */ 5 4 5 5 /* header */ 5 6 2 size fixed bin, 5 7 2 line fixed bin, 5 8 2 column fixed bin, 5 9 2 type fixed bin, 5 10 /* body */ 5 11 2 integral bit(1), 5 12 2 floating bit(1), 5 13 2 seg_range bit(1), 5 14 2 filler1 bit(4), 5 15 2 subscript bit(1), 5 16 2 sign char(1), 5 17 2 exp_sign char(1), 5 18 2 exp_places fixed bin, 5 19 2 places_left fixed bin, 5 20 2 places_right fixed bin, 5 21 2 places fixed bin, 5 22 2 literal char(0 refer(numeric_lit.places)); 5 23 5 24 5 25 5 26 /* end include file ... cobol_TYPE2.incl.pl1 */ 5 27 4 15 4 16 /* END DECLARATION OF TYPE2 (NUMERIC LITERAL) TOKEN */ 4 17 4 18 /* END INCLUDE FILE ... cobol_type2.incl.pl1 */ 4 19 1236 6 1 6 2 /* BEGIN INCLUDE FILE ... cobol_type9.incl.pl1 */ 6 3 /* Last modified on 11/19/76 by ORN */ 6 4 6 5 /* 6 6*A type 9 data name token is entered into the name table by the data 6 7*division syntax phase for each data name described in the data division. 6 8*The replacement phase subsequently replaces type 8 user word references 6 9*to data names in the procedure division minpral file with the corresponding 6 10*type 9 tokens from the name table. 6 11**/ 6 12 6 13 /* dcl dn_ptr ptr; */ 6 14 6 15 /* BEGIN DECLARATION OF TYPE9 (DATA NAME) TOKEN */ 6 16 dcl 1 data_name based (dn_ptr), 7 1 7 2 /* begin include file ... cobol_TYPE9.incl.pl1 */ 7 3 /* Last modified on 06/19/77 by ORN */ 7 4 /* Last modified on 12/28/76 by FCH */ 7 5 7 6 /* header */ 7 7 2 size fixed bin, 7 8 2 line fixed bin, 7 9 2 column fixed bin, 7 10 2 type fixed bin, 7 11 /* body */ 7 12 2 string_ptr ptr, 7 13 2 prev_rec ptr, 7 14 2 searched bit (1), 7 15 2 duplicate bit (1), 7 16 2 saved bit (1), 7 17 2 debug_ind bit (1), 7 18 2 filler2 bit (3), 7 19 2 used_as_sub bit (1), 7 20 2 def_line fixed bin, 7 21 2 level fixed bin, 7 22 2 linkage fixed bin, 7 23 2 file_num fixed bin, 7 24 2 size_rtn fixed bin, 7 25 2 item_length fixed bin(24), 7 26 2 places_left fixed bin, 7 27 2 places_right fixed bin, 7 28 /* description */ 7 29 2 file_section bit (1), 7 30 2 working_storage bit (1), 7 31 2 constant_section bit (1), 7 32 2 linkage_section bit (1), 7 33 2 communication_section bit (1), 7 34 2 report_section bit (1), 7 35 2 level_77 bit (1), 7 36 2 level_01 bit (1), 7 37 2 non_elementary bit (1), 7 38 2 elementary bit (1), 7 39 2 filler_item bit (1), 7 40 2 s_of_rdf bit (1), 7 41 2 o_of_rdf bit (1), 7 42 2 bin_18 bit (1), 7 43 2 bin_36 bit (1), 7 44 2 pic_has_l bit (1), 7 45 2 pic_is_do bit (1), 7 46 2 numeric bit (1), 7 47 2 numeric_edited bit (1), 7 48 2 alphanum bit (1), 7 49 2 alphanum_edited bit (1), 7 50 2 alphabetic bit (1), 7 51 2 alphabetic_edited bit (1), 7 52 2 pic_has_p bit (1), 7 53 2 pic_has_ast bit (1), 7 54 2 item_signed bit(1), 7 55 2 sign_separate bit (1), 7 56 2 display bit (1), 7 57 2 comp bit (1), 7 58 2 ascii_packed_dec_h bit (1), /* as of 8/16/76 this field used for comp8. */ 7 59 2 ascii_packed_dec bit (1), 7 60 2 ebcdic_packed_dec bit (1), 7 61 2 bin_16 bit (1), 7 62 2 bin_32 bit (1), 7 63 2 usage_index bit (1), 7 64 2 just_right bit (1), 7 65 2 compare_argument bit (1), 7 66 2 sync bit (1), 7 67 2 temporary bit (1), 7 68 2 bwz bit (1), 7 69 2 variable_length bit (1), 7 70 2 subscripted bit (1), 7 71 2 occurs_do bit (1), 7 72 2 key_a bit (1), 7 73 2 key_d bit (1), 7 74 2 indexed_by bit (1), 7 75 2 value_numeric bit (1), 7 76 2 value_non_numeric bit (1), 7 77 2 value_signed bit (1), 7 78 2 sign_type bit (3), 7 79 2 pic_integer bit (1), 7 80 2 ast_when_zero bit (1), 7 81 2 label_record bit (1), 7 82 2 sign_clause_occurred bit (1), 7 83 2 okey_dn bit (1), 7 84 2 subject_of_keyis bit (1), 7 85 2 exp_redefining bit (1), 7 86 2 sync_in_rec bit (1), 7 87 2 rounded bit (1), 7 88 2 ad_bit bit (1), 7 89 2 debug_all bit (1), 7 90 2 overlap bit (1), 7 91 2 sum_counter bit (1), 7 92 2 exp_occurs bit (1), 7 93 2 linage_counter bit (1), 7 94 2 rnm_01 bit (1), 7 95 2 aligned bit (1), 7 96 2 not_user_writable bit (1), 7 97 2 database_key bit (1), 7 98 2 database_data_item bit (1), 7 99 2 seg_num fixed bin, 7 100 2 offset fixed bin(24), 7 101 2 initial_ptr fixed bin, 7 102 2 edit_ptr fixed bin, 7 103 2 occurs_ptr fixed bin, 7 104 2 do_rec char(5), 7 105 2 bitt bit (1), 7 106 2 byte bit (1), 7 107 2 half_word bit (1), 7 108 2 word bit (1), 7 109 2 double_word bit (1), 7 110 2 half_byte bit (1), 7 111 2 filler5 bit (1), 7 112 2 bit_offset bit (4), 7 113 2 son_cnt bit (16), 7 114 2 max_red_size fixed bin(24), 7 115 2 name_size fixed bin, 7 116 2 name char(0 refer(data_name.name_size)); 7 117 7 118 7 119 7 120 /* end include file ... cobol_TYPE9.incl.pl1 */ 7 121 6 17 6 18 /* END DECLARATION OF TYPE9 (DATA NAME) TOKEN */ 6 19 6 20 /* END INCLUDE FILE ... cobol_type9.incl.pl1 */ 6 21 1237 8 1 8 2 /* BEGIN INCLUDE FILE ... cobol_type10.incl.pl1 */ 8 3 /* Last modified on 11/19/76 by ORN */ 8 4 /* 8 5*A type 10 index name token is entered into the name table by the data 8 6*division syntax phase for each index name appearing in the data division. 8 7*An index name is declared in the indexed by phrase of an occurs clause. 8 8*maintain the binary byte offset, within the array, corresponding to the 8 9*current setting of the index name. The right-most two bytes contain the 8 10*binary occurrence number to which the index name is set. 8 11*When the replacement phase processes the procedure division minpral file, 8 12*each reference to an index name is replaced with the type 10 token created 8 13*for that index name. 8 14**/ 8 15 8 16 dcl ind_ptr ptr; 8 17 8 18 /* BEGIN DECLARATION OF TYPE10 (INDEX NAME) TOKEN */ 8 19 dcl 1 index_name based (ind_ptr), 9 1 9 2 /* begin include file ... cobol_TYPE10.incl.pl1 9 3*/* Last modified on 01/25/77 by ORN */ 9 4 9 5 /* header */ 9 6 2 size fixed bin, 9 7 2 line fixed bin, 9 8 2 column fixed bin, 9 9 2 type fixed bin, 9 10 /* body */ 9 11 2 string_ptr ptr, 9 12 2 prev_rec ptr, 9 13 2 searched bit(1), 9 14 2 duplicate bit(1), 9 15 2 saved bit(1), 9 16 2 debug_ind bit(1), 9 17 2 filler1 bit(3), 9 18 2 subscript bit(1), 9 19 2 def_line fixed bin, 9 20 2 level fixed bin, 9 21 2 seg_num fixed bin, 9 22 2 offset fixed bin(24), 9 23 2 index_no fixed bin, 9 24 2 min fixed bin, 9 25 2 max fixed bin, 9 26 2 struc_length fixed bin, 9 27 2 cswd_seg fixed bin, 9 28 2 cswd_offset fixed bin(24), 9 29 2 name_size fixed bin, 9 30 2 name char(0 refer(index_name.name_size)); 9 31 9 32 9 33 9 34 /* end include file ... cobol_TYPE10.incl.pl1 */ 9 35 8 20 8 21 /* END DECLARATION OF TYPE10 (INDEX NAME) TOKEN */ 8 22 8 23 /* END INCLUDE FILE ... cobol_type10.incl.pl1 */ 8 24 1238 10 1 10 2 /* BEGIN INCLUDE FILE ... cobol_type19.incl.pl1 */ 10 3 /* last modified on 11/19/76 by ORN */ 10 4 10 5 /* 10 6*A type 19 end of statement token is created in the procedure division 10 7*minpral file at the end of each minpral statement generated by the 10 8*procedure division syntax phase. A minpral statement may be a complete or 10 9*partial source language statement. A type 19 token contains information 10 10*describing the statement which it delimits. 10 11**/ 10 12 10 13 dcl eos_ptr ptr; 10 14 10 15 /* BEGIN DECLARATION OF TYPE19 (END STATEMENT) TOKEN */ 10 16 dcl 1 end_stmt based (eos_ptr), 11 1 11 2 /* begin include file ... cobol_TYPE19.incl.pl1 */ 11 3 /* Last modified on 11/17/76 by ORN */ 11 4 11 5 /* header */ 11 6 2 size fixed bin, 11 7 2 line fixed bin, 11 8 2 column fixed bin, 11 9 2 type fixed bin, 11 10 /* body */ 11 11 2 verb fixed bin, 11 12 2 e fixed bin, 11 13 2 h fixed bin, 11 14 2 i fixed bin, 11 15 2 j fixed bin, 11 16 2 a bit (3), 11 17 2 b bit (1), 11 18 2 c bit (1), 11 19 2 d bit (2), 11 20 2 f bit (2), 11 21 2 g bit (2), 11 22 2 k bit (5), 11 23 2 always_an bit (1); 11 24 11 25 /* end include file ... cobol_TYPE19.incl.pl1 */ 11 26 10 17 10 18 /* END DECLARATION OF TYPE19 (END STATEMENT) TOKEN */ 10 19 10 20 /* 10 21*FIELD CONTENTS 10 22* 10 23*size The total size in bytes of this end of statement token. 10 24*line 0 10 25*column 0 10 26*type 19 10 27*verb A value indicating the verb in this statement 10 28* 1 = accept 10 29* 2 = add 10 30* 3 = on size error 10 31* 4 = alter 10 32* 5 = call 10 33* 7 = cancel 10 34* 8 = close 10 35* 9 = divide 10 36* 10 = multiply 10 37* 11 = subtract 10 38* 12 = exit 10 39* 14 = go 10 40* 15 = merge 10 41* 16 = initiate 10 42* 17 = inspect 10 43* 18 = move 10 44* 19 = open 10 45* 20 = perform 10 46* 21 = read 10 47* 23 = receive 10 48* 24 = release 10 49* 25 = return 10 50* 26 = search 10 51* 27 = rewrite 10 52* 29 = seek 10 53* 30 = send 10 54* 31 = set 10 55* 33 = stop 10 56* 34 = string 10 57* 35 = suspend 10 58* 36 = terminate 10 59* 37 = unstring 10 60* 38 = write 10 61* 39 = use 10 62* 40 = compute 10 63* 41 = disable 10 64* 42 = display 10 65* 43 = enable 10 66* 45 = generate 10 67* 46 = hold 10 68* 48 = process 10 69* 49 = sort 10 70* 52 = procedure 10 71* 53 = declaratives 10 72* 54 = section name 10 73* 55 = paragraph name 10 74* 98 = end 10 75*e,h,i,j The significance of these fields differs with each 10 76* statement. These fields are normally used as counters. 10 77*a,b,c,d,f,g,k The significance of these fields differs with each 10 78* statement. These fields are normally used as indicators. 10 79**/ 10 80 10 81 /* END INCLUDE FILE ... cobol_type19.incl.pl1 */ 10 82 1239 12 1 12 2 /* BEGIN INCLUDE FILE ... cobol_type30.incl.pl1 */ 12 3 /* Last modified on 11/19/76 by ORN */ 12 4 12 5 /* 12 6*An internal tag token is created in the procedure division minpral file by 12 7*the procedure division syntax phase whenever the introduction of a 12 8*compiler-generated procedure definition is required to maintain the proper 12 9*logical flow between minpral statements. A typical usage of type 30 tokens 12 10*is as labels of simple conditions within a compound condition. 12 11**/ 12 12 12 13 dcl tag_ptr ptr; 12 14 12 15 /* BEGIN DECLARATION OF TYPE30 (INTERNAL TAG) TOKEN */ 12 16 dcl 1 int_tag based (tag_ptr), 12 17 /* header */ 12 18 2 size fixed bin (15), 12 19 2 line fixed bin (15), 12 20 2 column fixed bin (15), 12 21 2 type fixed bin (15), 12 22 /* body */ 12 23 2 filler1 ptr, 12 24 2 filler2 ptr, 12 25 2 perform_bit bit (1), 12 26 2 true_path bit (1), 12 27 2 filler3 bit (6), 12 28 2 filler4 char (2), 12 29 2 filler5 bit (8), 12 30 2 filler6 fixed bin (15), 12 31 2 proc_num fixed bin (15), 12 32 2 filler7 fixed bin (15), 12 33 2 filler8 char (1); 12 34 /* END DECLARATION OF TYPE30 (INTERNAL TAG) TOKEN */ 12 35 12 36 /* 12 37*FIELD CONTENTS 12 38* 12 39*size The total size in bytes of this internal tag token. 12 40*line 0 12 41*column 0 12 42*type 30 12 43*filler1 Available for future use. 12 44*filler2 Available for future use. 12 45*perform_bit Set to "1"b when this token is issued at the 12 46* end of a condition in a format #3 or format #4 12 47* perform. 12 48*true_path This field is significant only when perform_bit is 12 49* "1"b. Set to "1"b when this token represents the true 12 50* path of a condition. Set to "0"b when this token 12 51* represents the false path of a condition. 12 52*filler3 Available for future use. 12 53*filler4 Available for future use. 12 54*filler5 Available for future use. 12 55*filler6 Available for future use. 12 56*proc_num The internally generated procedure number of the tag 12 57* defined by this token. 12 58*filler7 Available for future use. 12 59*filler8 Available for future use. 12 60**/ 12 61 12 62 /* END INCLUDE FILE ... cobol_type30.incl.pl1 */ 12 63 1240 13 1 13 2 /* BEGIN INCLUDE FILE ... cobol_.incl.pl1 */ 13 3 /* last modified Feb 4, 1977 by ORN */ 13 4 13 5 /* This file defines all external data used in the generator phase of Multics Cobol */ 13 6 13 7 /* POINTERS */ 13 8 dcl cobol_$text_base_ptr ptr ext; 13 9 dcl text_base_ptr ptr defined (cobol_$text_base_ptr); 13 10 dcl cobol_$con_end_ptr ptr ext; 13 11 dcl con_end_ptr ptr defined (cobol_$con_end_ptr); 13 12 dcl cobol_$def_base_ptr ptr ext; 13 13 dcl def_base_ptr ptr defined (cobol_$def_base_ptr); 13 14 dcl cobol_$link_base_ptr ptr ext; 13 15 dcl link_base_ptr ptr defined (cobol_$link_base_ptr); 13 16 dcl cobol_$sym_base_ptr ptr ext; 13 17 dcl sym_base_ptr ptr defined (cobol_$sym_base_ptr); 13 18 dcl cobol_$reloc_text_base_ptr ptr ext; 13 19 dcl reloc_text_base_ptr ptr defined (cobol_$reloc_text_base_ptr); 13 20 dcl cobol_$reloc_def_base_ptr ptr ext; 13 21 dcl reloc_def_base_ptr ptr defined (cobol_$reloc_def_base_ptr); 13 22 dcl cobol_$reloc_link_base_ptr ptr ext; 13 23 dcl reloc_link_base_ptr ptr defined (cobol_$reloc_link_base_ptr); 13 24 dcl cobol_$reloc_sym_base_ptr ptr ext; 13 25 dcl reloc_sym_base_ptr ptr defined (cobol_$reloc_sym_base_ptr); 13 26 dcl cobol_$reloc_work_base_ptr ptr ext; 13 27 dcl reloc_work_base_ptr ptr defined (cobol_$reloc_work_base_ptr); 13 28 dcl cobol_$pd_map_ptr ptr ext; 13 29 dcl pd_map_ptr ptr defined (cobol_$pd_map_ptr); 13 30 dcl cobol_$fixup_ptr ptr ext; 13 31 dcl fixup_ptr ptr defined (cobol_$fixup_ptr); 13 32 dcl cobol_$initval_base_ptr ptr ext; 13 33 dcl initval_base_ptr ptr defined (cobol_$initval_base_ptr); 13 34 dcl cobol_$initval_file_ptr ptr ext; 13 35 dcl initval_file_ptr ptr defined (cobol_$initval_file_ptr); 13 36 dcl cobol_$perform_list_ptr ptr ext; 13 37 dcl perform_list_ptr ptr defined (cobol_$perform_list_ptr); 13 38 dcl cobol_$alter_list_ptr ptr ext; 13 39 dcl alter_list_ptr ptr defined (cobol_$alter_list_ptr); 13 40 dcl cobol_$seg_init_list_ptr ptr ext; 13 41 dcl seg_init_list_ptr ptr defined (cobol_$seg_init_list_ptr); 13 42 dcl cobol_$temp_token_area_ptr ptr ext; 13 43 dcl temp_token_area_ptr ptr defined (cobol_$temp_token_area_ptr); 13 44 dcl cobol_$temp_token_ptr ptr ext; 13 45 dcl temp_token_ptr ptr defined (cobol_$temp_token_ptr); 13 46 dcl cobol_$token_block1_ptr ptr ext; 13 47 dcl token_block1_ptr ptr defined (cobol_$token_block1_ptr); 13 48 dcl cobol_$token_block2_ptr ptr ext; 13 49 dcl token_block2_ptr ptr defined (cobol_$token_block2_ptr); 13 50 dcl cobol_$minpral5_ptr ptr ext; 13 51 dcl minpral5_ptr ptr defined (cobol_$minpral5_ptr); 13 52 dcl cobol_$tag_table_ptr ptr ext; 13 53 dcl tag_table_ptr ptr defined (cobol_$tag_table_ptr); 13 54 dcl cobol_$map_data_ptr ptr ext; 13 55 dcl map_data_ptr ptr defined (cobol_$map_data_ptr); 13 56 dcl cobol_$ptr_status_ptr ptr ext; 13 57 dcl ptr_status_ptr ptr defined (cobol_$ptr_status_ptr); 13 58 dcl cobol_$reg_status_ptr ptr ext; 13 59 dcl reg_status_ptr ptr defined (cobol_$reg_status_ptr); 13 60 dcl cobol_$misc_base_ptr ptr ext; 13 61 dcl misc_base_ptr ptr defined (cobol_$misc_base_ptr); 13 62 dcl cobol_$misc_end_ptr ptr ext; 13 63 dcl misc_end_ptr ptr defined (cobol_$misc_end_ptr); 13 64 dcl cobol_$list_ptr ptr ext; 13 65 dcl list_ptr ptr defined (cobol_$list_ptr); 13 66 dcl cobol_$allo1_ptr ptr ext; 13 67 dcl allo1_ptr ptr defined (cobol_$allo1_ptr); 13 68 dcl cobol_$eln_ptr ptr ext; 13 69 dcl eln_ptr ptr defined (cobol_$eln_ptr); 13 70 dcl cobol_$diag_ptr ptr ext; 13 71 dcl diag_ptr ptr defined (cobol_$diag_ptr); 13 72 dcl cobol_$xref_token_ptr ptr ext; 13 73 dcl xref_token_ptr ptr defined (cobol_$xref_token_ptr); 13 74 dcl cobol_$xref_chain_ptr ptr ext; 13 75 dcl xref_chain_ptr ptr defined (cobol_$xref_chain_ptr); 13 76 dcl cobol_$statement_info_ptr ptr ext; 13 77 dcl statement_info_ptr ptr defined (cobol_$statement_info_ptr); 13 78 dcl cobol_$reswd_ptr ptr ext; 13 79 dcl reswd_ptr ptr defined (cobol_$reswd_ptr); 13 80 dcl cobol_$op_con_ptr ptr ext; 13 81 dcl op_con_ptr ptr defined (cobol_$op_con_ptr); 13 82 dcl cobol_$ntbuf_ptr ptr ext; 13 83 dcl ntbuf_ptr ptr defined (cobol_$ntbuf_ptr); 13 84 dcl cobol_$main_pcs_ptr ptr ext; 13 85 dcl main_pcs_ptr ptr defined (cobol_$main_pcs_ptr); 13 86 dcl cobol_$include_info_ptr ptr ext; 13 87 dcl include_info_ptr ptr defined (cobol_$include_info_ptr); 13 88 13 89 /* FIXED BIN */ 13 90 dcl cobol_$text_wd_off fixed bin ext; 13 91 dcl text_wd_off fixed bin defined (cobol_$text_wd_off); 13 92 dcl cobol_$con_wd_off fixed bin ext; 13 93 dcl con_wd_off fixed bin defined (cobol_$con_wd_off); 13 94 dcl cobol_$def_wd_off fixed bin ext; 13 95 dcl def_wd_off fixed bin defined (cobol_$def_wd_off); 13 96 dcl cobol_$def_max fixed bin ext; 13 97 dcl def_max fixed bin defined (cobol_$def_max); 13 98 dcl cobol_$link_wd_off fixed bin ext; 13 99 dcl link_wd_off fixed bin defined (cobol_$link_wd_off); 13 100 dcl cobol_$link_max fixed bin ext; 13 101 dcl link_max fixed bin defined (cobol_$link_max); 13 102 dcl cobol_$sym_wd_off fixed bin ext; 13 103 dcl sym_wd_off fixed bin defined (cobol_$sym_wd_off); 13 104 dcl cobol_$sym_max fixed bin ext; 13 105 dcl sym_max fixed bin defined (cobol_$sym_max); 13 106 dcl cobol_$reloc_text_max fixed bin(24) ext; 13 107 dcl reloc_text_max fixed bin(24) defined (cobol_$reloc_text_max); 13 108 dcl cobol_$reloc_def_max fixed bin(24) ext; 13 109 dcl reloc_def_max fixed bin(24) defined (cobol_$reloc_def_max); 13 110 dcl cobol_$reloc_link_max fixed bin(24) ext; 13 111 dcl reloc_link_max fixed bin(24) defined (cobol_$reloc_link_max); 13 112 dcl cobol_$reloc_sym_max fixed bin(24) ext; 13 113 dcl reloc_sym_max fixed bin(24) defined (cobol_$reloc_sym_max); 13 114 dcl cobol_$reloc_work_max fixed bin(24) ext; 13 115 dcl reloc_work_max fixed bin(24) defined (cobol_$reloc_work_max); 13 116 dcl cobol_$pd_map_index fixed bin ext; 13 117 dcl pd_map_index fixed bin defined (cobol_$pd_map_index); 13 118 dcl cobol_$cobol_data_wd_off fixed bin ext; 13 119 dcl cobol_data_wd_off fixed bin defined (cobol_$cobol_data_wd_off); 13 120 dcl cobol_$stack_off fixed bin ext; 13 121 dcl stack_off fixed bin defined (cobol_$stack_off); 13 122 dcl cobol_$max_stack_off fixed bin ext; 13 123 dcl max_stack_off fixed bin defined (cobol_$max_stack_off); 13 124 dcl cobol_$init_stack_off fixed bin ext; 13 125 dcl init_stack_off fixed bin defined (cobol_$init_stack_off); 13 126 dcl cobol_$pd_map_sw fixed bin ext; 13 127 dcl pd_map_sw fixed bin defined (cobol_$pd_map_sw); 13 128 dcl cobol_$next_tag fixed bin ext; 13 129 dcl next_tag fixed bin defined (cobol_$next_tag); 13 130 dcl cobol_$data_init_flag fixed bin ext; 13 131 dcl data_init_flag fixed bin defined (cobol_$data_init_flag); 13 132 dcl cobol_$seg_init_flag fixed bin ext; 13 133 dcl seg_init_flag fixed bin defined (cobol_$seg_init_flag); 13 134 dcl cobol_$alter_flag fixed bin ext; 13 135 dcl alter_flag fixed bin defined (cobol_$alter_flag); 13 136 dcl cobol_$sect_eop_flag fixed bin ext; 13 137 dcl sect_eop_flag fixed bin defined (cobol_$sect_eop_flag); 13 138 dcl cobol_$para_eop_flag fixed bin ext; 13 139 dcl para_eop_flag fixed bin defined (cobol_$para_eop_flag); 13 140 dcl cobol_$priority_no fixed bin ext; 13 141 dcl priority_no fixed bin defined (cobol_$priority_no); 13 142 dcl cobol_$compile_count fixed bin ext; 13 143 dcl compile_count fixed bin defined (cobol_$compile_count); 13 144 dcl cobol_$ptr_assumption_ind fixed bin ext; 13 145 dcl ptr_assumption_ind fixed bin defined (cobol_$ptr_assumption_ind); 13 146 dcl cobol_$reg_assumption_ind fixed bin ext; 13 147 dcl reg_assumption_ind fixed bin defined (cobol_$reg_assumption_ind); 13 148 dcl cobol_$perform_para_index fixed bin ext; 13 149 dcl perform_para_index fixed bin defined (cobol_$perform_para_index); 13 150 dcl cobol_$perform_sect_index fixed bin ext; 13 151 dcl perform_sect_index fixed bin defined (cobol_$perform_sect_index); 13 152 dcl cobol_$alter_index fixed bin ext; 13 153 dcl alter_index fixed bin defined (cobol_$alter_index); 13 154 dcl cobol_$list_off fixed bin ext; 13 155 dcl list_off fixed bin defined (cobol_$list_off); 13 156 dcl cobol_$constant_offset fixed bin ext; 13 157 dcl constant_offset fixed bin defined (cobol_$constant_offset); 13 158 dcl cobol_$misc_max fixed bin ext; 13 159 dcl misc_max fixed bin defined (cobol_$misc_max); 13 160 dcl cobol_$pd_map_max fixed bin ext; 13 161 dcl pd_map_max fixed bin defined (cobol_$pd_map_max); 13 162 dcl cobol_$map_data_max fixed bin ext; 13 163 dcl map_data_max fixed bin defined (cobol_$map_data_max); 13 164 dcl cobol_$fixup_max fixed bin ext; 13 165 dcl fixup_max fixed bin defined (cobol_$fixup_max); 13 166 dcl cobol_$tag_table_max fixed bin ext; 13 167 dcl tag_table_max fixed bin defined (cobol_$tag_table_max); 13 168 dcl cobol_$temp_token_max fixed bin ext; 13 169 dcl temp_token_max fixed bin defined (cobol_$temp_token_max); 13 170 dcl cobol_$allo1_max fixed bin ext; 13 171 dcl allo1_max fixed bin defined (cobol_$allo1_max); 13 172 dcl cobol_$eln_max fixed bin ext; 13 173 dcl eln_max fixed bin defined (cobol_$eln_max); 13 174 dcl cobol_$debug_enable fixed bin ext; 13 175 dcl debug_enable fixed bin defined (cobol_$debug_enable); 13 176 dcl cobol_$non_source_offset fixed bin ext; 13 177 dcl non_source_offset fixed bin defined (cobol_$non_source_offset); 13 178 dcl cobol_$initval_flag fixed bin ext; 13 179 dcl initval_flag fixed bin defined (cobol_$initval_flag); 13 180 dcl cobol_$date_compiled_sw fixed bin ext; 13 181 dcl date_compiled_sw fixed bin defined (cobol_$date_compiled_sw); 13 182 dcl cobol_$include_cnt fixed bin ext; 13 183 dcl include_cnt fixed bin defined (cobol_$include_cnt); 13 184 dcl cobol_$fs_charcnt fixed bin ext; 13 185 dcl fs_charcnt fixed bin defined (cobol_$fs_charcnt); 13 186 dcl cobol_$ws_charcnt fixed bin ext; 13 187 dcl ws_charcnt fixed bin defined (cobol_$ws_charcnt); 13 188 dcl cobol_$coms_charcnt fixed bin ext; 13 189 dcl coms_charcnt fixed bin defined (cobol_$coms_charcnt); 13 190 dcl cobol_$ls_charcnt fixed bin ext; 13 191 dcl ls_charcnt fixed bin defined (cobol_$ls_charcnt); 13 192 dcl cobol_$cons_charcnt fixed bin ext; 13 193 dcl cons_charcnt fixed bin defined (cobol_$cons_charcnt); 13 194 dcl cobol_$value_cnt fixed bin ext; 13 195 dcl value_cnt fixed bin defined (cobol_$value_cnt); 13 196 dcl cobol_$cd_cnt fixed bin ext; 13 197 dcl cd_cnt fixed bin defined (cobol_$cd_cnt); 13 198 dcl cobol_$fs_wdoff fixed bin ext; 13 199 dcl fs_wdoff fixed bin defined (cobol_$fs_wdoff); 13 200 dcl cobol_$ws_wdoff fixed bin ext; 13 201 dcl ws_wdoff fixed bin defined (cobol_$ws_wdoff); 13 202 dcl cobol_$coms_wdoff fixed bin ext; 13 203 dcl coms_wdoff fixed bin defined (cobol_$coms_wdoff); 13 204 13 205 /* CHARACTER */ 13 206 dcl cobol_$scratch_dir char (168) aligned ext; 13 207 dcl scratch_dir char (168) aligned defined (cobol_$scratch_dir); /* -42- */ 13 208 dcl cobol_$obj_seg_name char (32) aligned ext; 13 209 dcl obj_seg_name char (32) aligned defined (cobol_$obj_seg_name); /* -8- */ 13 210 13 211 /* BIT */ 13 212 dcl cobol_$xref_bypass bit(1) aligned ext; 13 213 dcl xref_bypass bit(1) aligned defined (cobol_$xref_bypass); /* -1- */ 13 214 dcl cobol_$same_sort_merge_proc bit(1) aligned ext; 13 215 dcl same_sort_merge_proc bit(1) aligned defined (cobol_$same_sort_merge_proc); /* -1- */ 13 216 13 217 13 218 /* END INCLUDE FILE ... cobol_incl.pl1*/ 13 219 13 220 1241 14 1 14 2 /* BEGIN INCLUDE FILE ... cobol_fixed_common.incl.pl1 */ 14 3 /* Modified on 10/27/82 by FCH, [5.1-1], cobol_cln added to save last line num, BUG543(phx13643) */ 14 4 /* Modified on 07/31/80 by FCH, [4.3-1], use_reporting field added for Report Writer */ 14 5 /* Modified on 03/30/79 by FCH, [4.1-1], -card option added */ 14 6 /* Modified on 03/30/79 by FCH, [4.0-2], -svNM option added */ 14 7 /* Modified on 03/02/79 by FCH, [4.0-1], -levNM option added */ 14 8 /* Modified by RAL on 10/13/78, [4.0-0], Added option exp from fil2. */ 14 9 /* Modified by BC on 06/20/77, descriptor added. */ 14 10 /* Modified by BC on 06/02/77, init_cd_seg, init_cd_offset added. */ 14 11 /* Modified by BC on 1/21/77, options.profile added. */ 14 12 /* Modified by FCH on 7/6/76, sysin_fno & sysout_fno deleted, accept_device & display_device added */ 14 13 /* Modified by FCH on 5/20/77, comp_level added */ 14 14 14 15 14 16 /* THE SIZE OF THIS STRUCTURE IN BYTES, (EXCLUDING VARIABLE 14 17* LENGTH ENTITIES), FOR EACH HARDWARE IMPLEMENTATION IS: 14 18* 14 19* HARDWARE | SIZE (BYTES) 14 20* --------------------------------- 14 21* 645/6180 | 464 14 22* P7 | 396 14 23* --------------------------------- 14 24* */ 14 25 14 26 dcl 1 fixed_common based ( cobol_com_ptr), 14 27 2 prog_name char (30), 14 28 2 compiler_rev_no char (25), 14 29 2 phase_name char (6), 14 30 2 currency char (1), 14 31 2 fatal_no fixed bin, 14 32 2 warn_no fixed bin, 14 33 2 proc_counter fixed bin, 14 34 2 spec_tag_counter fixed bin, 14 35 2 file_count fixed bin, 14 36 2 filedescr_offsets (20) char (5), 14 37 2 perf_alter_info char (5), 14 38 2 another_perform_info char (5), 14 39 2 sort_in_info char (5), 14 40 2 odo_info char (5), 14 41 2 size_seg fixed bin, 14 42 2 size_offset fixed bin(24), 14 43 2 size_perform_info char (5), 14 44 2 rename_info char (5), 14 45 2 report_names char (5), 14 46 2 rw_buf_seg fixed bin, 14 47 2 rw_buf_offset fixed bin(24), 14 48 2 rw_buf_length fixed bin(24), 14 49 2 file_keys char (5), 14 50 2 search_keys char (5), 14 51 2 dd_seg_size fixed bin(24), 14 52 2 pd_seg_size fixed bin(24), 14 53 2 seg_limit fixed bin , 14 54 2 number_of_dd_segs fixed bin, 14 55 2 seg_info char (5), 14 56 2 number_of_ls_pointers fixed bin, 14 57 2 link_sec_seg fixed bin, 14 58 2 link_sec_offset fixed bin(24), 14 59 2 sra_clauses fixed bin, 14 60 2 fix_up_info char (5), 14 61 2 linage_info char (5), 14 62 2 first_dd_item char (5), 14 63 2 sort_out_info char (5), 14 64 2 db_info char (5), 14 65 2 realm_info char (5), 14 66 2 rc_realm_info char (5), 14 67 2 last_file_key char (5), 14 68 2 prog_coll_seq fixed bin, 14 69 2 init_cd_seg fixed bin, 14 70 2 init_cd_offset fixed bin(24), 14 71 2 input_error_exit fixed bin, 14 72 2 output_error_exit fixed bin, 14 73 2 i_o_error_exit fixed bin, 14 74 2 extend_error_exit fixed bin, 14 75 2 dummy15 fixed bin, 14 76 2 options, 14 77 3 cu bit (1), 14 78 3 st bit (1), 14 79 3 wn bit (1), 14 80 3 obs bit (1), 14 81 3 dm bit (1), 14 82 3 xrl bit (1), 14 83 3 xrn bit (1), 14 84 3 src bit (1), 14 85 3 obj bit (1), 14 86 3 exs bit (1), 14 87 3 sck bit (1), 14 88 3 rno bit (1), 14 89 3 u_l bit (1), 14 90 3 cnv bit (1), 14 91 3 cos bit (1), 14 92 3 fmt bit (1), 14 93 3 profile bit(1), 14 94 3 nw bit (1), 14 95 3 exp bit (1), /* [4.0-0] */ 14 96 3 card bit (1), /*[4.1-1]*/ 14 97 3 fil2 bit (5), 14 98 3 m_map bit (1), 14 99 3 m_bf bit (1), 14 100 3 m_fat bit (1), 14 101 3 m_wn bit (1), 14 102 3 m_obs bit(1), 14 103 3 pd bit(1), 14 104 3 oc bit(1), 14 105 2 supervisor bit (1), 14 106 2 dec_comma bit (1), 14 107 2 init_cd bit (1), 14 108 2 corr bit (1), 14 109 2 initl bit (1), 14 110 2 debug bit (1), 14 111 2 report bit (1), 14 112 2 sync_in_prog bit (1), 14 113 2 pd_section bit (1), 14 114 2 list_switch bit (1), 14 115 2 alpha_cond bit (1), 14 116 2 num_cond bit (1), 14 117 2 spec_sysin bit (1), 14 118 2 spec_sysout bit (1), 14 119 2 cpl_files bit (1), 14 120 2 obj_dec_comma bit (1), 14 121 2 default_sign_type bit (3), 14 122 2 use_debug bit(1), 14 123 2 syntax_trace bit(1), 14 124 2 comp_defaults, 14 125 3 comp bit(1), 14 126 3 comp_1 bit(1), 14 127 3 comp_2 bit(1), 14 128 3 comp_3 bit(1), 14 129 3 comp_4 bit(1), 14 130 3 comp_5 bit(1), 14 131 3 comp_6 bit(1), 14 132 3 comp_7 bit(1), 14 133 3 comp_8 bit(1), 14 134 2 disp_defaults, 14 135 3 disp bit(1), 14 136 3 disp_1 bit(1), 14 137 3 disp_2 bit(1), 14 138 3 disp_3 bit(1), 14 139 3 disp_4 bit(1), 14 140 3 disp_5 bit(1), 14 141 3 disp_6 bit(1), 14 142 3 disp_7 bit(1), 14 143 2 descriptor bit(2), 14 144 2 levsv bit(3), /*[4.0-1]*/ 14 145 2 use_reporting bit(1), /*[4.3-1]*/ 14 146 2 cd bit(1), /*[4.4-1]*/ 14 147 2 dummy17 bit(3), 14 148 2 lvl_rstr bit(32), 14 149 2 inst_rstr bit(32), 14 150 2 comp_level char(1), 14 151 2 dummy18 char(30), 14 152 2 object_sign char (1), 14 153 2 last_print_rec char (5), 14 154 2 coll_seq_info char (5), 14 155 2 sys_status_seg fixed bin, 14 156 2 sys_status_offset fixed bin(24), 14 157 2 compiler_id fixed bin, 14 158 2 date_comp_ln fixed bin, 14 159 2 compile_mode bit(36), 14 160 2 default_temp fixed bin, 14 161 2 accept_device fixed bin, 14 162 2 display_device fixed bin, 14 163 2 cobol_cln fixed bin, /*[5.1-1]*/ 14 164 2 alphabet_offset fixed bin; 14 165 14 166 14 167 14 168 /* END INCLUDE FILE ... cobol_fixed_common.incl.pl1 */ 14 169 1242 15 1 15 2 /* BEGIN INCLUDE FILE ... cobol_ext_.incl.pl1 */ 15 3 /* Last modified on 06/17/76 by ORN */ 15 4 /* Last modified on 12/28/76 by FCH */ 15 5 /* Last modified on 12/01/80 by FCH */ 15 6 15 7 /* <<< SHARED EXTERNALS INCLUDE FILE >>> */ 15 8 15 9 15 10 dcl cobol_ext_$cobol_afp ptr ext; 15 11 dcl cobol_afp ptr defined ( cobol_ext_$cobol_afp); 15 12 dcl cobol_ext_$cobol_analin_fileno ptr ext; 15 13 dcl cobol_analin_fileno ptr defined ( cobol_ext_$cobol_analin_fileno); 15 14 dcl cobol_ext_$report_first_token ptr ext; 15 15 dcl report_first_token ptr defined( cobol_ext_$report_first_token); 15 16 dcl cobol_ext_$report_last_token ptr ext; 15 17 dcl report_last_token ptr defined ( cobol_ext_$report_last_token); 15 18 dcl cobol_ext_$cobol_eltp ptr ext; 15 19 dcl cobol_eltp ptr defined ( cobol_ext_$cobol_eltp); 15 20 dcl cobol_ext_$cobol_cmfp ptr ext; 15 21 dcl cobol_cmfp ptr defined ( cobol_ext_$cobol_cmfp); 15 22 dcl cobol_ext_$cobol_com_fileno ptr ext; 15 23 dcl cobol_com_fileno ptr defined ( cobol_ext_$cobol_com_fileno); 15 24 dcl cobol_ext_$cobol_com_ptr ptr ext; 15 25 dcl cobol_com_ptr ptr defined ( cobol_ext_$cobol_com_ptr); 15 26 dcl cobol_ext_$cobol_dfp ptr ext; 15 27 dcl cobol_dfp ptr defined ( cobol_ext_$cobol_dfp); 15 28 dcl cobol_ext_$cobol_hfp ptr ext; 15 29 dcl cobol_hfp ptr defined ( cobol_ext_$cobol_hfp); 15 30 dcl cobol_ext_$cobol_m1fp ptr ext; 15 31 dcl cobol_m1fp ptr defined ( cobol_ext_$cobol_m1fp); 15 32 dcl cobol_ext_$cobol_m2fp ptr ext; 15 33 dcl cobol_m2fp ptr defined ( cobol_ext_$cobol_m2fp); 15 34 dcl cobol_ext_$cobol_min1_fileno ptr ext; 15 35 dcl cobol_min1_fileno ptr defined ( cobol_ext_$cobol_min1_fileno); 15 36 dcl cobol_ext_$cobol_min2_fileno_ptr ptr ext; 15 37 dcl cobol_min2_fileno_ptr ptr defined ( cobol_ext_$cobol_min2_fileno_ptr); 15 38 dcl cobol_ext_$cobol_name_fileno ptr ext; 15 39 dcl cobol_name_fileno ptr defined ( cobol_ext_$cobol_name_fileno); 15 40 dcl cobol_ext_$cobol_name_fileno_ptr ptr ext; 15 41 dcl cobol_name_fileno_ptr ptr defined ( cobol_ext_$cobol_name_fileno_ptr); 15 42 dcl cobol_ext_$cobol_ntfp ptr ext; 15 43 dcl cobol_ntfp ptr defined ( cobol_ext_$cobol_ntfp); 15 44 dcl cobol_ext_$cobol_pdofp ptr ext; 15 45 dcl cobol_pdofp ptr defined ( cobol_ext_$cobol_pdofp); 15 46 dcl cobol_ext_$cobol_pfp ptr ext; 15 47 dcl cobol_pfp ptr defined ( cobol_ext_$cobol_pfp); 15 48 dcl cobol_ext_$cobol_rm2fp ptr ext; 15 49 dcl cobol_rm2fp ptr defined ( cobol_ext_$cobol_rm2fp); 15 50 dcl cobol_ext_$cobol_rmin2fp ptr ext; 15 51 dcl cobol_rmin2fp ptr defined ( cobol_ext_$cobol_rmin2fp); 15 52 dcl cobol_ext_$cobol_curr_in ptr ext; 15 53 dcl cobol_curr_in ptr defined ( cobol_ext_$cobol_curr_in); 15 54 dcl cobol_ext_$cobol_curr_out ptr ext; 15 55 dcl cobol_curr_out ptr defined ( cobol_ext_$cobol_curr_out); 15 56 dcl cobol_ext_$cobol_sfp ptr ext; 15 57 dcl cobol_sfp ptr defined ( cobol_ext_$cobol_sfp); 15 58 dcl cobol_ext_$cobol_w1p ptr ext; 15 59 dcl cobol_w1p ptr defined ( cobol_ext_$cobol_w1p); 15 60 dcl cobol_ext_$cobol_w2p ptr ext; 15 61 dcl cobol_w2p ptr defined ( cobol_ext_$cobol_w2p); 15 62 dcl cobol_ext_$cobol_w3p ptr ext; 15 63 dcl cobol_w3p ptr defined ( cobol_ext_$cobol_w3p); 15 64 dcl cobol_ext_$cobol_w5p ptr ext; 15 65 dcl cobol_w5p ptr defined ( cobol_ext_$cobol_w5p); 15 66 dcl cobol_ext_$cobol_w6p ptr ext; 15 67 dcl cobol_w6p ptr defined ( cobol_ext_$cobol_w6p); 15 68 dcl cobol_ext_$cobol_w7p ptr ext; 15 69 dcl cobol_w7p ptr defined ( cobol_ext_$cobol_w7p); 15 70 dcl cobol_ext_$cobol_x3fp ptr ext; 15 71 dcl cobol_x3fp ptr defined ( cobol_ext_$cobol_x3fp); 15 72 dcl cobol_ext_$cobol_rwdd ptr ext; 15 73 dcl cobol_rwdd ptr defined(cobol_ext_$cobol_rwdd); 15 74 dcl cobol_ext_$cobol_rwpd ptr ext; 15 75 dcl cobol_rwpd ptr defined(cobol_ext_$cobol_rwpd); 15 76 15 77 15 78 dcl cobol_ext_$cobol_fileno1 fixed bin(24)ext; 15 79 dcl cobol_fileno1 fixed bin(24)defined ( cobol_ext_$cobol_fileno1); 15 80 dcl cobol_ext_$cobol_options_len fixed bin(24)ext; 15 81 dcl cobol_options_len fixed bin(24)defined ( cobol_ext_$cobol_options_len); 15 82 dcl cobol_ext_$cobol_pdout_fileno fixed bin(24)ext; 15 83 dcl cobol_pdout_fileno fixed bin(24)defined ( cobol_ext_$cobol_pdout_fileno); 15 84 dcl cobol_ext_$cobol_print_fileno fixed bin(24)ext; 15 85 dcl cobol_print_fileno fixed bin(24)defined ( cobol_ext_$cobol_print_fileno); 15 86 dcl cobol_ext_$cobol_rmin2_fileno fixed bin(24)ext; 15 87 dcl cobol_rmin2_fileno fixed bin(24)defined ( cobol_ext_$cobol_rmin2_fileno); 15 88 dcl cobol_ext_$cobol_x1_fileno fixed bin(24)ext; 15 89 dcl cobol_x1_fileno fixed bin(24)defined ( cobol_ext_$cobol_x1_fileno); 15 90 dcl cobol_ext_$cobol_x2_fileno fixed bin(24)ext; 15 91 dcl cobol_x2_fileno fixed bin(24)defined ( cobol_ext_$cobol_x2_fileno); 15 92 dcl cobol_ext_$cobol_x3_fileno fixed bin(24)ext; 15 93 dcl cobol_x3_fileno fixed bin(24)defined ( cobol_ext_$cobol_x3_fileno); 15 94 15 95 dcl cobol_ext_$cobol_lpr char (5) ext; 15 96 dcl cobol_lpr char (5) defined ( cobol_ext_$cobol_lpr); /* -2- */ 15 97 dcl cobol_ext_$cobol_options char (120) ext; 15 98 dcl cobol_options char (120) defined ( cobol_ext_$cobol_options); /* -30- */ 15 99 15 100 dcl cobol_ext_$cobol_xlast8 bit (1) ext; 15 101 dcl cobol_xlast8 bit (1) defined ( cobol_ext_$cobol_xlast8); /* -1- */ 15 102 dcl cobol_ext_$report_exists bit (1) ext; 15 103 dcl report_exists bit (1) defined ( cobol_ext_$report_exists); 15 104 15 105 15 106 /* <<< END OF SHARED EXTERNALS INCLUDE FILE >>> */ 15 107 /* END INCLUDE FILE ... cobol_ext_.incl.pl1 */ 15 108 1243 16 1 16 2 /* BEGIN INCLUDE FILE ... cobol_op_con.incl.pl1 */ 16 3 /* Created on June 3, 76 by bc */ 16 4 16 5 /* 16 6* This include file is used by cobol_pool to find the constants which are 16 7* resided on the cobol_operators_. 16 8* Any change in this file must be cooperated with the change in 16 9* cobol_op_con.incl.alm. The cobol_operators_ should be recompiled. 16 10**/ 16 11 16 12 dcl 1 op_con static options(constant), 16 13 2 null_ptr bit(18) init( 16 14 "000000100000000010"b), /* null()---4002 */ 16 15 2 mask bit(18) init( 16 16 "000000100000000100"b), /* 077777000077, 777777077077---4004*/ 16 17 2 zero_con bit(18) init( 16 18 "000000100001010001"b), /* 0---4121 */ 16 19 2 space_con bit(18) init( 16 20 "000000100000000110"b), /* spaces---4006 */ 16 21 2 ascii_ebcdic bit(18) init( 16 22 "000000100100000000"b), /* ascii to ebcdic table---4400 */ 16 23 2 ebcdic_ascii bit(18) init( 16 24 "000000100110000000"b), /* ebcdic to ascii table---4600 */ 16 25 2 ascii_gbcd bit(18) init( 16 26 "000000101000000000"b), /* ascii to gbcd table---5000 */ 16 27 2 gbcd_ascii bit(18) init( 16 28 "000000101010000000"b), /* gbcd to ascii table ---5200 */ 16 29 2 ascii_hbcd bit(18) init( 16 30 "000000101000000000"b), /* ascii to hbcd table---5000 */ 16 31 2 hbcd_ascii bit(18) init( 16 32 "000000101010000000"b), /* hbcd to ascii table ---5200 */ 16 33 2 ascii_ibcd bit(18) init( 16 34 "000000101000000000"b), /* ascii to ibcd table---5000 */ 16 35 2 ibcd_ascii bit(18) init( 16 36 "000000101010000000"b), /* ibcd to ascii table ---5200 */ 16 37 2 ascii_jis bit(18) init( 16 38 "000000101000000000"b), /* ascii to jis table---5000 */ 16 39 2 jis_ascii bit(18) init( 16 40 "000000101010000000"b); /* jis to ascii table ---5200 */ 16 41 /****** Please insert the next constant before this line. */ 16 42 16 43 16 44 /* END INCLUDE FILE ... cobol_op_con.incl.pl1 */ 16 45 1244 17 1 17 2 /* BEGIN INCLUDE FILE ... cobol_type40.incl.pl1 */ 17 3 /* Last modified on 11/19/76 by ORN */ 17 4 17 5 /* 17 6*A type 40 token is entered into the name table by the IDED syntax. 17 7*This token contains the information for the alphabet name. 17 8**/ 17 9 17 10 dcl alpha_name_ptr ptr; 17 11 17 12 /* BEGIN DECLARATION OF TYPE40 (ALPHABET NAME) TOKEN */ 17 13 dcl 1 alphabet_name based (alpha_name_ptr), 18 1 18 2 /* begin include file ... cobol_TYPE40.incl.pl1 */ 18 3 /* Last modified on 11/17/76 by ORN */ 18 4 18 5 /* header */ 18 6 2 size fixed bin, 18 7 2 line fixed bin, 18 8 2 column fixed bin, 18 9 2 type fixed bin, 18 10 /* body */ 18 11 2 string_ptr ptr, 18 12 2 prev_rec ptr, 18 13 2 info, 18 14 3 repl bit(8), 18 15 3 one_one bit(1), 18 16 3 onto bit(1), 18 17 2 hival_char char(1), 18 18 2 loval_char char(1), 18 19 2 iw_key fixed bin, 18 20 2 def_line fixed bin, 18 21 2 char_size fixed bin, 18 22 2 hi_value char(1), 18 23 2 segno fixed bin, 18 24 2 offset fixed bin, 18 25 2 dn_offset fixed bin, 18 26 2 table char(512), 18 27 2 name_size fixed bin, 18 28 2 name char(0 refer(alphabet_name.name_size)); 18 29 18 30 /* end include file ... cobol_TYPE40.incl.pl1 */ 18 31 17 14 17 15 /* END DECLARATION OF TYPE40 (ALPHABET NAME) TOKEN */ 17 16 17 17 /* END INCLUDE FILE ... cobol_type40.incl.pl1 */ 17 18 1245 19 1 19 2 /* BEGIN INCLUDE FILE ... cobol_type7.incl.pl1 */ 19 3 /* Last modified on 11/19/76 by ORN */ 19 4 19 5 /* 19 6*A type 7 procedure definition token is entered into the name table and into 19 7*the procedure division minpral file by the lexical analysis phase for each 19 8*procedure definition found in the source program. 19 9**/ 19 10 19 11 dcl proc_def_ptr ptr; 19 12 19 13 /* BEGIN DECLARATION OF TYPE7 (PROCEDURE DEFINITION) TOKEN */ 19 14 dcl 1 proc_def based (proc_def_ptr), 20 1 20 2 /* begin include file ... cobol_TYPE7.incl.pl1 */ 20 3 /* Last modified on 11/17/76 by ORN */ 20 4 /* Last modified on 12/28/76 by FCH */ 20 5 20 6 /* header */ 20 7 2 size fixed bin, 20 8 2 line fixed bin, 20 9 2 column fixed bin, 20 10 2 type fixed bin, 20 11 /* body */ 20 12 2 string_ptr ptr, 20 13 2 prev_rec ptr, 20 14 2 searched bit (1), 20 15 2 duplicate bit (1), 20 16 2 filler1 bit (1), 20 17 2 debug_ind bit (1), 20 18 2 section_name bit (1), 20 19 2 declarative_proc bit (1), 20 20 2 filler2 bit (1), 20 21 2 alterable bit (1), 20 22 2 priority char (2), 20 23 2 sort_range bit (1), 20 24 2 input_range bit (1), 20 25 2 output_range bit (1), 20 26 2 merge_range bit(1), 20 27 2 filler3 bit (5), 20 28 2 section_num fixed bin, 20 29 2 proc_num fixed bin, 20 30 2 def_line fixed bin, 20 31 2 name_size fixed bin, 20 32 2 name char(0 refer(proc_def.name_size)); 20 33 20 34 20 35 20 36 /* end include file ... cobol_TYPE7.incl.pl1 */ 20 37 19 15 19 16 /* END DECLARATION OF TYPE7 (PROCEDURE DEFINITION) TOKEN */ 19 17 19 18 /* END INCLUDE FILE ... cobol_type7.incl.pl1 */ 19 19 1246 1247 /*[4.1-2]*/ 1248 end cobol_gen_driver_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 05/24/89 0832.1 cobol_gen_driver_.pl1 >spec>install>MR12.3-1048>cobol_gen_driver_.pl1 1234 1 11/11/82 1712.7 cobol_in_token.incl.pl1 >ldd>include>cobol_in_token.incl.pl1 1235 2 03/27/82 0439.8 cobol_type1.incl.pl1 >ldd>include>cobol_type1.incl.pl1 2-15 3 11/11/82 1712.8 cobol_TYPE1.incl.pl1 >ldd>include>cobol_TYPE1.incl.pl1 1236 4 03/27/82 0439.8 cobol_type2.incl.pl1 >ldd>include>cobol_type2.incl.pl1 4-15 5 11/11/82 1712.8 cobol_TYPE2.incl.pl1 >ldd>include>cobol_TYPE2.incl.pl1 1237 6 03/27/82 0439.9 cobol_type9.incl.pl1 >ldd>include>cobol_type9.incl.pl1 6-17 7 11/11/82 1712.7 cobol_TYPE9.incl.pl1 >ldd>include>cobol_TYPE9.incl.pl1 1238 8 03/27/82 0439.8 cobol_type10.incl.pl1 >ldd>include>cobol_type10.incl.pl1 8-20 9 11/11/82 1712.7 cobol_TYPE10.incl.pl1 >ldd>include>cobol_TYPE10.incl.pl1 1239 10 03/27/82 0439.8 cobol_type19.incl.pl1 >ldd>include>cobol_type19.incl.pl1 10-17 11 03/27/82 0439.6 cobol_TYPE19.incl.pl1 >ldd>include>cobol_TYPE19.incl.pl1 1240 12 03/27/82 0439.8 cobol_type30.incl.pl1 >ldd>include>cobol_type30.incl.pl1 1241 13 11/11/82 1712.7 cobol_.incl.pl1 >ldd>include>cobol_.incl.pl1 1242 14 11/11/82 1712.8 cobol_fixed_common.incl.pl1 >ldd>include>cobol_fixed_common.incl.pl1 1243 15 03/27/82 0431.3 cobol_ext_.incl.pl1 >ldd>include>cobol_ext_.incl.pl1 1244 16 03/27/82 0439.7 cobol_op_con.incl.pl1 >ldd>include>cobol_op_con.incl.pl1 1245 17 03/27/82 0439.8 cobol_type40.incl.pl1 >ldd>include>cobol_type40.incl.pl1 17-14 18 11/11/82 1712.8 cobol_TYPE40.incl.pl1 >ldd>include>cobol_TYPE40.incl.pl1 1246 19 03/27/82 0439.9 cobol_type7.incl.pl1 >ldd>include>cobol_type7.incl.pl1 19-15 20 11/11/82 1712.7 cobol_TYPE7.incl.pl1 >ldd>include>cobol_TYPE7.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. a 11 based bit(3) level 2 packed packed unaligned dcl 10-16 ref 533 addr builtin function dcl 1225 ref 146 146 280 280 367 367 509 589 589 636 636 777 777 783 783 797 797 addrel builtin function dcl 1225 ref 213 252 264 286 287 814 818 920 927 929 alpha_name_ptr 001142 automatic pointer dcl 17-10 set ref 188* 190 192 194 194 195 195 196 199 199* alphabet_name based structure level 1 unaligned dcl 17-13 b 11(03) based bit(1) level 2 packed packed unaligned dcl 10-16 ref 521 562 binary builtin function dcl 1225 ref 137 137 453 453 binit_tag 000102 automatic fixed bin(17,0) dcl 40 set ref 824* 908 913* bypass_flag 000126 automatic bit(1) packed unaligned dcl 40 set ref 158* 223* 458 462* cobol_$alter_flag 000256 external static fixed bin(17,0) dcl 13-134 set ref 161* cobol_$alter_index 000272 external static fixed bin(17,0) dcl 13-152 set ref 162* cobol_$alter_list_ptr 000214 external static pointer dcl 13-38 set ref 131* cobol_$data_init_flag 000252 external static fixed bin(17,0) dcl 13-130 ref 917 917 cobol_$init_stack_off 000246 external static fixed bin(17,0) dcl 13-124 set ref 174* 175 176 234 828* 903* 921 940 cobol_$initval_base_ptr 000210 external static pointer dcl 13-32 ref 920 920 cobol_$main_pcs_ptr 000236 external static pointer dcl 13-84 set ref 190* 203* cobol_$map_data_max 000276 external static fixed bin(17,0) dcl 13-162 ref 360 790 cobol_$map_data_ptr 000232 external static pointer dcl 13-54 ref 181 305 305 306 306 307 307 308 308 310 310 336 336 337 337 339 339 341 341 343 343 344 344 349 349 360 373 373 375 375 378 378 380 380 382 382 790 803 803 804 804 806 806 807 807 808 808 cobol_$max_stack_off 000244 external static fixed bin(17,0) dcl 13-122 set ref 176* 232 232* 903 937 937* cobol_$minpral5_ptr 000230 external static pointer dcl 13-50 set ref 205 209* 210 213 213 259 263* 263 264 264 920 cobol_$misc_end_ptr 000234 external static pointer dcl 13-62 set ref 121 137 154* cobol_$misc_max 000274 external static fixed bin(17,0) dcl 13-158 set ref 127* 137 cobol_$para_eop_flag 000262 external static fixed bin(17,0) dcl 13-138 set ref 160* 301 cobol_$pd_map_sw 000250 external static fixed bin(17,0) dcl 13-126 ref 357 357 786 786 cobol_$perform_list_ptr 000212 external static pointer dcl 13-36 set ref 132* cobol_$perform_para_index 000266 external static fixed bin(17,0) dcl 13-148 set ref 163* cobol_$perform_sect_index 000270 external static fixed bin(17,0) dcl 13-150 set ref 164* cobol_$priority_no 000264 external static fixed bin(17,0) dcl 13-140 set ref 165* cobol_$sect_eop_flag 000260 external static fixed bin(17,0) dcl 13-136 set ref 159* cobol_$seg_init_flag 000254 external static fixed bin(17,0) dcl 13-132 set ref 134* 134 cobol_$seg_init_list_ptr 000216 external static pointer dcl 13-40 set ref 133* cobol_$stack_off 000242 external static fixed bin(17,0) dcl 13-120 set ref 175* 232 232 234* 828 921* 937 937 940* cobol_$temp_token_area_ptr 000220 external static pointer dcl 13-42 set ref 152* 236 942 cobol_$temp_token_max 000300 external static fixed bin(17,0) dcl 13-168 set ref 137* 140 cobol_$temp_token_ptr 000222 external static pointer dcl 13-44 set ref 153* 236* 942* cobol_$text_wd_off 000240 external static fixed bin(17,0) dcl 13-90 set ref 300 339 378 453* 806 cobol_$token_block1_ptr 000224 external static pointer dcl 13-46 ref 177 238 241 cobol_$token_block2_ptr 000226 external static pointer dcl 13-48 ref 238 cobol_accept_gen 000050 constant entry external dcl 1162 ref 553 cobol_add_gen 000052 constant entry external dcl 1162 ref 559 cobol_alter_gen 000054 constant entry external dcl 1162 ref 577 cobol_alter_perform 000034 constant entry external dcl 1162 ref 127 cobol_arithop_gen 000124 constant entry external dcl 1162 ref 692 cobol_call_gen 000056 constant entry external dcl 1162 ref 581 cobol_cancel_gen 000060 constant entry external dcl 1162 ref 592 cobol_close_gen 000062 constant entry external dcl 1162 ref 596 cobol_com_ptr defined pointer dcl 15-25 ref 127 127 183 186 386 cobol_compare_gen 000074 constant entry external dcl 1162 ref 622 cobol_compute_gen 000136 constant entry external dcl 1162 ref 739 cobol_decl_gen 000156 constant entry external dcl 1162 ref 834 cobol_define_tag 000044 constant entry external dcl 1162 ref 570 913 cobol_define_tag_nc 000046 constant entry external dcl 1162 ref 453 952 cobol_delete_gen 000112 constant entry external dcl 1162 ref 663 cobol_disable_gen 000140 constant entry external dcl 1162 ref 743 cobol_display_gen 000142 constant entry external dcl 1162 ref 747 cobol_divide_gen 000064 constant entry external dcl 1162 ref 602 cobol_enable_gen 000144 constant entry external dcl 1162 ref 751 cobol_end_gen 000206 constant entry external dcl 1162 ref 900 cobol_equate_tag 000042 constant entry external dcl 1162 ref 411 cobol_exit_gen 000072 constant entry external dcl 1162 ref 615 cobol_ext_$cobol_com_ptr 000302 external static pointer dcl 15-24 ref 127 127 127 127 183 183 186 186 386 386 cobol_gen_ioerror$finish_up_not 000110 constant entry external dcl 1162 ref 565 cobol_go_gen 000076 constant entry external dcl 1162 ref 625 cobol_inspect_gen 000176 constant entry external dcl 1162 ref 639 cobol_merge_gen 000150 constant entry external dcl 1162 ref 629 cobol_move_gen 000100 constant entry external dcl 1162 ref 643 935 cobol_multiply_gen 000066 constant entry external dcl 1162 ref 607 cobol_open_gen 000102 constant entry external dcl 1162 ref 647 cobol_paragraph_gen 000162 constant entry external dcl 1162 ref 843 cobol_perform_gen 000104 constant entry external dcl 1162 ref 651 cobol_pool 000166 constant entry external dcl 1162 ref 194 cobol_profile 000152 constant entry external dcl 1162 ref 386 cobol_prologue_gen 000154 constant entry external dcl 1162 ref 824 cobol_purge_gen 000204 constant entry external dcl 1162 ref 855 cobol_read_gen 000106 constant entry external dcl 1162 ref 658 cobol_read_rand$fixed_bin 000170 constant entry external dcl 1162 ref 188 cobol_receive_gen 000114 constant entry external dcl 1162 ref 668 cobol_release_gen 000116 constant entry external dcl 1162 ref 671 cobol_reset_r$in_line 000036 constant entry external dcl 1162 ref 384 cobol_return_gen 000120 constant entry external dcl 1162 ref 677 cobol_rewrite_gen 000122 constant entry external dcl 1162 ref 686 cobol_search_gen 000174 constant entry external dcl 1162 ref 680 cobol_section_gen 000160 constant entry external dcl 1162 ref 839 cobol_seginit_gen 000172 constant entry external dcl 1162 ref 950 cobol_send_gen 000126 constant entry external dcl 1162 ref 698 cobol_set_gen 000130 constant entry external dcl 1162 ref 702 cobol_sort_gen 000146 constant entry external dcl 1162 ref 770 cobol_start_gen 000164 constant entry external dcl 1162 ref 849 cobol_stop_gen 000132 constant entry external dcl 1162 ref 709 cobol_string_gen 000200 constant entry external dcl 1162 ref 715 cobol_subtract_gen 000070 constant entry external dcl 1162 ref 612 cobol_unstring_gen 000202 constant entry external dcl 1162 ref 726 cobol_write_gen 000134 constant entry external dcl 1162 ref 731 code 1 based fixed bin(17,0) level 2 dcl 1-9 set ref 180* 226 226 238 246* col 2 based fixed bin(17,0) array level 3 packed packed unaligned dcl 103 set ref 308* 341* 380* 807* column 2 based fixed bin(17,0) level 2 in structure "reserved_word" dcl 2-14 in procedure "cobol_gen_driver_" ref 333 341 380 807 column 2 based fixed bin(17,0) level 2 in structure "proc_def" dcl 19-14 in procedure "cobol_gen_driver_" ref 308 compute constant fixed bin(17,0) initial dcl 1146 ref 391 current_token_ptr 000010 internal static pointer dcl 40 set ref 287* 306 308 320 329 333 337 341 344 349 354 375 380 391 391 405 411* 418 422 436 450 453 453 462 469 503 521 533 562 data 1 based structure array level 2 dcl 103 data_init_flag defined fixed bin(17,0) dcl 13-131 ref 917 data_name based structure level 1 unaligned dcl 6-16 decl_flag 000103 automatic fixed bin(17,0) dcl 40 set ref 166* 832* 952 decl_sw 000132 automatic fixed bin(17,0) dcl 40 set ref 812* 819* 824* end_cobol 5(07) based bit(1) level 2 packed packed unaligned dcl 2-14 ref 329 end_flag 000133 automatic fixed bin(17,0) dcl 40 set ref 167* 357 786 900* 903 end_stmt based structure level 1 unaligned dcl 10-16 error_info 000012 internal static structure level 1 dcl 1141 set ref 146 146 280 280 367 367 589 589 636 636 777 777 783 783 797 797 fixed_common based structure level 1 unaligned dcl 14-26 fxs_locno 000106 automatic fixed bin(17,0) dcl 40 set ref 824* 900* 950* 952* fxs_tag 000105 automatic fixed bin(17,0) dcl 40 set ref 824* 834 834* 900* 952 952* h_no 001136 automatic fixed bin(17,0) dcl 67 set ref 247 469* 471 in_token based structure level 1 dcl 1-9 in_token_ptr 001140 automatic pointer dcl 1-7 set ref 177* 178 180 226 226 226 238 238 238* 241* 242 246 271 271 274 286 286 288 288 320 321 321 414 414 426 426 428 455 455 503 509 513 513 553* 559* 577* 581* 592* 596* 602* 607* 612* 615* 622* 625* 629* 639* 643* 647* 651* 658* 663* 668* 671* 677* 680* 686* 692* 698* 702* 709* 715* 726* 731* 739* 743* 747* 751* 770* 804 807 824* 839* 843* 849* 855* 900* 927 933 935* index 000107 automatic fixed bin(17,0) dcl 40 set ref 186* 188* 925* 927* index_name based structure level 1 unaligned dcl 8-19 initval_base_ptr defined pointer dcl 13-33 ref 920 int_tag based structure level 1 unaligned dcl 12-16 iw_key 11 based fixed bin(17,0) level 2 dcl 17-13 ref 192 199 key 4 based fixed bin(17,0) level 2 dcl 2-14 ref 391 391 819 label 2(18) based bit(1) array level 3 packed packed unaligned dcl 103 set ref 310* 343* 382* 808* last_decl_proc 000104 automatic fixed bin(17,0) dcl 40 set ref 168* 900* 950* line 1 based fixed bin(17,0) level 2 in structure "proc_def" dcl 19-14 in procedure "cobol_gen_driver_" ref 306 line 1 based fixed bin(17,0) level 2 in structure "reserved_word" dcl 2-14 in procedure "cobol_gen_driver_" ref 337 344 349 375 804 line_no 1 based fixed bin(17,0) array level 3 packed packed unaligned dcl 103 set ref 306* 337* 344* 349* 375* 804* map_data_table based structure level 1 dcl 103 message 11 000012 internal static char(36) level 2 dcl 1141 set ref 143* 278* 364* 585* 633* 774* 780* 794* message_len 10 000012 internal static fixed bin(17,0) level 2 dcl 1141 set ref 144* 279* 365* 587* 635* 776* 782* 795* n based fixed bin(17,0) level 2 dcl 1-9 set ref 178* 226* 242* 271* 271 274 286 288 321* 321 414* 414 426 455* 455 513* 513 933* next_file 6 based pointer level 2 dcl 73 ref 259 263 no_source_stmts based fixed bin(17,0) level 2 dcl 103 set ref 181* 305* 305 306 307 308 310 336* 336 337 339 341 343 344 349 360 373* 373 375 378 380 382 790 803* 803 804 806 807 808 null builtin function dcl 1225 ref 131 132 133 146 146 154 199 203 207 207 259 280 280 367 367 428 589 589 636 636 777 777 783 783 797 797 numeric_lit based structure level 1 unaligned dcl 4-14 off 000134 automatic fixed bin(17,0) dcl 40 set ref 300* 301* 301 307 offset 16 based fixed bin(17,0) level 2 dcl 17-13 set ref 194* 195* 195 on_err_tag 000100 automatic fixed bin(17,0) dcl 40 set ref 169* 219 222* 524 525* 536 537* 546* 559* 565 565* 570 570* 602* 607* 612* 658* 663* 668* 677* 686* 715* 726* 731* 739* 849* options 133 based structure level 2 packed packed unaligned dcl 14-26 pc_flag 000110 automatic fixed bin(17,0) dcl 40 set ref 171* 391* 446 619 653* 689 740* pd_map_sw defined fixed bin(17,0) dcl 13-127 ref 357 786 perf_alter_info 56 based char(5) level 2 packed packed unaligned dcl 14-26 ref 127 perform constant fixed bin(17,0) initial dcl 1146 ref 391 prev_file 10 based pointer level 2 dcl 73 ref 205 210 proc_def based structure level 1 unaligned dcl 19-14 proc_num 12 based fixed bin(15,0) level 2 dcl 12-16 ref 453 453 profile 133(16) based bit(1) level 3 packed packed unaligned dcl 14-26 ref 386 prog_coll_seq 123 based fixed bin(17,0) level 2 dcl 14-26 ref 183 186 record based structure level 1 dcl 87 record_ptr 000122 automatic pointer dcl 40 set ref 213* 250 252* 252 255 264* 266 286 287 813 814 920* 923 927 928 929* 929 rel builtin function dcl 1225 ref 137 137 reserved_wd constant fixed bin(17,0) initial dcl 1146 ref 314 819 reserved_word based structure level 1 unaligned dcl 2-14 search_flag 000111 automatic fixed bin(17,0) dcl 40 set ref 172* 230 450 680* seg_init_flag defined fixed bin(17,0) dcl 13-133 set ref 134* segno 15 based fixed bin(17,0) level 2 dcl 17-13 set ref 196* seq_file_hdr based fixed bin(17,0) array dcl 71 ref 213 264 920 shdr based structure level 1 dcl 73 signal_ 000040 constant entry external dcl 1162 ref 146 280 367 589 636 777 783 797 size_perform_info 65 based char(5) level 2 packed packed unaligned dcl 14-26 ref 127 space_ptr 000116 automatic pointer dcl 40 set ref 121* 127* 137 152 153 sub_ptr 4 based pointer level 2 packed packed unaligned dcl 91 set ref 426* sub_token based structure level 1 dcl 98 sub_token_index 000114 automatic fixed bin(17,0) dcl 40 set ref 179* 247* 274 320 322* 322 428 429* 429 503 509 514* 514 sub_token_ptr 2 based pointer array level 2 dcl 98 set ref 320* 428* 503* 509 subscript 4(07) based bit(1) level 2 in structure "numeric_lit" packed packed unaligned dcl 4-14 in procedure "cobol_gen_driver_" ref 405 subscript 10(07) based bit(1) level 2 in structure "index_name" packed packed unaligned dcl 8-19 in procedure "cobol_gen_driver_" ref 436 subscript_flag 000101 automatic fixed bin(17,0) dcl 40 set ref 173* 317 422 430* 505 508* subscript_ptr 000120 automatic pointer dcl 40 set ref 426 509* subscripted 22(05) based bit(1) level 2 packed packed unaligned dcl 6-16 ref 422 substr builtin function dcl 1225 ref 252 814 929 table 20 based char(512) level 2 packed packed unaligned dcl 17-13 set ref 194* tag_stack 000136 automatic fixed bin(17,0) array dcl 63 set ref 524* 536* 546 tag_stack_loc 000135 automatic fixed bin(17,0) dcl 62 set ref 170* 523* 523 524 535* 535 536 546 547* 547 temp 000112 automatic fixed bin(17,0) dcl 40 set ref 250* 252 813* 814 928* 929 temp_prev_ptr 000124 automatic pointer dcl 40 set ref 205* 207 207 209 210* temp_ptr 000130 automatic pointer dcl 40 set ref 814* 816 818* 818 819 819 text_addr 1(18) based fixed bin(17,0) array level 3 packed packed unaligned dcl 103 set ref 307* 339* 378* 806* this_rcd_ln 1 based fixed bin(17,0) level 2 dcl 87 ref 250 255 266 813 816 923 928 token_hdr based structure level 1 dcl 91 token_ptr 2 based pointer array level 2 dcl 1-9 set ref 286* 288 426 804 807 927* token_type 000113 automatic fixed bin(17,0) dcl 40 set ref 288* 296 314 401 403 true_path 10(01) based bit(1) level 2 packed packed unaligned dcl 12-16 ref 450 type 3 based fixed bin(15,0) level 2 dcl 91 ref 288 819 unspec builtin function dcl 1225 ref 252 814 929 used_as_sub 10(07) based bit(1) level 2 packed packed unaligned dcl 6-16 ref 418 verb 5 based bit(1) level 2 in structure "reserved_word" packed packed unaligned dcl 2-14 in procedure "cobol_gen_driver_" ref 354 verb 4 based fixed bin(17,0) level 2 in structure "end_stmt" dcl 10-16 in procedure "cobol_gen_driver_" ref 462 469 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. DEF based structure level 1 dcl 112 allo1_max defined fixed bin(17,0) dcl 13-171 allo1_ptr defined pointer dcl 13-67 alter_flag defined fixed bin(17,0) dcl 13-135 alter_index defined fixed bin(17,0) dcl 13-153 alter_list_ptr defined pointer dcl 13-39 baseno builtin function dcl 1225 cd_cnt defined fixed bin(17,0) dcl 13-197 cobol_$allo1_max external static fixed bin(17,0) dcl 13-170 cobol_$allo1_ptr external static pointer dcl 13-66 cobol_$cd_cnt external static fixed bin(17,0) dcl 13-196 cobol_$cobol_data_wd_off external static fixed bin(17,0) dcl 13-118 cobol_$compile_count external static fixed bin(17,0) dcl 13-142 cobol_$coms_charcnt external static fixed bin(17,0) dcl 13-188 cobol_$coms_wdoff external static fixed bin(17,0) dcl 13-202 cobol_$con_end_ptr external static pointer dcl 13-10 cobol_$con_wd_off external static fixed bin(17,0) dcl 13-92 cobol_$cons_charcnt external static fixed bin(17,0) dcl 13-192 cobol_$constant_offset external static fixed bin(17,0) dcl 13-156 cobol_$date_compiled_sw external static fixed bin(17,0) dcl 13-180 cobol_$debug_enable external static fixed bin(17,0) dcl 13-174 cobol_$def_base_ptr external static pointer dcl 13-12 cobol_$def_max external static fixed bin(17,0) dcl 13-96 cobol_$def_wd_off external static fixed bin(17,0) dcl 13-94 cobol_$diag_ptr external static pointer dcl 13-70 cobol_$eln_max external static fixed bin(17,0) dcl 13-172 cobol_$eln_ptr external static pointer dcl 13-68 cobol_$fixup_max external static fixed bin(17,0) dcl 13-164 cobol_$fixup_ptr external static pointer dcl 13-30 cobol_$fs_charcnt external static fixed bin(17,0) dcl 13-184 cobol_$fs_wdoff external static fixed bin(17,0) dcl 13-198 cobol_$include_cnt external static fixed bin(17,0) dcl 13-182 cobol_$include_info_ptr external static pointer dcl 13-86 cobol_$initval_file_ptr external static pointer dcl 13-34 cobol_$initval_flag external static fixed bin(17,0) dcl 13-178 cobol_$link_base_ptr external static pointer dcl 13-14 cobol_$link_max external static fixed bin(17,0) dcl 13-100 cobol_$link_wd_off external static fixed bin(17,0) dcl 13-98 cobol_$list_off external static fixed bin(17,0) dcl 13-154 cobol_$list_ptr external static pointer dcl 13-64 cobol_$ls_charcnt external static fixed bin(17,0) dcl 13-190 cobol_$misc_base_ptr external static pointer dcl 13-60 cobol_$next_tag external static fixed bin(17,0) dcl 13-128 cobol_$non_source_offset external static fixed bin(17,0) dcl 13-176 cobol_$ntbuf_ptr external static pointer dcl 13-82 cobol_$obj_seg_name external static char(32) dcl 13-208 cobol_$op_con_ptr external static pointer dcl 13-80 cobol_$pd_map_index external static fixed bin(17,0) dcl 13-116 cobol_$pd_map_max external static fixed bin(17,0) dcl 13-160 cobol_$pd_map_ptr external static pointer dcl 13-28 cobol_$ptr_assumption_ind external static fixed bin(17,0) dcl 13-144 cobol_$ptr_status_ptr external static pointer dcl 13-56 cobol_$reg_assumption_ind external static fixed bin(17,0) dcl 13-146 cobol_$reg_status_ptr external static pointer dcl 13-58 cobol_$reloc_def_base_ptr external static pointer dcl 13-20 cobol_$reloc_def_max external static fixed bin(24,0) dcl 13-108 cobol_$reloc_link_base_ptr external static pointer dcl 13-22 cobol_$reloc_link_max external static fixed bin(24,0) dcl 13-110 cobol_$reloc_sym_base_ptr external static pointer dcl 13-24 cobol_$reloc_sym_max external static fixed bin(24,0) dcl 13-112 cobol_$reloc_text_base_ptr external static pointer dcl 13-18 cobol_$reloc_text_max external static fixed bin(24,0) dcl 13-106 cobol_$reloc_work_base_ptr external static pointer dcl 13-26 cobol_$reloc_work_max external static fixed bin(24,0) dcl 13-114 cobol_$reswd_ptr external static pointer dcl 13-78 cobol_$same_sort_merge_proc external static bit(1) dcl 13-214 cobol_$scratch_dir external static char(168) dcl 13-206 cobol_$statement_info_ptr external static pointer dcl 13-76 cobol_$sym_base_ptr external static pointer dcl 13-16 cobol_$sym_max external static fixed bin(17,0) dcl 13-104 cobol_$sym_wd_off external static fixed bin(17,0) dcl 13-102 cobol_$tag_table_max external static fixed bin(17,0) dcl 13-166 cobol_$tag_table_ptr external static pointer dcl 13-52 cobol_$text_base_ptr external static pointer dcl 13-8 cobol_$value_cnt external static fixed bin(17,0) dcl 13-194 cobol_$ws_charcnt external static fixed bin(17,0) dcl 13-186 cobol_$ws_wdoff external static fixed bin(17,0) dcl 13-200 cobol_$xref_bypass external static bit(1) dcl 13-212 cobol_$xref_chain_ptr external static pointer dcl 13-74 cobol_$xref_token_ptr external static pointer dcl 13-72 cobol_afp defined pointer dcl 15-11 cobol_analin_fileno defined pointer dcl 15-13 cobol_cmfp defined pointer dcl 15-21 cobol_com_fileno defined pointer dcl 15-23 cobol_curr_in defined pointer dcl 15-53 cobol_curr_out defined pointer dcl 15-55 cobol_data_wd_off defined fixed bin(17,0) dcl 13-119 cobol_dfp defined pointer dcl 15-27 cobol_eltp defined pointer dcl 15-19 cobol_ext_$cobol_afp external static pointer dcl 15-10 cobol_ext_$cobol_analin_fileno external static pointer dcl 15-12 cobol_ext_$cobol_cmfp external static pointer dcl 15-20 cobol_ext_$cobol_com_fileno external static pointer dcl 15-22 cobol_ext_$cobol_curr_in external static pointer dcl 15-52 cobol_ext_$cobol_curr_out external static pointer dcl 15-54 cobol_ext_$cobol_dfp external static pointer dcl 15-26 cobol_ext_$cobol_eltp external static pointer dcl 15-18 cobol_ext_$cobol_fileno1 external static fixed bin(24,0) dcl 15-78 cobol_ext_$cobol_hfp external static pointer dcl 15-28 cobol_ext_$cobol_lpr external static char(5) packed unaligned dcl 15-95 cobol_ext_$cobol_m1fp external static pointer dcl 15-30 cobol_ext_$cobol_m2fp external static pointer dcl 15-32 cobol_ext_$cobol_min1_fileno external static pointer dcl 15-34 cobol_ext_$cobol_min2_fileno_ptr external static pointer dcl 15-36 cobol_ext_$cobol_name_fileno external static pointer dcl 15-38 cobol_ext_$cobol_name_fileno_ptr external static pointer dcl 15-40 cobol_ext_$cobol_ntfp external static pointer dcl 15-42 cobol_ext_$cobol_options external static char(120) packed unaligned dcl 15-97 cobol_ext_$cobol_options_len external static fixed bin(24,0) dcl 15-80 cobol_ext_$cobol_pdofp external static pointer dcl 15-44 cobol_ext_$cobol_pdout_fileno external static fixed bin(24,0) dcl 15-82 cobol_ext_$cobol_pfp external static pointer dcl 15-46 cobol_ext_$cobol_print_fileno external static fixed bin(24,0) dcl 15-84 cobol_ext_$cobol_rm2fp external static pointer dcl 15-48 cobol_ext_$cobol_rmin2_fileno external static fixed bin(24,0) dcl 15-86 cobol_ext_$cobol_rmin2fp external static pointer dcl 15-50 cobol_ext_$cobol_rwdd external static pointer dcl 15-72 cobol_ext_$cobol_rwpd external static pointer dcl 15-74 cobol_ext_$cobol_sfp external static pointer dcl 15-56 cobol_ext_$cobol_w1p external static pointer dcl 15-58 cobol_ext_$cobol_w2p external static pointer dcl 15-60 cobol_ext_$cobol_w3p external static pointer dcl 15-62 cobol_ext_$cobol_w5p external static pointer dcl 15-64 cobol_ext_$cobol_w6p external static pointer dcl 15-66 cobol_ext_$cobol_w7p external static pointer dcl 15-68 cobol_ext_$cobol_x1_fileno external static fixed bin(24,0) dcl 15-88 cobol_ext_$cobol_x2_fileno external static fixed bin(24,0) dcl 15-90 cobol_ext_$cobol_x3_fileno external static fixed bin(24,0) dcl 15-92 cobol_ext_$cobol_x3fp external static pointer dcl 15-70 cobol_ext_$cobol_xlast8 external static bit(1) packed unaligned dcl 15-100 cobol_ext_$report_exists external static bit(1) packed unaligned dcl 15-102 cobol_ext_$report_first_token external static pointer dcl 15-14 cobol_ext_$report_last_token external static pointer dcl 15-16 cobol_fileno1 defined fixed bin(24,0) dcl 15-79 cobol_hfp defined pointer dcl 15-29 cobol_lpr defined char(5) packed unaligned dcl 15-96 cobol_m1fp defined pointer dcl 15-31 cobol_m2fp defined pointer dcl 15-33 cobol_min1_fileno defined pointer dcl 15-35 cobol_min2_fileno_ptr defined pointer dcl 15-37 cobol_name_fileno defined pointer dcl 15-39 cobol_name_fileno_ptr defined pointer dcl 15-41 cobol_ntfp defined pointer dcl 15-43 cobol_options defined char(120) packed unaligned dcl 15-98 cobol_options_len defined fixed bin(24,0) dcl 15-81 cobol_pdofp defined pointer dcl 15-45 cobol_pdout_fileno defined fixed bin(24,0) dcl 15-83 cobol_pfp defined pointer dcl 15-47 cobol_print_fileno defined fixed bin(24,0) dcl 15-85 cobol_rm2fp defined pointer dcl 15-49 cobol_rmin2_fileno defined fixed bin(24,0) dcl 15-87 cobol_rmin2fp defined pointer dcl 15-51 cobol_rwdd defined pointer dcl 15-73 cobol_rwpd defined pointer dcl 15-75 cobol_sfp defined pointer dcl 15-57 cobol_w1p defined pointer dcl 15-59 cobol_w2p defined pointer dcl 15-61 cobol_w3p defined pointer dcl 15-63 cobol_w5p defined pointer dcl 15-65 cobol_w6p defined pointer dcl 15-67 cobol_w7p defined pointer dcl 15-69 cobol_x1_fileno defined fixed bin(24,0) dcl 15-89 cobol_x2_fileno defined fixed bin(24,0) dcl 15-91 cobol_x3_fileno defined fixed bin(24,0) dcl 15-93 cobol_x3fp defined pointer dcl 15-71 cobol_xlast8 defined bit(1) packed unaligned dcl 15-101 compile_count defined fixed bin(17,0) dcl 13-143 coms_charcnt defined fixed bin(17,0) dcl 13-189 coms_wdoff defined fixed bin(17,0) dcl 13-203 con_end_ptr defined pointer dcl 13-11 con_wd_off defined fixed bin(17,0) dcl 13-93 cons_charcnt defined fixed bin(17,0) dcl 13-193 constant_offset defined fixed bin(17,0) dcl 13-157 date_compiled_sw defined fixed bin(17,0) dcl 13-181 debug_enable defined fixed bin(17,0) dcl 13-175 def_base_ptr defined pointer dcl 13-13 def_max defined fixed bin(17,0) dcl 13-97 def_wd_off defined fixed bin(17,0) dcl 13-95 diag_ptr defined pointer dcl 13-71 dn_ptr automatic pointer dcl 67 eln_max defined fixed bin(17,0) dcl 13-173 eln_ptr defined pointer dcl 13-69 eos internal static fixed bin(17,0) initial dcl 1146 eos_ptr automatic pointer dcl 10-13 fixup_max defined fixed bin(17,0) dcl 13-165 fixup_ptr defined pointer dcl 13-31 fs_charcnt defined fixed bin(17,0) dcl 13-185 fs_wdoff defined fixed bin(17,0) dcl 13-199 include_cnt defined fixed bin(17,0) dcl 13-183 include_info_ptr defined pointer dcl 13-87 ind_ptr automatic pointer dcl 8-16 index_name_token internal static fixed bin(17,0) initial dcl 1146 init_stack_off defined fixed bin(17,0) dcl 13-125 initval_file_ptr defined pointer dcl 13-35 initval_flag defined fixed bin(17,0) dcl 13-179 internal_tag internal static fixed bin(17,0) initial dcl 1146 link_base_ptr defined pointer dcl 13-15 link_max defined fixed bin(17,0) dcl 13-101 link_wd_off defined fixed bin(17,0) dcl 13-99 list_off defined fixed bin(17,0) dcl 13-155 list_ptr defined pointer dcl 13-65 ls_charcnt defined fixed bin(17,0) dcl 13-191 main_pcs_ptr defined pointer dcl 13-85 map_data_max defined fixed bin(17,0) dcl 13-163 map_data_ptr defined pointer dcl 13-55 max_stack_off defined fixed bin(17,0) dcl 13-123 minpral5_ptr defined pointer dcl 13-51 misc_base_ptr defined pointer dcl 13-61 misc_end_ptr defined pointer dcl 13-63 misc_max defined fixed bin(17,0) dcl 13-159 next_tag defined fixed bin(17,0) dcl 13-129 nlit_ptr automatic pointer dcl 4-11 non_source_offset defined fixed bin(17,0) dcl 13-177 ntbuf_ptr defined pointer dcl 13-83 numeric_lit_token internal static fixed bin(17,0) initial dcl 1146 obj_seg_name defined char(32) dcl 13-209 op_con internal static structure level 1 packed packed unaligned dcl 16-12 op_con_ptr defined pointer dcl 13-81 para_eop_flag defined fixed bin(17,0) dcl 13-139 pd_map_index defined fixed bin(17,0) dcl 13-117 pd_map_max defined fixed bin(17,0) dcl 13-161 pd_map_ptr defined pointer dcl 13-29 perform_list_ptr defined pointer dcl 13-37 perform_para_index defined fixed bin(17,0) dcl 13-149 perform_sect_index defined fixed bin(17,0) dcl 13-151 priority_no defined fixed bin(17,0) dcl 13-141 proc_def_ptr automatic pointer dcl 19-11 ptr_assumption_ind defined fixed bin(17,0) dcl 13-145 ptr_status_ptr defined pointer dcl 13-57 reg_assumption_ind defined fixed bin(17,0) dcl 13-147 reg_status_ptr defined pointer dcl 13-59 reloc_def_base_ptr defined pointer dcl 13-21 reloc_def_max defined fixed bin(24,0) dcl 13-109 reloc_link_base_ptr defined pointer dcl 13-23 reloc_link_max defined fixed bin(24,0) dcl 13-111 reloc_sym_base_ptr defined pointer dcl 13-25 reloc_sym_max defined fixed bin(24,0) dcl 13-113 reloc_text_base_ptr defined pointer dcl 13-19 reloc_text_max defined fixed bin(24,0) dcl 13-107 reloc_work_base_ptr defined pointer dcl 13-27 reloc_work_max defined fixed bin(24,0) dcl 13-115 report_exists defined bit(1) packed unaligned dcl 15-103 report_first_token defined pointer dcl 15-15 report_last_token defined pointer dcl 15-17 reswd_ptr defined pointer dcl 13-79 rw_ptr automatic pointer dcl 2-11 same_sort_merge_proc defined bit(1) dcl 13-215 scratch_dir defined char(168) dcl 13-207 sect_eop_flag defined fixed bin(17,0) dcl 13-137 seg_init_list_ptr defined pointer dcl 13-41 size builtin function dcl 1225 stack_off defined fixed bin(17,0) dcl 13-121 statement_info_ptr defined pointer dcl 13-77 sym_base_ptr defined pointer dcl 13-17 sym_max defined fixed bin(17,0) dcl 13-105 sym_wd_off defined fixed bin(17,0) dcl 13-103 tag_equivalence internal static fixed bin(17,0) initial dcl 1146 tag_ptr automatic pointer dcl 12-13 tag_table_max defined fixed bin(17,0) dcl 13-167 tag_table_ptr defined pointer dcl 13-53 temp_token_area_ptr defined pointer dcl 13-43 temp_token_max defined fixed bin(17,0) dcl 13-169 temp_token_ptr defined pointer dcl 13-45 text_base_ptr defined pointer dcl 13-9 text_wd_off defined fixed bin(17,0) dcl 13-91 token_block1_ptr defined pointer dcl 13-47 token_block2_ptr defined pointer dcl 13-49 type_9 internal static fixed bin(17,0) initial dcl 1146 value_cnt defined fixed bin(17,0) dcl 13-195 ws_charcnt defined fixed bin(17,0) dcl 13-187 ws_wdoff defined fixed bin(17,0) dcl 13-201 xref_bypass defined bit(1) dcl 13-213 xref_chain_ptr defined pointer dcl 13-75 xref_token_ptr defined pointer dcl 13-73 NAMES DECLARED BY EXPLICIT CONTEXT. TOK 000000 constant label array(31) dcl 405 ref 403 cobol_gen_driver_ 000262 constant entry external dcl 37 comp_token_area 000324 constant label dcl 137 ref 148 data_and_seg_init 002542 constant label dcl 908 ref 259 266 eof_test 000657 constant label dcl 255 ref 215 exit 002672 constant label dcl 958 get_next_token 000646 constant label dcl 250 ref 324 397 401 409 416 434 444 446 450 456 473 619 689 get_tokens 000571 constant label dcl 219 ref 465 555 560 575 579 583 590 594 598 603 608 613 617 623 627 631 637 641 645 649 654 659 664 669 673 678 682 687 693 700 704 711 716 727 732 734 741 745 749 753 772 778 784 830 837 841 845 850 857 906 handler 000037 constant label array(98) dcl 553 ref 471 695 706 718 721 755 758 761 764 767 852 859 pop 002746 constant entry internal dcl 542 ref 572 push 002716 constant entry internal dcl 517 ref 557 600 605 610 661 666 675 684 713 724 729 737 847 push1 002732 constant entry internal dcl 530 ref 656 stack_sub 002673 constant entry internal dcl 500 ref 405 418 440 start 000267 constant label dcl 121 test1_map_data_ovfl 001111 constant label dcl 360 ref 369 test2_map_data_ovfl 002300 constant label dcl 790 ref 799 token_block_ovfl_test 000703 constant label dcl 274 ref 282 type_tests 000702 constant label dcl 271 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 4174 4500 2757 4204 Length 5510 2757 304 774 1214 24 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME cobol_gen_driver_ 663 external procedure is an external procedure. stack_sub internal procedure shares stack frame of external procedure cobol_gen_driver_. push internal procedure shares stack frame of external procedure cobol_gen_driver_. push1 internal procedure shares stack frame of external procedure cobol_gen_driver_. pop internal procedure shares stack frame of external procedure cobol_gen_driver_. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 current_token_ptr cobol_gen_driver_ 000012 error_info cobol_gen_driver_ STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME cobol_gen_driver_ 000100 on_err_tag cobol_gen_driver_ 000101 subscript_flag cobol_gen_driver_ 000102 binit_tag cobol_gen_driver_ 000103 decl_flag cobol_gen_driver_ 000104 last_decl_proc cobol_gen_driver_ 000105 fxs_tag cobol_gen_driver_ 000106 fxs_locno cobol_gen_driver_ 000107 index cobol_gen_driver_ 000110 pc_flag cobol_gen_driver_ 000111 search_flag cobol_gen_driver_ 000112 temp cobol_gen_driver_ 000113 token_type cobol_gen_driver_ 000114 sub_token_index cobol_gen_driver_ 000116 space_ptr cobol_gen_driver_ 000120 subscript_ptr cobol_gen_driver_ 000122 record_ptr cobol_gen_driver_ 000124 temp_prev_ptr cobol_gen_driver_ 000126 bypass_flag cobol_gen_driver_ 000130 temp_ptr cobol_gen_driver_ 000132 decl_sw cobol_gen_driver_ 000133 end_flag cobol_gen_driver_ 000134 off cobol_gen_driver_ 000135 tag_stack_loc cobol_gen_driver_ 000136 tag_stack cobol_gen_driver_ 001136 h_no cobol_gen_driver_ 001140 in_token_ptr cobol_gen_driver_ 001142 alpha_name_ptr cobol_gen_driver_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return_mac ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. cobol_accept_gen cobol_add_gen cobol_alter_gen cobol_alter_perform cobol_arithop_gen cobol_call_gen cobol_cancel_gen cobol_close_gen cobol_compare_gen cobol_compute_gen cobol_decl_gen cobol_define_tag cobol_define_tag_nc cobol_delete_gen cobol_disable_gen cobol_display_gen cobol_divide_gen cobol_enable_gen cobol_end_gen cobol_equate_tag cobol_exit_gen cobol_gen_ioerror$finish_up_not cobol_go_gen cobol_inspect_gen cobol_merge_gen cobol_move_gen cobol_multiply_gen cobol_open_gen cobol_paragraph_gen cobol_perform_gen cobol_pool cobol_profile cobol_prologue_gen cobol_purge_gen cobol_read_gen cobol_read_rand$fixed_bin cobol_receive_gen cobol_release_gen cobol_reset_r$in_line cobol_return_gen cobol_rewrite_gen cobol_search_gen cobol_section_gen cobol_seginit_gen cobol_send_gen cobol_set_gen cobol_sort_gen cobol_start_gen cobol_stop_gen cobol_string_gen cobol_subtract_gen cobol_unstring_gen cobol_write_gen signal_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. cobol_$alter_flag cobol_$alter_index cobol_$alter_list_ptr cobol_$data_init_flag cobol_$init_stack_off cobol_$initval_base_ptr cobol_$main_pcs_ptr cobol_$map_data_max cobol_$map_data_ptr cobol_$max_stack_off cobol_$minpral5_ptr cobol_$misc_end_ptr cobol_$misc_max cobol_$para_eop_flag cobol_$pd_map_sw cobol_$perform_list_ptr cobol_$perform_para_index cobol_$perform_sect_index cobol_$priority_no cobol_$sect_eop_flag cobol_$seg_init_flag cobol_$seg_init_list_ptr cobol_$stack_off cobol_$temp_token_area_ptr cobol_$temp_token_max cobol_$temp_token_ptr cobol_$text_wd_off cobol_$token_block1_ptr cobol_$token_block2_ptr cobol_ext_$cobol_com_ptr LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 37 000261 121 000267 127 000272 131 000317 132 000321 133 000322 134 000323 137 000324 140 000341 143 000343 144 000346 146 000350 148 000377 152 000400 153 000402 154 000403 158 000405 159 000406 160 000407 161 000410 162 000411 163 000413 164 000414 165 000415 166 000416 167 000417 168 000420 169 000421 170 000422 171 000423 172 000424 173 000425 174 000426 175 000430 176 000431 177 000433 178 000436 179 000437 180 000441 181 000443 183 000445 186 000451 188 000452 190 000466 192 000471 194 000473 195 000514 196 000520 199 000522 202 000527 203 000530 205 000532 207 000537 209 000550 210 000553 211 000557 213 000560 215 000570 219 000571 222 000573 223 000574 226 000576 230 000603 232 000605 234 000612 236 000614 238 000620 241 000633 242 000636 246 000637 247 000641 250 000646 252 000652 255 000657 259 000662 263 000671 264 000673 266 000700 271 000702 274 000703 278 000706 279 000712 280 000714 282 000743 286 000744 287 000750 288 000754 296 000760 300 000762 301 000764 305 000770 306 000772 307 001002 308 001005 310 001011 314 001013 317 001016 320 001020 321 001023 322 001025 324 001027 329 001030 333 001033 336 001036 337 001040 339 001050 341 001053 343 001057 344 001061 347 001066 349 001067 354 001100 357 001104 360 001111 364 001117 365 001122 367 001124 369 001153 373 001154 375 001155 378 001166 380 001171 382 001175 384 001177 386 001203 391 001215 397 001226 401 001227 403 001231 405 001232 409 001240 411 001241 414 001247 416 001251 418 001252 422 001261 426 001271 428 001277 429 001304 430 001306 434 001307 436 001310 440 001315 444 001316 446 001317 450 001321 453 001326 455 001340 456 001342 458 001343 462 001345 465 001351 469 001352 471 001354 473 001355 553 001356 555 001364 557 001365 559 001366 560 001377 562 001400 565 001403 568 001413 570 001414 572 001424 575 001425 577 001426 579 001434 581 001435 583 001443 585 001444 587 001450 589 001452 590 001501 592 001502 594 001510 596 001511 598 001517 600 001520 602 001521 603 001532 605 001533 607 001534 608 001545 610 001546 612 001547 613 001560 615 001561 617 001567 619 001570 622 001572 623 001600 625 001601 627 001607 629 001610 631 001616 633 001617 635 001622 636 001624 637 001653 639 001654 641 001662 643 001663 645 001671 647 001672 649 001700 651 001701 653 001707 654 001710 656 001711 658 001712 659 001723 661 001724 663 001725 664 001736 666 001737 668 001740 669 001751 671 001752 673 001760 675 001761 677 001762 678 001773 680 001774 682 002004 684 002005 686 002006 687 002017 689 002020 692 002022 693 002030 695 002031 698 002032 700 002040 702 002041 704 002047 706 002050 709 002051 711 002057 713 002060 715 002061 716 002072 718 002073 721 002074 724 002075 726 002076 727 002107 729 002110 731 002111 732 002122 734 002123 737 002124 739 002125 740 002136 741 002137 743 002140 745 002146 747 002147 749 002155 751 002156 753 002164 755 002165 758 002166 761 002167 764 002170 767 002171 770 002172 772 002200 774 002201 776 002204 777 002206 778 002235 780 002236 782 002241 783 002243 784 002272 786 002273 790 002300 794 002306 795 002311 797 002313 799 002342 803 002343 804 002344 806 002356 807 002361 808 002365 812 002367 813 002370 814 002374 816 002402 818 002404 819 002406 824 002416 828 002434 830 002437 832 002440 834 002442 837 002452 839 002453 841 002461 843 002462 845 002470 847 002471 849 002472 850 002503 852 002504 855 002505 857 002513 859 002514 900 002515 903 002533 906 002541 908 002542 913 002544 917 002552 920 002555 921 002565 923 002567 925 002573 927 002601 928 002605 929 002611 931 002616 933 002620 935 002622 937 002631 940 002636 942 002640 944 002643 950 002644 952 002655 958 002672 500 002673 503 002674 505 002701 508 002704 509 002706 513 002711 514 002713 515 002715 517 002716 521 002717 523 002724 524 002725 525 002730 528 002731 530 002732 533 002733 535 002740 536 002741 537 002744 540 002745 542 002746 546 002747 547 002752 549 002754 ----------------------------------------------------------- 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