COMPILATION LISTING OF SEGMENT cobol_read_gen 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 0958.1 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_read_gen.pl1 Reformatted code to new Cobol standard. 19* END HISTORY COMMENTS */ 20 21 22 /* Modified on 06/27/79 by FCH, [4.0-1], not option added for debug */ 23 /* Modified on 11/11/78 at 1111 by FCH,[3.0-2], alt rec keys */ 24 /* Modified on 06/08/78 by FCH,[3.0-1], open i-o(ext,ind-seq) fixed */ 25 /* Modified since Version 3.0 */ 26 27 /* format: style3 */ 28 cobol_read_gen: 29 proc (mp_ptr, passed_tag); 30 31 dcl passed_tag fixed bin; /* for in-line error handling */ 32 dcl ptag fixed bin; 33 dcl mp_ptr ptr; 34 dcl 1 mp based (mp_ptr), 35 2 n fixed bin, /* from 3 or 4 */ 36 2 pt (0 refer (mp.n)) ptr; /* pt(1) pts to type1 token for READ */ 37 /* pt(2) pts to type12 token for file to be read */ 38 /* pt(3) pts to type9 token for INTO data IF eos.b = "1"b */ 39 /* pt(n) pts to type19 token (eos) */ 40 41 dcl 1 args, 42 2 entryno fixed bin, 43 2 arglist_off fixed bin, 44 2 stacktemp_off fixed bin, 45 2 n fixed bin, 46 2 arg (5), 47 3 pt ptr, 48 3 type fixed bin, 49 3 off1 fixed bin, 50 3 off2 fixed bin, 51 3 value bit (18) unal, 52 3 indirect bit (1) unal, 53 3 overlay bit (1) unal, 54 3 repeat_nogen bit (1) unal, 55 3 regsw bit (1) unal, 56 3 regno bit (3) unal; 57 58 dcl file_key_desc char (40) based; 59 dcl output_errno fixed bin init (40); /* Invalid I/O operation. Attempt to read a file opened as output */ 60 61 dcl text (0:10000) bit (36) based (cobol_$text_base_ptr); 62 dcl argb (5) bit (216) based (addr (args.arg (1))); 63 dcl ft_ptr ptr; 64 dcl fkey_ptr ptr; 65 dcl dn_ptr ptr; 66 dcl name_ptr ptr; 67 dcl arg_ptr ptr; 68 dcl ioerror_ptr ptr; 69 70 dcl stoff fixed bin; 71 dcl aloff fixed bin; 72 dcl sbuf_off fixed bin; 73 dcl size fixed bin; 74 dcl offset fixed bin; 75 dcl reclen_off fixed bin; 76 dcl buflen_off fixed bin; 77 dcl buf_off fixed bin; 78 dcl declen_off fixed bin; 79 dcl keylen_off fixed bin; 80 dcl temp fixed bin; 81 dcl ntag fixed bin; 82 dcl (iosw, alt_sw, read_next_sw) 83 bit (1); /*[3.0-2]*/ 84 dcl char5 char (5), 85 key_ctr fixed bin, 86 skip_read_tag fixed bin; 87 88 /*************************************/ 89 /*************************************/ 90 /* INITIALIZATION */ 91 start: 92 pr5_struct_ptr = addr (pr5_struct); 93 rw_ptr = mp.pt (1); 94 eos_ptr = mp.pt (mp.n); 95 ioerror_ptr = addr (ioerror); 96 ioerror.cobol_code = 0; 97 ioerror.type1_ptr = mp.pt (1); 98 ioerror.is_tag = 0; 99 ioerror.mode = 0; 100 101 if end_stmt.a ^= "000"b 102 then do; /* in-line error coding follows */ 103 104 ioerror.is_tag = cobol_$next_tag; /* to be defined at end of generated code for WRITE */ 105 ptag, passed_tag = cobol_$next_tag + 1; /* to be defined by gen driver at end of in-line coding */ 106 ioerror.ns_tag = ptag; 107 cobol_$next_tag = cobol_$next_tag + 2; 108 109 end; 110 else do; 111 112 ioerror.is_tag = 0; 113 ptag = 0; 114 ioerror.ns_tag = cobol_$next_tag; /* to be defined at end of generated code */ 115 cobol_$next_tag = cobol_$next_tag + 1; 116 117 end; 118 119 arg_ptr = addr (args); 120 iocb_arg.pt = addr (iocb_basic_struct); 121 cra_arg.pt = addr (cra_basic_struct); 122 123 call cobol_read_ft (mp.pt (2) -> fd_token.file_no, ft_ptr); 124 125 /*[3.0-3]*/ 126 read_next_sw = file_table.access < 2 /* seq */ /*[3.0-3]*/ | /*[3.0-3]*/ end_stmt.d = "01"b; 127 /* read_next */ 128 129 /*[3.0-2]*/ 130 alt_sw = file_table.organization = 3 /* ind */ /*[3.0-2]*/ & /*[3.0-2]*/ file_table.alternate_keys ^= 0; 131 132 /*[3.0-2]*/ 133 if read_next_sw & alt_sw /*[3.0-2]*/ 134 then do; 135 skip_read_tag = cobol_$next_tag; /*[3.0-2]*/ 136 cobol_$next_tag = cobol_$next_tag + 1; /*[3.0-2]*/ 137 end; 138 139 140 if file_table.organization = 5 141 then file_table.organization = 4; /* temporary */ 142 143 if file_table.code_set_clause & file_table.code_set = 12 144 then do; /* 12 = ebcdic */ 145 146 call cobol_alloc$stack (file_table.max_cra_size + 1, 2, stoff); 147 148 alpha_type9.seg, trans_type9.seg = 1000;/* stack */ 149 alpha_type9.off, trans_type9.off = stoff * 4; 150 trans_type9.size = file_table.max_cra_size; 151 152 end; 153 else do; 154 155 alpha_type9.seg = file_table.cra_seg; 156 alpha_type9.off = file_table.cra_offset; 157 158 159 end; 160 161 alpha_type9.size = file_table.max_cra_size; 162 163 call cobol_alloc$stack (80, 2, aloff); /* enough for 20 words - aloff is a wd offset */ 164 165 args.arglist_off = aloff; 166 argb (1) = unspec (iocb_arg); 167 buflen_off = 80; 168 reclen_off = 47; 169 declen_off = aloff + 16; 170 keylen_off = aloff + 19; 171 172 173 /*************************************/ 174 /* START CODE GENERATION */ 175 start_codegen: /* MAKE SURE FILE IS OPEN */ 176 ntag = cobol_$next_tag; 177 ioerror.retry_tag = cobol_$next_tag + 1; 178 179 call cobol_define_tag (ioerror.retry_tag); 180 181 cobol_$next_tag = cobol_$next_tag + 2; 182 183 call cobol_set_fsbptr (ft_ptr); /* OPERATOR63(init_read) */ 184 call cobol_call_op (63, ntag); /* INT_READ_OP */ 185 186 if end_stmt.a = "000"b 187 then do; 188 189 call cobol_emit (addr (opt_text), null, 2); 190 call cobol_make_tagref (ntag, cobol_$text_wd_off - 1, null); 191 192 end; 193 194 call cobol_gen_ioerror (ft_ptr, ioerror_ptr); 195 196 call cobol_define_tag (ntag); 197 198 199 /* ESTABLISH MAXIMUM CURRENT RECORD AREA SIZE */ 200 temp = file_table.max_cra_size; 201 202 if file_table.organization = 4 203 then temp = temp + 1; /* allow for the nl character */ 204 205 call cobol_io_util$move_direct ("110"b, buflen_off * 4, 4, 1, substr (unspec (temp), 19, 18)); 206 207 /* STREAM INPUT */ 208 if file_table.organization = 4 209 then do; 210 211 call cobol_alloc$stack (file_table.max_cra_size + 1, 1, sbuf_off); 212 213 ntag = cobol_$next_tag; 214 cobol_$next_tag = cobol_$next_tag + 1; 215 alpha_type9.size = file_table.max_cra_size; 216 alpha_type9.seg = 1000; 217 alpha_type9.off = sbuf_off * 4; 218 219 call cobol_set_pr (pr5_struct_ptr, addr (alpha_type9)); 220 221 /* OPERATOR64(get_line) */ 222 call cobol_call_op (64, ntag); /* iox_$get_line */ 223 224 call cobol_gen_ioerror (ft_ptr, ioerror_ptr); 225 226 call cobol_define_tag (ntag); 227 228 alpha_type9.seg = file_table.cra_seg; 229 alpha_type9.off = file_table.cra_offset; 230 231 call cobol_io_util$move_from_varlen ("110"b, reclen_off * 4, addr (alpha_type9), "110"b, sbuf_off * 4) 232 ; 233 234 end; 235 else do; 236 237 if file_table.access = 3 /* dynamic - must prevent reads for output opening */ 238 & (file_table.external | file_table.open_ext) 239 then do; 240 241 ntag = cobol_$next_tag; 242 cobol_$next_tag = cobol_$next_tag + 1; 243 244 call cobol_io_util$bypass_mode_error (ntag, "11"b); 245 246 /* OPERATOR54(delete_error) */ 247 call cobol_call_op (54, ntag);/* ERROR_OP */ 248 249 call cobol_gen_ioerror (ft_ptr, ioerror_ptr); 250 251 call cobol_define_tag (ntag); 252 253 end; 254 255 iosw = (file_table.external | file_table.delete | file_table.rewrite) & file_table.access < 2; 256 257 if read_next_sw /* FORMAT 1 READ */ 258 then do; /* READ NEXT */ 259 260 if (file_table.organization > 1 & iosw & file_table.access < 2) 261 /* to verify rewrite and delete */ 262 | (file_table.organization = 2 & file_table.relative_key) 263 /* to set relative_key */ 264 then do; /* remember key of next rec - i.e. the rec to be read */ 265 266 /* PROVIDE FOE BYPASSING READ KEY IF WORTHWHILE */ 267 ntag = cobol_$next_tag; 268 cobol_$next_tag = cobol_$next_tag + 1; 269 270 if (file_table.open_in | file_table.external) & file_table.organization = 3 271 then do; 272 call cobol_io_util$bypass_readkey (ntag); 273 274 end; /* READ KEY OF NEXT RECORD */ 275 276 call cobol_alloc$stack (260, 2, stoff); 277 /* area know as TEMP read key area */ 278 279 call cobol_ioop_util$lda_du (stoff); 280 /*OPERATOR69(read_key_for_read) */ 281 call cobol_call_op (69, ntag); 282 /* iox_$read_key */ 283 284 call cobol_gen_ioerror (ft_ptr, ioerror_ptr); 285 286 call cobol_define_tag (ntag); 287 /*[3.0-1]*/ 288 289 if iosw 290 then do; 291 292 call cobol_set_fsbptr (ft_ptr); 293 call cobol_io_util$move ("110"b, keylen_off * 4, 4, "001"b, 294 fsb_keylen_sw, 4); 295 call cobol_io_util$move_direct ("001"b, fsb_keylen_sw, 4, 1, ""b); 296 /* until successful read */ 297 298 end; 299 300 end; 301 else do; 302 303 if iosw 304 then do; 305 306 if file_table.organization ^= 1 307 then call cobol_io_util$move ("110"b, keylen_off * 4, 4, "001"b, 308 fsb_keylen_sw, 4); 309 310 call cobol_io_util$move_direct ("001"b, fsb_keylen_sw, 4, 1, ""b); 311 /* until sucessful read */ 312 313 end; 314 315 /*[3.0-2]*/ 316 if alt_sw /*[3.0-2]*/ 317 then do; 318 ntag = cobol_$next_tag; 319 /*[3.0-2]*/ 320 cobol_$next_tag = cobol_$next_tag + 1; 321 322 /*[3.0-2]*/ 323 call cobol_io_util$file_desc (file_table.file_desc_1_offset); 324 /*[3.0-2]*/ 325 call cobol_call_op$skip (92, ntag, skip_read_tag); 326 /* OPERATOR92(alt_find_rec) */ 327 /*[3.0-2]*/ 328 call cobol_define_tag (ntag); 329 /*[3.0-2]*/ 330 call cobol_set_fsbptr (ft_ptr); 331 /*[3.0-2]*/ 332 end; 333 334 end; 335 336 end; 337 338 else do; /* FORMAT 2 READ */ 339 340 /*[3.0-2]*/ 341 if alt_sw & end_stmt.e ^= 511 /*[3.0-2]*/ 342 then do; 343 char5 = file_table.alt_key_info; 344 /*[3.0-2]*/ 345 /*[3.0-2]*/ 346 do key_ctr = 1 by 1 to end_stmt.e; 347 /*[3.0-2]*/ 348 /*[3.0-2]*/ 349 call cobol_read_rand (1, char5, fkey_ptr); 350 /*[3.0-2]*/ 351 /*[3.0-2]*/ 352 char5 = file_key.next_alt; 353 /*[3.0-2]*/ 354 end; /*[3.0-2]*/ 355 end; 356 357 else call cobol_read_rand (1, file_table.r_key_info, fkey_ptr); 358 359 addr (fkey_type9.file_key_info) -> file_key_desc = file_key.desc; 360 mpout.pt1 = mp.pt (1); 361 mpout.pt2 = addr (fkey_type9); 362 363 if file_table.organization = 2 364 then do; /* relative */ 365 366 mpout.pt3 = addr (num_type9); 367 size, num_type9.size, num_type9.places_left = 16; 368 num_type9.seg = 5001; 369 /* from PR1 */ 370 num_type9.off = file_table.fsb.off + fsb_key; 371 372 end; 373 else do; /* indexed */ 374 375 mpout.pt3 = addr (alpha_type9); 376 size, alpha_type9.size = fkey_type9.size; 377 alpha_type9.seg = 5001; 378 /* from PR1 */ 379 alpha_type9.off = file_table.fsb.off + fsb_key; 380 381 end; 382 383 mpout.pt4 = addr (type19); 384 385 call cobol_move_gen (addr (mpout)); 386 387 call cobol_io_util$move_direct ("001"b, fsb_keylen_sw, 4, 1, substr (unspec (size), 19, 18)) 388 ; 389 390 /*[3.0-2]*/ 391 if alt_sw /*[3.0-1]*/ 392 then do; 393 call cobol_io_util$key_loc (0, 0); 394 /*[3.0-2]*/ 395 call cobol_io_util$file_desc (file_table.file_desc_1_offset); 396 /*[3.0-2]*/ 397 call cobol_io_util$key_num (end_stmt.e); 398 /*[3.0-2]*/ 399 call cobol_call_op (84, 0); 400 /*[3.0-2]*/ 401 call cobol_set_fsbptr (ft_ptr); 402 /*[3.0-2]*/ 403 end; 404 405 ntag = cobol_$next_tag; 406 407 cobol_$next_tag = cobol_$next_tag + 1; 408 /* OPERATOR67(read_seek_key) */ 409 call cobol_call_op (67, ntag);/* iox_$seek_key */ 410 411 call cobol_gen_ioerror (ft_ptr, ioerror_ptr); 412 413 call cobol_define_tag (ntag); 414 415 416 end; 417 418 /* PERFORM READ */ 419 ntag = cobol_$next_tag; 420 cobol_$next_tag = cobol_$next_tag + 1; 421 422 alpha_type9.size = file_table.max_cra_size; 423 alpha_type9.seg = file_table.cra_seg; 424 alpha_type9.off = file_table.cra_offset; 425 426 call cobol_set_pr (pr5_struct_ptr, addr (alpha_type9)); 427 428 429 /*[3.0-2]*/ 430 if read_next_sw /*[3.0-2]*/ 431 then do; 432 call cobol_call_op (65, ntag);/* OPERATOR65(read_record) */ 433 434 /*[3.0-2]*/ 435 if alt_sw 436 then call cobol_define_tag (skip_read_tag); 437 /*[3.0-2]*/ 438 end; /*[3.0-2]*/ 439 else call cobol_call_op (66, ntag); /* OPERATOR66(nonseq_read_key) */ 440 441 call cobol_gen_ioerror (ft_ptr, ioerror_ptr); 442 443 call cobol_define_tag (ntag); 444 445 446 /*[3.0-2]*/ 447 if alt_sw /*[3.0-2]*/ 448 then do; 449 call cobol_io_util$file_desc (file_table.file_desc_1_offset); 450 /*[3.0-2]*/ 451 call cobol_set_fsbptr (ft_ptr); 452 453 /*[3.0-2]*/ 454 if read_next_sw /*[3.0-2]*/ 455 then call cobol_call_op (80, 0); 456 /* OPERATOR80(alt_read_next) */ 457 /*[3.0-2]*/ 458 else call cobol_call_op (81, 0); 459 /* OPERATOR81(alt_read_key) */ 460 end; 461 462 /* SET KEY IN FSB IF NECESSARY */ 463 if iosw 464 then do; 465 466 call cobol_set_fsbptr (ft_ptr); 467 468 if file_table.organization = 1 469 then call cobol_io_util$move_direct ("001"b, fsb_keylen_sw, 4, 1, (18)"1"b); 470 471 else call cobol_io_util$move ("001"b, fsb_keylen_sw, 4, "110"b, keylen_off * 4, 4); 472 473 end; 474 475 end; 476 477 if file_table.rec_do 478 then do; /* must set depending-on variable */ 479 480 if file_table.organization = 4 481 then call cobol_io_util$fixed_add ("110"b, reclen_off * 4, -1, ""b, 0); 482 /*for nl*/ 483 484 call cobol_io_util$bin_to_dec ("110"b, declen_off * 4, 12, "110"b, reclen_off * 4, 4); 485 486 call cobol_read_rand (1, file_table.rec_do_info, fkey_ptr); 487 488 addr (fkey_type9.file_key_info) -> file_key_desc = file_key.desc; 489 mpout.pt1 = mp.pt (1); 490 mpout.pt2 = addr (num_type9); 491 num_type9.size, num_type9.places_left = 12; 492 num_type9.seg = 1000; /* in stack */ 493 num_type9.off = declen_off * 4; 494 mpout.pt3 = addr (fkey_type9); 495 mpout.pt4 = addr (type19); 496 497 call cobol_move_gen (addr (mpout)); 498 499 end; 500 501 if file_table.code_set_clause & file_table.code_set = 12 502 then do; /* 12 = ebcdic */ 503 504 call cobol_trans_alphabet$io (addr (trans_type9), addr (alpha_type9), fixed (file_table.code_set), 1); 505 506 end; 507 508 if end_stmt.b = "1"b 509 then do; /* move record INTO variable */ 510 511 mpout.pt1 = mp.pt (1); 512 mpout.pt2 = addr (alpha_type9); 513 mpout.pt3 = mp.pt (3); 514 mpout.pt4 = addr (type19); 515 516 call cobol_move_gen (addr (mpout)); 517 518 end; 519 520 /* SET RELATIVE KEY IF NECESSARY */ 521 if file_table.organization = 2 & (file_table.access < 2 | end_stmt.d = "01"b) & file_table.relative_key 522 then do; 523 524 call cobol_read_rand (1, file_table.r_key_info, fkey_ptr); 525 526 addr (fkey_type9.file_key_info) -> file_key_desc = file_key.desc; 527 528 call cobol_set_fsbptr (ft_ptr); 529 530 mpout.pt1 = mp.pt (1); 531 mpout.pt2 = addr (num_type9); 532 num_type9.size, num_type9.places_left = 16; 533 num_type9.seg = 5001; 534 num_type9.off = file_table.fsb.off + fsb_key; 535 mpout.pt3 = addr (fkey_type9); 536 mpout.pt4 = addr (type19); 537 call cobol_move_gen (addr (mpout)); 538 539 end; 540 541 call cobol_reg_manager$after_op (4095 + ioerror.cobol_code); 542 543 /*[4.0-1]*/ 544 if end_stmt.f = "01"b /*[4.0-1]*/ 545 then passed_tag = ioerror.is_tag; /*[4.0-1]*/ 546 else call cobol_gen_ioerror$finish_up (ft_ptr, ioerror_ptr); 547 548 return; 549 550 551 1 1 /* 1 2* 1 3* The procedure cobol_read_gen.pl1 generates code which realizes the COBOL 1 4*read statement . 1 5* 1 6* READ fn [id] eos 1 7* 1 8* eos a=000 neither 1 9* 001 END 1 10* 010 INVALID 1 11* 1 12* b=0 no INTO 1 13* 1 INTO 1 14* 1 15* c=0 no KEY 1 16* 1 KEY 1 17* 1 18* d=00 no NEXT 1 19* 01 NEXT 1 20* 1 21* e key number 1 22* 1 23* f=00 no NOT 1 24* 01 NOT 1 25* 1 26* verb=21 1 27* 1 28* mp.n 3-4 1 29* mp.ptr(1) type-1("READ") 1 30* mp.ptr(2) type-12(file-name) 1 31* mp.ptr(3) type-9(INTO id) 1 32* mp.ptr(n) eos 1 33* 1 34* org=rel acc=seq 1: read[next][end] 1 35* acc=ran 1: read[invalid] 1 36* acc=dyn 1: read next[end] 1 37* 2: read[invalid] 1 38* 1 39* org=ind acc=seq 1: read[next] 1 40* acc=ran 2: read[key][invalid] 1 41* acc=dyn 1: read next[end] 1 42* 2: read[key][invalid] 1 43* 1 44*Flow Chart 1 45* 1 46* read_next_sw = file_table.access < 2 seq 1 47* | 1 48* end_stmt.d = "01"b read next 1 49* 1 50* alt_sw = file_table.organization = 3 ind 1 51* & 1 52* file_table.alternate_keys ^= 0 1 53* 1 54* 1 55*TAG(ioerror.retry_error): 1 56* 1 57* OP63(init_read,ntag) 1 58* GEN_IOERROR 1 59* 1 60*TAG(ntag): 1 61* 1 62* if file_table.organization = 4 stream 1 63* then do; OP64(get_line,ntag);GEN_IOERROR 1 64* 1 65*TAG(ntag): 1 66* 1 67* end; 1 68* else do; if file_table.access = 3 dyn 1 69* & 1 70* ( file_table.external 1 71* | 1 72* file_table.open_ext 1 73* ) 1 74* 1 75* then do; INCR_NTAG 1 76* OP54(delete_error,ntag);GEN_ERROR 1 77* 1 78*TAG(ntag): 1 79* 1 80* end; 1 81* 1 82* iosw = file_table.access < 2 seq 1 83* & 1 84* ( file_table.external 1 85* | 1 86* file_table.delete 1 87* | 1 88* file_table.write 1 89* ) 1 90* 1 91* if read_next_sw 1 92* 1 93* then do; if ( file_organization>1 not-seq 1 94* & 1 95* iosw 1 96* & 1 97* file_table.access < 2 seq 1 98* ) 1 99* | 1 100* ( file_table.organization = 2 rel 1 101* & 1 102* file_table.relative_key 1 103* ) 1 104* 1 105* then do; INCR_NTAG 1 106* 1 107* OP69(read_key_for_read,ntag);GEN_IOERROR 1 108* 1 109*TAG(ntag): 1 110* 1 111* end; 1 112* else do; 1 113* 1 114* if alt_sw 1 115* then do; INCR_NTAG 1 116* IO_UTIL$FILE_DESC 1 117* OP92(alt_find_rec,ntag,skip_read_tag) 1 118*TAG(ntag): 1 119* SET_FSBPTR 1 120* end; 1 121* end; 1 122* 1 123* end 1 124* else do; if alt_sw 1 125* then do; IO_UTIL$FILE_KEY(0,0) 1 126* IO_UTIL$FILE_DESC 1 127* IO_UTIL$FILE_NUM 1 128* OP84(alt_read_key) 1 129* SET_FSBPTR 1 130* end; 1 131* 1 132* INCR_NTAG 1 133* OP67(read_seek_key,ntag);GEN_IOERROR 1 134* 1 135* 1 136*TAG(ntag): 1 137* 1 138* end; 1 139* 1 140* INCR_NTAG 1 141* 1 142* 1 143* if read_next_sw 1 144* 1 145* then do; OP65(read_record,ntag) 1 146* 1 147* if alt_sw then do; 1 148* 1 149*TAG(skip_read_tag): 1 150* 1 151* end; 1 152* else OP66(nonseq_read_tag,ntag) 1 153* 1 154*TAG(ntag): 1 155* 1 156* if alt_sw 1 157* then do; IO_UTIL$FILE_DESC 1 158* SET_FSBPTR 1 159* 1 160* if read_next_sw 1 161* then OP80(alt_read_next,0) 1 162* else OP81(alt_read_key,0) 1 163* end; 1 164* 1 165* end; 1 166* 1 167**/ 1 168 2 1 /* 2 2*cobol_operators_: read_statement 2 3* 2 4* OP54(delete_error) 2 5* 2 6* RTS(16) 2 7* 2 8* OP63(init_read) 2 9* 2 10* OP64(get_line) 2 11* 2 12* iox_$get_line 2 13* RTS(28) 2 14* 2 15* OP65(read_record) 2 16* 2 17* READ_COMMON 2 18* 2 19* OP66(nonseq_read_record) 2 20* 2 21* READ_COMMON 2 22* 2 23* OP67(read_seq_key) start 2 24* 2 25* SUBR_SEEK_OP(16) 2 26* 2 27* 2 28* OP69(read_key_for_read) 2 29* 2 30* iox_$read_key 2 31* RTS(26) 2 32* 2 33* OP80(alt_read_record) 2 34* 2 35* set fields in FSB after read next statement 2 36* RTS(49) 2 37* 2 38* OP81(alt_read_key) 2 39* 2 40* set fields in FSB after read key statement 2 41* RTS(50) 2 42* 2 43* OP84(alt_read_key) start 2 44* 2 45* move fsbskel.key in FSB one position to right 2 46* prefix by key number, increment size 2 47* RTS(59) 2 48* 2 49* OP92(alt_find_rec) 2 50* 2 51* if necessary then RESTORE_CRP (position for read_record) 2 52* RTS(57) 2 53* 2 54* READ_COMMON 65 ,66 2 55* 2 56* iox_$read_record 2 57* RTS(27) 2 58* 2 59* SUBR_SEEK_OP(i) 67,[41,57,58] 2 60* 2 61* 2 62* iox_$seek_key 2 63* RTS(i) 2 64* 2 65**/ 1 169 1 170 552 3 1 3 2 3 3 /* STATIC DATA */ 3 4 3 5 dcl pr5_struct_ptr ptr static; 3 6 3 7 dcl 1 pr5_struct static, 3 8 2 pr5 fixed bin init(5), 3 9 2 pointer_no bit(3), 3 10 2 lock fixed bin init(0), 3 11 2 switch fixed bin init(0), 3 12 2 segno fixed bin init(0), 3 13 2 offset fixed bin init(0), 3 14 2 reset fixed bin; 3 15 dcl 1 iocb_arg static, 3 16 2 pt ptr init(null()), /* initialized to address of basic structure */ 3 17 2 zeros bit(144) init(""b); 3 18 dcl 1 cra_arg static, 3 19 2 pt ptr init(null()), /* initialized to address of basic structure */ 3 20 2 type fixed bin init(0), 3 21 2 off1 fixed bin init(0), /* not meaningful */ 3 22 2 off2 fixed bin init(42), 3 23 2 bits bit(36) init("0000000000000000001000"b); /* indirect */ 3 24 dcl 1 temp_arg static, 3 25 2 pt ptr init(null()), /* always null */ 3 26 2 type fixed bin init(3), 3 27 2 zeros bit(108) init(""b); 3 28 dcl 1 status_arg static, 3 29 2 pt ptr init(null()), /* always null */ 3 30 2 type fixed bin init(3), 3 31 2 off1 fixed bin init(40), 3 32 2 zeros bit(72) init(""b); 3 33 dcl 1 fsb_arg static, 3 34 2 pt ptr init(null()), /* always null */ 3 35 2 type fixed bin init(3), 3 36 2 off1 fixed bin, /* set each time to wd offset in fsb */ 3 37 2 off2 fixed bin init(0), /* not used */ 3 38 2 bits bit(36) init("0000000000000000000001001"b); /* pr1 */ 3 39 3 40 dcl 1 pr1_struct static, 3 41 2 pr1 fixed bin init(1), 3 42 2 pointer_no bit(3), 3 43 2 lock fixed bin init(1), 3 44 2 switch fixed bin init(0), 3 45 2 segno fixed bin, 3 46 2 offset fixed bin, 3 47 2 reset fixed bin; 3 48 dcl 1 x1_struct static, 3 49 2 x1 fixed bin init(11), 3 50 2 reg_no bit(4), 3 51 2 lock fixed bin init(0), 3 52 2 already_there fixed bin, 3 53 2 contains fixed bin init(0), 3 54 2 null_ptr ptr init(null()), 3 55 2 fill bit(18) unaligned init((18)"0"b), 3 56 2 literal bit(18) unaligned; 3 57 dcl 1 aq_struct static, 3 58 2 aq fixed bin init(3), 3 59 2 reg_no bit(4), 3 60 2 lock fixed bin init(0), 3 61 2 already_there fixed bin, 3 62 2 contains fixed bin init(0), 3 63 2 null_ptr ptr init(null()), 3 64 2 fill bit(18) unaligned init((18)"0"b), 3 65 2 literal bit(18) unaligned; 3 66 3 67 dcl 1 cra_basic_struct static, 3 68 2 type fixed bin init(1), 3 69 2 operand_no fixed bin init(0), 3 70 2 lock fixed bin init(0), 3 71 2 seg fixed bin, 3 72 2 off fixed bin, 3 73 2 send_receive fixed bin init(0); 3 74 dcl 1 iocb_basic_struct static, 3 75 2 type fixed bin init(1), 3 76 2 operand_no fixed bin init(0), 3 77 2 lock fixed bin init(0), 3 78 2 seg fixed bin, 3 79 2 off fixed bin, 3 80 2 send_receive fixed bin init(0); 3 81 3 82 dcl 1 mpout static, 3 83 2 n fixed bin init(4), 3 84 2 pt1 ptr, 3 85 2 pt2 ptr, 3 86 2 pt3 ptr, 3 87 2 pt4 ptr; 3 88 3 89 dcl 1 alpha_type9 static, 3 90 2 header (4) fixed bin init(112,0,0,9), 3 91 2 repl_ptr (2) ptr init((2)null()), 3 92 2 fill1 bit(108) init(""b), 3 93 2 file_key_info, 3 94 3 fb1 (3) fixed bin init(0,0,0), 3 95 3 size fixed bin init(0), 3 96 3 fb2 (2) fixed bin init(0,0), 3 97 3 flags1 bit(36) init("010000100100000000010000000100000000"b), 3 98 3 flags2 bit(36) init(""b), 3 99 3 seg fixed bin init(0), 3 100 3 off fixed bin, 3 101 2 fill2 (7) fixed bin init(0,0,0,0,0,0,0); 3 102 dcl 1 trans_type9 static, 3 103 2 header (4) fixed bin init(112,0,0,9), 3 104 2 repl_ptr (2) ptr init((2)null()), 3 105 2 fill1 bit(108) init(""b), 3 106 2 file_key_info, 3 107 3 fb1 (3) fixed bin init(0,0,0), 3 108 3 size fixed bin init(0), 3 109 3 fb2 (2) fixed bin init(0,0), 3 110 3 flags1 bit(36) init("010000100100000000010000000100000000"b), 3 111 3 flags2 bit(36) init(""b), 3 112 3 seg fixed bin init(0), 3 113 3 off fixed bin, 3 114 2 fill2 (7) fixed bin init(0,0,0,0,0,0,0); 3 115 dcl 1 num_type9 static, 3 116 2 header (4) fixed bin init(112,0,0,9), 3 117 2 repl_ptr (2) ptr init((2)null()), 3 118 2 fill1 bit(108) init(""b), 3 119 2 file_key_info, 3 120 3 fb1 (3) fixed bin init(0,0,0), 3 121 3 size fixed bin init(0), 3 122 3 places_left fixed bin, 3 123 3 places_right fixed bin init(0), 3 124 3 flags1 bit(36) init("010000100100000001000000000100000000"b), 3 125 3 flags2 bit(36) init(""b), 3 126 3 seg fixed bin init(0), 3 127 3 off fixed bin, 3 128 2 fill2 (7) fixed bin init(0,0,0,0,0,0,0); 3 129 dcl 1 fkey_type9 static, 3 130 2 header (4) fixed bin init(112,0,0,9), 3 131 2 repl_ptr (2) ptr init((2)null()), 3 132 2 fill1 bit(108) init(""b), 3 133 2 file_key_info, 3 134 3 fb1 (3) fixed bin init(0,0,0), 3 135 3 size fixed bin init(0), 3 136 3 fb2 (2) fixed bin init(0,0), 3 137 3 flags1 bit(36) init(""b), 3 138 3 flags2 bit(36) init(""b), 3 139 3 seg fixed bin, 3 140 3 off fixed bin, 3 141 2 fill2 (7) fixed bin init(0,0,0,0,0,0,0); 3 142 dcl 1 type19 static, 3 143 2 size fixed bin init(38), 3 144 2 line fixed bin init(0), 3 145 2 column fixed bin init(0), 3 146 2 type fixed bin init(19), 3 147 2 verb fixed bin init(18), /* verb number */ 3 148 2 e fixed bin init(1), 3 149 2 h fixed bin init(0), 3 150 2 i fixed bin init(0), 3 151 2 j fixed bin init(0), 3 152 2 a bit(3) init(""b), 3 153 2 b bit(1) init(""b), 3 154 2 c bit(1) init(""b), 3 155 2 d bit(2) init(""b), 3 156 2 f bit(2) init(""b), 3 157 2 g bit(2) init(""b), 3 158 2 k bit(5) init(""b); 3 159 3 160 dcl 1 ioerror static, 3 161 2 cobol_code fixed bin, 3 162 2 retry_tag fixed bin, 3 163 2 is_tag fixed bin, 3 164 2 ns_tag fixed bin, 3 165 2 type1_ptr ptr, 3 166 2 mode fixed bin; 3 167 dcl opt_text (2) bit(36) static init( 3 168 "110000000000101110010011101001000000"b, /* lda pr6|46 */ 3 169 "000000000000000000110000001000000100"b); /* tnz 0,ic */ 3 170 3 171 dcl mcode_off fixed bin static init(40); 3 172 dcl fsb_keylen_sw fixed bin static init(24); /* offset 6 */ 3 173 dcl fsb_key fixed bin static init(28); /* offset 7 */ 3 174 dcl fsb_key_wdoff fixed bin static init(7); 3 175 dcl read_errno fixed bin static init(25); /* Unable to read record */ 3 176 dcl seek_errno fixed bin static init(26); /* Unable to seek key for input */ 3 177 dcl read_key_errno fixed bin static init(27); /* Unable to read next key */ 3 178 3 179 3 180 3 181 /* BUILTIN FUNCTIONS */ 3 182 3 183 declare (substr,mod,binary,fixed,addr,addrel,rel,length,string,unspec,null,index) builtin; 3 184 3 185 /* EXTERNAL ENTRY NAMES */ 3 186 3 187 dcl cobol_emit entry(ptr, ptr, fixed bin); 3 188 dcl cobol_make_tagref entry(fixed bin , fixed bin, ptr); 3 189 dcl cobol_ioop_util$lda_du entry(fixed bin); 3 190 dcl cobol_ioop_util$set_icode entry; 3 191 dcl cobol_set_pr entry (ptr, ptr); 3 192 dcl cobol_alloc$stack entry(fixed bin,fixed bin,fixed bin); 3 193 dcl cobol_read_ft entry(fixed bin,ptr); 3 194 dcl cobol_read_rand entry(fixed bin,char(5),ptr); 3 195 dcl cobol_define_tag entry(fixed bin); 3 196 3 197 /* sub-generators */ 3 198 dcl cobol_trans_alphabet$io entry(ptr,ptr, fixed bin, fixed bin); 3 199 dcl cobol_gen_ioerror entry(ptr, ptr); 3 200 dcl cobol_gen_ioerror$finish_up entry(ptr, ptr); 3 201 dcl cobol_reg_manager$after_op entry(fixed bin); 3 202 dcl cobol_call_op entry(fixed bin, fixed bin); 3 203 dcl cobol_call_op$skip entry(fixed bin,fixed bin,fixed bin); 3 204 dcl cobol_move_gen entry(ptr); 3 205 dcl cobol_set_fsbptr entry(ptr); 3 206 dcl cobol_io_util$key_loc entry(fixed bin,fixed bin); 3 207 dcl cobol_io_util$file_desc entry(fixed bin(24)); 3 208 dcl cobol_io_util$key_num entry(fixed bin); 3 209 dcl cobol_io_util$fixed_add entry(bit(3) aligned,fixed bin,fixed bin,bit(3) aligned,fixed bin); 3 210 dcl cobol_io_util$move_from_varlen entry(bit(3) aligned,fixed bin,ptr,bit(3) aligned,fixed bin); 3 211 dcl cobol_io_util$bin_to_t9dec entry(bit(3) aligned,fixed bin,ptr); 3 212 dcl cobol_io_util$bin_to_dec entry(bit(3) aligned,fixed bin,fixed bin,bit(3) aligned,fixed bin,fixed bin); 3 213 dcl cobol_io_util$t9dec_to_bin entry(bit(3) aligned,fixed bin,ptr); 3 214 dcl cobol_io_util$move entry(bit(3) aligned,fixed bin,fixed bin,bit(3) aligned,fixed bin,fixed bin); 3 215 dcl cobol_io_util$move_direct entry(bit(3) aligned,fixed bin,fixed bin,fixed bin,bit(18) aligned); 3 216 dcl cobol_io_util$bypass_error entry(fixed bin,fixed bin); 3 217 dcl cobol_io_util$bypass_mode_error entry(fixed bin,bit(2) aligned); 3 218 dcl cobol_io_util$bypass_readkey entry(fixed bin); 3 219 dcl cobol_open_util$check_open entry(ptr,fixed bin,ptr); 3 220 3 221 4 1 4 2 /* BEGIN INCLUDE FILE ... cobol_file_table.incl.pl1 */ 4 3 /* <<< INCLUDE FILE FOR FILE TABLE IN COMMON >>> */ 4 4 4 5 /* Modified on 09/30/80 by FCH, [4.4-1], density is 6250 is supported */ 4 6 /* Modified on 12/05/78 by RAL, [3.0-3], added dupl_alt from dummy102 */ 4 7 /* Modified on 11/21/78 by RAL, [3.0-2], added space for abs_record_offset from filler */ 4 8 /* Modified on 10/26/78 by RAL, [3.0-1], added space for file_desc_1 table offset from filler */ 4 9 /* <<< LAST MODIFIED ON 06-02-77 by GM >>> */ 4 10 /* <<< LAST MODIFIED ON 05-31-77 by GM >>> */ 4 11 /* <<< LAST MODIFIED ON 06-30-76 by GM >>> */ 4 12 /* <<< LAST MODIFIED ON 06-07-76 by GM >>> */ 4 13 /* <<< LAST MODIFIED ON 11-29-74 by orn >>> */ 4 14 4 15 /* 4 16*A file table is created in variable common for each file selected in the 4 17*environment division. The fields of a given file table provide information 4 18*about the specific file for which the file table is generated. The 4 19*addresses which may be contained in the various "info" fields of the file 4 20*table are addresses in variable common. 4 21**/ 4 22 4 23 /* THE FILE TABLE STRUCTURE */ 4 24 4 25 dcl 1 file_table based (ft_ptr), 4 26 2 next char (5), 4 27 2 ifn char (16), 4 28 2 attach_options_info char(5), /*06/02/77*/ 4 29 2 replacement_info char(5), /*06/02/77*/ 4 30 2 file_id_info char(5), /*05/31/77*/ 4 31 2 retention_info char(5), /*05/31/77*/ 4 32 2 filler0 char (3) , /* [3.0-1] */ 4 33 2 file_desc_1_offset fixed bin (24), /* [3.0-1] */ 4 34 2 abs_record_offset fixed bin (24), /* [3.-02] */ 4 35 2 filler char(5), /* this area is available.*/ 4 36 2 padding_char char (1), 4 37 2 banner_char char (1), 4 38 2 file_status_info char (5), 4 39 2 extra_status_info char (5), 4 40 2 cat_id_info char (5), 4 41 2 r_key_info char (5), 4 42 2 alt_key_info char (5), 4 43 2 rec_do_info char (5), 4 44 2 label_info char (5), 4 45 2 data_info char (5), 4 46 2 report_info char (5), 4 47 2 linage_info char (5), 4 48 2 optional bit (1), /*06/07/76*/ 4 49 2 external bit (1), 4 50 2 file_status bit (1), 4 51 2 extra_status bit (1), 4 52 2 sysin bit (1), 4 53 2 sysout bit (1), 4 54 2 move_mode bit (1), 4 55 2 locate_mode bit (1), 4 56 2 fixed_recs bit (1), 4 57 2 variable_recs bit (1), 4 58 2 spanned_recs bit (1), /*06/07/76*/ 4 59 2 interchange bit (1), /*06/07/76*/ 4 60 2 relative_key bit (1), 4 61 2 record_key bit (1), 4 62 2 even_parity bit (1), 4 63 2 odd_parity bit (1), 4 64 2 padding bit (1), 4 65 2 banner bit (1), 4 66 2 random bit (1), 4 67 2 no_file_lockout bit (1), 4 68 2 no_write_check bit (1), 4 69 2 no_resident_index bit (1), 4 70 2 same_file bit (1), 4 71 2 sort_file bit (1), 4 72 2 rec_do bit (1), 4 73 2 linage bit (1), 4 74 2 code_set_clause bit (1), 4 75 /* history */ 4 76 2 close bit (1), 4 77 2 delete bit (1), 4 78 2 open_in bit (1), 4 79 2 open_out bit (1), 4 80 2 open_io bit (1), 4 81 2 open_ext bit (1), 4 82 2 read bit (1), 4 83 2 release bit (1), 4 84 2 return_bit bit (1), 4 85 2 rewrite bit (1), 4 86 2 sort bit (1), 4 87 2 start bit (1), 4 88 2 use_error bit (1), 4 89 2 write bit (1), 4 90 2 read_next bit (1), 4 91 2 read_key bit (1), 4 92 2 accept bit (1), 4 93 2 display bit (1), 4 94 2 unequal_recs bit (1), 4 95 2 dummy_sysin bit (1), 4 96 2 dummy_sysout bit (1), 4 97 2 file_no fixed bin, 4 98 2 uca_offset fixed bin(24), 4 99 2 cra_seg fixed bin, 4 100 2 cra_offset fixed bin(24), 4 101 2 max_cra_size fixed bin(24), 4 102 2 catalogued fixed bin, 4 103 2 organization fixed bin, 4 104 2 org_qual fixed bin, 4 105 2 access fixed bin, 4 106 2 buffers fixed bin, 4 107 2 device fixed bin, 4 108 2 record_prefix fixed bin, /*06/07/76*/ 4 109 2 alternate_keys fixed bin, 4 110 2 record_format fixed bin, 4 111 2 label_format fixed bin, 4 112 2 key_location fixed bin, 4 113 2 key_size fixed bin, 4 114 2 temporary fixed bin, 4 115 2 address_format fixed bin, 4 116 2 same_area_clause fixed bin, 4 117 2 same_rec_clause fixed bin, 4 118 2 same_sort_clause fixed bin, 4 119 2 mult_clause_no fixed bin, 4 120 2 mult_position_no fixed bin, 4 121 2 block_desc fixed bin, 4 122 2 block_min fixed bin(24), 4 123 2 block_max fixed bin(24), 4 124 2 rec_min fixed bin(24), 4 125 2 rec_max fixed bin(24), 4 126 2 label_count fixed bin, 4 127 2 ifn_size fixed bin, 4 128 2 data_count fixed bin, 4 129 2 report_count fixed bin, 4 130 2 code_set fixed bin, 4 131 2 error_exit fixed bin, 4 132 2 prefix_size fixed bin, 4 133 2 blocked bit (1), 4 134 2 variable bit (1), 4 135 2 unbannered bit (1), 4 136 2 prefix_clause bit (1), 4 137 2 symbolic bit (1), 4 138 2 address_format_bit bit (1), 4 139 2 bsn bit(1), /*06/07/76*/ 4 140 2 process_area bit(1), /*06/07/76*/ 4 141 2 dupl_alt bit (1), /* [3.0-3] */ 4 142 2 dummy102 bit (23), 4 143 2 name_size fixed bin, 4 144 2 name char(32), 4 145 2 id char(32), 4 146 2 temp bit(1) , 4 147 2 perm bit(1) , 4 148 2 attach bit(1) , 4 149 2 detach bit(1) , 4 150 2 fsb , /* file state block */ 4 151 3 seg fixed bin(24), /* internal addr */ 4 152 3 off fixed bin(24), 4 153 2 tape, 4 154 3 density bit(1) , /* 0-hi 1-lo */ 4 155 3 retain bit(1), /* 0 not retained across attachment, 1 retained */ 4 156 3 force bit(1), /* 0 check retention date, 1 no check */ 4 157 3 protect bit(1) , /* 0-no 1-yes */ 4 158 3 den_6250 bit(1), /* 0-no 1-yes */ /*[4.4-1]*/ 4 159 2 cat_nm char(200), 4 160 2 ao_len fixed bin(24), /* attach options */ 4 161 2 ao_string char(256), 4 162 2 output_mode fixed bin, /* 0 not specified 4 163* 1 generation 4 164* 2 modification 4 165* 3 replacement literal 4 166* 4 replacement dataname */ 4 167 2 om_len fixed bin, /* length of output mode */ 4 168 2 om_string char(17), 4 169 2 tape_device fixed bin, /* 0 not specified 4 170* 1 integer 4 171* 2 dataname */ 4 172 2 tape_device_num fixed bin, 4 173 2 tape_device_key char(5), 4 174 2 add_cat_key char(5); 4 175 4 176 4 177 /* END INCLUDE FILE ... cobol_file_table.incl.pl1 */ 4 178 3 222 5 1 5 2 /* BEGIN INCLUDE FILE ... cobol_file_key.incl.pl1 */ 5 3 /* Last modified on 03/30/78 by FCH */ 5 4 5 5 /* 5 6*A file key record is created in variable common for any one of several 5 7*data items which may be associated with a file name. The key_type field in 5 8*the file key record identifies the type of item for which the record is 5 9*created. The name in a file key record is resolved by the replacement 5 10*phase, and a section of the type 9 entry in the name table for the 5 11*specified data item is stored in the file key record. The stored 5 12*description is subsequently used by the generator phase. 5 13**/ 5 14 5 15 /* THE FILE KEY RECORD STRUCTURE */ 5 16 5 17 dcl 1 file_key based (fkey_ptr), 5 18 2 next char(5), 5 19 2 next_alt char(5), 5 20 2 qual char(5), 5 21 2 info, 5 22 3 duplicates bit(1), 5 23 3 filler bit(7), 5 24 2 file_no fixed bin, 5 25 2 key_type fixed bin, 5 26 2 line fixed bin, 5 27 2 column fixed bin, 5 28 2 temp_seg fixed bin, 5 29 2 temp_offset fixed bin(24), 5 30 2 desc char(40), 5 31 2 name_size fixed bin, 5 32 2 name char(0 refer(file_key.name_size)); 5 33 5 34 /* END INCLUDE FILE ... cobol_file_key.incl.pl1 */ 5 35 3 223 6 1 6 2 /* BEGIN INCLUDE FILE ... cobol_type1.incl.pl1 */ 6 3 /* Last modified on 11/19/76 by ORN */ 6 4 6 5 /* 6 6*A reserved word token is created in the minpral files for each occurrence 6 7*of a reserved word in the source program. The value of the key field 6 8*indicates the specific reserved word which a type 1 token represents. 6 9**/ 6 10 6 11 dcl rw_ptr ptr; 6 12 6 13 /* BEGIN DECLARATION OF TYPE1 (RESERVED WORD) TOKEN */ 6 14 dcl 1 reserved_word based (rw_ptr), 7 1 7 2 /* begin include file ... cobol_TYPE1.incl.pl1 */ 7 3 /* Last modified on 11/17/76 by ORN */ 7 4 /* Last modified on 12/28/76 by FCH */ 7 5 /* Last modified on 12/16/80 by FCH */ 7 6 7 7 /* header */ 7 8 2 size fixed bin, 7 9 2 line fixed bin, 7 10 2 column fixed bin, 7 11 2 type fixed bin, 7 12 /* body */ 7 13 2 key fixed bin, 7 14 /* procedure division class bits */ 7 15 2 verb bit (1), 7 16 2 arith_op bit (1), 7 17 2 figcon bit (1), 7 18 2 terminator bit (1), 7 19 2 end_dec bit (1), 7 20 2 rel_op bit (1), 7 21 2 imper_verb bit (1), 7 22 2 end_cobol bit (1), 7 23 /* data division class bits */ 7 24 2 section_header bit (1), 7 25 2 fs_ind bit (1), 7 26 2 fd_clause bit (1), 7 27 2 dd_clause bit (1), 7 28 2 cd_input bit (1), 7 29 2 cd_output bit (1), 7 30 2 cset_name bit (1), 7 31 2 ss_division bit (1), 7 32 2 repl_jump_ind bit (4), 7 33 2 ided_recovery bit (1), 7 34 2 report_writer bit (5), 7 35 2 ss_desc_entry bit (1), 7 36 2 jump_index fixed bin, 7 37 2 length fixed bin, 7 38 2 name char(0 refer(reserved_word.length)); 7 39 7 40 7 41 7 42 /* end include file ... cobol_TYPE1.incl.pl1 */ 7 43 6 15 6 16 /* END DECLARATION OF TYPE1 (RESERVED WORD) TOKEN */ 6 17 6 18 /* END INCLUDE FILE ... cobol_type1.incl.pl1 */ 6 19 3 224 8 1 8 2 /* BEGIN INCLUDE FILE ... cobol_type9.incl.pl1 */ 8 3 /* Last modified on 11/19/76 by ORN */ 8 4 8 5 /* 8 6*A type 9 data name token is entered into the name table by the data 8 7*division syntax phase for each data name described in the data division. 8 8*The replacement phase subsequently replaces type 8 user word references 8 9*to data names in the procedure division minpral file with the corresponding 8 10*type 9 tokens from the name table. 8 11**/ 8 12 8 13 /* dcl dn_ptr ptr; */ 8 14 8 15 /* BEGIN DECLARATION OF TYPE9 (DATA NAME) TOKEN */ 8 16 dcl 1 data_name based (dn_ptr), 9 1 9 2 /* begin include file ... cobol_TYPE9.incl.pl1 */ 9 3 /* Last modified on 06/19/77 by ORN */ 9 4 /* Last modified on 12/28/76 by FCH */ 9 5 9 6 /* header */ 9 7 2 size fixed bin, 9 8 2 line fixed bin, 9 9 2 column fixed bin, 9 10 2 type fixed bin, 9 11 /* body */ 9 12 2 string_ptr ptr, 9 13 2 prev_rec ptr, 9 14 2 searched bit (1), 9 15 2 duplicate bit (1), 9 16 2 saved bit (1), 9 17 2 debug_ind bit (1), 9 18 2 filler2 bit (3), 9 19 2 used_as_sub bit (1), 9 20 2 def_line fixed bin, 9 21 2 level fixed bin, 9 22 2 linkage fixed bin, 9 23 2 file_num fixed bin, 9 24 2 size_rtn fixed bin, 9 25 2 item_length fixed bin(24), 9 26 2 places_left fixed bin, 9 27 2 places_right fixed bin, 9 28 /* description */ 9 29 2 file_section bit (1), 9 30 2 working_storage bit (1), 9 31 2 constant_section bit (1), 9 32 2 linkage_section bit (1), 9 33 2 communication_section bit (1), 9 34 2 report_section bit (1), 9 35 2 level_77 bit (1), 9 36 2 level_01 bit (1), 9 37 2 non_elementary bit (1), 9 38 2 elementary bit (1), 9 39 2 filler_item bit (1), 9 40 2 s_of_rdf bit (1), 9 41 2 o_of_rdf bit (1), 9 42 2 bin_18 bit (1), 9 43 2 bin_36 bit (1), 9 44 2 pic_has_l bit (1), 9 45 2 pic_is_do bit (1), 9 46 2 numeric bit (1), 9 47 2 numeric_edited bit (1), 9 48 2 alphanum bit (1), 9 49 2 alphanum_edited bit (1), 9 50 2 alphabetic bit (1), 9 51 2 alphabetic_edited bit (1), 9 52 2 pic_has_p bit (1), 9 53 2 pic_has_ast bit (1), 9 54 2 item_signed bit(1), 9 55 2 sign_separate bit (1), 9 56 2 display bit (1), 9 57 2 comp bit (1), 9 58 2 ascii_packed_dec_h bit (1), /* as of 8/16/76 this field used for comp8. */ 9 59 2 ascii_packed_dec bit (1), 9 60 2 ebcdic_packed_dec bit (1), 9 61 2 bin_16 bit (1), 9 62 2 bin_32 bit (1), 9 63 2 usage_index bit (1), 9 64 2 just_right bit (1), 9 65 2 compare_argument bit (1), 9 66 2 sync bit (1), 9 67 2 temporary bit (1), 9 68 2 bwz bit (1), 9 69 2 variable_length bit (1), 9 70 2 subscripted bit (1), 9 71 2 occurs_do bit (1), 9 72 2 key_a bit (1), 9 73 2 key_d bit (1), 9 74 2 indexed_by bit (1), 9 75 2 value_numeric bit (1), 9 76 2 value_non_numeric bit (1), 9 77 2 value_signed bit (1), 9 78 2 sign_type bit (3), 9 79 2 pic_integer bit (1), 9 80 2 ast_when_zero bit (1), 9 81 2 label_record bit (1), 9 82 2 sign_clause_occurred bit (1), 9 83 2 okey_dn bit (1), 9 84 2 subject_of_keyis bit (1), 9 85 2 exp_redefining bit (1), 9 86 2 sync_in_rec bit (1), 9 87 2 rounded bit (1), 9 88 2 ad_bit bit (1), 9 89 2 debug_all bit (1), 9 90 2 overlap bit (1), 9 91 2 sum_counter bit (1), 9 92 2 exp_occurs bit (1), 9 93 2 linage_counter bit (1), 9 94 2 rnm_01 bit (1), 9 95 2 aligned bit (1), 9 96 2 not_user_writable bit (1), 9 97 2 database_key bit (1), 9 98 2 database_data_item bit (1), 9 99 2 seg_num fixed bin, 9 100 2 offset fixed bin(24), 9 101 2 initial_ptr fixed bin, 9 102 2 edit_ptr fixed bin, 9 103 2 occurs_ptr fixed bin, 9 104 2 do_rec char(5), 9 105 2 bitt bit (1), 9 106 2 byte bit (1), 9 107 2 half_word bit (1), 9 108 2 word bit (1), 9 109 2 double_word bit (1), 9 110 2 half_byte bit (1), 9 111 2 filler5 bit (1), 9 112 2 bit_offset bit (4), 9 113 2 son_cnt bit (16), 9 114 2 max_red_size fixed bin(24), 9 115 2 name_size fixed bin, 9 116 2 name char(0 refer(data_name.name_size)); 9 117 9 118 9 119 9 120 /* end include file ... cobol_TYPE9.incl.pl1 */ 9 121 8 17 8 18 /* END DECLARATION OF TYPE9 (DATA NAME) TOKEN */ 8 19 8 20 /* END INCLUDE FILE ... cobol_type9.incl.pl1 */ 8 21 3 225 10 1 10 2 /* BEGIN INCLUDE FILE ... cobol_type12.incl.pl1 */ 10 3 /* Last modified on 11/19/76 by ORN */ 10 4 10 5 /* 10 6*A type 12 file name token is entered into the name table by the data 10 7*division syntax phase for each file name appearing in the data division. 10 8*When the replacement phase processes the procedure division minpral file, 10 9*each reference to a file name is replaced with the type 12 token created 10 10*for that file name. 10 11**/ 10 12 10 13 /* dcl name_ptr ptr; */ 10 14 10 15 /* BEGIN DECLARATION OF TYPE12 (FILE NAME) TOKEN */ 10 16 dcl 1 fd_token based (name_ptr), 11 1 11 2 /* begin include file ... cobol_TYPE12.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 string_ptr ptr, 11 12 2 prev_rec ptr, 11 13 2 info bit (8), 11 14 2 def_line fixed bin, 11 15 2 file_no fixed bin, 11 16 2 name_size fixed bin, 11 17 2 name char(0 refer(fd_token.name_size)); 11 18 11 19 /* end include file ... cobol_TYPE12.incl.pl1 */ 11 20 10 17 10 18 /* END DECLARATION OF TYPE12 (FILE NAME) TOKEN */ 10 19 10 20 10 21 /* END INCLUDE FILE ... cobol_type12.incl.pl1 */ 10 22 3 226 12 1 12 2 /* BEGIN INCLUDE FILE ... cobol_type19.incl.pl1 */ 12 3 /* last modified on 11/19/76 by ORN */ 12 4 12 5 /* 12 6*A type 19 end of statement token is created in the procedure division 12 7*minpral file at the end of each minpral statement generated by the 12 8*procedure division syntax phase. A minpral statement may be a complete or 12 9*partial source language statement. A type 19 token contains information 12 10*describing the statement which it delimits. 12 11**/ 12 12 12 13 dcl eos_ptr ptr; 12 14 12 15 /* BEGIN DECLARATION OF TYPE19 (END STATEMENT) TOKEN */ 12 16 dcl 1 end_stmt based (eos_ptr), 13 1 13 2 /* begin include file ... cobol_TYPE19.incl.pl1 */ 13 3 /* Last modified on 11/17/76 by ORN */ 13 4 13 5 /* header */ 13 6 2 size fixed bin, 13 7 2 line fixed bin, 13 8 2 column fixed bin, 13 9 2 type fixed bin, 13 10 /* body */ 13 11 2 verb fixed bin, 13 12 2 e fixed bin, 13 13 2 h fixed bin, 13 14 2 i fixed bin, 13 15 2 j fixed bin, 13 16 2 a bit (3), 13 17 2 b bit (1), 13 18 2 c bit (1), 13 19 2 d bit (2), 13 20 2 f bit (2), 13 21 2 g bit (2), 13 22 2 k bit (5), 13 23 2 always_an bit (1); 13 24 13 25 /* end include file ... cobol_TYPE19.incl.pl1 */ 13 26 12 17 12 18 /* END DECLARATION OF TYPE19 (END STATEMENT) TOKEN */ 12 19 12 20 /* 12 21*FIELD CONTENTS 12 22* 12 23*size The total size in bytes of this end of statement token. 12 24*line 0 12 25*column 0 12 26*type 19 12 27*verb A value indicating the verb in this statement 12 28* 1 = accept 12 29* 2 = add 12 30* 3 = on size error 12 31* 4 = alter 12 32* 5 = call 12 33* 7 = cancel 12 34* 8 = close 12 35* 9 = divide 12 36* 10 = multiply 12 37* 11 = subtract 12 38* 12 = exit 12 39* 14 = go 12 40* 15 = merge 12 41* 16 = initiate 12 42* 17 = inspect 12 43* 18 = move 12 44* 19 = open 12 45* 20 = perform 12 46* 21 = read 12 47* 23 = receive 12 48* 24 = release 12 49* 25 = return 12 50* 26 = search 12 51* 27 = rewrite 12 52* 29 = seek 12 53* 30 = send 12 54* 31 = set 12 55* 33 = stop 12 56* 34 = string 12 57* 35 = suspend 12 58* 36 = terminate 12 59* 37 = unstring 12 60* 38 = write 12 61* 39 = use 12 62* 40 = compute 12 63* 41 = disable 12 64* 42 = display 12 65* 43 = enable 12 66* 45 = generate 12 67* 46 = hold 12 68* 48 = process 12 69* 49 = sort 12 70* 52 = procedure 12 71* 53 = declaratives 12 72* 54 = section name 12 73* 55 = paragraph name 12 74* 98 = end 12 75*e,h,i,j The significance of these fields differs with each 12 76* statement. These fields are normally used as counters. 12 77*a,b,c,d,f,g,k The significance of these fields differs with each 12 78* statement. These fields are normally used as indicators. 12 79**/ 12 80 12 81 /* END INCLUDE FILE ... cobol_type19.incl.pl1 */ 12 82 3 227 14 1 14 2 /* BEGIN INCLUDE FILE ... cobol_.incl.pl1 */ 14 3 /* last modified Feb 4, 1977 by ORN */ 14 4 14 5 /* This file defines all external data used in the generator phase of Multics Cobol */ 14 6 14 7 /* POINTERS */ 14 8 dcl cobol_$text_base_ptr ptr ext; 14 9 dcl text_base_ptr ptr defined (cobol_$text_base_ptr); 14 10 dcl cobol_$con_end_ptr ptr ext; 14 11 dcl con_end_ptr ptr defined (cobol_$con_end_ptr); 14 12 dcl cobol_$def_base_ptr ptr ext; 14 13 dcl def_base_ptr ptr defined (cobol_$def_base_ptr); 14 14 dcl cobol_$link_base_ptr ptr ext; 14 15 dcl link_base_ptr ptr defined (cobol_$link_base_ptr); 14 16 dcl cobol_$sym_base_ptr ptr ext; 14 17 dcl sym_base_ptr ptr defined (cobol_$sym_base_ptr); 14 18 dcl cobol_$reloc_text_base_ptr ptr ext; 14 19 dcl reloc_text_base_ptr ptr defined (cobol_$reloc_text_base_ptr); 14 20 dcl cobol_$reloc_def_base_ptr ptr ext; 14 21 dcl reloc_def_base_ptr ptr defined (cobol_$reloc_def_base_ptr); 14 22 dcl cobol_$reloc_link_base_ptr ptr ext; 14 23 dcl reloc_link_base_ptr ptr defined (cobol_$reloc_link_base_ptr); 14 24 dcl cobol_$reloc_sym_base_ptr ptr ext; 14 25 dcl reloc_sym_base_ptr ptr defined (cobol_$reloc_sym_base_ptr); 14 26 dcl cobol_$reloc_work_base_ptr ptr ext; 14 27 dcl reloc_work_base_ptr ptr defined (cobol_$reloc_work_base_ptr); 14 28 dcl cobol_$pd_map_ptr ptr ext; 14 29 dcl pd_map_ptr ptr defined (cobol_$pd_map_ptr); 14 30 dcl cobol_$fixup_ptr ptr ext; 14 31 dcl fixup_ptr ptr defined (cobol_$fixup_ptr); 14 32 dcl cobol_$initval_base_ptr ptr ext; 14 33 dcl initval_base_ptr ptr defined (cobol_$initval_base_ptr); 14 34 dcl cobol_$initval_file_ptr ptr ext; 14 35 dcl initval_file_ptr ptr defined (cobol_$initval_file_ptr); 14 36 dcl cobol_$perform_list_ptr ptr ext; 14 37 dcl perform_list_ptr ptr defined (cobol_$perform_list_ptr); 14 38 dcl cobol_$alter_list_ptr ptr ext; 14 39 dcl alter_list_ptr ptr defined (cobol_$alter_list_ptr); 14 40 dcl cobol_$seg_init_list_ptr ptr ext; 14 41 dcl seg_init_list_ptr ptr defined (cobol_$seg_init_list_ptr); 14 42 dcl cobol_$temp_token_area_ptr ptr ext; 14 43 dcl temp_token_area_ptr ptr defined (cobol_$temp_token_area_ptr); 14 44 dcl cobol_$temp_token_ptr ptr ext; 14 45 dcl temp_token_ptr ptr defined (cobol_$temp_token_ptr); 14 46 dcl cobol_$token_block1_ptr ptr ext; 14 47 dcl token_block1_ptr ptr defined (cobol_$token_block1_ptr); 14 48 dcl cobol_$token_block2_ptr ptr ext; 14 49 dcl token_block2_ptr ptr defined (cobol_$token_block2_ptr); 14 50 dcl cobol_$minpral5_ptr ptr ext; 14 51 dcl minpral5_ptr ptr defined (cobol_$minpral5_ptr); 14 52 dcl cobol_$tag_table_ptr ptr ext; 14 53 dcl tag_table_ptr ptr defined (cobol_$tag_table_ptr); 14 54 dcl cobol_$map_data_ptr ptr ext; 14 55 dcl map_data_ptr ptr defined (cobol_$map_data_ptr); 14 56 dcl cobol_$ptr_status_ptr ptr ext; 14 57 dcl ptr_status_ptr ptr defined (cobol_$ptr_status_ptr); 14 58 dcl cobol_$reg_status_ptr ptr ext; 14 59 dcl reg_status_ptr ptr defined (cobol_$reg_status_ptr); 14 60 dcl cobol_$misc_base_ptr ptr ext; 14 61 dcl misc_base_ptr ptr defined (cobol_$misc_base_ptr); 14 62 dcl cobol_$misc_end_ptr ptr ext; 14 63 dcl misc_end_ptr ptr defined (cobol_$misc_end_ptr); 14 64 dcl cobol_$list_ptr ptr ext; 14 65 dcl list_ptr ptr defined (cobol_$list_ptr); 14 66 dcl cobol_$allo1_ptr ptr ext; 14 67 dcl allo1_ptr ptr defined (cobol_$allo1_ptr); 14 68 dcl cobol_$eln_ptr ptr ext; 14 69 dcl eln_ptr ptr defined (cobol_$eln_ptr); 14 70 dcl cobol_$diag_ptr ptr ext; 14 71 dcl diag_ptr ptr defined (cobol_$diag_ptr); 14 72 dcl cobol_$xref_token_ptr ptr ext; 14 73 dcl xref_token_ptr ptr defined (cobol_$xref_token_ptr); 14 74 dcl cobol_$xref_chain_ptr ptr ext; 14 75 dcl xref_chain_ptr ptr defined (cobol_$xref_chain_ptr); 14 76 dcl cobol_$statement_info_ptr ptr ext; 14 77 dcl statement_info_ptr ptr defined (cobol_$statement_info_ptr); 14 78 dcl cobol_$reswd_ptr ptr ext; 14 79 dcl reswd_ptr ptr defined (cobol_$reswd_ptr); 14 80 dcl cobol_$op_con_ptr ptr ext; 14 81 dcl op_con_ptr ptr defined (cobol_$op_con_ptr); 14 82 dcl cobol_$ntbuf_ptr ptr ext; 14 83 dcl ntbuf_ptr ptr defined (cobol_$ntbuf_ptr); 14 84 dcl cobol_$main_pcs_ptr ptr ext; 14 85 dcl main_pcs_ptr ptr defined (cobol_$main_pcs_ptr); 14 86 dcl cobol_$include_info_ptr ptr ext; 14 87 dcl include_info_ptr ptr defined (cobol_$include_info_ptr); 14 88 14 89 /* FIXED BIN */ 14 90 dcl cobol_$text_wd_off fixed bin ext; 14 91 dcl text_wd_off fixed bin defined (cobol_$text_wd_off); 14 92 dcl cobol_$con_wd_off fixed bin ext; 14 93 dcl con_wd_off fixed bin defined (cobol_$con_wd_off); 14 94 dcl cobol_$def_wd_off fixed bin ext; 14 95 dcl def_wd_off fixed bin defined (cobol_$def_wd_off); 14 96 dcl cobol_$def_max fixed bin ext; 14 97 dcl def_max fixed bin defined (cobol_$def_max); 14 98 dcl cobol_$link_wd_off fixed bin ext; 14 99 dcl link_wd_off fixed bin defined (cobol_$link_wd_off); 14 100 dcl cobol_$link_max fixed bin ext; 14 101 dcl link_max fixed bin defined (cobol_$link_max); 14 102 dcl cobol_$sym_wd_off fixed bin ext; 14 103 dcl sym_wd_off fixed bin defined (cobol_$sym_wd_off); 14 104 dcl cobol_$sym_max fixed bin ext; 14 105 dcl sym_max fixed bin defined (cobol_$sym_max); 14 106 dcl cobol_$reloc_text_max fixed bin(24) ext; 14 107 dcl reloc_text_max fixed bin(24) defined (cobol_$reloc_text_max); 14 108 dcl cobol_$reloc_def_max fixed bin(24) ext; 14 109 dcl reloc_def_max fixed bin(24) defined (cobol_$reloc_def_max); 14 110 dcl cobol_$reloc_link_max fixed bin(24) ext; 14 111 dcl reloc_link_max fixed bin(24) defined (cobol_$reloc_link_max); 14 112 dcl cobol_$reloc_sym_max fixed bin(24) ext; 14 113 dcl reloc_sym_max fixed bin(24) defined (cobol_$reloc_sym_max); 14 114 dcl cobol_$reloc_work_max fixed bin(24) ext; 14 115 dcl reloc_work_max fixed bin(24) defined (cobol_$reloc_work_max); 14 116 dcl cobol_$pd_map_index fixed bin ext; 14 117 dcl pd_map_index fixed bin defined (cobol_$pd_map_index); 14 118 dcl cobol_$cobol_data_wd_off fixed bin ext; 14 119 dcl cobol_data_wd_off fixed bin defined (cobol_$cobol_data_wd_off); 14 120 dcl cobol_$stack_off fixed bin ext; 14 121 dcl stack_off fixed bin defined (cobol_$stack_off); 14 122 dcl cobol_$max_stack_off fixed bin ext; 14 123 dcl max_stack_off fixed bin defined (cobol_$max_stack_off); 14 124 dcl cobol_$init_stack_off fixed bin ext; 14 125 dcl init_stack_off fixed bin defined (cobol_$init_stack_off); 14 126 dcl cobol_$pd_map_sw fixed bin ext; 14 127 dcl pd_map_sw fixed bin defined (cobol_$pd_map_sw); 14 128 dcl cobol_$next_tag fixed bin ext; 14 129 dcl next_tag fixed bin defined (cobol_$next_tag); 14 130 dcl cobol_$data_init_flag fixed bin ext; 14 131 dcl data_init_flag fixed bin defined (cobol_$data_init_flag); 14 132 dcl cobol_$seg_init_flag fixed bin ext; 14 133 dcl seg_init_flag fixed bin defined (cobol_$seg_init_flag); 14 134 dcl cobol_$alter_flag fixed bin ext; 14 135 dcl alter_flag fixed bin defined (cobol_$alter_flag); 14 136 dcl cobol_$sect_eop_flag fixed bin ext; 14 137 dcl sect_eop_flag fixed bin defined (cobol_$sect_eop_flag); 14 138 dcl cobol_$para_eop_flag fixed bin ext; 14 139 dcl para_eop_flag fixed bin defined (cobol_$para_eop_flag); 14 140 dcl cobol_$priority_no fixed bin ext; 14 141 dcl priority_no fixed bin defined (cobol_$priority_no); 14 142 dcl cobol_$compile_count fixed bin ext; 14 143 dcl compile_count fixed bin defined (cobol_$compile_count); 14 144 dcl cobol_$ptr_assumption_ind fixed bin ext; 14 145 dcl ptr_assumption_ind fixed bin defined (cobol_$ptr_assumption_ind); 14 146 dcl cobol_$reg_assumption_ind fixed bin ext; 14 147 dcl reg_assumption_ind fixed bin defined (cobol_$reg_assumption_ind); 14 148 dcl cobol_$perform_para_index fixed bin ext; 14 149 dcl perform_para_index fixed bin defined (cobol_$perform_para_index); 14 150 dcl cobol_$perform_sect_index fixed bin ext; 14 151 dcl perform_sect_index fixed bin defined (cobol_$perform_sect_index); 14 152 dcl cobol_$alter_index fixed bin ext; 14 153 dcl alter_index fixed bin defined (cobol_$alter_index); 14 154 dcl cobol_$list_off fixed bin ext; 14 155 dcl list_off fixed bin defined (cobol_$list_off); 14 156 dcl cobol_$constant_offset fixed bin ext; 14 157 dcl constant_offset fixed bin defined (cobol_$constant_offset); 14 158 dcl cobol_$misc_max fixed bin ext; 14 159 dcl misc_max fixed bin defined (cobol_$misc_max); 14 160 dcl cobol_$pd_map_max fixed bin ext; 14 161 dcl pd_map_max fixed bin defined (cobol_$pd_map_max); 14 162 dcl cobol_$map_data_max fixed bin ext; 14 163 dcl map_data_max fixed bin defined (cobol_$map_data_max); 14 164 dcl cobol_$fixup_max fixed bin ext; 14 165 dcl fixup_max fixed bin defined (cobol_$fixup_max); 14 166 dcl cobol_$tag_table_max fixed bin ext; 14 167 dcl tag_table_max fixed bin defined (cobol_$tag_table_max); 14 168 dcl cobol_$temp_token_max fixed bin ext; 14 169 dcl temp_token_max fixed bin defined (cobol_$temp_token_max); 14 170 dcl cobol_$allo1_max fixed bin ext; 14 171 dcl allo1_max fixed bin defined (cobol_$allo1_max); 14 172 dcl cobol_$eln_max fixed bin ext; 14 173 dcl eln_max fixed bin defined (cobol_$eln_max); 14 174 dcl cobol_$debug_enable fixed bin ext; 14 175 dcl debug_enable fixed bin defined (cobol_$debug_enable); 14 176 dcl cobol_$non_source_offset fixed bin ext; 14 177 dcl non_source_offset fixed bin defined (cobol_$non_source_offset); 14 178 dcl cobol_$initval_flag fixed bin ext; 14 179 dcl initval_flag fixed bin defined (cobol_$initval_flag); 14 180 dcl cobol_$date_compiled_sw fixed bin ext; 14 181 dcl date_compiled_sw fixed bin defined (cobol_$date_compiled_sw); 14 182 dcl cobol_$include_cnt fixed bin ext; 14 183 dcl include_cnt fixed bin defined (cobol_$include_cnt); 14 184 dcl cobol_$fs_charcnt fixed bin ext; 14 185 dcl fs_charcnt fixed bin defined (cobol_$fs_charcnt); 14 186 dcl cobol_$ws_charcnt fixed bin ext; 14 187 dcl ws_charcnt fixed bin defined (cobol_$ws_charcnt); 14 188 dcl cobol_$coms_charcnt fixed bin ext; 14 189 dcl coms_charcnt fixed bin defined (cobol_$coms_charcnt); 14 190 dcl cobol_$ls_charcnt fixed bin ext; 14 191 dcl ls_charcnt fixed bin defined (cobol_$ls_charcnt); 14 192 dcl cobol_$cons_charcnt fixed bin ext; 14 193 dcl cons_charcnt fixed bin defined (cobol_$cons_charcnt); 14 194 dcl cobol_$value_cnt fixed bin ext; 14 195 dcl value_cnt fixed bin defined (cobol_$value_cnt); 14 196 dcl cobol_$cd_cnt fixed bin ext; 14 197 dcl cd_cnt fixed bin defined (cobol_$cd_cnt); 14 198 dcl cobol_$fs_wdoff fixed bin ext; 14 199 dcl fs_wdoff fixed bin defined (cobol_$fs_wdoff); 14 200 dcl cobol_$ws_wdoff fixed bin ext; 14 201 dcl ws_wdoff fixed bin defined (cobol_$ws_wdoff); 14 202 dcl cobol_$coms_wdoff fixed bin ext; 14 203 dcl coms_wdoff fixed bin defined (cobol_$coms_wdoff); 14 204 14 205 /* CHARACTER */ 14 206 dcl cobol_$scratch_dir char (168) aligned ext; 14 207 dcl scratch_dir char (168) aligned defined (cobol_$scratch_dir); /* -42- */ 14 208 dcl cobol_$obj_seg_name char (32) aligned ext; 14 209 dcl obj_seg_name char (32) aligned defined (cobol_$obj_seg_name); /* -8- */ 14 210 14 211 /* BIT */ 14 212 dcl cobol_$xref_bypass bit(1) aligned ext; 14 213 dcl xref_bypass bit(1) aligned defined (cobol_$xref_bypass); /* -1- */ 14 214 dcl cobol_$same_sort_merge_proc bit(1) aligned ext; 14 215 dcl same_sort_merge_proc bit(1) aligned defined (cobol_$same_sort_merge_proc); /* -1- */ 14 216 14 217 14 218 /* END INCLUDE FILE ... cobol_incl.pl1*/ 14 219 14 220 3 228 553 554 end cobol_read_gen; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 05/24/89 0832.7 cobol_read_gen.pl1 >spec>install>MR12.3-1048>cobol_read_gen.pl1 552 1 03/27/82 0439.3 cobol_read_gen_info.incl.pl1 >ldd>include>cobol_read_gen_info.incl.pl1 1-169 2 03/27/82 0439.5 cobol_opr_read.incl.pl1 >ldd>include>cobol_opr_read.incl.pl1 553 3 03/27/82 0439.4 cobol_read_gen_data.incl.pl1 >ldd>include>cobol_read_gen_data.incl.pl1 3-222 4 11/11/82 1712.7 cobol_file_table.incl.pl1 >ldd>include>cobol_file_table.incl.pl1 3-223 5 11/11/82 1712.8 cobol_file_key.incl.pl1 >ldd>include>cobol_file_key.incl.pl1 3-224 6 03/27/82 0439.8 cobol_type1.incl.pl1 >ldd>include>cobol_type1.incl.pl1 6-15 7 11/11/82 1712.8 cobol_TYPE1.incl.pl1 >ldd>include>cobol_TYPE1.incl.pl1 3-225 8 03/27/82 0439.9 cobol_type9.incl.pl1 >ldd>include>cobol_type9.incl.pl1 8-17 9 11/11/82 1712.7 cobol_TYPE9.incl.pl1 >ldd>include>cobol_TYPE9.incl.pl1 3-226 10 11/11/82 1712.8 cobol_type12.incl.pl1 >ldd>include>cobol_type12.incl.pl1 10-17 11 03/27/82 0439.6 cobol_TYPE12.incl.pl1 >ldd>include>cobol_TYPE12.incl.pl1 3-227 12 03/27/82 0439.8 cobol_type19.incl.pl1 >ldd>include>cobol_type19.incl.pl1 12-17 13 03/27/82 0439.6 cobol_TYPE19.incl.pl1 >ldd>include>cobol_TYPE19.incl.pl1 3-228 14 11/11/82 1712.7 cobol_.incl.pl1 >ldd>include>cobol_.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 12-16 ref 101 186 access 45 based fixed bin(17,0) level 2 dcl 4-25 ref 126 237 255 260 521 addr builtin function dcl 3-183 ref 91 95 119 120 121 166 189 189 219 219 231 231 359 361 366 375 383 385 385 426 426 488 490 494 495 497 497 504 504 504 504 512 514 516 516 526 531 535 536 537 537 aloff 000157 automatic fixed bin(17,0) dcl 71 set ref 163* 165 169 170 alpha_type9 000064 internal static structure level 1 unaligned dcl 3-89 set ref 219 219 231 231 375 426 426 504 504 512 alt_key_info 23(27) based char(5) level 2 packed packed unaligned dcl 4-25 ref 343 alt_sw 000171 automatic bit(1) packed unaligned dcl 82 set ref 130* 133 316 341 391 435 447 alternate_keys 51 based fixed bin(17,0) level 2 dcl 4-25 ref 130 arg 4 000102 automatic structure array level 2 unaligned dcl 41 set ref 166 arg_ptr 000152 automatic pointer dcl 67 set ref 119* argb based bit(216) array packed unaligned dcl 62 set ref 166* arglist_off 1 000102 automatic fixed bin(17,0) level 2 dcl 41 set ref 165* args 000102 automatic structure level 1 unaligned dcl 41 set ref 119 b 11(03) based bit(1) level 2 packed packed unaligned dcl 12-16 ref 508 buflen_off 000163 automatic fixed bin(17,0) dcl 76 set ref 167* 205 char5 000174 automatic char(5) packed unaligned dcl 84 set ref 343* 349* 352* cobol_$next_tag 000360 external static fixed bin(17,0) dcl 14-128 set ref 104 105 107* 107 114 115* 115 135 136* 136 175 177 181* 181 213 214* 214 241 242* 242 267 268* 268 318 320* 320 405 407* 407 419 420* 420 cobol_$text_wd_off 000356 external static fixed bin(17,0) dcl 14-90 ref 190 cobol_alloc$stack 000302 constant entry external dcl 3-192 ref 146 163 211 276 cobol_call_op 000322 constant entry external dcl 3-202 ref 184 222 247 281 399 409 432 439 454 458 cobol_call_op$skip 000324 constant entry external dcl 3-203 ref 325 cobol_code 000256 internal static fixed bin(17,0) level 2 dcl 3-160 set ref 96* 541 cobol_define_tag 000310 constant entry external dcl 3-195 ref 179 196 226 251 286 328 413 435 443 cobol_emit 000272 constant entry external dcl 3-187 ref 189 cobol_gen_ioerror 000314 constant entry external dcl 3-199 ref 194 224 249 284 411 441 cobol_gen_ioerror$finish_up 000316 constant entry external dcl 3-200 ref 546 cobol_io_util$bin_to_dec 000344 constant entry external dcl 3-212 ref 484 cobol_io_util$bypass_mode_error 000352 constant entry external dcl 3-217 ref 244 cobol_io_util$bypass_readkey 000354 constant entry external dcl 3-218 ref 272 cobol_io_util$file_desc 000334 constant entry external dcl 3-207 ref 323 395 449 cobol_io_util$fixed_add 000340 constant entry external dcl 3-209 ref 480 cobol_io_util$key_loc 000332 constant entry external dcl 3-206 ref 393 cobol_io_util$key_num 000336 constant entry external dcl 3-208 ref 397 cobol_io_util$move 000346 constant entry external dcl 3-214 ref 293 306 471 cobol_io_util$move_direct 000350 constant entry external dcl 3-215 ref 205 295 310 387 468 cobol_io_util$move_from_varlen 000342 constant entry external dcl 3-210 ref 231 cobol_ioop_util$lda_du 000276 constant entry external dcl 3-189 ref 279 cobol_make_tagref 000274 constant entry external dcl 3-188 ref 190 cobol_move_gen 000326 constant entry external dcl 3-204 ref 385 497 516 537 cobol_read_ft 000304 constant entry external dcl 3-193 ref 123 cobol_read_rand 000306 constant entry external dcl 3-194 ref 349 357 486 524 cobol_reg_manager$after_op 000320 constant entry external dcl 3-201 ref 541 cobol_set_fsbptr 000330 constant entry external dcl 3-205 ref 183 292 330 401 451 466 528 cobol_set_pr 000300 constant entry external dcl 3-191 ref 219 426 cobol_trans_alphabet$io 000312 constant entry external dcl 3-198 ref 504 code_set 76 based fixed bin(17,0) level 2 dcl 4-25 ref 143 501 504 504 code_set_clause 33(35) based bit(1) level 2 packed packed unaligned dcl 4-25 ref 143 501 cra_arg 000030 internal static structure level 1 unaligned dcl 3-18 cra_basic_struct 000036 internal static structure level 1 unaligned dcl 3-67 set ref 121 cra_offset 40 based fixed bin(24,0) level 2 dcl 4-25 ref 156 229 424 cra_seg 37 based fixed bin(17,0) level 2 dcl 4-25 ref 155 228 423 d 11(05) based bit(2) level 2 packed packed unaligned dcl 12-16 ref 126 521 declen_off 000164 automatic fixed bin(17,0) dcl 78 set ref 169* 484 493 delete 34(01) based bit(1) level 2 packed packed unaligned dcl 4-25 ref 255 desc 12 based char(40) level 2 packed packed unaligned dcl 5-17 ref 359 488 526 e 5 based fixed bin(17,0) level 2 dcl 12-16 set ref 341 346 397* end_stmt based structure level 1 unaligned dcl 12-16 eos_ptr 000202 automatic pointer dcl 12-13 set ref 94* 101 126 186 341 346 397 508 521 544 external 33(10) based bit(1) level 2 packed packed unaligned dcl 4-25 ref 237 255 270 f 11(07) based bit(2) level 2 packed packed unaligned dcl 12-16 ref 544 fd_token based structure level 1 unaligned dcl 10-16 file_desc_1_offset 13 based fixed bin(24,0) level 2 dcl 4-25 set ref 323* 395* 449* file_key based structure level 1 unaligned dcl 5-17 file_key_desc based char(40) packed unaligned dcl 58 set ref 359* 488* 526* file_key_info 13 000064 internal static structure level 2 in structure "alpha_type9" unaligned dcl 3-89 in procedure "cobol_read_gen" file_key_info 13 000154 internal static structure level 2 in structure "num_type9" unaligned dcl 3-115 in procedure "cobol_read_gen" file_key_info 13 000120 internal static structure level 2 in structure "trans_type9" unaligned dcl 3-102 in procedure "cobol_read_gen" file_key_info 13 000210 internal static structure level 2 in structure "fkey_type9" unaligned dcl 3-129 in procedure "cobol_read_gen" set ref 359 488 526 file_no 12 based fixed bin(17,0) level 2 dcl 10-16 set ref 123* file_table based structure level 1 unaligned dcl 4-25 fixed builtin function dcl 3-183 ref 504 504 fkey_ptr 000150 automatic pointer dcl 64 set ref 349* 352 357* 359 486* 488 524* 526 fkey_type9 000210 internal static structure level 1 unaligned dcl 3-129 set ref 361 494 535 fsb 124 based structure level 2 unaligned dcl 4-25 fsb_key constant fixed bin(17,0) initial dcl 3-173 ref 370 379 534 fsb_keylen_sw 000270 internal static fixed bin(17,0) initial dcl 3-172 set ref 293* 295* 306* 310* 387* 468* 471* ft_ptr 000146 automatic pointer dcl 63 set ref 123* 126 130 130 140 140 143 143 146 150 155 156 161 183* 194* 200 202 208 211 215 224* 228 229 237 237 237 249* 255 255 255 255 260 260 260 260 270 270 270 284* 292* 306 323 330* 343 357 363 370 379 395 401* 411* 422 423 424 441* 449 451* 466* 468 477 480 486 501 501 504 504 521 521 521 524 528* 534 546* iocb_arg 000022 internal static structure level 1 unaligned dcl 3-15 set ref 166 iocb_basic_struct 000044 internal static structure level 1 unaligned dcl 3-74 set ref 120 ioerror 000256 internal static structure level 1 unaligned dcl 3-160 set ref 95 ioerror_ptr 000154 automatic pointer dcl 68 set ref 95* 194* 224* 249* 284* 411* 441* 546* iosw 000170 automatic bit(1) packed unaligned dcl 82 set ref 255* 260 289 303 463 is_tag 2 000256 internal static fixed bin(17,0) level 2 dcl 3-160 set ref 98* 104* 112* 544 key_ctr 000176 automatic fixed bin(17,0) dcl 84 set ref 346* keylen_off 000165 automatic fixed bin(17,0) dcl 79 set ref 170* 293 306 471 max_cra_size 41 based fixed bin(24,0) level 2 dcl 4-25 ref 146 150 161 200 211 215 422 mode 6 000256 internal static fixed bin(17,0) level 2 dcl 3-160 set ref 99* mp based structure level 1 unaligned dcl 34 mp_ptr parameter pointer dcl 33 ref 28 93 94 94 97 123 360 489 511 513 530 mpout 000052 internal static structure level 1 unaligned dcl 3-82 set ref 385 385 497 497 516 516 537 537 n based fixed bin(17,0) level 2 dcl 34 ref 94 next_alt 1(09) based char(5) level 2 packed packed unaligned dcl 5-17 ref 352 ns_tag 3 000256 internal static fixed bin(17,0) level 2 dcl 3-160 set ref 106* 114* ntag 000167 automatic fixed bin(17,0) dcl 81 set ref 175* 184* 190* 196* 213* 222* 226* 241* 244* 247* 251* 267* 272* 281* 286* 318* 325* 328* 405* 409* 413* 419* 432* 439* 443* null builtin function dcl 3-183 ref 189 189 190 190 num_type9 000154 internal static structure level 1 unaligned dcl 3-115 set ref 366 490 531 off 24 000064 internal static fixed bin(17,0) level 3 in structure "alpha_type9" dcl 3-89 in procedure "cobol_read_gen" set ref 149* 156* 217* 229* 379* 424* off 24 000120 internal static fixed bin(17,0) level 3 in structure "trans_type9" dcl 3-102 in procedure "cobol_read_gen" set ref 149* off 125 based fixed bin(24,0) level 3 in structure "file_table" dcl 4-25 in procedure "cobol_read_gen" ref 370 379 534 off 24 000154 internal static fixed bin(17,0) level 3 in structure "num_type9" dcl 3-115 in procedure "cobol_read_gen" set ref 370* 493* 534* open_ext 34(05) based bit(1) level 2 packed packed unaligned dcl 4-25 ref 237 open_in 34(02) based bit(1) level 2 packed packed unaligned dcl 4-25 ref 270 opt_text 000266 internal static bit(36) initial array packed unaligned dcl 3-167 set ref 189 189 organization 43 based fixed bin(17,0) level 2 dcl 4-25 set ref 130 140 140* 202 208 260 260 270 306 363 468 480 521 output_errno 000144 automatic fixed bin(17,0) initial dcl 59 set ref 59* passed_tag parameter fixed bin(17,0) dcl 31 set ref 28 105* 544* places_left 17 000154 internal static fixed bin(17,0) level 3 dcl 3-115 set ref 367* 491* 532* pr5_struct 000012 internal static structure level 1 unaligned dcl 3-7 set ref 91 pr5_struct_ptr 000010 internal static pointer dcl 3-5 set ref 91* 219* 426* pt 2 based pointer array level 2 in structure "mp" dcl 34 in procedure "cobol_read_gen" ref 93 94 97 123 360 489 511 513 530 pt 000022 internal static pointer initial level 2 in structure "iocb_arg" dcl 3-15 in procedure "cobol_read_gen" set ref 120* pt 000030 internal static pointer initial level 2 in structure "cra_arg" dcl 3-18 in procedure "cobol_read_gen" set ref 121* pt1 2 000052 internal static pointer level 2 dcl 3-82 set ref 360* 489* 511* 530* pt2 4 000052 internal static pointer level 2 dcl 3-82 set ref 361* 490* 512* 531* pt3 6 000052 internal static pointer level 2 dcl 3-82 set ref 366* 375* 494* 513* 535* pt4 10 000052 internal static pointer level 2 dcl 3-82 set ref 383* 495* 514* 536* ptag 000100 automatic fixed bin(17,0) dcl 32 set ref 105* 106 113* r_key_info 22(18) based char(5) level 2 packed packed unaligned dcl 4-25 set ref 357* 524* read_next_sw 000172 automatic bit(1) packed unaligned dcl 82 set ref 126* 133 257 430 454 rec_do 33(33) based bit(1) level 2 packed packed unaligned dcl 4-25 ref 477 rec_do_info 25 based char(5) level 2 packed packed unaligned dcl 4-25 set ref 486* reclen_off 000162 automatic fixed bin(17,0) dcl 75 set ref 168* 231 480 484 relative_key 33(21) based bit(1) level 2 packed packed unaligned dcl 4-25 ref 260 521 retry_tag 1 000256 internal static fixed bin(17,0) level 2 dcl 3-160 set ref 177* 179* rewrite 34(09) based bit(1) level 2 packed packed unaligned dcl 4-25 ref 255 rw_ptr 000200 automatic pointer dcl 6-11 set ref 93* sbuf_off 000160 automatic fixed bin(17,0) dcl 72 set ref 211* 217 231 seg 23 000064 internal static fixed bin(17,0) initial level 3 in structure "alpha_type9" dcl 3-89 in procedure "cobol_read_gen" set ref 148* 155* 216* 228* 377* 423* seg 23 000154 internal static fixed bin(17,0) initial level 3 in structure "num_type9" dcl 3-115 in procedure "cobol_read_gen" set ref 368* 492* 533* seg 23 000120 internal static fixed bin(17,0) initial level 3 in structure "trans_type9" dcl 3-102 in procedure "cobol_read_gen" set ref 148* size 16 000120 internal static fixed bin(17,0) initial level 3 in structure "trans_type9" dcl 3-102 in procedure "cobol_read_gen" set ref 150* size 16 000154 internal static fixed bin(17,0) initial level 3 in structure "num_type9" dcl 3-115 in procedure "cobol_read_gen" set ref 367* 491* 532* size 000161 automatic fixed bin(17,0) dcl 73 in procedure "cobol_read_gen" set ref 367* 376* 387 387 size 16 000064 internal static fixed bin(17,0) initial level 3 in structure "alpha_type9" dcl 3-89 in procedure "cobol_read_gen" set ref 161* 215* 376* 422* size 16 000210 internal static fixed bin(17,0) initial level 3 in structure "fkey_type9" dcl 3-129 in procedure "cobol_read_gen" set ref 376 skip_read_tag 000177 automatic fixed bin(17,0) dcl 84 set ref 135* 325* 435* stoff 000156 automatic fixed bin(17,0) dcl 70 set ref 146* 149 276* 279* substr builtin function dcl 3-183 ref 205 205 387 387 temp 000166 automatic fixed bin(17,0) dcl 80 set ref 200* 202* 202 205 205 trans_type9 000120 internal static structure level 1 unaligned dcl 3-102 set ref 504 504 type19 000244 internal static structure level 1 unaligned dcl 3-142 set ref 383 495 514 536 type1_ptr 4 000256 internal static pointer level 2 dcl 3-160 set ref 97* unspec builtin function dcl 3-183 ref 166 205 205 387 387 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. addrel builtin function dcl 3-183 allo1_max defined fixed bin(17,0) dcl 14-171 allo1_ptr defined pointer dcl 14-67 alter_flag defined fixed bin(17,0) dcl 14-135 alter_index defined fixed bin(17,0) dcl 14-153 alter_list_ptr defined pointer dcl 14-39 aq_struct internal static structure level 1 unaligned dcl 3-57 binary builtin function dcl 3-183 buf_off automatic fixed bin(17,0) dcl 77 cd_cnt defined fixed bin(17,0) dcl 14-197 cobol_$allo1_max external static fixed bin(17,0) dcl 14-170 cobol_$allo1_ptr external static pointer dcl 14-66 cobol_$alter_flag external static fixed bin(17,0) dcl 14-134 cobol_$alter_index external static fixed bin(17,0) dcl 14-152 cobol_$alter_list_ptr external static pointer dcl 14-38 cobol_$cd_cnt external static fixed bin(17,0) dcl 14-196 cobol_$cobol_data_wd_off external static fixed bin(17,0) dcl 14-118 cobol_$compile_count external static fixed bin(17,0) dcl 14-142 cobol_$coms_charcnt external static fixed bin(17,0) dcl 14-188 cobol_$coms_wdoff external static fixed bin(17,0) dcl 14-202 cobol_$con_end_ptr external static pointer dcl 14-10 cobol_$con_wd_off external static fixed bin(17,0) dcl 14-92 cobol_$cons_charcnt external static fixed bin(17,0) dcl 14-192 cobol_$constant_offset external static fixed bin(17,0) dcl 14-156 cobol_$data_init_flag external static fixed bin(17,0) dcl 14-130 cobol_$date_compiled_sw external static fixed bin(17,0) dcl 14-180 cobol_$debug_enable external static fixed bin(17,0) dcl 14-174 cobol_$def_base_ptr external static pointer dcl 14-12 cobol_$def_max external static fixed bin(17,0) dcl 14-96 cobol_$def_wd_off external static fixed bin(17,0) dcl 14-94 cobol_$diag_ptr external static pointer dcl 14-70 cobol_$eln_max external static fixed bin(17,0) dcl 14-172 cobol_$eln_ptr external static pointer dcl 14-68 cobol_$fixup_max external static fixed bin(17,0) dcl 14-164 cobol_$fixup_ptr external static pointer dcl 14-30 cobol_$fs_charcnt external static fixed bin(17,0) dcl 14-184 cobol_$fs_wdoff external static fixed bin(17,0) dcl 14-198 cobol_$include_cnt external static fixed bin(17,0) dcl 14-182 cobol_$include_info_ptr external static pointer dcl 14-86 cobol_$init_stack_off external static fixed bin(17,0) dcl 14-124 cobol_$initval_base_ptr external static pointer dcl 14-32 cobol_$initval_file_ptr external static pointer dcl 14-34 cobol_$initval_flag external static fixed bin(17,0) dcl 14-178 cobol_$link_base_ptr external static pointer dcl 14-14 cobol_$link_max external static fixed bin(17,0) dcl 14-100 cobol_$link_wd_off external static fixed bin(17,0) dcl 14-98 cobol_$list_off external static fixed bin(17,0) dcl 14-154 cobol_$list_ptr external static pointer dcl 14-64 cobol_$ls_charcnt external static fixed bin(17,0) dcl 14-190 cobol_$main_pcs_ptr external static pointer dcl 14-84 cobol_$map_data_max external static fixed bin(17,0) dcl 14-162 cobol_$map_data_ptr external static pointer dcl 14-54 cobol_$max_stack_off external static fixed bin(17,0) dcl 14-122 cobol_$minpral5_ptr external static pointer dcl 14-50 cobol_$misc_base_ptr external static pointer dcl 14-60 cobol_$misc_end_ptr external static pointer dcl 14-62 cobol_$misc_max external static fixed bin(17,0) dcl 14-158 cobol_$non_source_offset external static fixed bin(17,0) dcl 14-176 cobol_$ntbuf_ptr external static pointer dcl 14-82 cobol_$obj_seg_name external static char(32) dcl 14-208 cobol_$op_con_ptr external static pointer dcl 14-80 cobol_$para_eop_flag external static fixed bin(17,0) dcl 14-138 cobol_$pd_map_index external static fixed bin(17,0) dcl 14-116 cobol_$pd_map_max external static fixed bin(17,0) dcl 14-160 cobol_$pd_map_ptr external static pointer dcl 14-28 cobol_$pd_map_sw external static fixed bin(17,0) dcl 14-126 cobol_$perform_list_ptr external static pointer dcl 14-36 cobol_$perform_para_index external static fixed bin(17,0) dcl 14-148 cobol_$perform_sect_index external static fixed bin(17,0) dcl 14-150 cobol_$priority_no external static fixed bin(17,0) dcl 14-140 cobol_$ptr_assumption_ind external static fixed bin(17,0) dcl 14-144 cobol_$ptr_status_ptr external static pointer dcl 14-56 cobol_$reg_assumption_ind external static fixed bin(17,0) dcl 14-146 cobol_$reg_status_ptr external static pointer dcl 14-58 cobol_$reloc_def_base_ptr external static pointer dcl 14-20 cobol_$reloc_def_max external static fixed bin(24,0) dcl 14-108 cobol_$reloc_link_base_ptr external static pointer dcl 14-22 cobol_$reloc_link_max external static fixed bin(24,0) dcl 14-110 cobol_$reloc_sym_base_ptr external static pointer dcl 14-24 cobol_$reloc_sym_max external static fixed bin(24,0) dcl 14-112 cobol_$reloc_text_base_ptr external static pointer dcl 14-18 cobol_$reloc_text_max external static fixed bin(24,0) dcl 14-106 cobol_$reloc_work_base_ptr external static pointer dcl 14-26 cobol_$reloc_work_max external static fixed bin(24,0) dcl 14-114 cobol_$reswd_ptr external static pointer dcl 14-78 cobol_$same_sort_merge_proc external static bit(1) dcl 14-214 cobol_$scratch_dir external static char(168) dcl 14-206 cobol_$sect_eop_flag external static fixed bin(17,0) dcl 14-136 cobol_$seg_init_flag external static fixed bin(17,0) dcl 14-132 cobol_$seg_init_list_ptr external static pointer dcl 14-40 cobol_$stack_off external static fixed bin(17,0) dcl 14-120 cobol_$statement_info_ptr external static pointer dcl 14-76 cobol_$sym_base_ptr external static pointer dcl 14-16 cobol_$sym_max external static fixed bin(17,0) dcl 14-104 cobol_$sym_wd_off external static fixed bin(17,0) dcl 14-102 cobol_$tag_table_max external static fixed bin(17,0) dcl 14-166 cobol_$tag_table_ptr external static pointer dcl 14-52 cobol_$temp_token_area_ptr external static pointer dcl 14-42 cobol_$temp_token_max external static fixed bin(17,0) dcl 14-168 cobol_$temp_token_ptr external static pointer dcl 14-44 cobol_$text_base_ptr external static pointer dcl 14-8 cobol_$token_block1_ptr external static pointer dcl 14-46 cobol_$token_block2_ptr external static pointer dcl 14-48 cobol_$value_cnt external static fixed bin(17,0) dcl 14-194 cobol_$ws_charcnt external static fixed bin(17,0) dcl 14-186 cobol_$ws_wdoff external static fixed bin(17,0) dcl 14-200 cobol_$xref_bypass external static bit(1) dcl 14-212 cobol_$xref_chain_ptr external static pointer dcl 14-74 cobol_$xref_token_ptr external static pointer dcl 14-72 cobol_data_wd_off defined fixed bin(17,0) dcl 14-119 cobol_io_util$bin_to_t9dec 000000 constant entry external dcl 3-211 cobol_io_util$bypass_error 000000 constant entry external dcl 3-216 cobol_io_util$t9dec_to_bin 000000 constant entry external dcl 3-213 cobol_ioop_util$set_icode 000000 constant entry external dcl 3-190 cobol_open_util$check_open 000000 constant entry external dcl 3-219 compile_count defined fixed bin(17,0) dcl 14-143 coms_charcnt defined fixed bin(17,0) dcl 14-189 coms_wdoff defined fixed bin(17,0) dcl 14-203 con_end_ptr defined pointer dcl 14-11 con_wd_off defined fixed bin(17,0) dcl 14-93 cons_charcnt defined fixed bin(17,0) dcl 14-193 constant_offset defined fixed bin(17,0) dcl 14-157 data_init_flag defined fixed bin(17,0) dcl 14-131 data_name based structure level 1 unaligned dcl 8-16 date_compiled_sw defined fixed bin(17,0) dcl 14-181 debug_enable defined fixed bin(17,0) dcl 14-175 def_base_ptr defined pointer dcl 14-13 def_max defined fixed bin(17,0) dcl 14-97 def_wd_off defined fixed bin(17,0) dcl 14-95 diag_ptr defined pointer dcl 14-71 dn_ptr automatic pointer dcl 65 eln_max defined fixed bin(17,0) dcl 14-173 eln_ptr defined pointer dcl 14-69 fixup_max defined fixed bin(17,0) dcl 14-165 fixup_ptr defined pointer dcl 14-31 fs_charcnt defined fixed bin(17,0) dcl 14-185 fs_wdoff defined fixed bin(17,0) dcl 14-199 fsb_arg internal static structure level 1 unaligned dcl 3-33 fsb_key_wdoff internal static fixed bin(17,0) initial dcl 3-174 include_cnt defined fixed bin(17,0) dcl 14-183 include_info_ptr defined pointer dcl 14-87 index builtin function dcl 3-183 init_stack_off defined fixed bin(17,0) dcl 14-125 initval_base_ptr defined pointer dcl 14-33 initval_file_ptr defined pointer dcl 14-35 initval_flag defined fixed bin(17,0) dcl 14-179 length builtin function dcl 3-183 link_base_ptr defined pointer dcl 14-15 link_max defined fixed bin(17,0) dcl 14-101 link_wd_off defined fixed bin(17,0) dcl 14-99 list_off defined fixed bin(17,0) dcl 14-155 list_ptr defined pointer dcl 14-65 ls_charcnt defined fixed bin(17,0) dcl 14-191 main_pcs_ptr defined pointer dcl 14-85 map_data_max defined fixed bin(17,0) dcl 14-163 map_data_ptr defined pointer dcl 14-55 max_stack_off defined fixed bin(17,0) dcl 14-123 mcode_off internal static fixed bin(17,0) initial dcl 3-171 minpral5_ptr defined pointer dcl 14-51 misc_base_ptr defined pointer dcl 14-61 misc_end_ptr defined pointer dcl 14-63 misc_max defined fixed bin(17,0) dcl 14-159 mod builtin function dcl 3-183 name_ptr automatic pointer dcl 66 next_tag defined fixed bin(17,0) dcl 14-129 non_source_offset defined fixed bin(17,0) dcl 14-177 ntbuf_ptr defined pointer dcl 14-83 obj_seg_name defined char(32) dcl 14-209 offset automatic fixed bin(17,0) dcl 74 op_con_ptr defined pointer dcl 14-81 para_eop_flag defined fixed bin(17,0) dcl 14-139 pd_map_index defined fixed bin(17,0) dcl 14-117 pd_map_max defined fixed bin(17,0) dcl 14-161 pd_map_ptr defined pointer dcl 14-29 pd_map_sw defined fixed bin(17,0) dcl 14-127 perform_list_ptr defined pointer dcl 14-37 perform_para_index defined fixed bin(17,0) dcl 14-149 perform_sect_index defined fixed bin(17,0) dcl 14-151 pr1_struct internal static structure level 1 unaligned dcl 3-40 priority_no defined fixed bin(17,0) dcl 14-141 ptr_assumption_ind defined fixed bin(17,0) dcl 14-145 ptr_status_ptr defined pointer dcl 14-57 read_errno internal static fixed bin(17,0) initial dcl 3-175 read_key_errno internal static fixed bin(17,0) initial dcl 3-177 reg_assumption_ind defined fixed bin(17,0) dcl 14-147 reg_status_ptr defined pointer dcl 14-59 rel builtin function dcl 3-183 reloc_def_base_ptr defined pointer dcl 14-21 reloc_def_max defined fixed bin(24,0) dcl 14-109 reloc_link_base_ptr defined pointer dcl 14-23 reloc_link_max defined fixed bin(24,0) dcl 14-111 reloc_sym_base_ptr defined pointer dcl 14-25 reloc_sym_max defined fixed bin(24,0) dcl 14-113 reloc_text_base_ptr defined pointer dcl 14-19 reloc_text_max defined fixed bin(24,0) dcl 14-107 reloc_work_base_ptr defined pointer dcl 14-27 reloc_work_max defined fixed bin(24,0) dcl 14-115 reserved_word based structure level 1 unaligned dcl 6-14 reswd_ptr defined pointer dcl 14-79 same_sort_merge_proc defined bit(1) dcl 14-215 scratch_dir defined char(168) dcl 14-207 sect_eop_flag defined fixed bin(17,0) dcl 14-137 seek_errno internal static fixed bin(17,0) initial dcl 3-176 seg_init_flag defined fixed bin(17,0) dcl 14-133 seg_init_list_ptr defined pointer dcl 14-41 stack_off defined fixed bin(17,0) dcl 14-121 statement_info_ptr defined pointer dcl 14-77 status_arg internal static structure level 1 unaligned dcl 3-28 string builtin function dcl 3-183 sym_base_ptr defined pointer dcl 14-17 sym_max defined fixed bin(17,0) dcl 14-105 sym_wd_off defined fixed bin(17,0) dcl 14-103 tag_table_max defined fixed bin(17,0) dcl 14-167 tag_table_ptr defined pointer dcl 14-53 temp_arg internal static structure level 1 unaligned dcl 3-24 temp_token_area_ptr defined pointer dcl 14-43 temp_token_max defined fixed bin(17,0) dcl 14-169 temp_token_ptr defined pointer dcl 14-45 text based bit(36) array packed unaligned dcl 61 text_base_ptr defined pointer dcl 14-9 text_wd_off defined fixed bin(17,0) dcl 14-91 token_block1_ptr defined pointer dcl 14-47 token_block2_ptr defined pointer dcl 14-49 value_cnt defined fixed bin(17,0) dcl 14-195 ws_charcnt defined fixed bin(17,0) dcl 14-187 ws_wdoff defined fixed bin(17,0) dcl 14-201 x1_struct internal static structure level 1 unaligned dcl 3-48 xref_bypass defined bit(1) dcl 14-213 xref_chain_ptr defined pointer dcl 14-75 xref_token_ptr defined pointer dcl 14-73 NAMES DECLARED BY EXPLICIT CONTEXT. cobol_read_gen 000010 constant entry external dcl 28 start 000017 constant label dcl 91 start_codegen 000260 constant label dcl 175 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 3050 3432 2510 3060 Length 4234 2510 362 565 337 262 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME cobol_read_gen 184 external procedure is an external procedure. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 pr5_struct_ptr cobol_read_gen 000012 pr5_struct cobol_read_gen 000022 iocb_arg cobol_read_gen 000030 cra_arg cobol_read_gen 000036 cra_basic_struct cobol_read_gen 000044 iocb_basic_struct cobol_read_gen 000052 mpout cobol_read_gen 000064 alpha_type9 cobol_read_gen 000120 trans_type9 cobol_read_gen 000154 num_type9 cobol_read_gen 000210 fkey_type9 cobol_read_gen 000244 type19 cobol_read_gen 000256 ioerror cobol_read_gen 000266 opt_text cobol_read_gen 000270 fsb_keylen_sw cobol_read_gen STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME cobol_read_gen 000100 ptag cobol_read_gen 000102 args cobol_read_gen 000144 output_errno cobol_read_gen 000146 ft_ptr cobol_read_gen 000150 fkey_ptr cobol_read_gen 000152 arg_ptr cobol_read_gen 000154 ioerror_ptr cobol_read_gen 000156 stoff cobol_read_gen 000157 aloff cobol_read_gen 000160 sbuf_off cobol_read_gen 000161 size cobol_read_gen 000162 reclen_off cobol_read_gen 000163 buflen_off cobol_read_gen 000164 declen_off cobol_read_gen 000165 keylen_off cobol_read_gen 000166 temp cobol_read_gen 000167 ntag cobol_read_gen 000170 iosw cobol_read_gen 000171 alt_sw cobol_read_gen 000172 read_next_sw cobol_read_gen 000174 char5 cobol_read_gen 000176 key_ctr cobol_read_gen 000177 skip_read_tag cobol_read_gen 000200 rw_ptr cobol_read_gen 000202 eos_ptr cobol_read_gen THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_l_a r_e_as r_ne_as call_ext_out return_mac ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. cobol_alloc$stack cobol_call_op cobol_call_op$skip cobol_define_tag cobol_emit cobol_gen_ioerror cobol_gen_ioerror$finish_up cobol_io_util$bin_to_dec cobol_io_util$bypass_mode_error cobol_io_util$bypass_readkey cobol_io_util$file_desc cobol_io_util$fixed_add cobol_io_util$key_loc cobol_io_util$key_num cobol_io_util$move cobol_io_util$move_direct cobol_io_util$move_from_varlen cobol_ioop_util$lda_du cobol_make_tagref cobol_move_gen cobol_read_ft cobol_read_rand cobol_reg_manager$after_op cobol_set_fsbptr cobol_set_pr cobol_trans_alphabet$io THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. cobol_$next_tag cobol_$text_wd_off LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 28 000004 59 000015 91 000017 93 000021 94 000026 95 000032 96 000034 97 000035 98 000036 99 000037 101 000040 104 000044 105 000046 106 000052 107 000053 109 000055 112 000056 113 000057 114 000060 115 000062 119 000063 120 000065 121 000067 123 000071 126 000104 130 000121 133 000131 135 000134 136 000137 140 000140 143 000145 146 000153 148 000173 149 000177 150 000203 152 000206 155 000207 156 000212 161 000214 163 000217 165 000235 166 000237 167 000246 168 000250 169 000252 170 000255 175 000260 177 000262 179 000264 181 000272 183 000275 184 000303 186 000316 189 000322 190 000343 194 000363 196 000374 200 000403 202 000406 205 000412 208 000445 211 000451 213 000471 214 000474 215 000475 216 000500 217 000502 219 000505 222 000520 224 000533 226 000544 228 000553 229 000557 231 000561 234 000612 237 000613 241 000624 242 000627 244 000630 247 000642 249 000655 251 000666 255 000675 257 000722 260 000724 267 000740 268 000743 270 000744 272 000754 276 000762 279 001001 281 001010 284 001023 286 001034 289 001043 292 001045 293 001054 295 001107 300 001136 303 001137 306 001141 310 001176 316 001225 318 001227 320 001232 323 001233 325 001242 328 001257 330 001266 336 001275 341 001276 343 001304 346 001310 349 001317 352 001334 354 001342 355 001344 357 001345 359 001364 360 001371 361 001376 363 001400 366 001404 367 001406 368 001412 370 001414 372 001417 375 001420 376 001422 377 001425 379 001427 383 001432 385 001434 387 001444 391 001474 393 001476 395 001511 397 001521 399 001531 401 001545 405 001554 407 001557 409 001560 411 001572 413 001603 419 001612 420 001615 422 001616 423 001621 424 001623 426 001625 430 001637 432 001641 435 001654 438 001665 439 001666 441 001701 443 001712 447 001721 449 001723 451 001733 454 001742 458 001761 463 001775 466 001777 468 002006 471 002042 477 002076 480 002102 484 002136 486 002176 488 002214 489 002221 490 002226 491 002230 492 002233 493 002235 494 002237 495 002241 497 002243 501 002253 504 002262 508 002306 511 002314 512 002322 513 002324 514 002330 516 002332 521 002342 524 002362 526 002401 528 002406 530 002414 531 002422 532 002424 533 002427 534 002431 535 002435 536 002437 537 002441 541 002451 544 002463 546 002476 548 002507 ----------------------------------------------------------- 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