COMPILATION LISTING OF SEGMENT cobol_build_resop 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 0938.7 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* *********************************************************** */ 8 9 10 /****^ HISTORY COMMENTS: 11* 1) change(89-04-23,Zimmerman), approve(89-04-23,MCR8060), 12* audit(89-05-05,RWaters), install(89-05-24,MR12.3-1048): 13* MCR8060 cobol_build_resop.pl1 Reformatted code to new Cobol standard. 14* END HISTORY COMMENTS */ 15 16 17 /* format: style3 */ 18 19 /* ****************************************************** 20* * * 21* * * 22* * Copyright (c) 1972 by Massachusetts Institute of * 23* * Technology and Honeywell Information Systems, Inc. * 24* * * 25* * * 26* ****************************************************** */ 27 /* Modified on 7/1/76 by Bob Chang to put default maximun temporary size. */ 28 29 /*{*/ 30 cobol_build_resop: 31 proc (input_lop_ptr, input_rop_ptr, operator_code, resultant_operand_ptr, rdmax_flag, rdmax_value, 32 possible_ovfl_flag); 33 34 /* 35* 36*FUNCTION 37* 38*This procedure has several functions: 39* 40* 1. Builds a data name token (type 9) that describes 41* the temporary that is to hold the result of an 42* arithmetic computation. 43* 44* 2. allocates temporary space on the run time stack 45* to hold the result of the arithmetic computation. 46* 47*The following assumptions are made: 48* 49* 1. input_lop_ptr and input_rop_ptr point to tokens 50* that are either data name (type 9) tokens, numeric literal 51* (type 2) tokens, or the reserved word token (type 1) 52* for the figurative constant ZERO. 53* 54* 2. If either of the two above pointers do not point 55* to data name (type 9) tokens the literal or 56* figurative constant pointed to is pooled and a data name 57* token is created. 58* 59**/ 60 61 62 /* IMPLEMENTATION DETAILS */ 63 64 /* 65*This procedure builds a resultant operand that maintains the 66*maximum significance of the result of a computation involving 67*two operands. The maximum significance is defined by the number 68*of decimal digits allowed tohold the result of the computation. 69* 70*By looking at the two operands and the operation to be performed, 71*it is possible to determine whether the result will fit into 72*a scaled decimal number, without losing any significance. If 73*it is not possible for the result to fit into a scaled decimal, 74*then the result must be stored into a decimal floating point 75*number. In the discussion that follows, the following definitions 76*will be used: 77* 78*DEFINITIONS 79* 80*MAX_TEMP_SIZE The maximum number of non-zero digits allowed 81* in a temporary. 82*LOP The token that describes the left operand 83* of an arithmetic computation. 84*ROP The token that describes the right operand 85* of an arithmetic computation. 86*LD The number of digits to the left of the 87* decimal point of an operand of an arithmetic 88* computation. 89*RD The number of digits to the right of the 90* decimal point of an operand of an arithmetic 91* computation. 92* 93*For example, LOP(LD) is the number of digits to the left of 94*the decimal point in the token that describes the left 95*operand of an arithmetic computation, and LOP(RD) is the number 96*of digits to the right of the decimal point. ROP(LD) and 97*ROP(RD) are the analagous values for the token that describes 98*the right operand. 99* 100*THE ALGORITHM USED 101* 102*The resultant operand built by this procedure is built according 103*to the following algorithm. 104* 105*1. If either LOP or ROP describes a decimal floating point 106*operand, then the resultant operand built will be a decimal 107*floating point operand. 108* 109*2. If the arithmetic operation is divide or exponentiate, 110*then the resultant operand built will be a decimal floating 111*point operand. 112* 113*3. Otherwise, temporary vallues TLD and TRD, for the number 114*of digits to the left of the decimal point and right of 115*the decimal point, respectively, are calculated. The algorithm 116*used for these calculations depends on the type of arithmetec 117*operation being performed on the two operands. 118* 119* 120* a. ADD or SUBTRACT 121* 122* TLD = max(LOP(LD),ROP(LD)) + 1 123* TRD = max(LOP(RD),ROP(RD)) 124* 125* b. MULTIPLY 126* 127* TLD = LOP(LD) + ROP(LD) 128* TRD = LOP(RD) + ROP(RD) 129* 130*After TLD and TRD are calculated, the sum of TLD and TRD 131*is compared to MAX_TEMP_SIZE. If TLD + TRD < MAX_TEMP_SIZE, 132*then the resultant operand built is a scaled decimal, with 133*places_left = TLD, places_right = TRD. 134* 135*Otherwise, the resultnat operand is a decimal floating point 136*operand, with length = MAX_TEMP_SIZE + 2. (The two additional 137*bytes are necessary to provide space in the number for one byte 138*of leading sign, and one byte for trailing exponent.) 139**/ 140 141 /* DECLARATION OF THE PARAMETERS */ 142 143 dcl input_lop_ptr ptr; 144 dcl input_rop_ptr ptr; 145 dcl operator_code fixed bin; 146 dcl resultant_operand_ptr 147 ptr; 148 dcl rdmax_flag bit (1); 149 dcl rdmax_value fixed bin; 150 dcl possible_ovfl_flag bit (1); 151 152 /* 153* 154*input_lop_ptr Points to the token for the left operand 155* of the expression for which a resultant operand token 156* is to be built. (input) 157*input_rop_ptr Points to the token for the right operand 158* of the arithmetic expression for which a 159* resultant operand token is to be built. (input) 160*operator_code Code that identifies the binary operation 161* being performed using the left and right 162* operands. (input) 163* 164* This code can be one of the following values: 165* 166* code | meaning 167* ---------------------------------- 168* 182 | binary plus 169* 183 | binary minus 170* 184 | multiply 171* 185 | divide 172* 186 | exponentiate 173* 174*resultant_operand_ptr Points to the data name token 175* (type 9) that describes the result of the 176* arithmetic operation on the two input 177* operands. (output) 178*rdmax_flag A one bit flag that indicates whether an 179* rdmax_value is input on this call. (see 180* below for a definition of rdmax_value) This 181* flag is set to "1"b if an rdmax_value is input, 182* and meaningful, else it is set to "0"b. 183* (input) 184*rdmax_value A value that specifies the maximum number 185* of decimal digits to be preserved to the 186* right of the decimal point, if possible. This 187* parameter is passed to this procedure by 188* callers who are evaluating part of an expression 189* whose result will eventually be moved to a 190* receiving field. The rdmax_value is determined 191* by the caller by taking the largest number of 192* right digits in all of the receiving fields, 193* and adding one to this value if rounding 194* was specified for that receiving field. 195* (input) 196*possible_ovfl_flag A one bit flag that is set to "1"b on exit 197* from this procedure, if the process of building 198* the resultant operand token revealed a possible 199* overflow out of the resultant operand 200* by the execution of the arithmetic computation. 201* (output) 202* 203**/ 204 205 /* DECLARATION OF EXTERNAL ENTRIES */ 206 207 dcl cobol_num_to_udts ext entry (ptr, ptr); 208 dcl cobol_alloc$stack ext entry (fixed bin, fixed bin, fixed bin); 209 dcl cobol_make_type9$decimal_9bit 210 ext entry (ptr, fixed bin, fixed bin, fixed bin, fixed bin); 211 dcl cobol_make_type9$type2_3 212 ext entry (ptr, ptr); 213 214 dcl ioa_$ioa_stream ext entry options (variable); 215 dcl print_image ext entry (ptr); 216 217 /* DECLARATIONS OF INTERNAL STATIC VARIABLES */ 218 219 /* Declaration of variables that contain values of the possible input operator codes */ 220 221 dcl plus_op fixed bin (15) int static init (182); 222 dcl minus_op fixed bin (15) int static init (183); 223 dcl multiply_op fixed bin (15) int static init (184); 224 dcl divide_op fixed bin (15) int static init (185); 225 dcl exponentiate_op fixed bin (15) int static init (186); 226 227 dcl codasyl_size fixed bin int static init (18); 228 229 /* DECLARATION OF INTERNAL AUTOMATIC VARIABLES */ 230 231 dcl dn_ptr ptr; 232 dcl max_temp_size fixed bin; 233 dcl work_ptr ptr; 234 dcl prelim_ld fixed bin; 235 dcl prelim_rd fixed bin; 236 dcl total_size fixed bin; 237 dcl ret_offset fixed bin; 238 dcl lop_fixed_bin bit (1); 239 dcl rop_fixed_bin bit (1); 240 dcl lop_opch bit (1); 241 dcl rop_opch bit (1); 242 243 244 /**************************************************/ 245 /* START OF EXECUTION */ 246 /* cobol_build_resop */ 247 /**************************************************/ 248 249 250 251 252 /* SEt the maximum number of decimal digits to be allowed for a temporary operand. */ 253 254 /* NOTE: 255* Later, a field in fixed common will be defined to cntain the maximum 256* number of digits to be allowed for a temporary operand. This field will 257* either contain the Codasyl value (default??) or a value specified 258* by the user in the environment division */ 259 260 /* FOR NOW .... */ 261 262 max_temp_size = fixed_common.default_temp; 263 if (max_temp_size < 18) | (max_temp_size > 61) 264 then max_temp_size = 30; 265 266 lop_fixed_bin = "0"b; 267 rop_fixed_bin = "0"b; 268 lop_opch = "0"b; 269 rop_opch = "0"b; 270 271 272 /* Check to see if the input operand tokens are data name tokens, and convert them if necessary */ 273 274 if input_lop_ptr -> data_name.type ^= rtc_dataname 275 then do; /* Left operand needs conversion to a data name token */ 276 277 call convert_to_dec (input_lop_ptr, work_ptr); 278 input_lop_ptr = work_ptr; 279 280 end; /* Left operand needs conversion to a data name token */ 281 282 else if (input_lop_ptr -> data_name.bin_18 | input_lop_ptr -> data_name.bin_36) 283 then lop_fixed_bin = "1"b; 284 else if (input_lop_ptr -> data_name.item_signed & input_lop_ptr -> data_name.sign_separate = "0"b) 285 then lop_opch = "1"b; /* Left operand is overpunch sign data. */ 286 287 if input_rop_ptr -> data_name.type ^= rtc_dataname 288 then do; /* Right operand needs conversion to a data name token */ 289 290 call convert_to_dec (input_rop_ptr, work_ptr); 291 input_rop_ptr = work_ptr; 292 end; /* Right operand needs conversion to a data name token */ 293 else if (input_rop_ptr -> data_name.bin_18 | input_rop_ptr -> data_name.bin_36) 294 then rop_fixed_bin = "1"b; 295 else if (input_rop_ptr -> data_name.item_signed & input_rop_ptr -> data_name.sign_separate = "0"b) 296 then rop_opch = "1"b; /* Right operand overpunch sign data. */ 297 298 299 if (lop_fixed_bin & rop_fixed_bin) 300 then do; /* Both operands are fixed binary. */ 301 302 /* LATER, we may develop a fixed binary resultant operand. For now, 303* however, the fixed binary data will be converted to decimal, and a 304* decimal resultant operand will be developed. */ 305 306 work_ptr = null (); 307 call cobol_num_to_udts (input_lop_ptr, work_ptr); 308 input_lop_ptr = work_ptr; 309 310 work_ptr = null (); 311 call cobol_num_to_udts (input_rop_ptr, work_ptr); 312 input_rop_ptr = work_ptr; 313 lop_fixed_bin = "0"b; 314 rop_fixed_bin = "0"b; 315 end; /* Both operands are fixed binary. */ 316 317 if lop_fixed_bin | lop_opch 318 then do; /* The left operand is fixed binary or overpunch sign. */ 319 work_ptr = null (); 320 call cobol_num_to_udts (input_lop_ptr, work_ptr); 321 input_lop_ptr = work_ptr; 322 end; /* The left operand is fixed binary or opverpuch sign. */ 323 324 if (rop_fixed_bin | rop_opch) 325 then do; /* The right operand is fixed binary or overpunch sign */ 326 work_ptr = null (); 327 call cobol_num_to_udts (input_rop_ptr, work_ptr); 328 input_rop_ptr = work_ptr; 329 end; /* Only the right operand is fixed binary or overpunch sign. */ 330 331 /* At this point, both input_lop_ptr and input_rop_ptr point to data name tokens, 332* and both pointers may differ from their values on entry to this procedure */ 333 334 if (input_lop_ptr -> data_name.sign_type = "111"b /* Left operand token is floating decimal */ 335 | input_rop_ptr -> data_name.sign_type = "111"b /* Right operand token is floating decimal */ 336 | operator_code = divide_op /* Operation is division */ 337 | operator_code = exponentiate_op /* Operation is exponentiation. */) 338 then call float_result (resultant_operand_ptr, max_temp_size); 339 /* Result is a floating temp */ 340 341 else do; /* Determine whether the result will fit into a fixed decimal temporary. */ 342 343 344 /* Calculate the preliminary left and right digits for the temporary to be created. */ 345 346 if (operator_code = plus_op | operator_code = minus_op) 347 then do; /* Plus or minus operator */ 348 349 if (input_lop_ptr -> data_name.places_left > input_rop_ptr -> data_name.places_left) 350 then prelim_ld = input_lop_ptr -> data_name.places_left; 351 /* left op places greater */ 352 else prelim_ld = input_rop_ptr -> data_name.places_left; 353 /* right op places greater */ 354 355 prelim_ld = prelim_ld + 1; /* This is maximum integer part of the result */ 356 357 if (input_lop_ptr -> data_name.places_right > input_rop_ptr -> data_name.places_right) 358 then prelim_rd = input_lop_ptr -> data_name.places_right; 359 /* left of rd greater */ 360 else prelim_rd = input_rop_ptr -> data_name.places_right; 361 /* right op rd greater */ 362 363 end; /* Plus or minus operator */ 364 365 else if operator_code = multiply_op 366 then do; /* Multiply operator */ 367 368 /* Calculate the number of left digits of the temporary */ 369 prelim_ld = input_lop_ptr -> data_name.places_left + input_rop_ptr -> data_name.places_left; 370 371 /* Calculate the number of right digits of the temporary */ 372 prelim_rd = 373 input_lop_ptr -> data_name.places_right + input_rop_ptr -> data_name.places_right; 374 375 end; /* Multiply operator */ 376 377 378 /* At this point, we have preliminary values for left and right digits. Now we must 379* determine whether the total number of digits can be contained in the maximum number allowed 380* for a temporary, and perform truncation (on the right) if necessary. */ 381 382 383 if prelim_ld + prelim_rd > max_temp_size 384 then call float_result (resultant_operand_ptr, max_temp_size); 385 /* Left and right digits too large for 386* a fixed decimal temporary. */ 387 388 else do; /* Left and right digits will fit into a fixed decimal, make a fixed decimal temp. */ 389 total_size = prelim_ld + prelim_rd; 390 /* Total number of digits required to hold the maximum 391* value temporary result */ 392 393 /* Allocate space in the temporary token area for the data name token of the temproary */ 394 395 call get_temp_token (work_ptr, 112); 396 397 /* Allocate space in the run time stack to hold the temporary result */ 398 399 call cobol_alloc$stack (total_size + 1, 0, ret_offset); 400 /* Allocate one additioneal byte for sign */ 401 402 /* Build the data name token in the temp token area */ 403 404 call cobol_make_type9$decimal_9bit (work_ptr, 1000 /* stack */, ret_offset, prelim_ld, 405 prelim_rd); 406 407 resultant_operand_ptr = work_ptr; 408 end; /* Left and right digits will fit into a fixed decimal, make a fixed decimal temp. */ 409 410 411 end; /* Determine whether the result will fit into a fixed decimal temporary. */ 412 413 414 /**************************************************/ 415 /* END OF EXECUTABLE STATEMENTS */ 416 /* cobol_build_resop */ 417 /**************************************************/ 418 419 get_temp_token: 420 proc (ret_token_ptr, token_size); 421 422 /* 423*This internal procedure gets space for a temporary token 424*in the temporary token area. 425**/ 426 427 /* DECLARATION OF THE PARAMETERS */ 428 429 dcl ret_token_ptr ptr; 430 dcl token_size fixed bin; 431 432 /* 433*ret_token_ptr Points to the temporary token in the temporary 434* token area "gotten" by this procedure. (output) 435*token_size size, in bytes, of the temporary token to 436* be "gotten" in the temporary token area. (input) 437* 438**/ 439 /* 440*When this procedure is entered, the field cobol_$temp_token_ptr 441*points to the next avaulable word in the temporary token area. 442*The value of this pointer is set into the output parameter 443*temp_token_ptr. Then the value in the input parameter 444*token_size is used to calculate the next available WORD in 445*the temporary token area, and cobol_$temp_token_ptr is updated 446*to point to this next available word. 447**/ 448 449 450 /*************************************************/ 451 /* START OF EXECUTION */ 452 /* get_temp_token */ 453 /**************************************************/ 454 455 ret_token_ptr = cobol_$temp_token_ptr; 456 457 cobol_$temp_token_ptr = addrel (cobol_$temp_token_ptr, divide (token_size + 3, 4, 17, 0)); 458 459 end get_temp_token; 460 461 /*{*/ 462 convert_to_dec: 463 proc (input_token_ptr, output_token_ptr); 464 465 /* 466*This internal procedure converts a numeric literal token (type 2) 467*or the figurative constant ZERO token (type 1) to a data name 468*(type 9) token. It does this by: 469* 1. pooling the constant in the constant section 470* 2. creating a data name token (type 9) for the pooled 471* constant. 472* 473**/ 474 475 /* DECLARATION OF THE PARAMETERS */ 476 477 dcl input_token_ptr ptr; 478 dcl output_token_ptr ptr; 479 480 /* 481*input_token_ptr Points to the input token to be converted to a 482* data name token. (input) 483*output_token_ptr Points to the data name token built by this 484* procedure. This data name token is created in 485* the temp token area. (output) 486* 487**/ 488 489 /* DECLARATIONS OF BUILTIN FUNCTIONS */ 490 491 dcl addr builtin; 492 dcl addrel builtin; 493 dcl divide builtin; 494 dcl null builtin; 495 496 /* DECLARATION OF INTERNAL STATIC VARIABLES */ 497 498 /* Definition of a numeric literal zero */ 499 500 dcl 1 num_lit_zero int static, 501 2 size fixed bin (15) init (37), 502 2 line fixed bin (15) init (0), 503 2 column fixed bin (15) init (0), 504 2 type fixed bin (15) init (2), 505 2 integral bit (1) init ("1"b), 506 2 floating bit (1) init ("0"b), 507 2 filler1 bit (5) init ("0"b), 508 2 subscript bit (1) init ("0"b), 509 2 sign char (1) init (" "), 510 2 exp_sign char (1) init (" "), 511 2 exp_places fixed bin (15) init (0), 512 2 places_left fixed bin (15) init (1), 513 2 places_right fixed bin (15) init (0), 514 2 places fixed bin (15) init (1), 515 2 lit_val char (1) init ("0"); 516 517 518 /* DECLARATION OF INTERNAL AUTOMATIC VARIABLES */ 519 520 dcl lit_ptr ptr; 521 522 /**************************************************/ 523 /* START OF EXECUTION */ 524 /* convert_to_dec */ 525 /**************************************************/ 526 527 if input_token_ptr -> data_name.type = rtc_resword 528 then lit_ptr = addr (num_lit_zero); /* ASSUME FIGURATIVE CONSTANT ZERO */ 529 else lit_ptr = input_token_ptr; /* ASSUME A NUMERIC LITERAL TOKEN */ 530 531 /* Allocate space in the temporary token area for the data name token to be built */ 532 533 call get_temp_token (output_token_ptr, 112); 534 535 /* Make a data name token from the numeric literal */ 536 537 call cobol_make_type9$type2_3 (output_token_ptr, lit_ptr); 538 539 end convert_to_dec; 540 541 /*************************************************/ 542 /* START OF INTERNAL PROCEDURE */ 543 /* float_result */ 544 /*************************************************/ 545 float_result: 546 proc (result_ptr, float_size); 547 548 549 /* 550*This internal procedure allocates space in the run-time stack for 551*a floating decimal temporary, and builds a data name 552*temporary token (type 9) that describes the temporary in the 553*stack. 554**/ 555 556 /* DECLARATION OF THE PARAMETERS */ 557 558 dcl result_ptr ptr; 559 dcl float_size fixed bin; 560 561 /* DESCRIPTION OF THE PARAMETERS */ 562 563 /* 564*PARAMETER DESCRIPTION 565* 566*result_ptr Points to the floating decimal temporary 567* token built by this procedure. (output) 568*float_size Contains the number of decimal digits 569* to be contained in the floating decimal 570* temporary allocated in the run-time stack 571* by this procedure. (input) 572* 573**/ 574 dcl ret_offset fixed bin; 575 dcl dbuff (1:28) fixed bin based; 576 dcl ix fixed bin; 577 578 579 /*************************************************:/ 580*/* START OF EXECUTION */ 581 /* INTERNaL PROCEDURE float_result */ 582 /*********************************************/ 583 584 585 /* Allocate space in the temporary token area for the floating decimal temporary token. */ 586 call get_temp_token (dn_ptr, 112); 587 588 /* Allocate space on the run-time stack for the temporary. */ 589 call cobol_alloc$stack (float_size + 2 /* add 2 for sign byte + exponent byte */, 0, ret_offset); 590 591 /* Build the floating decimal temporary token. */ 592 593 594 /* Set zeroes into the data name token image */ 595 596 do ix = 1 to 28; 597 dn_ptr -> dbuff (ix) = 0; 598 end; 599 600 /* Type code */ 601 data_name.type = rtc_dataname; 602 603 /* Item length */ 604 data_name.item_length = float_size + 2; 605 606 /* Segment number */ 607 data_name.seg_num = 1000; /* STACK */ 608 609 /* Offset */ 610 data_name.offset = ret_offset; /* from cobol_alloc$stack */ 611 612 /* Sign type (TO SPECIAL FLOATING DECIMAL CODE!!!) */ 613 data_name.sign_type = "111"b; 614 615 /* numeric description bit */ 616 data_name.numeric = "1"b; 617 618 619 result_ptr = dn_ptr; 620 621 end float_result; 622 623 /* INCLUDE FILES USED BY THIS PROCEDURE */ 624 1 1 1 2 /* BEGIN INCLUDE FILE ... cobol_record_types.incl.pl1 */ 1 3 /* <<< LAST MODIFIED ON 09-09-75 by tlf >>> */ 1 4 1 5 dcl rtc_resword fixed bin (15) int static init(1); 1 6 dcl rtc_numlit fixed bin (15) int static init(2); 1 7 dcl rtc_alphalit fixed bin (15) int static init(3); 1 8 dcl rtc_picstring fixed bin (15) int static init(4); 1 9 dcl rtc_diag fixed bin (15) int static init(5); 1 10 dcl rtc_source fixed bin (15) int static init(6); 1 11 dcl rtc_procdef fixed bin (15) int static init(7); 1 12 dcl rtc_userwd fixed bin (15) int static init(8); 1 13 dcl rtc_dataname fixed bin (15) int static init(9); 1 14 dcl rtc_indexname fixed bin (15) int static init(10); 1 15 dcl rtc_condname fixed bin (15) int static init(11); 1 16 dcl rtc_filedef fixed bin (15) int static init(12); 1 17 dcl rtc_commdesc fixed bin (15) int static init(13); 1 18 dcl rtc_debugitems fixed bin (15) int static init(14); 1 19 dcl rtc_savedarea fixed bin (15) int static init(15); 1 20 dcl rtc_sortmerge fixed bin (15) int static init(16); 1 21 dcl rtc_mnemonic fixed bin (15) int static init(17); 1 22 dcl rtc_pararef fixed bin (15) int static init(18); 1 23 dcl rtc_eos fixed bin (15) int static init(19); 1 24 dcl rtc_reportname fixed bin (15) int static init(20); 1 25 dcl rtc_groupname fixed bin (15) int static init(21); 1 26 dcl rtc_reportentry fixed bin (15) int static init(22); 1 27 dcl rtc_unknown1 fixed bin (15) int static init(23); 1 28 dcl rtc_debugenable fixed bin (15) int static init(24); 1 29 dcl rtc_unknown2 fixed bin (15) int static init(25); 1 30 dcl rtc_unknown3 fixed bin (15) int static init(26); 1 31 dcl rtc_unknown4 fixed bin (15) int static init(27); 1 32 dcl rtc_unknown5 fixed bin (15) int static init(28); 1 33 dcl rtc_unknown6 fixed bin (15) int static init(29); 1 34 dcl rtc_internal_tag fixed bin (15) int static init(30); 1 35 dcl rtc_equate_tag fixed bin (15) int static init(31); 1 36 dcl rtc_register fixed bin (15) int static init(100); 1 37 dcl rtc_fdec_temp fixed bin (15) int static init(101); 1 38 dcl rtc_immed_const fixed bin (15) int static init(102); 1 39 1 40 /* END INCLUDE FILE ... cobol_record_types.incl.pl1 */ 1 41 625 2 1 2 2 /* BEGIN INCLUDE FILE ... cobol_ext_.incl.pl1 */ 2 3 /* Last modified on 06/17/76 by ORN */ 2 4 /* Last modified on 12/28/76 by FCH */ 2 5 /* Last modified on 12/01/80 by FCH */ 2 6 2 7 /* <<< SHARED EXTERNALS INCLUDE FILE >>> */ 2 8 2 9 2 10 dcl cobol_ext_$cobol_afp ptr ext; 2 11 dcl cobol_afp ptr defined ( cobol_ext_$cobol_afp); 2 12 dcl cobol_ext_$cobol_analin_fileno ptr ext; 2 13 dcl cobol_analin_fileno ptr defined ( cobol_ext_$cobol_analin_fileno); 2 14 dcl cobol_ext_$report_first_token ptr ext; 2 15 dcl report_first_token ptr defined( cobol_ext_$report_first_token); 2 16 dcl cobol_ext_$report_last_token ptr ext; 2 17 dcl report_last_token ptr defined ( cobol_ext_$report_last_token); 2 18 dcl cobol_ext_$cobol_eltp ptr ext; 2 19 dcl cobol_eltp ptr defined ( cobol_ext_$cobol_eltp); 2 20 dcl cobol_ext_$cobol_cmfp ptr ext; 2 21 dcl cobol_cmfp ptr defined ( cobol_ext_$cobol_cmfp); 2 22 dcl cobol_ext_$cobol_com_fileno ptr ext; 2 23 dcl cobol_com_fileno ptr defined ( cobol_ext_$cobol_com_fileno); 2 24 dcl cobol_ext_$cobol_com_ptr ptr ext; 2 25 dcl cobol_com_ptr ptr defined ( cobol_ext_$cobol_com_ptr); 2 26 dcl cobol_ext_$cobol_dfp ptr ext; 2 27 dcl cobol_dfp ptr defined ( cobol_ext_$cobol_dfp); 2 28 dcl cobol_ext_$cobol_hfp ptr ext; 2 29 dcl cobol_hfp ptr defined ( cobol_ext_$cobol_hfp); 2 30 dcl cobol_ext_$cobol_m1fp ptr ext; 2 31 dcl cobol_m1fp ptr defined ( cobol_ext_$cobol_m1fp); 2 32 dcl cobol_ext_$cobol_m2fp ptr ext; 2 33 dcl cobol_m2fp ptr defined ( cobol_ext_$cobol_m2fp); 2 34 dcl cobol_ext_$cobol_min1_fileno ptr ext; 2 35 dcl cobol_min1_fileno ptr defined ( cobol_ext_$cobol_min1_fileno); 2 36 dcl cobol_ext_$cobol_min2_fileno_ptr ptr ext; 2 37 dcl cobol_min2_fileno_ptr ptr defined ( cobol_ext_$cobol_min2_fileno_ptr); 2 38 dcl cobol_ext_$cobol_name_fileno ptr ext; 2 39 dcl cobol_name_fileno ptr defined ( cobol_ext_$cobol_name_fileno); 2 40 dcl cobol_ext_$cobol_name_fileno_ptr ptr ext; 2 41 dcl cobol_name_fileno_ptr ptr defined ( cobol_ext_$cobol_name_fileno_ptr); 2 42 dcl cobol_ext_$cobol_ntfp ptr ext; 2 43 dcl cobol_ntfp ptr defined ( cobol_ext_$cobol_ntfp); 2 44 dcl cobol_ext_$cobol_pdofp ptr ext; 2 45 dcl cobol_pdofp ptr defined ( cobol_ext_$cobol_pdofp); 2 46 dcl cobol_ext_$cobol_pfp ptr ext; 2 47 dcl cobol_pfp ptr defined ( cobol_ext_$cobol_pfp); 2 48 dcl cobol_ext_$cobol_rm2fp ptr ext; 2 49 dcl cobol_rm2fp ptr defined ( cobol_ext_$cobol_rm2fp); 2 50 dcl cobol_ext_$cobol_rmin2fp ptr ext; 2 51 dcl cobol_rmin2fp ptr defined ( cobol_ext_$cobol_rmin2fp); 2 52 dcl cobol_ext_$cobol_curr_in ptr ext; 2 53 dcl cobol_curr_in ptr defined ( cobol_ext_$cobol_curr_in); 2 54 dcl cobol_ext_$cobol_curr_out ptr ext; 2 55 dcl cobol_curr_out ptr defined ( cobol_ext_$cobol_curr_out); 2 56 dcl cobol_ext_$cobol_sfp ptr ext; 2 57 dcl cobol_sfp ptr defined ( cobol_ext_$cobol_sfp); 2 58 dcl cobol_ext_$cobol_w1p ptr ext; 2 59 dcl cobol_w1p ptr defined ( cobol_ext_$cobol_w1p); 2 60 dcl cobol_ext_$cobol_w2p ptr ext; 2 61 dcl cobol_w2p ptr defined ( cobol_ext_$cobol_w2p); 2 62 dcl cobol_ext_$cobol_w3p ptr ext; 2 63 dcl cobol_w3p ptr defined ( cobol_ext_$cobol_w3p); 2 64 dcl cobol_ext_$cobol_w5p ptr ext; 2 65 dcl cobol_w5p ptr defined ( cobol_ext_$cobol_w5p); 2 66 dcl cobol_ext_$cobol_w6p ptr ext; 2 67 dcl cobol_w6p ptr defined ( cobol_ext_$cobol_w6p); 2 68 dcl cobol_ext_$cobol_w7p ptr ext; 2 69 dcl cobol_w7p ptr defined ( cobol_ext_$cobol_w7p); 2 70 dcl cobol_ext_$cobol_x3fp ptr ext; 2 71 dcl cobol_x3fp ptr defined ( cobol_ext_$cobol_x3fp); 2 72 dcl cobol_ext_$cobol_rwdd ptr ext; 2 73 dcl cobol_rwdd ptr defined(cobol_ext_$cobol_rwdd); 2 74 dcl cobol_ext_$cobol_rwpd ptr ext; 2 75 dcl cobol_rwpd ptr defined(cobol_ext_$cobol_rwpd); 2 76 2 77 2 78 dcl cobol_ext_$cobol_fileno1 fixed bin(24)ext; 2 79 dcl cobol_fileno1 fixed bin(24)defined ( cobol_ext_$cobol_fileno1); 2 80 dcl cobol_ext_$cobol_options_len fixed bin(24)ext; 2 81 dcl cobol_options_len fixed bin(24)defined ( cobol_ext_$cobol_options_len); 2 82 dcl cobol_ext_$cobol_pdout_fileno fixed bin(24)ext; 2 83 dcl cobol_pdout_fileno fixed bin(24)defined ( cobol_ext_$cobol_pdout_fileno); 2 84 dcl cobol_ext_$cobol_print_fileno fixed bin(24)ext; 2 85 dcl cobol_print_fileno fixed bin(24)defined ( cobol_ext_$cobol_print_fileno); 2 86 dcl cobol_ext_$cobol_rmin2_fileno fixed bin(24)ext; 2 87 dcl cobol_rmin2_fileno fixed bin(24)defined ( cobol_ext_$cobol_rmin2_fileno); 2 88 dcl cobol_ext_$cobol_x1_fileno fixed bin(24)ext; 2 89 dcl cobol_x1_fileno fixed bin(24)defined ( cobol_ext_$cobol_x1_fileno); 2 90 dcl cobol_ext_$cobol_x2_fileno fixed bin(24)ext; 2 91 dcl cobol_x2_fileno fixed bin(24)defined ( cobol_ext_$cobol_x2_fileno); 2 92 dcl cobol_ext_$cobol_x3_fileno fixed bin(24)ext; 2 93 dcl cobol_x3_fileno fixed bin(24)defined ( cobol_ext_$cobol_x3_fileno); 2 94 2 95 dcl cobol_ext_$cobol_lpr char (5) ext; 2 96 dcl cobol_lpr char (5) defined ( cobol_ext_$cobol_lpr); /* -2- */ 2 97 dcl cobol_ext_$cobol_options char (120) ext; 2 98 dcl cobol_options char (120) defined ( cobol_ext_$cobol_options); /* -30- */ 2 99 2 100 dcl cobol_ext_$cobol_xlast8 bit (1) ext; 2 101 dcl cobol_xlast8 bit (1) defined ( cobol_ext_$cobol_xlast8); /* -1- */ 2 102 dcl cobol_ext_$report_exists bit (1) ext; 2 103 dcl report_exists bit (1) defined ( cobol_ext_$report_exists); 2 104 2 105 2 106 /* <<< END OF SHARED EXTERNALS INCLUDE FILE >>> */ 2 107 /* END INCLUDE FILE ... cobol_ext_.incl.pl1 */ 2 108 626 3 1 3 2 /* BEGIN INCLUDE FILE ... cobol_fixed_common.incl.pl1 */ 3 3 /* Modified on 10/27/82 by FCH, [5.1-1], cobol_cln added to save last line num, BUG543(phx13643) */ 3 4 /* Modified on 07/31/80 by FCH, [4.3-1], use_reporting field added for Report Writer */ 3 5 /* Modified on 03/30/79 by FCH, [4.1-1], -card option added */ 3 6 /* Modified on 03/30/79 by FCH, [4.0-2], -svNM option added */ 3 7 /* Modified on 03/02/79 by FCH, [4.0-1], -levNM option added */ 3 8 /* Modified by RAL on 10/13/78, [4.0-0], Added option exp from fil2. */ 3 9 /* Modified by BC on 06/20/77, descriptor added. */ 3 10 /* Modified by BC on 06/02/77, init_cd_seg, init_cd_offset added. */ 3 11 /* Modified by BC on 1/21/77, options.profile added. */ 3 12 /* Modified by FCH on 7/6/76, sysin_fno & sysout_fno deleted, accept_device & display_device added */ 3 13 /* Modified by FCH on 5/20/77, comp_level added */ 3 14 3 15 3 16 /* THE SIZE OF THIS STRUCTURE IN BYTES, (EXCLUDING VARIABLE 3 17* LENGTH ENTITIES), FOR EACH HARDWARE IMPLEMENTATION IS: 3 18* 3 19* HARDWARE | SIZE (BYTES) 3 20* --------------------------------- 3 21* 645/6180 | 464 3 22* P7 | 396 3 23* --------------------------------- 3 24* */ 3 25 3 26 dcl 1 fixed_common based ( cobol_com_ptr), 3 27 2 prog_name char (30), 3 28 2 compiler_rev_no char (25), 3 29 2 phase_name char (6), 3 30 2 currency char (1), 3 31 2 fatal_no fixed bin, 3 32 2 warn_no fixed bin, 3 33 2 proc_counter fixed bin, 3 34 2 spec_tag_counter fixed bin, 3 35 2 file_count fixed bin, 3 36 2 filedescr_offsets (20) char (5), 3 37 2 perf_alter_info char (5), 3 38 2 another_perform_info char (5), 3 39 2 sort_in_info char (5), 3 40 2 odo_info char (5), 3 41 2 size_seg fixed bin, 3 42 2 size_offset fixed bin(24), 3 43 2 size_perform_info char (5), 3 44 2 rename_info char (5), 3 45 2 report_names char (5), 3 46 2 rw_buf_seg fixed bin, 3 47 2 rw_buf_offset fixed bin(24), 3 48 2 rw_buf_length fixed bin(24), 3 49 2 file_keys char (5), 3 50 2 search_keys char (5), 3 51 2 dd_seg_size fixed bin(24), 3 52 2 pd_seg_size fixed bin(24), 3 53 2 seg_limit fixed bin , 3 54 2 number_of_dd_segs fixed bin, 3 55 2 seg_info char (5), 3 56 2 number_of_ls_pointers fixed bin, 3 57 2 link_sec_seg fixed bin, 3 58 2 link_sec_offset fixed bin(24), 3 59 2 sra_clauses fixed bin, 3 60 2 fix_up_info char (5), 3 61 2 linage_info char (5), 3 62 2 first_dd_item char (5), 3 63 2 sort_out_info char (5), 3 64 2 db_info char (5), 3 65 2 realm_info char (5), 3 66 2 rc_realm_info char (5), 3 67 2 last_file_key char (5), 3 68 2 prog_coll_seq fixed bin, 3 69 2 init_cd_seg fixed bin, 3 70 2 init_cd_offset fixed bin(24), 3 71 2 input_error_exit fixed bin, 3 72 2 output_error_exit fixed bin, 3 73 2 i_o_error_exit fixed bin, 3 74 2 extend_error_exit fixed bin, 3 75 2 dummy15 fixed bin, 3 76 2 options, 3 77 3 cu bit (1), 3 78 3 st bit (1), 3 79 3 wn bit (1), 3 80 3 obs bit (1), 3 81 3 dm bit (1), 3 82 3 xrl bit (1), 3 83 3 xrn bit (1), 3 84 3 src bit (1), 3 85 3 obj bit (1), 3 86 3 exs bit (1), 3 87 3 sck bit (1), 3 88 3 rno bit (1), 3 89 3 u_l bit (1), 3 90 3 cnv bit (1), 3 91 3 cos bit (1), 3 92 3 fmt bit (1), 3 93 3 profile bit(1), 3 94 3 nw bit (1), 3 95 3 exp bit (1), /* [4.0-0] */ 3 96 3 card bit (1), /*[4.1-1]*/ 3 97 3 fil2 bit (5), 3 98 3 m_map bit (1), 3 99 3 m_bf bit (1), 3 100 3 m_fat bit (1), 3 101 3 m_wn bit (1), 3 102 3 m_obs bit(1), 3 103 3 pd bit(1), 3 104 3 oc bit(1), 3 105 2 supervisor bit (1), 3 106 2 dec_comma bit (1), 3 107 2 init_cd bit (1), 3 108 2 corr bit (1), 3 109 2 initl bit (1), 3 110 2 debug bit (1), 3 111 2 report bit (1), 3 112 2 sync_in_prog bit (1), 3 113 2 pd_section bit (1), 3 114 2 list_switch bit (1), 3 115 2 alpha_cond bit (1), 3 116 2 num_cond bit (1), 3 117 2 spec_sysin bit (1), 3 118 2 spec_sysout bit (1), 3 119 2 cpl_files bit (1), 3 120 2 obj_dec_comma bit (1), 3 121 2 default_sign_type bit (3), 3 122 2 use_debug bit(1), 3 123 2 syntax_trace bit(1), 3 124 2 comp_defaults, 3 125 3 comp bit(1), 3 126 3 comp_1 bit(1), 3 127 3 comp_2 bit(1), 3 128 3 comp_3 bit(1), 3 129 3 comp_4 bit(1), 3 130 3 comp_5 bit(1), 3 131 3 comp_6 bit(1), 3 132 3 comp_7 bit(1), 3 133 3 comp_8 bit(1), 3 134 2 disp_defaults, 3 135 3 disp bit(1), 3 136 3 disp_1 bit(1), 3 137 3 disp_2 bit(1), 3 138 3 disp_3 bit(1), 3 139 3 disp_4 bit(1), 3 140 3 disp_5 bit(1), 3 141 3 disp_6 bit(1), 3 142 3 disp_7 bit(1), 3 143 2 descriptor bit(2), 3 144 2 levsv bit(3), /*[4.0-1]*/ 3 145 2 use_reporting bit(1), /*[4.3-1]*/ 3 146 2 cd bit(1), /*[4.4-1]*/ 3 147 2 dummy17 bit(3), 3 148 2 lvl_rstr bit(32), 3 149 2 inst_rstr bit(32), 3 150 2 comp_level char(1), 3 151 2 dummy18 char(30), 3 152 2 object_sign char (1), 3 153 2 last_print_rec char (5), 3 154 2 coll_seq_info char (5), 3 155 2 sys_status_seg fixed bin, 3 156 2 sys_status_offset fixed bin(24), 3 157 2 compiler_id fixed bin, 3 158 2 date_comp_ln fixed bin, 3 159 2 compile_mode bit(36), 3 160 2 default_temp fixed bin, 3 161 2 accept_device fixed bin, 3 162 2 display_device fixed bin, 3 163 2 cobol_cln fixed bin, /*[5.1-1]*/ 3 164 2 alphabet_offset fixed bin; 3 165 3 166 3 167 3 168 /* END INCLUDE FILE ... cobol_fixed_common.incl.pl1 */ 3 169 627 628 629 4 1 4 2 /* BEGIN INCLUDE FILE ... cobol_type9.incl.pl1 */ 4 3 /* Last modified on 11/19/76 by ORN */ 4 4 4 5 /* 4 6*A type 9 data name token is entered into the name table by the data 4 7*division syntax phase for each data name described in the data division. 4 8*The replacement phase subsequently replaces type 8 user word references 4 9*to data names in the procedure division minpral file with the corresponding 4 10*type 9 tokens from the name table. 4 11**/ 4 12 4 13 /* dcl dn_ptr ptr; */ 4 14 4 15 /* BEGIN DECLARATION OF TYPE9 (DATA NAME) TOKEN */ 4 16 dcl 1 data_name based (dn_ptr), 5 1 5 2 /* begin include file ... cobol_TYPE9.incl.pl1 */ 5 3 /* Last modified on 06/19/77 by ORN */ 5 4 /* Last modified on 12/28/76 by FCH */ 5 5 5 6 /* header */ 5 7 2 size fixed bin, 5 8 2 line fixed bin, 5 9 2 column fixed bin, 5 10 2 type fixed bin, 5 11 /* body */ 5 12 2 string_ptr ptr, 5 13 2 prev_rec ptr, 5 14 2 searched bit (1), 5 15 2 duplicate bit (1), 5 16 2 saved bit (1), 5 17 2 debug_ind bit (1), 5 18 2 filler2 bit (3), 5 19 2 used_as_sub bit (1), 5 20 2 def_line fixed bin, 5 21 2 level fixed bin, 5 22 2 linkage fixed bin, 5 23 2 file_num fixed bin, 5 24 2 size_rtn fixed bin, 5 25 2 item_length fixed bin(24), 5 26 2 places_left fixed bin, 5 27 2 places_right fixed bin, 5 28 /* description */ 5 29 2 file_section bit (1), 5 30 2 working_storage bit (1), 5 31 2 constant_section bit (1), 5 32 2 linkage_section bit (1), 5 33 2 communication_section bit (1), 5 34 2 report_section bit (1), 5 35 2 level_77 bit (1), 5 36 2 level_01 bit (1), 5 37 2 non_elementary bit (1), 5 38 2 elementary bit (1), 5 39 2 filler_item bit (1), 5 40 2 s_of_rdf bit (1), 5 41 2 o_of_rdf bit (1), 5 42 2 bin_18 bit (1), 5 43 2 bin_36 bit (1), 5 44 2 pic_has_l bit (1), 5 45 2 pic_is_do bit (1), 5 46 2 numeric bit (1), 5 47 2 numeric_edited bit (1), 5 48 2 alphanum bit (1), 5 49 2 alphanum_edited bit (1), 5 50 2 alphabetic bit (1), 5 51 2 alphabetic_edited bit (1), 5 52 2 pic_has_p bit (1), 5 53 2 pic_has_ast bit (1), 5 54 2 item_signed bit(1), 5 55 2 sign_separate bit (1), 5 56 2 display bit (1), 5 57 2 comp bit (1), 5 58 2 ascii_packed_dec_h bit (1), /* as of 8/16/76 this field used for comp8. */ 5 59 2 ascii_packed_dec bit (1), 5 60 2 ebcdic_packed_dec bit (1), 5 61 2 bin_16 bit (1), 5 62 2 bin_32 bit (1), 5 63 2 usage_index bit (1), 5 64 2 just_right bit (1), 5 65 2 compare_argument bit (1), 5 66 2 sync bit (1), 5 67 2 temporary bit (1), 5 68 2 bwz bit (1), 5 69 2 variable_length bit (1), 5 70 2 subscripted bit (1), 5 71 2 occurs_do bit (1), 5 72 2 key_a bit (1), 5 73 2 key_d bit (1), 5 74 2 indexed_by bit (1), 5 75 2 value_numeric bit (1), 5 76 2 value_non_numeric bit (1), 5 77 2 value_signed bit (1), 5 78 2 sign_type bit (3), 5 79 2 pic_integer bit (1), 5 80 2 ast_when_zero bit (1), 5 81 2 label_record bit (1), 5 82 2 sign_clause_occurred bit (1), 5 83 2 okey_dn bit (1), 5 84 2 subject_of_keyis bit (1), 5 85 2 exp_redefining bit (1), 5 86 2 sync_in_rec bit (1), 5 87 2 rounded bit (1), 5 88 2 ad_bit bit (1), 5 89 2 debug_all bit (1), 5 90 2 overlap bit (1), 5 91 2 sum_counter bit (1), 5 92 2 exp_occurs bit (1), 5 93 2 linage_counter bit (1), 5 94 2 rnm_01 bit (1), 5 95 2 aligned bit (1), 5 96 2 not_user_writable bit (1), 5 97 2 database_key bit (1), 5 98 2 database_data_item bit (1), 5 99 2 seg_num fixed bin, 5 100 2 offset fixed bin(24), 5 101 2 initial_ptr fixed bin, 5 102 2 edit_ptr fixed bin, 5 103 2 occurs_ptr fixed bin, 5 104 2 do_rec char(5), 5 105 2 bitt bit (1), 5 106 2 byte bit (1), 5 107 2 half_word bit (1), 5 108 2 word bit (1), 5 109 2 double_word bit (1), 5 110 2 half_byte bit (1), 5 111 2 filler5 bit (1), 5 112 2 bit_offset bit (4), 5 113 2 son_cnt bit (16), 5 114 2 max_red_size fixed bin(24), 5 115 2 name_size fixed bin, 5 116 2 name char(0 refer(data_name.name_size)); 5 117 5 118 5 119 5 120 /* end include file ... cobol_TYPE9.incl.pl1 */ 5 121 4 17 4 18 /* END DECLARATION OF TYPE9 (DATA NAME) TOKEN */ 4 19 4 20 /* END INCLUDE FILE ... cobol_type9.incl.pl1 */ 4 21 630 631 6 1 6 2 /* BEGIN INCLUDE FILE ... cobol_.incl.pl1 */ 6 3 /* last modified Feb 4, 1977 by ORN */ 6 4 6 5 /* This file defines all external data used in the generator phase of Multics Cobol */ 6 6 6 7 /* POINTERS */ 6 8 dcl cobol_$text_base_ptr ptr ext; 6 9 dcl text_base_ptr ptr defined (cobol_$text_base_ptr); 6 10 dcl cobol_$con_end_ptr ptr ext; 6 11 dcl con_end_ptr ptr defined (cobol_$con_end_ptr); 6 12 dcl cobol_$def_base_ptr ptr ext; 6 13 dcl def_base_ptr ptr defined (cobol_$def_base_ptr); 6 14 dcl cobol_$link_base_ptr ptr ext; 6 15 dcl link_base_ptr ptr defined (cobol_$link_base_ptr); 6 16 dcl cobol_$sym_base_ptr ptr ext; 6 17 dcl sym_base_ptr ptr defined (cobol_$sym_base_ptr); 6 18 dcl cobol_$reloc_text_base_ptr ptr ext; 6 19 dcl reloc_text_base_ptr ptr defined (cobol_$reloc_text_base_ptr); 6 20 dcl cobol_$reloc_def_base_ptr ptr ext; 6 21 dcl reloc_def_base_ptr ptr defined (cobol_$reloc_def_base_ptr); 6 22 dcl cobol_$reloc_link_base_ptr ptr ext; 6 23 dcl reloc_link_base_ptr ptr defined (cobol_$reloc_link_base_ptr); 6 24 dcl cobol_$reloc_sym_base_ptr ptr ext; 6 25 dcl reloc_sym_base_ptr ptr defined (cobol_$reloc_sym_base_ptr); 6 26 dcl cobol_$reloc_work_base_ptr ptr ext; 6 27 dcl reloc_work_base_ptr ptr defined (cobol_$reloc_work_base_ptr); 6 28 dcl cobol_$pd_map_ptr ptr ext; 6 29 dcl pd_map_ptr ptr defined (cobol_$pd_map_ptr); 6 30 dcl cobol_$fixup_ptr ptr ext; 6 31 dcl fixup_ptr ptr defined (cobol_$fixup_ptr); 6 32 dcl cobol_$initval_base_ptr ptr ext; 6 33 dcl initval_base_ptr ptr defined (cobol_$initval_base_ptr); 6 34 dcl cobol_$initval_file_ptr ptr ext; 6 35 dcl initval_file_ptr ptr defined (cobol_$initval_file_ptr); 6 36 dcl cobol_$perform_list_ptr ptr ext; 6 37 dcl perform_list_ptr ptr defined (cobol_$perform_list_ptr); 6 38 dcl cobol_$alter_list_ptr ptr ext; 6 39 dcl alter_list_ptr ptr defined (cobol_$alter_list_ptr); 6 40 dcl cobol_$seg_init_list_ptr ptr ext; 6 41 dcl seg_init_list_ptr ptr defined (cobol_$seg_init_list_ptr); 6 42 dcl cobol_$temp_token_area_ptr ptr ext; 6 43 dcl temp_token_area_ptr ptr defined (cobol_$temp_token_area_ptr); 6 44 dcl cobol_$temp_token_ptr ptr ext; 6 45 dcl temp_token_ptr ptr defined (cobol_$temp_token_ptr); 6 46 dcl cobol_$token_block1_ptr ptr ext; 6 47 dcl token_block1_ptr ptr defined (cobol_$token_block1_ptr); 6 48 dcl cobol_$token_block2_ptr ptr ext; 6 49 dcl token_block2_ptr ptr defined (cobol_$token_block2_ptr); 6 50 dcl cobol_$minpral5_ptr ptr ext; 6 51 dcl minpral5_ptr ptr defined (cobol_$minpral5_ptr); 6 52 dcl cobol_$tag_table_ptr ptr ext; 6 53 dcl tag_table_ptr ptr defined (cobol_$tag_table_ptr); 6 54 dcl cobol_$map_data_ptr ptr ext; 6 55 dcl map_data_ptr ptr defined (cobol_$map_data_ptr); 6 56 dcl cobol_$ptr_status_ptr ptr ext; 6 57 dcl ptr_status_ptr ptr defined (cobol_$ptr_status_ptr); 6 58 dcl cobol_$reg_status_ptr ptr ext; 6 59 dcl reg_status_ptr ptr defined (cobol_$reg_status_ptr); 6 60 dcl cobol_$misc_base_ptr ptr ext; 6 61 dcl misc_base_ptr ptr defined (cobol_$misc_base_ptr); 6 62 dcl cobol_$misc_end_ptr ptr ext; 6 63 dcl misc_end_ptr ptr defined (cobol_$misc_end_ptr); 6 64 dcl cobol_$list_ptr ptr ext; 6 65 dcl list_ptr ptr defined (cobol_$list_ptr); 6 66 dcl cobol_$allo1_ptr ptr ext; 6 67 dcl allo1_ptr ptr defined (cobol_$allo1_ptr); 6 68 dcl cobol_$eln_ptr ptr ext; 6 69 dcl eln_ptr ptr defined (cobol_$eln_ptr); 6 70 dcl cobol_$diag_ptr ptr ext; 6 71 dcl diag_ptr ptr defined (cobol_$diag_ptr); 6 72 dcl cobol_$xref_token_ptr ptr ext; 6 73 dcl xref_token_ptr ptr defined (cobol_$xref_token_ptr); 6 74 dcl cobol_$xref_chain_ptr ptr ext; 6 75 dcl xref_chain_ptr ptr defined (cobol_$xref_chain_ptr); 6 76 dcl cobol_$statement_info_ptr ptr ext; 6 77 dcl statement_info_ptr ptr defined (cobol_$statement_info_ptr); 6 78 dcl cobol_$reswd_ptr ptr ext; 6 79 dcl reswd_ptr ptr defined (cobol_$reswd_ptr); 6 80 dcl cobol_$op_con_ptr ptr ext; 6 81 dcl op_con_ptr ptr defined (cobol_$op_con_ptr); 6 82 dcl cobol_$ntbuf_ptr ptr ext; 6 83 dcl ntbuf_ptr ptr defined (cobol_$ntbuf_ptr); 6 84 dcl cobol_$main_pcs_ptr ptr ext; 6 85 dcl main_pcs_ptr ptr defined (cobol_$main_pcs_ptr); 6 86 dcl cobol_$include_info_ptr ptr ext; 6 87 dcl include_info_ptr ptr defined (cobol_$include_info_ptr); 6 88 6 89 /* FIXED BIN */ 6 90 dcl cobol_$text_wd_off fixed bin ext; 6 91 dcl text_wd_off fixed bin defined (cobol_$text_wd_off); 6 92 dcl cobol_$con_wd_off fixed bin ext; 6 93 dcl con_wd_off fixed bin defined (cobol_$con_wd_off); 6 94 dcl cobol_$def_wd_off fixed bin ext; 6 95 dcl def_wd_off fixed bin defined (cobol_$def_wd_off); 6 96 dcl cobol_$def_max fixed bin ext; 6 97 dcl def_max fixed bin defined (cobol_$def_max); 6 98 dcl cobol_$link_wd_off fixed bin ext; 6 99 dcl link_wd_off fixed bin defined (cobol_$link_wd_off); 6 100 dcl cobol_$link_max fixed bin ext; 6 101 dcl link_max fixed bin defined (cobol_$link_max); 6 102 dcl cobol_$sym_wd_off fixed bin ext; 6 103 dcl sym_wd_off fixed bin defined (cobol_$sym_wd_off); 6 104 dcl cobol_$sym_max fixed bin ext; 6 105 dcl sym_max fixed bin defined (cobol_$sym_max); 6 106 dcl cobol_$reloc_text_max fixed bin(24) ext; 6 107 dcl reloc_text_max fixed bin(24) defined (cobol_$reloc_text_max); 6 108 dcl cobol_$reloc_def_max fixed bin(24) ext; 6 109 dcl reloc_def_max fixed bin(24) defined (cobol_$reloc_def_max); 6 110 dcl cobol_$reloc_link_max fixed bin(24) ext; 6 111 dcl reloc_link_max fixed bin(24) defined (cobol_$reloc_link_max); 6 112 dcl cobol_$reloc_sym_max fixed bin(24) ext; 6 113 dcl reloc_sym_max fixed bin(24) defined (cobol_$reloc_sym_max); 6 114 dcl cobol_$reloc_work_max fixed bin(24) ext; 6 115 dcl reloc_work_max fixed bin(24) defined (cobol_$reloc_work_max); 6 116 dcl cobol_$pd_map_index fixed bin ext; 6 117 dcl pd_map_index fixed bin defined (cobol_$pd_map_index); 6 118 dcl cobol_$cobol_data_wd_off fixed bin ext; 6 119 dcl cobol_data_wd_off fixed bin defined (cobol_$cobol_data_wd_off); 6 120 dcl cobol_$stack_off fixed bin ext; 6 121 dcl stack_off fixed bin defined (cobol_$stack_off); 6 122 dcl cobol_$max_stack_off fixed bin ext; 6 123 dcl max_stack_off fixed bin defined (cobol_$max_stack_off); 6 124 dcl cobol_$init_stack_off fixed bin ext; 6 125 dcl init_stack_off fixed bin defined (cobol_$init_stack_off); 6 126 dcl cobol_$pd_map_sw fixed bin ext; 6 127 dcl pd_map_sw fixed bin defined (cobol_$pd_map_sw); 6 128 dcl cobol_$next_tag fixed bin ext; 6 129 dcl next_tag fixed bin defined (cobol_$next_tag); 6 130 dcl cobol_$data_init_flag fixed bin ext; 6 131 dcl data_init_flag fixed bin defined (cobol_$data_init_flag); 6 132 dcl cobol_$seg_init_flag fixed bin ext; 6 133 dcl seg_init_flag fixed bin defined (cobol_$seg_init_flag); 6 134 dcl cobol_$alter_flag fixed bin ext; 6 135 dcl alter_flag fixed bin defined (cobol_$alter_flag); 6 136 dcl cobol_$sect_eop_flag fixed bin ext; 6 137 dcl sect_eop_flag fixed bin defined (cobol_$sect_eop_flag); 6 138 dcl cobol_$para_eop_flag fixed bin ext; 6 139 dcl para_eop_flag fixed bin defined (cobol_$para_eop_flag); 6 140 dcl cobol_$priority_no fixed bin ext; 6 141 dcl priority_no fixed bin defined (cobol_$priority_no); 6 142 dcl cobol_$compile_count fixed bin ext; 6 143 dcl compile_count fixed bin defined (cobol_$compile_count); 6 144 dcl cobol_$ptr_assumption_ind fixed bin ext; 6 145 dcl ptr_assumption_ind fixed bin defined (cobol_$ptr_assumption_ind); 6 146 dcl cobol_$reg_assumption_ind fixed bin ext; 6 147 dcl reg_assumption_ind fixed bin defined (cobol_$reg_assumption_ind); 6 148 dcl cobol_$perform_para_index fixed bin ext; 6 149 dcl perform_para_index fixed bin defined (cobol_$perform_para_index); 6 150 dcl cobol_$perform_sect_index fixed bin ext; 6 151 dcl perform_sect_index fixed bin defined (cobol_$perform_sect_index); 6 152 dcl cobol_$alter_index fixed bin ext; 6 153 dcl alter_index fixed bin defined (cobol_$alter_index); 6 154 dcl cobol_$list_off fixed bin ext; 6 155 dcl list_off fixed bin defined (cobol_$list_off); 6 156 dcl cobol_$constant_offset fixed bin ext; 6 157 dcl constant_offset fixed bin defined (cobol_$constant_offset); 6 158 dcl cobol_$misc_max fixed bin ext; 6 159 dcl misc_max fixed bin defined (cobol_$misc_max); 6 160 dcl cobol_$pd_map_max fixed bin ext; 6 161 dcl pd_map_max fixed bin defined (cobol_$pd_map_max); 6 162 dcl cobol_$map_data_max fixed bin ext; 6 163 dcl map_data_max fixed bin defined (cobol_$map_data_max); 6 164 dcl cobol_$fixup_max fixed bin ext; 6 165 dcl fixup_max fixed bin defined (cobol_$fixup_max); 6 166 dcl cobol_$tag_table_max fixed bin ext; 6 167 dcl tag_table_max fixed bin defined (cobol_$tag_table_max); 6 168 dcl cobol_$temp_token_max fixed bin ext; 6 169 dcl temp_token_max fixed bin defined (cobol_$temp_token_max); 6 170 dcl cobol_$allo1_max fixed bin ext; 6 171 dcl allo1_max fixed bin defined (cobol_$allo1_max); 6 172 dcl cobol_$eln_max fixed bin ext; 6 173 dcl eln_max fixed bin defined (cobol_$eln_max); 6 174 dcl cobol_$debug_enable fixed bin ext; 6 175 dcl debug_enable fixed bin defined (cobol_$debug_enable); 6 176 dcl cobol_$non_source_offset fixed bin ext; 6 177 dcl non_source_offset fixed bin defined (cobol_$non_source_offset); 6 178 dcl cobol_$initval_flag fixed bin ext; 6 179 dcl initval_flag fixed bin defined (cobol_$initval_flag); 6 180 dcl cobol_$date_compiled_sw fixed bin ext; 6 181 dcl date_compiled_sw fixed bin defined (cobol_$date_compiled_sw); 6 182 dcl cobol_$include_cnt fixed bin ext; 6 183 dcl include_cnt fixed bin defined (cobol_$include_cnt); 6 184 dcl cobol_$fs_charcnt fixed bin ext; 6 185 dcl fs_charcnt fixed bin defined (cobol_$fs_charcnt); 6 186 dcl cobol_$ws_charcnt fixed bin ext; 6 187 dcl ws_charcnt fixed bin defined (cobol_$ws_charcnt); 6 188 dcl cobol_$coms_charcnt fixed bin ext; 6 189 dcl coms_charcnt fixed bin defined (cobol_$coms_charcnt); 6 190 dcl cobol_$ls_charcnt fixed bin ext; 6 191 dcl ls_charcnt fixed bin defined (cobol_$ls_charcnt); 6 192 dcl cobol_$cons_charcnt fixed bin ext; 6 193 dcl cons_charcnt fixed bin defined (cobol_$cons_charcnt); 6 194 dcl cobol_$value_cnt fixed bin ext; 6 195 dcl value_cnt fixed bin defined (cobol_$value_cnt); 6 196 dcl cobol_$cd_cnt fixed bin ext; 6 197 dcl cd_cnt fixed bin defined (cobol_$cd_cnt); 6 198 dcl cobol_$fs_wdoff fixed bin ext; 6 199 dcl fs_wdoff fixed bin defined (cobol_$fs_wdoff); 6 200 dcl cobol_$ws_wdoff fixed bin ext; 6 201 dcl ws_wdoff fixed bin defined (cobol_$ws_wdoff); 6 202 dcl cobol_$coms_wdoff fixed bin ext; 6 203 dcl coms_wdoff fixed bin defined (cobol_$coms_wdoff); 6 204 6 205 /* CHARACTER */ 6 206 dcl cobol_$scratch_dir char (168) aligned ext; 6 207 dcl scratch_dir char (168) aligned defined (cobol_$scratch_dir); /* -42- */ 6 208 dcl cobol_$obj_seg_name char (32) aligned ext; 6 209 dcl obj_seg_name char (32) aligned defined (cobol_$obj_seg_name); /* -8- */ 6 210 6 211 /* BIT */ 6 212 dcl cobol_$xref_bypass bit(1) aligned ext; 6 213 dcl xref_bypass bit(1) aligned defined (cobol_$xref_bypass); /* -1- */ 6 214 dcl cobol_$same_sort_merge_proc bit(1) aligned ext; 6 215 dcl same_sort_merge_proc bit(1) aligned defined (cobol_$same_sort_merge_proc); /* -1- */ 6 216 6 217 6 218 /* END INCLUDE FILE ... cobol_incl.pl1*/ 6 219 6 220 632 633 7 1 7 2 /* BEGIN INCLUDE FILE ... cobol_mcdb.incl.pl1 */ 7 3 /* Last modified on 10/31/74 by tlf */ 7 4 7 5 /* DECLARATION OF MCOBOL DEBUGGING SWITCHES */ 7 6 7 7 dcl cobol_mcdb_enable bit (1) ext static; 7 8 dcl cobol_mcdb_flag (1:100) bit (1) ext static; 7 9 7 10 /* ASSIGNMENT OF DEBUGGING SWITCHES */ 7 11 7 12 7 13 dcl mcdb_compare_gen fixed bin int static init (1); 7 14 dcl mcdb_compute_gen fixed bin int static init (2); 7 15 dcl mcdb_bldresop fixed bin int static init (3); 7 16 7 17 7 18 /* END INCLUDE FILE... cobol_mcdb.incl.pl1 */ 7 19 634 635 636 637 /**************************************************/ 638 /* END OF PROCEDURE */ 639 /* cobol_build_resop */ 640 /**************************************************/ 641 642 end cobol_build_resop; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 05/24/89 0830.3 cobol_build_resop.pl1 >spec>install>MR12.3-1048>cobol_build_resop.pl1 625 1 03/27/82 0439.8 cobol_record_types.incl.pl1 >ldd>include>cobol_record_types.incl.pl1 626 2 03/27/82 0431.3 cobol_ext_.incl.pl1 >ldd>include>cobol_ext_.incl.pl1 627 3 11/11/82 1712.8 cobol_fixed_common.incl.pl1 >ldd>include>cobol_fixed_common.incl.pl1 630 4 03/27/82 0439.9 cobol_type9.incl.pl1 >ldd>include>cobol_type9.incl.pl1 4-17 5 11/11/82 1712.7 cobol_TYPE9.incl.pl1 >ldd>include>cobol_TYPE9.incl.pl1 632 6 11/11/82 1712.7 cobol_.incl.pl1 >ldd>include>cobol_.incl.pl1 634 7 03/27/82 0439.7 cobol_mcdb.incl.pl1 >ldd>include>cobol_mcdb.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. addr builtin function dcl 491 ref 527 bin_18 21(13) based bit(1) level 2 packed packed unaligned dcl 4-16 ref 282 293 bin_36 21(14) based bit(1) level 2 packed packed unaligned dcl 4-16 ref 282 293 cobol_$temp_token_ptr 000034 external static pointer dcl 6-44 set ref 455 457* 457 cobol_alloc$stack 000024 constant entry external dcl 208 ref 399 589 cobol_com_ptr defined pointer dcl 2-25 ref 262 cobol_ext_$cobol_com_ptr 000032 external static pointer dcl 2-24 ref 262 262 cobol_make_type9$decimal_9bit 000026 constant entry external dcl 209 ref 404 cobol_make_type9$type2_3 000030 constant entry external dcl 211 ref 537 cobol_num_to_udts 000022 constant entry external dcl 207 ref 307 311 320 327 data_name based structure level 1 unaligned dcl 4-16 dbuff based fixed bin(17,0) array dcl 575 set ref 597* default_temp 157 based fixed bin(17,0) level 2 dcl 3-26 ref 262 divide_op constant fixed bin(15,0) initial dcl 224 ref 334 dn_ptr 000100 automatic pointer dcl 231 set ref 586* 597 601 604 607 610 613 616 619 exponentiate_op constant fixed bin(15,0) initial dcl 225 ref 334 fixed_common based structure level 1 unaligned dcl 3-26 float_size parameter fixed bin(17,0) dcl 559 ref 545 589 604 input_lop_ptr parameter pointer dcl 143 set ref 30 274 277* 278* 282 282 284 284 307* 308* 320* 321* 334 349 349 357 357 369 372 input_rop_ptr parameter pointer dcl 144 set ref 30 287 290* 291* 293 293 295 295 311* 312* 327* 328* 334 349 352 357 360 369 372 input_token_ptr parameter pointer dcl 477 ref 462 527 529 item_length 16 based fixed bin(24,0) level 2 dcl 4-16 set ref 604* item_signed 21(25) based bit(1) level 2 packed packed unaligned dcl 4-16 ref 284 295 ix 000143 automatic fixed bin(17,0) dcl 576 set ref 596* 597* lit_ptr 000132 automatic pointer dcl 520 set ref 527* 529* 537* lop_fixed_bin 000112 automatic bit(1) packed unaligned dcl 238 set ref 266* 282* 299 313* 317 lop_opch 000114 automatic bit(1) packed unaligned dcl 240 set ref 268* 284* 317 max_temp_size 000102 automatic fixed bin(17,0) dcl 232 set ref 262* 263 263 263* 334* 383 383* minus_op constant fixed bin(15,0) initial dcl 222 ref 346 multiply_op constant fixed bin(15,0) initial dcl 223 ref 365 num_lit_zero 000010 internal static structure level 1 unaligned dcl 500 set ref 527 numeric 21(17) based bit(1) level 2 packed packed unaligned dcl 4-16 set ref 616* offset 24 based fixed bin(24,0) level 2 dcl 4-16 set ref 610* operator_code parameter fixed bin(17,0) dcl 145 ref 30 334 334 346 346 365 output_token_ptr parameter pointer dcl 478 set ref 462 533* 537* places_left 17 based fixed bin(17,0) level 2 dcl 4-16 ref 349 349 349 352 369 369 places_right 20 based fixed bin(17,0) level 2 dcl 4-16 ref 357 357 357 360 372 372 plus_op constant fixed bin(15,0) initial dcl 221 ref 346 possible_ovfl_flag parameter bit(1) packed unaligned dcl 150 ref 30 prelim_ld 000106 automatic fixed bin(17,0) dcl 234 set ref 349* 352* 355* 355 369* 383 389 404* prelim_rd 000107 automatic fixed bin(17,0) dcl 235 set ref 357* 360* 372* 383 389 404* rdmax_flag parameter bit(1) packed unaligned dcl 148 ref 30 rdmax_value parameter fixed bin(17,0) dcl 149 ref 30 result_ptr parameter pointer dcl 558 set ref 545 619* resultant_operand_ptr parameter pointer dcl 146 set ref 30 334* 383* 407* ret_offset 000142 automatic fixed bin(17,0) dcl 574 in procedure "float_result" set ref 589* 610 ret_offset 000111 automatic fixed bin(17,0) dcl 237 in procedure "cobol_build_resop" set ref 399* 404* ret_token_ptr parameter pointer dcl 429 set ref 419 455* rop_fixed_bin 000113 automatic bit(1) packed unaligned dcl 239 set ref 267* 293* 299 314* 324 rop_opch 000115 automatic bit(1) packed unaligned dcl 241 set ref 269* 295* 324 rtc_dataname constant fixed bin(15,0) initial dcl 1-13 ref 274 287 601 rtc_resword constant fixed bin(15,0) initial dcl 1-5 ref 527 seg_num 23 based fixed bin(17,0) level 2 dcl 4-16 set ref 607* sign_separate 21(26) based bit(1) level 2 packed packed unaligned dcl 4-16 ref 284 295 sign_type 22(13) based bit(3) level 2 packed packed unaligned dcl 4-16 set ref 334 334 613* token_size parameter fixed bin(17,0) dcl 430 ref 419 457 total_size 000110 automatic fixed bin(17,0) dcl 236 set ref 389* 399 type 3 based fixed bin(17,0) level 2 dcl 4-16 set ref 274 287 527 601* work_ptr 000104 automatic pointer dcl 233 set ref 277* 278 290* 291 306* 307* 308 310* 311* 312 319* 320* 321 326* 327* 328 395* 404* 407 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. addrel builtin function dcl 492 allo1_max defined fixed bin(17,0) dcl 6-171 allo1_ptr defined pointer dcl 6-67 alter_flag defined fixed bin(17,0) dcl 6-135 alter_index defined fixed bin(17,0) dcl 6-153 alter_list_ptr defined pointer dcl 6-39 cd_cnt defined fixed bin(17,0) dcl 6-197 cobol_$allo1_max external static fixed bin(17,0) dcl 6-170 cobol_$allo1_ptr external static pointer dcl 6-66 cobol_$alter_flag external static fixed bin(17,0) dcl 6-134 cobol_$alter_index external static fixed bin(17,0) dcl 6-152 cobol_$alter_list_ptr external static pointer dcl 6-38 cobol_$cd_cnt external static fixed bin(17,0) dcl 6-196 cobol_$cobol_data_wd_off external static fixed bin(17,0) dcl 6-118 cobol_$compile_count external static fixed bin(17,0) dcl 6-142 cobol_$coms_charcnt external static fixed bin(17,0) dcl 6-188 cobol_$coms_wdoff external static fixed bin(17,0) dcl 6-202 cobol_$con_end_ptr external static pointer dcl 6-10 cobol_$con_wd_off external static fixed bin(17,0) dcl 6-92 cobol_$cons_charcnt external static fixed bin(17,0) dcl 6-192 cobol_$constant_offset external static fixed bin(17,0) dcl 6-156 cobol_$data_init_flag external static fixed bin(17,0) dcl 6-130 cobol_$date_compiled_sw external static fixed bin(17,0) dcl 6-180 cobol_$debug_enable external static fixed bin(17,0) dcl 6-174 cobol_$def_base_ptr external static pointer dcl 6-12 cobol_$def_max external static fixed bin(17,0) dcl 6-96 cobol_$def_wd_off external static fixed bin(17,0) dcl 6-94 cobol_$diag_ptr external static pointer dcl 6-70 cobol_$eln_max external static fixed bin(17,0) dcl 6-172 cobol_$eln_ptr external static pointer dcl 6-68 cobol_$fixup_max external static fixed bin(17,0) dcl 6-164 cobol_$fixup_ptr external static pointer dcl 6-30 cobol_$fs_charcnt external static fixed bin(17,0) dcl 6-184 cobol_$fs_wdoff external static fixed bin(17,0) dcl 6-198 cobol_$include_cnt external static fixed bin(17,0) dcl 6-182 cobol_$include_info_ptr external static pointer dcl 6-86 cobol_$init_stack_off external static fixed bin(17,0) dcl 6-124 cobol_$initval_base_ptr external static pointer dcl 6-32 cobol_$initval_file_ptr external static pointer dcl 6-34 cobol_$initval_flag external static fixed bin(17,0) dcl 6-178 cobol_$link_base_ptr external static pointer dcl 6-14 cobol_$link_max external static fixed bin(17,0) dcl 6-100 cobol_$link_wd_off external static fixed bin(17,0) dcl 6-98 cobol_$list_off external static fixed bin(17,0) dcl 6-154 cobol_$list_ptr external static pointer dcl 6-64 cobol_$ls_charcnt external static fixed bin(17,0) dcl 6-190 cobol_$main_pcs_ptr external static pointer dcl 6-84 cobol_$map_data_max external static fixed bin(17,0) dcl 6-162 cobol_$map_data_ptr external static pointer dcl 6-54 cobol_$max_stack_off external static fixed bin(17,0) dcl 6-122 cobol_$minpral5_ptr external static pointer dcl 6-50 cobol_$misc_base_ptr external static pointer dcl 6-60 cobol_$misc_end_ptr external static pointer dcl 6-62 cobol_$misc_max external static fixed bin(17,0) dcl 6-158 cobol_$next_tag external static fixed bin(17,0) dcl 6-128 cobol_$non_source_offset external static fixed bin(17,0) dcl 6-176 cobol_$ntbuf_ptr external static pointer dcl 6-82 cobol_$obj_seg_name external static char(32) dcl 6-208 cobol_$op_con_ptr external static pointer dcl 6-80 cobol_$para_eop_flag external static fixed bin(17,0) dcl 6-138 cobol_$pd_map_index external static fixed bin(17,0) dcl 6-116 cobol_$pd_map_max external static fixed bin(17,0) dcl 6-160 cobol_$pd_map_ptr external static pointer dcl 6-28 cobol_$pd_map_sw external static fixed bin(17,0) dcl 6-126 cobol_$perform_list_ptr external static pointer dcl 6-36 cobol_$perform_para_index external static fixed bin(17,0) dcl 6-148 cobol_$perform_sect_index external static fixed bin(17,0) dcl 6-150 cobol_$priority_no external static fixed bin(17,0) dcl 6-140 cobol_$ptr_assumption_ind external static fixed bin(17,0) dcl 6-144 cobol_$ptr_status_ptr external static pointer dcl 6-56 cobol_$reg_assumption_ind external static fixed bin(17,0) dcl 6-146 cobol_$reg_status_ptr external static pointer dcl 6-58 cobol_$reloc_def_base_ptr external static pointer dcl 6-20 cobol_$reloc_def_max external static fixed bin(24,0) dcl 6-108 cobol_$reloc_link_base_ptr external static pointer dcl 6-22 cobol_$reloc_link_max external static fixed bin(24,0) dcl 6-110 cobol_$reloc_sym_base_ptr external static pointer dcl 6-24 cobol_$reloc_sym_max external static fixed bin(24,0) dcl 6-112 cobol_$reloc_text_base_ptr external static pointer dcl 6-18 cobol_$reloc_text_max external static fixed bin(24,0) dcl 6-106 cobol_$reloc_work_base_ptr external static pointer dcl 6-26 cobol_$reloc_work_max external static fixed bin(24,0) dcl 6-114 cobol_$reswd_ptr external static pointer dcl 6-78 cobol_$same_sort_merge_proc external static bit(1) dcl 6-214 cobol_$scratch_dir external static char(168) dcl 6-206 cobol_$sect_eop_flag external static fixed bin(17,0) dcl 6-136 cobol_$seg_init_flag external static fixed bin(17,0) dcl 6-132 cobol_$seg_init_list_ptr external static pointer dcl 6-40 cobol_$stack_off external static fixed bin(17,0) dcl 6-120 cobol_$statement_info_ptr external static pointer dcl 6-76 cobol_$sym_base_ptr external static pointer dcl 6-16 cobol_$sym_max external static fixed bin(17,0) dcl 6-104 cobol_$sym_wd_off external static fixed bin(17,0) dcl 6-102 cobol_$tag_table_max external static fixed bin(17,0) dcl 6-166 cobol_$tag_table_ptr external static pointer dcl 6-52 cobol_$temp_token_area_ptr external static pointer dcl 6-42 cobol_$temp_token_max external static fixed bin(17,0) dcl 6-168 cobol_$text_base_ptr external static pointer dcl 6-8 cobol_$text_wd_off external static fixed bin(17,0) dcl 6-90 cobol_$token_block1_ptr external static pointer dcl 6-46 cobol_$token_block2_ptr external static pointer dcl 6-48 cobol_$value_cnt external static fixed bin(17,0) dcl 6-194 cobol_$ws_charcnt external static fixed bin(17,0) dcl 6-186 cobol_$ws_wdoff external static fixed bin(17,0) dcl 6-200 cobol_$xref_bypass external static bit(1) dcl 6-212 cobol_$xref_chain_ptr external static pointer dcl 6-74 cobol_$xref_token_ptr external static pointer dcl 6-72 cobol_afp defined pointer dcl 2-11 cobol_analin_fileno defined pointer dcl 2-13 cobol_cmfp defined pointer dcl 2-21 cobol_com_fileno defined pointer dcl 2-23 cobol_curr_in defined pointer dcl 2-53 cobol_curr_out defined pointer dcl 2-55 cobol_data_wd_off defined fixed bin(17,0) dcl 6-119 cobol_dfp defined pointer dcl 2-27 cobol_eltp defined pointer dcl 2-19 cobol_ext_$cobol_afp external static pointer dcl 2-10 cobol_ext_$cobol_analin_fileno external static pointer dcl 2-12 cobol_ext_$cobol_cmfp external static pointer dcl 2-20 cobol_ext_$cobol_com_fileno external static pointer dcl 2-22 cobol_ext_$cobol_curr_in external static pointer dcl 2-52 cobol_ext_$cobol_curr_out external static pointer dcl 2-54 cobol_ext_$cobol_dfp external static pointer dcl 2-26 cobol_ext_$cobol_eltp external static pointer dcl 2-18 cobol_ext_$cobol_fileno1 external static fixed bin(24,0) dcl 2-78 cobol_ext_$cobol_hfp external static pointer dcl 2-28 cobol_ext_$cobol_lpr external static char(5) packed unaligned dcl 2-95 cobol_ext_$cobol_m1fp external static pointer dcl 2-30 cobol_ext_$cobol_m2fp external static pointer dcl 2-32 cobol_ext_$cobol_min1_fileno external static pointer dcl 2-34 cobol_ext_$cobol_min2_fileno_ptr external static pointer dcl 2-36 cobol_ext_$cobol_name_fileno external static pointer dcl 2-38 cobol_ext_$cobol_name_fileno_ptr external static pointer dcl 2-40 cobol_ext_$cobol_ntfp external static pointer dcl 2-42 cobol_ext_$cobol_options external static char(120) packed unaligned dcl 2-97 cobol_ext_$cobol_options_len external static fixed bin(24,0) dcl 2-80 cobol_ext_$cobol_pdofp external static pointer dcl 2-44 cobol_ext_$cobol_pdout_fileno external static fixed bin(24,0) dcl 2-82 cobol_ext_$cobol_pfp external static pointer dcl 2-46 cobol_ext_$cobol_print_fileno external static fixed bin(24,0) dcl 2-84 cobol_ext_$cobol_rm2fp external static pointer dcl 2-48 cobol_ext_$cobol_rmin2_fileno external static fixed bin(24,0) dcl 2-86 cobol_ext_$cobol_rmin2fp external static pointer dcl 2-50 cobol_ext_$cobol_rwdd external static pointer dcl 2-72 cobol_ext_$cobol_rwpd external static pointer dcl 2-74 cobol_ext_$cobol_sfp external static pointer dcl 2-56 cobol_ext_$cobol_w1p external static pointer dcl 2-58 cobol_ext_$cobol_w2p external static pointer dcl 2-60 cobol_ext_$cobol_w3p external static pointer dcl 2-62 cobol_ext_$cobol_w5p external static pointer dcl 2-64 cobol_ext_$cobol_w6p external static pointer dcl 2-66 cobol_ext_$cobol_w7p external static pointer dcl 2-68 cobol_ext_$cobol_x1_fileno external static fixed bin(24,0) dcl 2-88 cobol_ext_$cobol_x2_fileno external static fixed bin(24,0) dcl 2-90 cobol_ext_$cobol_x3_fileno external static fixed bin(24,0) dcl 2-92 cobol_ext_$cobol_x3fp external static pointer dcl 2-70 cobol_ext_$cobol_xlast8 external static bit(1) packed unaligned dcl 2-100 cobol_ext_$report_exists external static bit(1) packed unaligned dcl 2-102 cobol_ext_$report_first_token external static pointer dcl 2-14 cobol_ext_$report_last_token external static pointer dcl 2-16 cobol_fileno1 defined fixed bin(24,0) dcl 2-79 cobol_hfp defined pointer dcl 2-29 cobol_lpr defined char(5) packed unaligned dcl 2-96 cobol_m1fp defined pointer dcl 2-31 cobol_m2fp defined pointer dcl 2-33 cobol_mcdb_enable external static bit(1) packed unaligned dcl 7-7 cobol_mcdb_flag external static bit(1) array packed unaligned dcl 7-8 cobol_min1_fileno defined pointer dcl 2-35 cobol_min2_fileno_ptr defined pointer dcl 2-37 cobol_name_fileno defined pointer dcl 2-39 cobol_name_fileno_ptr defined pointer dcl 2-41 cobol_ntfp defined pointer dcl 2-43 cobol_options defined char(120) packed unaligned dcl 2-98 cobol_options_len defined fixed bin(24,0) dcl 2-81 cobol_pdofp defined pointer dcl 2-45 cobol_pdout_fileno defined fixed bin(24,0) dcl 2-83 cobol_pfp defined pointer dcl 2-47 cobol_print_fileno defined fixed bin(24,0) dcl 2-85 cobol_rm2fp defined pointer dcl 2-49 cobol_rmin2_fileno defined fixed bin(24,0) dcl 2-87 cobol_rmin2fp defined pointer dcl 2-51 cobol_rwdd defined pointer dcl 2-73 cobol_rwpd defined pointer dcl 2-75 cobol_sfp defined pointer dcl 2-57 cobol_w1p defined pointer dcl 2-59 cobol_w2p defined pointer dcl 2-61 cobol_w3p defined pointer dcl 2-63 cobol_w5p defined pointer dcl 2-65 cobol_w6p defined pointer dcl 2-67 cobol_w7p defined pointer dcl 2-69 cobol_x1_fileno defined fixed bin(24,0) dcl 2-89 cobol_x2_fileno defined fixed bin(24,0) dcl 2-91 cobol_x3_fileno defined fixed bin(24,0) dcl 2-93 cobol_x3fp defined pointer dcl 2-71 cobol_xlast8 defined bit(1) packed unaligned dcl 2-101 codasyl_size internal static fixed bin(17,0) initial dcl 227 compile_count defined fixed bin(17,0) dcl 6-143 coms_charcnt defined fixed bin(17,0) dcl 6-189 coms_wdoff defined fixed bin(17,0) dcl 6-203 con_end_ptr defined pointer dcl 6-11 con_wd_off defined fixed bin(17,0) dcl 6-93 cons_charcnt defined fixed bin(17,0) dcl 6-193 constant_offset defined fixed bin(17,0) dcl 6-157 data_init_flag defined fixed bin(17,0) dcl 6-131 date_compiled_sw defined fixed bin(17,0) dcl 6-181 debug_enable defined fixed bin(17,0) dcl 6-175 def_base_ptr defined pointer dcl 6-13 def_max defined fixed bin(17,0) dcl 6-97 def_wd_off defined fixed bin(17,0) dcl 6-95 diag_ptr defined pointer dcl 6-71 divide builtin function dcl 493 eln_max defined fixed bin(17,0) dcl 6-173 eln_ptr defined pointer dcl 6-69 fixup_max defined fixed bin(17,0) dcl 6-165 fixup_ptr defined pointer dcl 6-31 fs_charcnt defined fixed bin(17,0) dcl 6-185 fs_wdoff defined fixed bin(17,0) dcl 6-199 include_cnt defined fixed bin(17,0) dcl 6-183 include_info_ptr defined pointer dcl 6-87 init_stack_off defined fixed bin(17,0) dcl 6-125 initval_base_ptr defined pointer dcl 6-33 initval_file_ptr defined pointer dcl 6-35 initval_flag defined fixed bin(17,0) dcl 6-179 ioa_$ioa_stream 000000 constant entry external dcl 214 link_base_ptr defined pointer dcl 6-15 link_max defined fixed bin(17,0) dcl 6-101 link_wd_off defined fixed bin(17,0) dcl 6-99 list_off defined fixed bin(17,0) dcl 6-155 list_ptr defined pointer dcl 6-65 ls_charcnt defined fixed bin(17,0) dcl 6-191 main_pcs_ptr defined pointer dcl 6-85 map_data_max defined fixed bin(17,0) dcl 6-163 map_data_ptr defined pointer dcl 6-55 max_stack_off defined fixed bin(17,0) dcl 6-123 mcdb_bldresop internal static fixed bin(17,0) initial dcl 7-15 mcdb_compare_gen internal static fixed bin(17,0) initial dcl 7-13 mcdb_compute_gen internal static fixed bin(17,0) initial dcl 7-14 minpral5_ptr defined pointer dcl 6-51 misc_base_ptr defined pointer dcl 6-61 misc_end_ptr defined pointer dcl 6-63 misc_max defined fixed bin(17,0) dcl 6-159 next_tag defined fixed bin(17,0) dcl 6-129 non_source_offset defined fixed bin(17,0) dcl 6-177 ntbuf_ptr defined pointer dcl 6-83 null builtin function dcl 494 obj_seg_name defined char(32) dcl 6-209 op_con_ptr defined pointer dcl 6-81 para_eop_flag defined fixed bin(17,0) dcl 6-139 pd_map_index defined fixed bin(17,0) dcl 6-117 pd_map_max defined fixed bin(17,0) dcl 6-161 pd_map_ptr defined pointer dcl 6-29 pd_map_sw defined fixed bin(17,0) dcl 6-127 perform_list_ptr defined pointer dcl 6-37 perform_para_index defined fixed bin(17,0) dcl 6-149 perform_sect_index defined fixed bin(17,0) dcl 6-151 print_image 000000 constant entry external dcl 215 priority_no defined fixed bin(17,0) dcl 6-141 ptr_assumption_ind defined fixed bin(17,0) dcl 6-145 ptr_status_ptr defined pointer dcl 6-57 reg_assumption_ind defined fixed bin(17,0) dcl 6-147 reg_status_ptr defined pointer dcl 6-59 reloc_def_base_ptr defined pointer dcl 6-21 reloc_def_max defined fixed bin(24,0) dcl 6-109 reloc_link_base_ptr defined pointer dcl 6-23 reloc_link_max defined fixed bin(24,0) dcl 6-111 reloc_sym_base_ptr defined pointer dcl 6-25 reloc_sym_max defined fixed bin(24,0) dcl 6-113 reloc_text_base_ptr defined pointer dcl 6-19 reloc_text_max defined fixed bin(24,0) dcl 6-107 reloc_work_base_ptr defined pointer dcl 6-27 reloc_work_max defined fixed bin(24,0) dcl 6-115 report_exists defined bit(1) packed unaligned dcl 2-103 report_first_token defined pointer dcl 2-15 report_last_token defined pointer dcl 2-17 reswd_ptr defined pointer dcl 6-79 rtc_alphalit internal static fixed bin(15,0) initial dcl 1-7 rtc_commdesc internal static fixed bin(15,0) initial dcl 1-17 rtc_condname internal static fixed bin(15,0) initial dcl 1-15 rtc_debugenable internal static fixed bin(15,0) initial dcl 1-28 rtc_debugitems internal static fixed bin(15,0) initial dcl 1-18 rtc_diag internal static fixed bin(15,0) initial dcl 1-9 rtc_eos internal static fixed bin(15,0) initial dcl 1-23 rtc_equate_tag internal static fixed bin(15,0) initial dcl 1-35 rtc_fdec_temp internal static fixed bin(15,0) initial dcl 1-37 rtc_filedef internal static fixed bin(15,0) initial dcl 1-16 rtc_groupname internal static fixed bin(15,0) initial dcl 1-25 rtc_immed_const internal static fixed bin(15,0) initial dcl 1-38 rtc_indexname internal static fixed bin(15,0) initial dcl 1-14 rtc_internal_tag internal static fixed bin(15,0) initial dcl 1-34 rtc_mnemonic internal static fixed bin(15,0) initial dcl 1-21 rtc_numlit internal static fixed bin(15,0) initial dcl 1-6 rtc_pararef internal static fixed bin(15,0) initial dcl 1-22 rtc_picstring internal static fixed bin(15,0) initial dcl 1-8 rtc_procdef internal static fixed bin(15,0) initial dcl 1-11 rtc_register internal static fixed bin(15,0) initial dcl 1-36 rtc_reportentry internal static fixed bin(15,0) initial dcl 1-26 rtc_reportname internal static fixed bin(15,0) initial dcl 1-24 rtc_savedarea internal static fixed bin(15,0) initial dcl 1-19 rtc_sortmerge internal static fixed bin(15,0) initial dcl 1-20 rtc_source internal static fixed bin(15,0) initial dcl 1-10 rtc_unknown1 internal static fixed bin(15,0) initial dcl 1-27 rtc_unknown2 internal static fixed bin(15,0) initial dcl 1-29 rtc_unknown3 internal static fixed bin(15,0) initial dcl 1-30 rtc_unknown4 internal static fixed bin(15,0) initial dcl 1-31 rtc_unknown5 internal static fixed bin(15,0) initial dcl 1-32 rtc_unknown6 internal static fixed bin(15,0) initial dcl 1-33 rtc_userwd internal static fixed bin(15,0) initial dcl 1-12 same_sort_merge_proc defined bit(1) dcl 6-215 scratch_dir defined char(168) dcl 6-207 sect_eop_flag defined fixed bin(17,0) dcl 6-137 seg_init_flag defined fixed bin(17,0) dcl 6-133 seg_init_list_ptr defined pointer dcl 6-41 stack_off defined fixed bin(17,0) dcl 6-121 statement_info_ptr defined pointer dcl 6-77 sym_base_ptr defined pointer dcl 6-17 sym_max defined fixed bin(17,0) dcl 6-105 sym_wd_off defined fixed bin(17,0) dcl 6-103 tag_table_max defined fixed bin(17,0) dcl 6-167 tag_table_ptr defined pointer dcl 6-53 temp_token_area_ptr defined pointer dcl 6-43 temp_token_max defined fixed bin(17,0) dcl 6-169 temp_token_ptr defined pointer dcl 6-45 text_base_ptr defined pointer dcl 6-9 text_wd_off defined fixed bin(17,0) dcl 6-91 token_block1_ptr defined pointer dcl 6-47 token_block2_ptr defined pointer dcl 6-49 value_cnt defined fixed bin(17,0) dcl 6-195 ws_charcnt defined fixed bin(17,0) dcl 6-187 ws_wdoff defined fixed bin(17,0) dcl 6-201 xref_bypass defined bit(1) dcl 6-213 xref_chain_ptr defined pointer dcl 6-75 xref_token_ptr defined pointer dcl 6-73 NAMES DECLARED BY EXPLICIT CONTEXT. cobol_build_resop 000014 constant entry external dcl 30 convert_to_dec 000442 constant entry internal dcl 462 ref 277 290 float_result 000503 constant entry internal dcl 545 ref 334 383 get_temp_token 000424 constant entry internal dcl 419 ref 395 533 586 NAMES DECLARED BY CONTEXT OR IMPLICATION. addrel builtin function ref 457 divide builtin function ref 457 null builtin function ref 306 310 319 326 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 712 750 600 722 Length 1264 600 36 277 112 12 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME cobol_build_resop 142 external procedure is an external procedure. get_temp_token internal procedure shares stack frame of external procedure cobol_build_resop. convert_to_dec internal procedure shares stack frame of external procedure cobol_build_resop. float_result internal procedure shares stack frame of external procedure cobol_build_resop. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 num_lit_zero convert_to_dec STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME cobol_build_resop 000100 dn_ptr cobol_build_resop 000102 max_temp_size cobol_build_resop 000104 work_ptr cobol_build_resop 000106 prelim_ld cobol_build_resop 000107 prelim_rd cobol_build_resop 000110 total_size cobol_build_resop 000111 ret_offset cobol_build_resop 000112 lop_fixed_bin cobol_build_resop 000113 rop_fixed_bin cobol_build_resop 000114 lop_opch cobol_build_resop 000115 rop_opch cobol_build_resop 000132 lit_ptr convert_to_dec 000142 ret_offset float_result 000143 ix float_result THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out return_mac ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. cobol_alloc$stack cobol_make_type9$decimal_9bit cobol_make_type9$type2_3 cobol_num_to_udts THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. cobol_$temp_token_ptr cobol_ext_$cobol_com_ptr LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 30 000006 262 000021 263 000025 266 000033 267 000034 268 000035 269 000036 274 000037 277 000045 278 000055 280 000060 282 000061 284 000067 287 000077 290 000104 291 000114 292 000117 293 000120 295 000126 299 000136 306 000142 307 000144 308 000155 310 000160 311 000162 312 000173 313 000176 314 000177 317 000200 319 000204 320 000206 321 000217 324 000222 326 000226 327 000230 328 000241 334 000244 346 000300 349 000304 352 000311 355 000313 357 000314 360 000321 363 000323 365 000324 369 000326 372 000331 383 000334 389 000351 395 000354 399 000360 404 000377 407 000420 642 000423 419 000424 455 000426 457 000432 459 000441 462 000442 527 000444 529 000455 533 000456 537 000470 539 000502 545 000503 586 000505 589 000511 596 000531 597 000537 598 000541 601 000543 604 000546 607 000552 610 000554 613 000556 616 000560 619 000562 621 000563 ----------------------------------------------------------- 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