COMPILATION LISTING OF SEGMENT cobol_usrwd 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 1013.0 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_usrwd.pl1 Reformatted code to new Cobol standard. 19* END HISTORY COMMENTS */ 20 21 22 /* Modified on 04/24/78 by FCH, [3.0-1], delete inherited usage on non-elem dn */ 23 /* Modified since Version 3.0 */ 24 25 /* format: style3 */ 26 cobol_usrwd: 27 proc (ptrtab_ptr, counter, hashptr, sectno, ntendptr, ref_type, was_found, not_found, diag_no, ntptr2); 28 29 30 /* DECLARATION OF THE PARAMETERS */ 31 32 dcl ptrtab_ptr ptr; /* points to data name stack pointer table (input) */ 33 dcl counter fixed bin (15); /* number of entries in data name stack pointer table (input) */ 34 dcl hashptr ptr; /* points to string base table array (input) */ 35 dcl sectno fixed bin (15); /* current section number (input) */ 36 dcl ntendptr ptr; /* points to word following last name table buffer entry (input) */ 37 dcl ref_type bit (1); /* reference type: "0"b - data, "1"b - procedure (input) */ 38 dcl was_found bit (1); /* set to "1"b if name found without error (output) */ 39 dcl not_found bit (1); /* set to "1"b if name not found and no error (output) */ 40 dcl diag_no fixed bin (15); /* error type (out) */ 41 dcl ntptr2 ptr; /* points to name table buffer entry for a found name (output) */ 42 43 dcl 1 auser_word based (stackptr), 44 2 size fixed bin (15), 45 2 line fixed bin (15), 46 2 column fixed bin (7), 47 2 type fixed bin (7), 48 2 searched bit (1), 49 2 duplicate bit (1), 50 2 info3 bit (6), 51 2 length fixed bin (7), 52 2 word char (30); 53 54 dcl template char (500) based (ntptr); 55 dcl template1 (500) char (1) based (addr (template)); 56 declare BIT36 bit (36) based; 57 58 /* DECLARATION OF INTERNAL VARIABLES */ 59 60 dcl alength fixed bin (15); 61 dcl blength fixed bin (15); 62 dcl (i, k, n, s) fixed bin (15); 63 dcl prev_k fixed bin (15); 64 dcl hashno fixed bin (15); 65 dcl psectno fixed bin (15); 66 dcl this_sectno fixed bin (15); 67 dcl levstack (50) fixed bin (15); 68 dcl cn1 char (4); 69 dcl aname char (30); 70 dcl bname char (30); 71 dcl ntptr ptr; 72 dcl ntptr1 ptr; 73 dcl (ptr1, dn_ptr) ptr; 74 dcl not_done bit (1); 75 dcl found_one bit (1); 76 dcl still_searching bit (1); 77 dcl section_not_finished 78 bit (1); 79 80 81 dcl ptrtable (1:50) ptr based (ptrtab_ptr); 82 dcl arrpntr (1:512) ptr based (hashptr); 83 dcl stackptr ptr; 84 dcl stackbegptr ptr; 85 86 dcl fileno fixed bin; 87 dcl name_ptr ptr; /* for fd_token include file */ 88 89 dcl addr builtin; 90 dcl fixed builtin; 91 dcl mod builtin; 92 dcl null builtin; 93 dcl substr builtin; 94 dcl unspec builtin; 95 96 97 /************************************/ 98 start: 99 fileno = 0; 100 restart: 101 stackptr = ptrtable (counter); /* point at the highest qualifier in the name stack */ 102 was_found = "0"b; 103 not_found = "1"b; 104 not_done = "1"b; 105 alength = auser_word.length; 106 substr (aname, 1, alength) = substr (auser_word.word, 1, alength); 107 108 hashno = 0; /* hash user word to get ntptr */ 109 do i = 1 to alength; 110 hashno = hashno + fixed (unspec (substr (aname, i, 1)), 15); 111 end; 112 ntptr = arrpntr (mod (hashno, 512) + 1); 113 114 if ^ref_type 115 then do; /* IDENTIFIER REFERENCE */ 116 call search; 117 if ntptr = null () 118 then go to notfound; 119 if ntptr -> data_name.type = 18 120 then go to notfound; /* proc-names are last in hash string */ 121 122 if counter = 1 123 then do; /* UNQUALIFIED DATA-NAME */ 124 125 if fileno ^= 0 126 then do; /* file-name (> 0) or cd-name (< 0) qualification */ 127 do while (ntptr ^= null ()); 128 if ntptr -> data_name.type = 9 & ntptr -> data_name.file_num = fileno 129 then do; 130 if was_found 131 then do; 132 diag_no = fatal_AMBIGUOUS_QUAL_REF; 133 go to duplicate_error; 134 end; 135 else do; 136 was_found = "1"b; 137 ntptr2 = ntptr; 138 end; 139 end; 140 ntptr = ntptr -> data_name.string_ptr; 141 call search; 142 end; 143 if was_found 144 then go to found; 145 else go to notfound; 146 end; 147 148 ntptr2 = ntptr; 149 if ^ntptr2 -> data_name.searched 150 then do; 151 ntptr2 -> data_name.searched = "1"b; 152 ntptr = ntptr2 -> data_name.string_ptr; 153 call search; /* see if there's another */ 154 if ntptr ^= null () 155 then ntptr2 -> data_name.duplicate = "1"b; 156 end; 157 if ntptr2 -> data_name.duplicate 158 then do; 159 if ntptr2 -> data_name.type = 9 160 then do; 161 if ntptr2 -> data_name.level = 1 162 then diag_no = fatal_DATANAME_MULTIPLY_DECLARED; 163 else diag_no = fatal_AMBIGUOUS_UNQUAL_REF; 164 end; 165 else if ntptr2 -> data_name.type = 12 | ntptr2 -> data_name.type = 16 166 then diag_no = fatal_FILENAME_MULTIPLY_DECLARED; 167 else if ntptr2 -> data_name.type = 13 168 then diag_no = fatal_CDNAME_MULTIPLY_DECLARED; 169 else diag_no = fatal_DATANAME_MULTIPLY_DECLARED; 170 go to duplicate_error; 171 end; 172 else go to found; 173 end; 174 175 else do; /* QUALIFIED DATA-NAME */ 176 if (ntptr -> data_name.type = 12 | ntptr -> data_name.type = 16 177 | ntptr -> data_name.type = 13) & fileno = 0 178 then do; /* file or cd-name qualification */ 179 ntptr1 = ntptr; 180 ntptr = ntptr1 -> data_name.string_ptr; 181 call search; 182 if ntptr = null () 183 then do; /* found a unique file-name */ 184 ntptr = ntptr1; 185 if ntptr -> data_name.type = 13 186 then fileno = ntptr -> cdtoken.cd_num; 187 else fileno = ntptr -> fd_token.file_no; 188 levstack (counter) = 0; 189 counter = counter - 1; 190 go to restart; 191 end; 192 else do; 193 if ntptr -> data_name.type = 12 | ntptr -> data_name.type = 16 194 then diag_no = fatal_FILENAME_MULTIPLY_DECLARED; 195 else if ntptr -> data_name.type = 13 196 then diag_no = fatal_CDNAME_MULTIPLY_DECLARED; 197 else diag_no = fatal_DATANAME_MULTIPLY_DECLARED; 198 go to duplicate_error; 199 end; 200 end; 201 levstack (counter + 1) = 0; /* dummy level higher than all legal vlevels */ 202 do while (not_done); /* use string technique to search all occurrences of highest qualifier */ 203 ntptr1 = ntptr; /* save ptr to highest qualifier */ 204 k = counter - 1; 205 prev_k = counter; 206 still_searching = "1"b; 207 if ntptr -> data_name.type = 9 208 then levstack (counter) = ntptr -> data_name.level; 209 /* else if ntptr->data_name.type = 13 then levstack(counter) = ntptr->cdtoken.level; */ 210 else do; 211 if ntptr -> data_name.type = 17 212 then diag_no = fatal_MNEMONIC_NAME_QUALIFIER; 213 else if ntptr -> data_name.type = 10 214 then diag_no = fatal_INDEX_NAME_QUALIFIER; 215 else if ntptr -> data_name.type = 40 216 then diag_no = fatal_ALPHABET_NAME_QUALIFIER; 217 else diag_no = fatal_INVALID_QUALIFIER; 218 not_found = "0"b; 219 go to fail_exit; 220 end; 221 do while (still_searching); 222 /* linear search for rest starting at 2nd highest level */ 223 ntptr = addrel (ntptr, divide (ntptr -> data_name.size + 11, 8, 17, 0) * 2); 224 if ntptr = ntendptr 225 then still_searching = "0"b; 226 /* abandon search but check if found */ 227 else if ntptr -> data_name.type ^= 10 228 then do; /* skip type 10's */ 229 do while (ntptr -> data_name.level <= levstack (k + 1)); 230 k = k + 1; 231 end; 232 still_searching = k < counter; 233 /* search until backed up to highest qualifier */ 234 if still_searching 235 then do; 236 if k ^= prev_k 237 then do; 238 prev_k = k; 239 stackptr = ptrtable (k); 240 blength = auser_word.length; 241 substr (bname, 1, blength) = 242 substr (auser_word.word, 1, blength); 243 end; 244 n = size_TOKEN (ntptr -> data_name.type) - 3; 245 cn1 = substr (template, n, 4); 246 if blength = fixed (unspec (cn1), 15) 247 then if substr (bname, 1, blength) 248 = substr (template, n + 4, blength) 249 then if k = 1 250 then /* at lowest level */ 251 if was_found 252 then do; 253 /* full name already found */ 254 diag_no = fatal_AMBIGUOUS_QUAL_REF; 255 go to duplicate_error; 256 end; 257 else do; 258 /* first time full name found */ 259 if fileno = 0 260 | (ntptr -> data_name.type = 9 261 & ntptr -> data_name.file_num 262 = fileno) 263 then do; 264 was_found = "1"b; 265 ntptr2 = ntptr; 266 end; 267 end; 268 else do; 269 /* found a qualifier, look for next lower qualifier */ 270 levstack (k) = ntptr -> data_name.level; 271 k = k - 1; 272 end; 273 end; /* if still_searching */ 274 end; /* if data_name.type ^= 10 */ 275 end; /* while(still_searching) */ 276 ntptr = ntptr1 -> data_name.string_ptr; 277 call search; 278 if ntptr = null () 279 then not_done = "0"b; 280 else if ntptr -> data_name.type = 18 281 then not_done = "0"b; 282 end; /* while(not_done) */ 283 end; /* if counter ^= 1 */ 284 end; /* if ^ref_type */ 285 286 else do; /* SECTION or PARAGRAPH-NAME REFERENCE */ 287 stackbegptr = ptrtable (1); /* point at the qualified name in the name stack */ 288 do while (not_done); /* get first type 18 token */ 289 call search; 290 if ntptr = null () 291 then return; /* section or paragraph-name not found */ 292 else if ntptr -> proc_ref.type = 18 293 then not_done = "0"b; 294 else ntptr = ntptr -> proc_ref.string_ptr; 295 end; 296 if counter = 1 297 then do; /* UNQUALIFIED SECTION or PARAGRAPH-NAME REFERENCE */ 298 ntptr1 = ntptr; 299 psectno = ntptr -> proc_ref.section_num; 300 301 /* try to find an occurrence of this section or paragraph-name in the referencing section */ 302 303 do while (psectno > sectno); 304 ntptr = ntptr -> proc_ref.string_ptr; 305 call search; 306 if ntptr = null () 307 then psectno = -1; /* exit do loop with failure */ 308 else psectno = ntptr -> proc_ref.section_num; 309 end; 310 if psectno = sectno 311 then do; /* Found first occurrence of this section or paragraph-name in the 312* referencing section. Now look for a duplicate in the same section */ 313 314 ntptr2 = ntptr; 315 if ntptr -> proc_ref.searched 316 /* was this string searched before? */ 317 then if ntptr -> proc_ref.duplicate 318 then do; /* duplicate found in previous search */ 319 diag_no = fatal_PROCNAME_MULTIPLY_DECLARED; 320 go to duplicate_error; 321 end; 322 else was_found = "1"b; 323 /* no duplicate found */ 324 else do; /* first time string searched */ 325 ntptr -> proc_ref.searched = "1"b; 326 ntptr = ntptr -> proc_ref.string_ptr; 327 call search; 328 if ntptr ^= null () 329 then if ntptr -> proc_ref.section_num = sectno 330 then do; 331 /* duplicate found in this section */ 332 diag_no = fatal_PROCNAME_MULTIPLY_DECLARED; 333 ntptr2 -> proc_ref.duplicate = "1"b; 334 go to duplicate_error; 335 end; 336 else was_found = "1"b; 337 else was_found = "1"b; 338 end; 339 end; 340 else do; /* Section or paragraph-name not found in referencing section, 341* search for a duplicate in any section. */ 342 343 ntptr = ntptr1 -> proc_ref.string_ptr; 344 call search; 345 if ntptr ^= null () 346 then do; /* found another occurrence of this section or paragraph-name */ 347 diag_no = fatal_AMBIGUOUS_PROCNAME_REF; 348 go to duplicate_error; 349 end; 350 else do; /* no other occurrence of this section or paragraph name found */ 351 was_found = "1"b; 352 ntptr1 -> proc_ref.searched = "1"b; 353 ntptr2 = ntptr1; 354 end; 355 end; /* Section or paragraph-name not found in referencing section... */ 356 end; /* UNQUALIFIED SECTION or PARAGRAPH-NAME REFERENCE */ 357 else if counter = 2 & ntptr -> proc_ref.section_name 358 then do; /* ONLY ONE QUALIFIER AND THAT QUALIFIER IS A SECTION-NAME */ 359 ntptr1 = ntptr; /* save ptr to first occurrence of section-name */ 360 not_done = "1"b; 361 do while (not_done); /* search all occurrences of this section-name */ 362 found_one = "0"b; 363 if ntptr -> proc_ref.section_name 364 then do; /* linearly search this section for all occurrences of the paragraph-name */ 365 this_sectno = ntptr -> proc_ref.section_num; 366 section_not_finished = "1"b; 367 do while (section_not_finished); 368 ntptr = 369 addrel (ntptr, divide (ntptr -> proc_ref.size + 11, 8, 17, 0) * 2); 370 if ntptr = ntendptr 371 then section_not_finished = "0"b; 372 else if ntptr -> proc_ref.type ^= 18 373 then section_not_finished = "0"b; 374 else if ntptr -> proc_ref.section_num ^= this_sectno 375 then section_not_finished = "0"b; 376 else if ntptr -> proc_ref.name_size = stackbegptr -> auser_word.length 377 then if substr (ntptr -> proc_ref.name, 1, ntptr -> proc_ref.name_size) 378 = 379 substr (stackbegptr -> auser_word.word, 1, 380 ntptr -> proc_ref.name_size) 381 then if found_one 382 then do; 383 /* found duplicate in this section */ 384 diag_no = fatal_PROCNAME_MULTIPLY_DECLARED; 385 ntptr2 -> proc_ref.duplicate = "1"b; 386 go to duplicate_error; 387 end; 388 else do; 389 /* found first occurrence of 390* paragraph, search for 391* another in this section */ 392 393 found_one = "1"b; 394 ntptr -> proc_ref.searched = "1"b; 395 ntptr2 = ntptr; 396 end; 397 end; /* do while(section_not_finished) */ 398 if was_found & found_one 399 then do; /* entire qualified name was already found */ 400 diag_no = fatal_AMBIGUOUS_PROCNAME_REF; 401 go to duplicate_error; 402 end; 403 else was_found = found_one; 404 end; /* linearly search this section for all occurrences of the paragraph-name */ 405 ntptr = ntptr1 -> proc_ref.string_ptr; 406 call search; 407 not_done = ntptr ^= null (); 408 end; /* do while(not_done) */ 409 end; /* ONLY ONE QUALIFIER AND THAT QUALIFIER IS A SECTION-NAME */ 410 end; 411 return; 412 413 search: 414 procedure; 415 416 do while (ntptr ^= null ()); 417 n = size_TOKEN (ntptr -> data_name.type) - 3; 418 cn1 = substr (template, n, 4); 419 if alength = fixed (unspec (cn1), 15) 420 then if substr (aname, 1, alength) = substr (template, n + 4, alength) 421 then return; 422 ntptr = ntptr -> data_name.string_ptr; 423 end; 424 425 end search; 426 427 428 /*************************************/ 429 /* EXITS */ 430 /*************************************/ 431 found: 432 if ntptr2 -> data_name.type = 9 & ntptr2 -> data_name.non_elementary 433 /* [3.0-1] */ 434 then addr (ntptr2 -> data_name.file_section) -> BIT36 = 435 /* [3.0-1] */ addr (ntptr2 -> data_name.file_section) -> BIT36 /* [3.0-1] */ 436 & /* [3.0-1] */ "111111111111100111111111111110000001"b; 437 /* [3.0-1] */ 438 was_found = "1"b; 439 not_found = "0"b; 440 success_exit: 441 return; 442 443 notfound: 444 was_found = "0"b; 445 not_found = "1"b; 446 fail_exit: 447 return; 448 449 duplicate_error: 450 was_found = "0"b; 451 not_found = "0"b; 452 go to fail_exit; 453 454 /************************************/ 455 /* INCLUDE FILES */ 456 /************************************/ 1 1 1 2 /* BEGIN INCLUDE FILE ... cobol_repl_diag_values.incl.pl1 */ 1 3 /* Modified on 11/02/78/ by RAL, [3.0-1], Implement alternate record keys for MR7.0 */ 1 4 /* Last modified on 11/19/76 by ORN */ 1 5 1 6 dcl fatal_AMBIGUOUS_UNQUAL_REF fixed bin static options(constant) init(1); 1 7 dcl fatal_DATANAME_NOT_DECLARED fixed bin static options(constant) init(2); 1 8 dcl fatal_AMBIGUOUS_QUAL_REF fixed bin static options(constant) init(3); 1 9 dcl fatal_PROCNAME_NOT_DECLARED fixed bin static options(constant) init(4); 1 10 dcl fatal_PROCNAME_MULTIPLY_DECLARED fixed bin static options(constant) init(5); 1 11 dcl fatal_DATANAME_MULTIPLY_DECLARED fixed bin static options(constant) init(6); 1 12 1 13 dcl obs_KEY_IN_RECORD fixed bin static options(constant) init(21); 1 14 dcl obs_KEY_NOT_IN_RECORD fixed bin static options(constant) init(23); 1 15 dcl warn_BAD_STATUS_KEY fixed bin static options(constant) init(24); 1 16 dcl warn_DATANAME_NOT_ALPHANUM fixed bin static options(constant) init(25); 1 17 1 18 dcl fatal_MNEMONIC_NAME_QUALIFIER fixed bin static options(constant) init(32); 1 19 dcl fatal_INDEX_NAME_QUALIFIER fixed bin static options(constant) init(33); 1 20 dcl fatal_ALPHABET_NAME_QUALIFIER fixed bin static options(constant) init(34); 1 21 dcl fatal_INVALID_QUALIFIER fixed bin static options(constant) init(35); 1 22 dcl fatal_MNEMONIC_NAME_EXPECTED fixed bin static options(constant) init(36); 1 23 dcl warn_OBSOLETE_MNEMONIC_NAME fixed bin static options(constant) init(37); 1 24 dcl obs_SPECIAL_NAMES_NOTE fixed bin static options(constant) init(38); 1 25 dcl warn_SPECIAL_NAMES_RECOVERY fixed bin static options(constant) init(39); 1 26 dcl fatal_FILENAME_MULTIPLY_DECLARED fixed bin static options(constant) init(40); 1 27 dcl fatal_NO_LINAGE_FOR_THIS_FILE fixed bin static options(constant) init(41); 1 28 dcl fatal_NO_LINAGE_FOR_ANY_FILE fixed bin static options(constant) init(42); 1 29 dcl fatal_AMBIGUOUS_LINAGE_REF fixed bin static options(constant) init(43); 1 30 dcl fatal_AMBIGUOUS_PROCNAME_REF fixed bin static options(constant) init(44); 1 31 dcl fatal_FILE_NAME_EXPECTED fixed bin static options(constant) init(45); 1 32 dcl fatal_DATANAME_EXPECTED fixed bin static options(constant) init(46); 1 33 dcl fatal_DATANAME_NOT_NUMERIC fixed bin static options(constant) init(47); 1 34 dcl warn_DATANAME_NOT_INTEGER fixed bin static options(constant) init(48); 1 35 dcl warn_ODO_RANGE fixed bin static options(constant) init(49); 1 36 dcl warn_CONSTANT_ILLOGICAL fixed bin static options(constant) init(50); 1 37 dcl fatal_DATANAME_SUBSCRIPTED fixed bin static options(constant) init(51); 1 38 dcl warn_DATANAME_VARLEN fixed bin static options(constant) init(52); 1 39 dcl warn_ITEM_IN_FILE_SECTION fixed bin static options(constant) init(53); 1 40 dcl fatal_ITEM_IN_COM_SECTION fixed bin static options(constant) init(54); 1 41 dcl fatal_ITEM_IN_REPORT_SECTION fixed bin static options(constant) init(55); 1 42 dcl fatal_ITEM_IN_CONSTANT_SECTION fixed bin static options(constant) init(56); 1 43 dcl warn_BAD_CATALOG_NAME fixed bin static options(constant) init(57); 1 44 dcl warn_BAD_TAPE_CATALOG_NAME fixed bin static options(constant) init(58); 1 45 dcl warn_BAD_ATTACH_OPTIONS fixed bin static options(constant) init(59); 1 46 dcl warn_BAD_VALUE_OF_ID fixed bin static options(constant) init(60); 1 47 dcl warn_BAD_VALUE_OF_RETENTION fixed bin static options(constant) init(61); 1 48 dcl fatal_CDNAME_MULTIPLY_DECLARED fixed bin static options(constant) init(62); 1 49 dcl fatal_KEY_NOT_IN_RECORD fixed bin static options(constant) init(63); /* [3.0-1] */ 1 50 dcl fatal_SAME_RECORD_OFFSET fixed bin static options(constant) init(64); /* [3.0-1] */ 1 51 1 52 /* END INCLUDE FILE ... cobol_repl_diag_values.incl.pl1 */ 1 53 457 2 1 2 2 /* BEGIN INCLUDE FILE ... cobol_size_values.incl.pl1 */ 2 3 /* Last modified on 11/18/76 by ORN */ 2 4 2 5 /* This include file contains constant values associated with 2 6*the fixed sizes of Multics COBOL tokens and other data */ 2 7 2 8 dcl size_COMHDR fixed bin static options(constant) init(56); 2 9 dcl size_NAMESIZE fixed bin static options(constant) init(4); 2 10 2 11 dcl size_TOKEN (40) fixed bin static options(constant) init( 2 12 /* TOKEN NUMBER NAME STRUCTURE PTR SIZE (fixed portion in bytes) */ 2 13 /* 1 reserved word reserved_word rw_ptr */ 28, 2 14 /* 2 numeric literal numeric_lit nlit_ptr */ 36, 2 15 /* 3 alphanumeric literal alphanum_lit alit_ptr */ 24, 2 16 /* 4 */ 0, 2 17 /* 5 diagnostic message message message_ptr */ 32, 2 18 /* 6 */ 0, 2 19 /* 7 procedure definition proc_def proc_def_ptr */ 52, 2 20 /* 8 user word user_word */ 24, 2 21 /* 9 data name data_name dn_ptr */ 112, 2 22 /* 10 index name index_name ind_ptr */ 80, 2 23 /* 11 */ 52, 2 24 /* 12 file name fd_token name_ptr */ 48, 2 25 /* 13 communication name cdtoken cdtoken_ptr */ 64, 2 26 /* 14 */ 100, 2 27 /* 15 */ 68, 2 28 /* 16 sort file name (use type 12 structure) */ 48, 2 29 /* 17 mnemonic name mnemonic_name name_ptr */ 56, 2 30 /* 18 procedure reference proc_ref proc_ref_ptr */ 52, 2 31 /* 19 end statement end_stmt eos_ptr */ 38, 2 32 /* 20 */ 120, 2 33 /* 21 */ 84, 2 34 /* 22 */ 56, 2 35 /* 23 */ 0, 2 36 /* 24 */ 0, 2 37 /* 25 */ 0, 2 38 /* 26 */ 0, 2 39 /* 27 */ 0, 2 40 /* 28 */ 0, 2 41 /* 29 */ 0, 2 42 /* 30 internal tag int_tag tag_ptr */ 49, 2 43 /* 31 equate tag equate_tags equate_ptr */ 37, 2 44 /* 32 */ 0, 2 45 /* 33 */ 0, 2 46 /* 34 */ 0, 2 47 /* 35 */ 0, 2 48 /* 36 */ 0, 2 49 /* 37 */ 0, 2 50 /* 38 */ 0, 2 51 /* 39 */ 0, 2 52 /* 40 alphabet name alphabet_name alpha_name_ptr */ 580); 2 53 /* 100 internal register cobol_type100 cobol_type100_ptr 17 */ 2 54 /* 102 immediate constant immed_const immed_const_ptr 20 */ 2 55 2 56 /* END INCLUDE FILE ... cobol_size_values.incl.pl1 */ 2 57 458 3 1 3 2 /* BEGIN INCLUDE FILE ... cobol_type12.incl.pl1 */ 3 3 /* Last modified on 11/19/76 by ORN */ 3 4 3 5 /* 3 6*A type 12 file name token is entered into the name table by the data 3 7*division syntax phase for each file name appearing in the data division. 3 8*When the replacement phase processes the procedure division minpral file, 3 9*each reference to a file name is replaced with the type 12 token created 3 10*for that file name. 3 11**/ 3 12 3 13 /* dcl name_ptr ptr; */ 3 14 3 15 /* BEGIN DECLARATION OF TYPE12 (FILE NAME) TOKEN */ 3 16 dcl 1 fd_token based (name_ptr), 4 1 4 2 /* begin include file ... cobol_TYPE12.incl.pl1 */ 4 3 /* Last modified on 11/17/76 by ORN */ 4 4 4 5 /* header */ 4 6 2 size fixed bin, 4 7 2 line fixed bin, 4 8 2 column fixed bin, 4 9 2 type fixed bin, 4 10 /* body */ 4 11 2 string_ptr ptr, 4 12 2 prev_rec ptr, 4 13 2 info bit (8), 4 14 2 def_line fixed bin, 4 15 2 file_no fixed bin, 4 16 2 name_size fixed bin, 4 17 2 name char(0 refer(fd_token.name_size)); 4 18 4 19 /* end include file ... cobol_TYPE12.incl.pl1 */ 4 20 3 17 3 18 /* END DECLARATION OF TYPE12 (FILE NAME) TOKEN */ 3 19 3 20 3 21 /* END INCLUDE FILE ... cobol_type12.incl.pl1 */ 3 22 459 5 1 5 2 /* BEGIN INCLUDE FILE ... cobol_ext_.incl.pl1 */ 5 3 /* Last modified on 06/17/76 by ORN */ 5 4 /* Last modified on 12/28/76 by FCH */ 5 5 /* Last modified on 12/01/80 by FCH */ 5 6 5 7 /* <<< SHARED EXTERNALS INCLUDE FILE >>> */ 5 8 5 9 5 10 dcl cobol_ext_$cobol_afp ptr ext; 5 11 dcl cobol_afp ptr defined ( cobol_ext_$cobol_afp); 5 12 dcl cobol_ext_$cobol_analin_fileno ptr ext; 5 13 dcl cobol_analin_fileno ptr defined ( cobol_ext_$cobol_analin_fileno); 5 14 dcl cobol_ext_$report_first_token ptr ext; 5 15 dcl report_first_token ptr defined( cobol_ext_$report_first_token); 5 16 dcl cobol_ext_$report_last_token ptr ext; 5 17 dcl report_last_token ptr defined ( cobol_ext_$report_last_token); 5 18 dcl cobol_ext_$cobol_eltp ptr ext; 5 19 dcl cobol_eltp ptr defined ( cobol_ext_$cobol_eltp); 5 20 dcl cobol_ext_$cobol_cmfp ptr ext; 5 21 dcl cobol_cmfp ptr defined ( cobol_ext_$cobol_cmfp); 5 22 dcl cobol_ext_$cobol_com_fileno ptr ext; 5 23 dcl cobol_com_fileno ptr defined ( cobol_ext_$cobol_com_fileno); 5 24 dcl cobol_ext_$cobol_com_ptr ptr ext; 5 25 dcl cobol_com_ptr ptr defined ( cobol_ext_$cobol_com_ptr); 5 26 dcl cobol_ext_$cobol_dfp ptr ext; 5 27 dcl cobol_dfp ptr defined ( cobol_ext_$cobol_dfp); 5 28 dcl cobol_ext_$cobol_hfp ptr ext; 5 29 dcl cobol_hfp ptr defined ( cobol_ext_$cobol_hfp); 5 30 dcl cobol_ext_$cobol_m1fp ptr ext; 5 31 dcl cobol_m1fp ptr defined ( cobol_ext_$cobol_m1fp); 5 32 dcl cobol_ext_$cobol_m2fp ptr ext; 5 33 dcl cobol_m2fp ptr defined ( cobol_ext_$cobol_m2fp); 5 34 dcl cobol_ext_$cobol_min1_fileno ptr ext; 5 35 dcl cobol_min1_fileno ptr defined ( cobol_ext_$cobol_min1_fileno); 5 36 dcl cobol_ext_$cobol_min2_fileno_ptr ptr ext; 5 37 dcl cobol_min2_fileno_ptr ptr defined ( cobol_ext_$cobol_min2_fileno_ptr); 5 38 dcl cobol_ext_$cobol_name_fileno ptr ext; 5 39 dcl cobol_name_fileno ptr defined ( cobol_ext_$cobol_name_fileno); 5 40 dcl cobol_ext_$cobol_name_fileno_ptr ptr ext; 5 41 dcl cobol_name_fileno_ptr ptr defined ( cobol_ext_$cobol_name_fileno_ptr); 5 42 dcl cobol_ext_$cobol_ntfp ptr ext; 5 43 dcl cobol_ntfp ptr defined ( cobol_ext_$cobol_ntfp); 5 44 dcl cobol_ext_$cobol_pdofp ptr ext; 5 45 dcl cobol_pdofp ptr defined ( cobol_ext_$cobol_pdofp); 5 46 dcl cobol_ext_$cobol_pfp ptr ext; 5 47 dcl cobol_pfp ptr defined ( cobol_ext_$cobol_pfp); 5 48 dcl cobol_ext_$cobol_rm2fp ptr ext; 5 49 dcl cobol_rm2fp ptr defined ( cobol_ext_$cobol_rm2fp); 5 50 dcl cobol_ext_$cobol_rmin2fp ptr ext; 5 51 dcl cobol_rmin2fp ptr defined ( cobol_ext_$cobol_rmin2fp); 5 52 dcl cobol_ext_$cobol_curr_in ptr ext; 5 53 dcl cobol_curr_in ptr defined ( cobol_ext_$cobol_curr_in); 5 54 dcl cobol_ext_$cobol_curr_out ptr ext; 5 55 dcl cobol_curr_out ptr defined ( cobol_ext_$cobol_curr_out); 5 56 dcl cobol_ext_$cobol_sfp ptr ext; 5 57 dcl cobol_sfp ptr defined ( cobol_ext_$cobol_sfp); 5 58 dcl cobol_ext_$cobol_w1p ptr ext; 5 59 dcl cobol_w1p ptr defined ( cobol_ext_$cobol_w1p); 5 60 dcl cobol_ext_$cobol_w2p ptr ext; 5 61 dcl cobol_w2p ptr defined ( cobol_ext_$cobol_w2p); 5 62 dcl cobol_ext_$cobol_w3p ptr ext; 5 63 dcl cobol_w3p ptr defined ( cobol_ext_$cobol_w3p); 5 64 dcl cobol_ext_$cobol_w5p ptr ext; 5 65 dcl cobol_w5p ptr defined ( cobol_ext_$cobol_w5p); 5 66 dcl cobol_ext_$cobol_w6p ptr ext; 5 67 dcl cobol_w6p ptr defined ( cobol_ext_$cobol_w6p); 5 68 dcl cobol_ext_$cobol_w7p ptr ext; 5 69 dcl cobol_w7p ptr defined ( cobol_ext_$cobol_w7p); 5 70 dcl cobol_ext_$cobol_x3fp ptr ext; 5 71 dcl cobol_x3fp ptr defined ( cobol_ext_$cobol_x3fp); 5 72 dcl cobol_ext_$cobol_rwdd ptr ext; 5 73 dcl cobol_rwdd ptr defined(cobol_ext_$cobol_rwdd); 5 74 dcl cobol_ext_$cobol_rwpd ptr ext; 5 75 dcl cobol_rwpd ptr defined(cobol_ext_$cobol_rwpd); 5 76 5 77 5 78 dcl cobol_ext_$cobol_fileno1 fixed bin(24)ext; 5 79 dcl cobol_fileno1 fixed bin(24)defined ( cobol_ext_$cobol_fileno1); 5 80 dcl cobol_ext_$cobol_options_len fixed bin(24)ext; 5 81 dcl cobol_options_len fixed bin(24)defined ( cobol_ext_$cobol_options_len); 5 82 dcl cobol_ext_$cobol_pdout_fileno fixed bin(24)ext; 5 83 dcl cobol_pdout_fileno fixed bin(24)defined ( cobol_ext_$cobol_pdout_fileno); 5 84 dcl cobol_ext_$cobol_print_fileno fixed bin(24)ext; 5 85 dcl cobol_print_fileno fixed bin(24)defined ( cobol_ext_$cobol_print_fileno); 5 86 dcl cobol_ext_$cobol_rmin2_fileno fixed bin(24)ext; 5 87 dcl cobol_rmin2_fileno fixed bin(24)defined ( cobol_ext_$cobol_rmin2_fileno); 5 88 dcl cobol_ext_$cobol_x1_fileno fixed bin(24)ext; 5 89 dcl cobol_x1_fileno fixed bin(24)defined ( cobol_ext_$cobol_x1_fileno); 5 90 dcl cobol_ext_$cobol_x2_fileno fixed bin(24)ext; 5 91 dcl cobol_x2_fileno fixed bin(24)defined ( cobol_ext_$cobol_x2_fileno); 5 92 dcl cobol_ext_$cobol_x3_fileno fixed bin(24)ext; 5 93 dcl cobol_x3_fileno fixed bin(24)defined ( cobol_ext_$cobol_x3_fileno); 5 94 5 95 dcl cobol_ext_$cobol_lpr char (5) ext; 5 96 dcl cobol_lpr char (5) defined ( cobol_ext_$cobol_lpr); /* -2- */ 5 97 dcl cobol_ext_$cobol_options char (120) ext; 5 98 dcl cobol_options char (120) defined ( cobol_ext_$cobol_options); /* -30- */ 5 99 5 100 dcl cobol_ext_$cobol_xlast8 bit (1) ext; 5 101 dcl cobol_xlast8 bit (1) defined ( cobol_ext_$cobol_xlast8); /* -1- */ 5 102 dcl cobol_ext_$report_exists bit (1) ext; 5 103 dcl report_exists bit (1) defined ( cobol_ext_$report_exists); 5 104 5 105 5 106 /* <<< END OF SHARED EXTERNALS INCLUDE FILE >>> */ 5 107 /* END INCLUDE FILE ... cobol_ext_.incl.pl1 */ 5 108 460 6 1 6 2 /* BEGIN INCLUDE FILE ... cobol_type9.incl.pl1 */ 6 3 /* Last modified on 11/19/76 by ORN */ 6 4 6 5 /* 6 6*A type 9 data name token is entered into the name table by the data 6 7*division syntax phase for each data name described in the data division. 6 8*The replacement phase subsequently replaces type 8 user word references 6 9*to data names in the procedure division minpral file with the corresponding 6 10*type 9 tokens from the name table. 6 11**/ 6 12 6 13 /* dcl dn_ptr ptr; */ 6 14 6 15 /* BEGIN DECLARATION OF TYPE9 (DATA NAME) TOKEN */ 6 16 dcl 1 data_name based (dn_ptr), 7 1 7 2 /* begin include file ... cobol_TYPE9.incl.pl1 */ 7 3 /* Last modified on 06/19/77 by ORN */ 7 4 /* Last modified on 12/28/76 by FCH */ 7 5 7 6 /* header */ 7 7 2 size fixed bin, 7 8 2 line fixed bin, 7 9 2 column fixed bin, 7 10 2 type fixed bin, 7 11 /* body */ 7 12 2 string_ptr ptr, 7 13 2 prev_rec ptr, 7 14 2 searched bit (1), 7 15 2 duplicate bit (1), 7 16 2 saved bit (1), 7 17 2 debug_ind bit (1), 7 18 2 filler2 bit (3), 7 19 2 used_as_sub bit (1), 7 20 2 def_line fixed bin, 7 21 2 level fixed bin, 7 22 2 linkage fixed bin, 7 23 2 file_num fixed bin, 7 24 2 size_rtn fixed bin, 7 25 2 item_length fixed bin(24), 7 26 2 places_left fixed bin, 7 27 2 places_right fixed bin, 7 28 /* description */ 7 29 2 file_section bit (1), 7 30 2 working_storage bit (1), 7 31 2 constant_section bit (1), 7 32 2 linkage_section bit (1), 7 33 2 communication_section bit (1), 7 34 2 report_section bit (1), 7 35 2 level_77 bit (1), 7 36 2 level_01 bit (1), 7 37 2 non_elementary bit (1), 7 38 2 elementary bit (1), 7 39 2 filler_item bit (1), 7 40 2 s_of_rdf bit (1), 7 41 2 o_of_rdf bit (1), 7 42 2 bin_18 bit (1), 7 43 2 bin_36 bit (1), 7 44 2 pic_has_l bit (1), 7 45 2 pic_is_do bit (1), 7 46 2 numeric bit (1), 7 47 2 numeric_edited bit (1), 7 48 2 alphanum bit (1), 7 49 2 alphanum_edited bit (1), 7 50 2 alphabetic bit (1), 7 51 2 alphabetic_edited bit (1), 7 52 2 pic_has_p bit (1), 7 53 2 pic_has_ast bit (1), 7 54 2 item_signed bit(1), 7 55 2 sign_separate bit (1), 7 56 2 display bit (1), 7 57 2 comp bit (1), 7 58 2 ascii_packed_dec_h bit (1), /* as of 8/16/76 this field used for comp8. */ 7 59 2 ascii_packed_dec bit (1), 7 60 2 ebcdic_packed_dec bit (1), 7 61 2 bin_16 bit (1), 7 62 2 bin_32 bit (1), 7 63 2 usage_index bit (1), 7 64 2 just_right bit (1), 7 65 2 compare_argument bit (1), 7 66 2 sync bit (1), 7 67 2 temporary bit (1), 7 68 2 bwz bit (1), 7 69 2 variable_length bit (1), 7 70 2 subscripted bit (1), 7 71 2 occurs_do bit (1), 7 72 2 key_a bit (1), 7 73 2 key_d bit (1), 7 74 2 indexed_by bit (1), 7 75 2 value_numeric bit (1), 7 76 2 value_non_numeric bit (1), 7 77 2 value_signed bit (1), 7 78 2 sign_type bit (3), 7 79 2 pic_integer bit (1), 7 80 2 ast_when_zero bit (1), 7 81 2 label_record bit (1), 7 82 2 sign_clause_occurred bit (1), 7 83 2 okey_dn bit (1), 7 84 2 subject_of_keyis bit (1), 7 85 2 exp_redefining bit (1), 7 86 2 sync_in_rec bit (1), 7 87 2 rounded bit (1), 7 88 2 ad_bit bit (1), 7 89 2 debug_all bit (1), 7 90 2 overlap bit (1), 7 91 2 sum_counter bit (1), 7 92 2 exp_occurs bit (1), 7 93 2 linage_counter bit (1), 7 94 2 rnm_01 bit (1), 7 95 2 aligned bit (1), 7 96 2 not_user_writable bit (1), 7 97 2 database_key bit (1), 7 98 2 database_data_item bit (1), 7 99 2 seg_num fixed bin, 7 100 2 offset fixed bin(24), 7 101 2 initial_ptr fixed bin, 7 102 2 edit_ptr fixed bin, 7 103 2 occurs_ptr fixed bin, 7 104 2 do_rec char(5), 7 105 2 bitt bit (1), 7 106 2 byte bit (1), 7 107 2 half_word bit (1), 7 108 2 word bit (1), 7 109 2 double_word bit (1), 7 110 2 half_byte bit (1), 7 111 2 filler5 bit (1), 7 112 2 bit_offset bit (4), 7 113 2 son_cnt bit (16), 7 114 2 max_red_size fixed bin(24), 7 115 2 name_size fixed bin, 7 116 2 name char(0 refer(data_name.name_size)); 7 117 7 118 7 119 7 120 /* end include file ... cobol_TYPE9.incl.pl1 */ 7 121 6 17 6 18 /* END DECLARATION OF TYPE9 (DATA NAME) TOKEN */ 6 19 6 20 /* END INCLUDE FILE ... cobol_type9.incl.pl1 */ 6 21 461 8 1 8 2 /* BEGIN INCLUDE FILE ... cobol_type13.incl.pl1 */ 8 3 /* Last modified on 11/19/76 by ORN */ 8 4 8 5 dcl cdtoken_ptr ptr; 8 6 8 7 /* BEGIN DECLARATION OF TYPE13 (CD NAME) TOKEN */ 8 8 dcl 1 cdtoken based(cdtoken_ptr), 9 1 9 2 /* begin include file ... cobol_TYPE13.incl.pl1 9 3*/* Last modified on 11/18/76 by ORN */ 9 4 9 5 /* header */ 9 6 2 size fixed bin, 9 7 2 line fixed bin, 9 8 2 column fixed bin, 9 9 2 type fixed bin, /* cd = 13 */ 9 10 /* body */ 9 11 2 string_ptr ptr, 9 12 2 prev_rec ptr, 9 13 2 info, 9 14 3 searched bit(1), 9 15 3 duplicate bit(1), 9 16 3 filler1 bit(6), 9 17 2 options, 9 18 3 input bit(1), 9 19 3 output bit(1), 9 20 3 initial bit(1), 9 21 2 def_line fixed bin, 9 22 2 cd_num fixed bin, 9 23 2 cd_seg fixed bin, 9 24 2 cd_off fixed bin(24), 9 25 2 max_redef fixed bin, 9 26 2 mdest fixed bin, 9 27 2 name_size fixed bin, 9 28 2 name char(0 refer(cdtoken.name_size)); 9 29 9 30 /* end include file ... cobol_TYPE13.incl.pl1 */ 9 31 8 9 8 10 /* END DECLARATION OF TYPE13 (CD NAME) TOKEN */ 8 11 8 12 8 13 /* END INCLUDE FILE ... cobol_type13.incl.pl1 */ 8 14 462 10 1 10 2 /* BEGIN INCLUDE FILE ... cobol_type18.incl.pl1 */ 10 3 /* Last modified on 11/19/76 by ORN */ 10 4 10 5 /* 10 6*A type 18 procedure reference token is entered into the procedure division 10 7*minpral file by the replacement phase to replace each type 8 user word 10 8*reference to a procedure name. A type 18 token is constructed by changing 10 9*the type field of the appropriate type 7 procedure definition token from 10 10*the name table to 18. 10 11**/ 10 12 10 13 dcl proc_ref_ptr ptr; 10 14 10 15 /* BEGIN DECLARATION OF TYPE18 (PROCEDURE REFERENCE) TOKEN */ 10 16 dcl 1 proc_ref based (proc_ref_ptr), 11 1 11 2 /* begin include file ... cobol_TYPE18.incl.pl1 */ 11 3 /* Last modified on 11/7/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 searched bit (1), 11 14 2 duplicate bit (1), 11 15 2 filler1 bit (1), 11 16 2 debug_ind bit (1), 11 17 2 section_name bit (1), 11 18 2 declarative_proc bit (1), 11 19 2 filler2 bit (1), 11 20 2 alterable bit (1), 11 21 2 priority char (2), 11 22 2 sort_range bit (1), 11 23 2 input_range bit (1), 11 24 2 output_range bit (1), 11 25 2 merge_range bit(1), 11 26 2 filler3 bit (5), 11 27 2 section_num fixed bin, 11 28 2 proc_num fixed bin, 11 29 2 def_line fixed bin, 11 30 2 name_size fixed bin, 11 31 2 name char (30); 11 32 11 33 /* end include file ... cobol_TYPE18.incl.pl1 */ 11 34 10 17 10 18 /* END DECLARATION OF TYPE18 (PROCEDURE REFERENCE) TOKEN */ 10 19 10 20 /* END INCLUDE FILE ... cobol_type18.incl.pl1 */ 10 21 463 464 465 end cobol_usrwd; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 05/24/89 0835.3 cobol_usrwd.pl1 >spec>install>MR12.3-1048>cobol_usrwd.pl1 457 1 03/27/82 0439.4 cobol_repl_diag_values.incl.pl1 >ldd>include>cobol_repl_diag_values.incl.pl1 458 2 03/27/82 0439.8 cobol_size_values.incl.pl1 >ldd>include>cobol_size_values.incl.pl1 459 3 11/11/82 1712.8 cobol_type12.incl.pl1 >ldd>include>cobol_type12.incl.pl1 3-17 4 03/27/82 0439.6 cobol_TYPE12.incl.pl1 >ldd>include>cobol_TYPE12.incl.pl1 460 5 03/27/82 0431.3 cobol_ext_.incl.pl1 >ldd>include>cobol_ext_.incl.pl1 461 6 03/27/82 0439.9 cobol_type9.incl.pl1 >ldd>include>cobol_type9.incl.pl1 6-17 7 11/11/82 1712.7 cobol_TYPE9.incl.pl1 >ldd>include>cobol_TYPE9.incl.pl1 462 8 11/11/82 1712.8 cobol_type13.incl.pl1 >ldd>include>cobol_type13.incl.pl1 8-9 9 03/27/82 0439.6 cobol_TYPE13.incl.pl1 >ldd>include>cobol_TYPE13.incl.pl1 463 10 11/11/82 1712.8 cobol_type18.incl.pl1 >ldd>include>cobol_type18.incl.pl1 10-17 11 03/27/82 0439.6 cobol_TYPE18.incl.pl1 >ldd>include>cobol_TYPE18.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. BIT36 based bit(36) packed unaligned dcl 56 set ref 431* 431 addr builtin function dcl 89 ref 431 431 alength 000100 automatic fixed bin(15,0) dcl 60 set ref 105* 106 106 109 419 419 419 aname 000174 automatic char(30) packed unaligned dcl 69 set ref 106* 110 419 arrpntr based pointer array dcl 82 ref 112 auser_word based structure level 1 unaligned dcl 43 blength 000101 automatic fixed bin(15,0) dcl 61 set ref 240* 241 241 246 246 246 bname 000204 automatic char(30) packed unaligned dcl 70 set ref 241* 246 cd_num 12 based fixed bin(17,0) level 2 dcl 8-8 ref 185 cdtoken based structure level 1 unaligned dcl 8-8 cn1 000173 automatic char(4) packed unaligned dcl 68 set ref 245* 246 418* 419 counter parameter fixed bin(15,0) dcl 33 set ref 26 100 122 188 189* 189 201 204 205 207 232 296 357 data_name based structure level 1 unaligned dcl 6-16 diag_no parameter fixed bin(15,0) dcl 40 set ref 26 132* 161* 163* 165* 167* 169* 193* 195* 197* 211* 213* 215* 217* 254* 319* 332* 347* 384* 400* duplicate 10(01) based bit(1) level 2 in structure "data_name" packed packed unaligned dcl 6-16 in procedure "cobol_usrwd" set ref 154* 157 duplicate 10(01) based bit(1) level 2 in structure "proc_ref" packed packed unaligned dcl 10-16 in procedure "cobol_usrwd" set ref 315 333* 385* fatal_ALPHABET_NAME_QUALIFIER constant fixed bin(17,0) initial dcl 1-20 ref 215 fatal_AMBIGUOUS_PROCNAME_REF constant fixed bin(17,0) initial dcl 1-30 ref 347 400 fatal_AMBIGUOUS_QUAL_REF constant fixed bin(17,0) initial dcl 1-8 ref 132 254 fatal_AMBIGUOUS_UNQUAL_REF constant fixed bin(17,0) initial dcl 1-6 ref 163 fatal_CDNAME_MULTIPLY_DECLARED constant fixed bin(17,0) initial dcl 1-48 ref 167 195 fatal_DATANAME_MULTIPLY_DECLARED constant fixed bin(17,0) initial dcl 1-11 ref 161 169 197 fatal_FILENAME_MULTIPLY_DECLARED constant fixed bin(17,0) initial dcl 1-26 ref 165 193 fatal_INDEX_NAME_QUALIFIER constant fixed bin(17,0) initial dcl 1-19 ref 213 fatal_INVALID_QUALIFIER constant fixed bin(17,0) initial dcl 1-21 ref 217 fatal_MNEMONIC_NAME_QUALIFIER constant fixed bin(17,0) initial dcl 1-18 ref 211 fatal_PROCNAME_MULTIPLY_DECLARED constant fixed bin(17,0) initial dcl 1-10 ref 319 332 384 fd_token based structure level 1 unaligned dcl 3-16 file_no 12 based fixed bin(17,0) level 2 dcl 3-16 ref 187 file_num 14 based fixed bin(17,0) level 2 dcl 6-16 ref 128 259 file_section 21 based bit(1) level 2 packed packed unaligned dcl 6-16 set ref 431 431 fileno 000230 automatic fixed bin(17,0) dcl 86 set ref 98* 125 128 176 185* 187* 259 259 fixed builtin function dcl 90 ref 110 246 419 found_one 000221 automatic bit(1) packed unaligned dcl 75 set ref 362* 376 393* 398 403 hashno 000106 automatic fixed bin(15,0) dcl 64 set ref 108* 110* 110 112 hashptr parameter pointer dcl 34 ref 26 112 i 000102 automatic fixed bin(15,0) dcl 62 set ref 109* 110* k 000103 automatic fixed bin(15,0) dcl 62 set ref 204* 229 230* 230 232 236 238 239 246 270 271* 271 length 5 based fixed bin(7,0) level 2 dcl 43 ref 105 240 376 level 12 based fixed bin(17,0) level 2 dcl 6-16 ref 161 207 229 270 levstack 000111 automatic fixed bin(15,0) array dcl 67 set ref 188* 201* 207* 229 270* mod builtin function dcl 91 ref 112 n 000104 automatic fixed bin(15,0) dcl 62 set ref 244* 245 246 417* 418 419 name 15 based char(30) level 2 packed packed unaligned dcl 10-16 ref 376 name_size 14 based fixed bin(17,0) level 2 dcl 10-16 ref 376 376 376 non_elementary 21(08) based bit(1) level 2 packed packed unaligned dcl 6-16 ref 431 not_done 000220 automatic bit(1) packed unaligned dcl 74 set ref 104* 202 278* 280* 288 292* 360* 361 407* not_found parameter bit(1) packed unaligned dcl 39 set ref 26 103* 218* 439* 445* 451* ntendptr parameter pointer dcl 36 ref 26 224 370 ntptr 000214 automatic pointer dcl 71 set ref 112* 117 119 127 128 128 137 140* 140 148 152* 154 176 176 176 179 180* 182 184* 185 185 187 193 193 195 203 207 207 211 213 215 223* 223 223 224 227 229 244 245 246 259 259 265 270 276* 278 280 290 292 294* 294 298 299 304* 304 306 308 314 315 315 325 326* 326 328 328 343* 345 357 359 363 365 368* 368 368 370 372 374 376 376 376 376 394 395 405* 407 416 417 418 419 422* 422 ntptr1 000216 automatic pointer dcl 72 set ref 179* 180 184 203* 276 298* 343 352 353 359* 405 ntptr2 parameter pointer dcl 41 set ref 26 137* 148* 149 151 152 154 157 159 161 165 165 167 265* 314* 333 353* 385 395* 431 431 431 431 null builtin function dcl 92 ref 117 127 154 182 278 290 306 328 345 407 416 prev_k 000105 automatic fixed bin(15,0) dcl 63 set ref 205* 236 238* proc_ref based structure level 1 unaligned dcl 10-16 psectno 000107 automatic fixed bin(15,0) dcl 65 set ref 299* 303 306* 308* 310 ptrtab_ptr parameter pointer dcl 32 ref 26 100 239 287 ptrtable based pointer array dcl 81 ref 100 239 287 ref_type parameter bit(1) packed unaligned dcl 37 ref 26 114 searched 10 based bit(1) level 2 in structure "proc_ref" packed packed unaligned dcl 10-16 in procedure "cobol_usrwd" set ref 315 325* 352* 394* searched 10 based bit(1) level 2 in structure "data_name" packed packed unaligned dcl 6-16 in procedure "cobol_usrwd" set ref 149 151* section_name 10(04) based bit(1) level 2 packed packed unaligned dcl 10-16 ref 357 363 section_not_finished 000223 automatic bit(1) packed unaligned dcl 77 set ref 366* 367 370* 372* 374* section_num 11 based fixed bin(17,0) level 2 dcl 10-16 ref 299 308 328 365 374 sectno parameter fixed bin(15,0) dcl 35 ref 26 303 310 328 size based fixed bin(17,0) level 2 in structure "data_name" dcl 6-16 in procedure "cobol_usrwd" ref 223 size based fixed bin(17,0) level 2 in structure "proc_ref" dcl 10-16 in procedure "cobol_usrwd" ref 368 size_TOKEN 000000 constant fixed bin(17,0) initial array dcl 2-11 ref 244 417 stackbegptr 000226 automatic pointer dcl 84 set ref 287* 376 376 stackptr 000224 automatic pointer dcl 83 set ref 100* 105 106 239* 240 241 still_searching 000222 automatic bit(1) packed unaligned dcl 76 set ref 206* 221 224* 232* 234 string_ptr 4 based pointer level 2 in structure "data_name" dcl 6-16 in procedure "cobol_usrwd" ref 140 152 180 276 422 string_ptr 4 based pointer level 2 in structure "proc_ref" dcl 10-16 in procedure "cobol_usrwd" ref 294 304 326 343 405 substr builtin function dcl 93 set ref 106* 106 110 241* 241 245 246 246 376 376 418 419 419 template based char(500) packed unaligned dcl 54 ref 245 246 418 419 this_sectno 000110 automatic fixed bin(15,0) dcl 66 set ref 365* 374 type 3 based fixed bin(17,0) level 2 in structure "proc_ref" dcl 10-16 in procedure "cobol_usrwd" ref 292 372 type 3 based fixed bin(17,0) level 2 in structure "data_name" dcl 6-16 in procedure "cobol_usrwd" ref 119 128 159 165 165 167 176 176 176 185 193 193 195 207 211 213 215 227 244 259 280 417 431 unspec builtin function dcl 94 ref 110 246 419 was_found parameter bit(1) packed unaligned dcl 38 set ref 26 102* 130 136* 143 246 264* 322* 336* 337* 351* 398 403* 438* 443* 449* word 6 based char(30) level 2 packed packed unaligned dcl 43 ref 106 241 376 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. cdtoken_ptr automatic pointer dcl 8-5 cobol_afp defined pointer dcl 5-11 cobol_analin_fileno defined pointer dcl 5-13 cobol_cmfp defined pointer dcl 5-21 cobol_com_fileno defined pointer dcl 5-23 cobol_com_ptr defined pointer dcl 5-25 cobol_curr_in defined pointer dcl 5-53 cobol_curr_out defined pointer dcl 5-55 cobol_dfp defined pointer dcl 5-27 cobol_eltp defined pointer dcl 5-19 cobol_ext_$cobol_afp external static pointer dcl 5-10 cobol_ext_$cobol_analin_fileno external static pointer dcl 5-12 cobol_ext_$cobol_cmfp external static pointer dcl 5-20 cobol_ext_$cobol_com_fileno external static pointer dcl 5-22 cobol_ext_$cobol_com_ptr external static pointer dcl 5-24 cobol_ext_$cobol_curr_in external static pointer dcl 5-52 cobol_ext_$cobol_curr_out external static pointer dcl 5-54 cobol_ext_$cobol_dfp external static pointer dcl 5-26 cobol_ext_$cobol_eltp external static pointer dcl 5-18 cobol_ext_$cobol_fileno1 external static fixed bin(24,0) dcl 5-78 cobol_ext_$cobol_hfp external static pointer dcl 5-28 cobol_ext_$cobol_lpr external static char(5) packed unaligned dcl 5-95 cobol_ext_$cobol_m1fp external static pointer dcl 5-30 cobol_ext_$cobol_m2fp external static pointer dcl 5-32 cobol_ext_$cobol_min1_fileno external static pointer dcl 5-34 cobol_ext_$cobol_min2_fileno_ptr external static pointer dcl 5-36 cobol_ext_$cobol_name_fileno external static pointer dcl 5-38 cobol_ext_$cobol_name_fileno_ptr external static pointer dcl 5-40 cobol_ext_$cobol_ntfp external static pointer dcl 5-42 cobol_ext_$cobol_options external static char(120) packed unaligned dcl 5-97 cobol_ext_$cobol_options_len external static fixed bin(24,0) dcl 5-80 cobol_ext_$cobol_pdofp external static pointer dcl 5-44 cobol_ext_$cobol_pdout_fileno external static fixed bin(24,0) dcl 5-82 cobol_ext_$cobol_pfp external static pointer dcl 5-46 cobol_ext_$cobol_print_fileno external static fixed bin(24,0) dcl 5-84 cobol_ext_$cobol_rm2fp external static pointer dcl 5-48 cobol_ext_$cobol_rmin2_fileno external static fixed bin(24,0) dcl 5-86 cobol_ext_$cobol_rmin2fp external static pointer dcl 5-50 cobol_ext_$cobol_rwdd external static pointer dcl 5-72 cobol_ext_$cobol_rwpd external static pointer dcl 5-74 cobol_ext_$cobol_sfp external static pointer dcl 5-56 cobol_ext_$cobol_w1p external static pointer dcl 5-58 cobol_ext_$cobol_w2p external static pointer dcl 5-60 cobol_ext_$cobol_w3p external static pointer dcl 5-62 cobol_ext_$cobol_w5p external static pointer dcl 5-64 cobol_ext_$cobol_w6p external static pointer dcl 5-66 cobol_ext_$cobol_w7p external static pointer dcl 5-68 cobol_ext_$cobol_x1_fileno external static fixed bin(24,0) dcl 5-88 cobol_ext_$cobol_x2_fileno external static fixed bin(24,0) dcl 5-90 cobol_ext_$cobol_x3_fileno external static fixed bin(24,0) dcl 5-92 cobol_ext_$cobol_x3fp external static pointer dcl 5-70 cobol_ext_$cobol_xlast8 external static bit(1) packed unaligned dcl 5-100 cobol_ext_$report_exists external static bit(1) packed unaligned dcl 5-102 cobol_ext_$report_first_token external static pointer dcl 5-14 cobol_ext_$report_last_token external static pointer dcl 5-16 cobol_fileno1 defined fixed bin(24,0) dcl 5-79 cobol_hfp defined pointer dcl 5-29 cobol_lpr defined char(5) packed unaligned dcl 5-96 cobol_m1fp defined pointer dcl 5-31 cobol_m2fp defined pointer dcl 5-33 cobol_min1_fileno defined pointer dcl 5-35 cobol_min2_fileno_ptr defined pointer dcl 5-37 cobol_name_fileno defined pointer dcl 5-39 cobol_name_fileno_ptr defined pointer dcl 5-41 cobol_ntfp defined pointer dcl 5-43 cobol_options defined char(120) packed unaligned dcl 5-98 cobol_options_len defined fixed bin(24,0) dcl 5-81 cobol_pdofp defined pointer dcl 5-45 cobol_pdout_fileno defined fixed bin(24,0) dcl 5-83 cobol_pfp defined pointer dcl 5-47 cobol_print_fileno defined fixed bin(24,0) dcl 5-85 cobol_rm2fp defined pointer dcl 5-49 cobol_rmin2_fileno defined fixed bin(24,0) dcl 5-87 cobol_rmin2fp defined pointer dcl 5-51 cobol_rwdd defined pointer dcl 5-73 cobol_rwpd defined pointer dcl 5-75 cobol_sfp defined pointer dcl 5-57 cobol_w1p defined pointer dcl 5-59 cobol_w2p defined pointer dcl 5-61 cobol_w3p defined pointer dcl 5-63 cobol_w5p defined pointer dcl 5-65 cobol_w6p defined pointer dcl 5-67 cobol_w7p defined pointer dcl 5-69 cobol_x1_fileno defined fixed bin(24,0) dcl 5-89 cobol_x2_fileno defined fixed bin(24,0) dcl 5-91 cobol_x3_fileno defined fixed bin(24,0) dcl 5-93 cobol_x3fp defined pointer dcl 5-71 cobol_xlast8 defined bit(1) packed unaligned dcl 5-101 dn_ptr automatic pointer dcl 73 fatal_AMBIGUOUS_LINAGE_REF internal static fixed bin(17,0) initial dcl 1-29 fatal_DATANAME_EXPECTED internal static fixed bin(17,0) initial dcl 1-32 fatal_DATANAME_NOT_DECLARED internal static fixed bin(17,0) initial dcl 1-7 fatal_DATANAME_NOT_NUMERIC internal static fixed bin(17,0) initial dcl 1-33 fatal_DATANAME_SUBSCRIPTED internal static fixed bin(17,0) initial dcl 1-37 fatal_FILE_NAME_EXPECTED internal static fixed bin(17,0) initial dcl 1-31 fatal_ITEM_IN_COM_SECTION internal static fixed bin(17,0) initial dcl 1-40 fatal_ITEM_IN_CONSTANT_SECTION internal static fixed bin(17,0) initial dcl 1-42 fatal_ITEM_IN_REPORT_SECTION internal static fixed bin(17,0) initial dcl 1-41 fatal_KEY_NOT_IN_RECORD internal static fixed bin(17,0) initial dcl 1-49 fatal_MNEMONIC_NAME_EXPECTED internal static fixed bin(17,0) initial dcl 1-22 fatal_NO_LINAGE_FOR_ANY_FILE internal static fixed bin(17,0) initial dcl 1-28 fatal_NO_LINAGE_FOR_THIS_FILE internal static fixed bin(17,0) initial dcl 1-27 fatal_PROCNAME_NOT_DECLARED internal static fixed bin(17,0) initial dcl 1-9 fatal_SAME_RECORD_OFFSET internal static fixed bin(17,0) initial dcl 1-50 name_ptr automatic pointer dcl 87 obs_KEY_IN_RECORD internal static fixed bin(17,0) initial dcl 1-13 obs_KEY_NOT_IN_RECORD internal static fixed bin(17,0) initial dcl 1-14 obs_SPECIAL_NAMES_NOTE internal static fixed bin(17,0) initial dcl 1-24 proc_ref_ptr automatic pointer dcl 10-13 ptr1 automatic pointer dcl 73 report_exists defined bit(1) packed unaligned dcl 5-103 report_first_token defined pointer dcl 5-15 report_last_token defined pointer dcl 5-17 s automatic fixed bin(15,0) dcl 62 size_COMHDR internal static fixed bin(17,0) initial dcl 2-8 size_NAMESIZE internal static fixed bin(17,0) initial dcl 2-9 template1 based char(1) array packed unaligned dcl 55 warn_BAD_ATTACH_OPTIONS internal static fixed bin(17,0) initial dcl 1-45 warn_BAD_CATALOG_NAME internal static fixed bin(17,0) initial dcl 1-43 warn_BAD_STATUS_KEY internal static fixed bin(17,0) initial dcl 1-15 warn_BAD_TAPE_CATALOG_NAME internal static fixed bin(17,0) initial dcl 1-44 warn_BAD_VALUE_OF_ID internal static fixed bin(17,0) initial dcl 1-46 warn_BAD_VALUE_OF_RETENTION internal static fixed bin(17,0) initial dcl 1-47 warn_CONSTANT_ILLOGICAL internal static fixed bin(17,0) initial dcl 1-36 warn_DATANAME_NOT_ALPHANUM internal static fixed bin(17,0) initial dcl 1-16 warn_DATANAME_NOT_INTEGER internal static fixed bin(17,0) initial dcl 1-34 warn_DATANAME_VARLEN internal static fixed bin(17,0) initial dcl 1-38 warn_ITEM_IN_FILE_SECTION internal static fixed bin(17,0) initial dcl 1-39 warn_OBSOLETE_MNEMONIC_NAME internal static fixed bin(17,0) initial dcl 1-23 warn_ODO_RANGE internal static fixed bin(17,0) initial dcl 1-35 warn_SPECIAL_NAMES_RECOVERY internal static fixed bin(17,0) initial dcl 1-25 NAMES DECLARED BY EXPLICIT CONTEXT. cobol_usrwd 000066 constant entry external dcl 26 duplicate_error 001235 constant label dcl 449 ref 133 170 198 255 320 334 348 386 401 fail_exit 001234 constant label dcl 446 ref 219 452 found 001200 constant label dcl 431 ref 143 157 notfound 001223 constant label dcl 443 ref 117 119 145 restart 000074 constant label dcl 100 ref 190 search 001247 constant entry internal dcl 413 ref 116 141 153 181 277 289 305 327 344 406 start 000073 constant label dcl 98 success_exit 001222 constant label dcl 440 NAMES DECLARED BY CONTEXT OR IMPLICATION. addrel builtin function ref 223 368 divide builtin function ref 223 368 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1330 1340 1304 1340 Length 1724 1304 10 350 24 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME cobol_usrwd 160 external procedure is an external procedure. search internal procedure shares stack frame of external procedure cobol_usrwd. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME cobol_usrwd 000100 alength cobol_usrwd 000101 blength cobol_usrwd 000102 i cobol_usrwd 000103 k cobol_usrwd 000104 n cobol_usrwd 000105 prev_k cobol_usrwd 000106 hashno cobol_usrwd 000107 psectno cobol_usrwd 000110 this_sectno cobol_usrwd 000111 levstack cobol_usrwd 000173 cn1 cobol_usrwd 000174 aname cobol_usrwd 000204 bname cobol_usrwd 000214 ntptr cobol_usrwd 000216 ntptr1 cobol_usrwd 000220 not_done cobol_usrwd 000221 found_one cobol_usrwd 000222 still_searching cobol_usrwd 000223 section_not_finished cobol_usrwd 000224 stackptr cobol_usrwd 000226 stackbegptr cobol_usrwd 000230 fileno cobol_usrwd THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_l_a r_ne_as return_mac mdfx1 ext_entry NO EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 26 000056 98 000073 100 000074 102 000103 103 000107 104 000113 105 000115 106 000117 108 000122 109 000123 110 000131 111 000140 112 000142 114 000153 116 000160 117 000161 119 000165 122 000171 125 000175 127 000177 128 000204 130 000213 132 000221 133 000223 136 000224 137 000227 140 000230 141 000232 142 000233 143 000234 145 000242 148 000243 149 000244 151 000251 152 000253 153 000255 154 000256 157 000267 159 000275 161 000300 163 000306 164 000310 165 000311 167 000320 169 000325 170 000327 176 000330 179 000341 180 000342 181 000345 182 000346 184 000352 185 000354 187 000363 188 000365 189 000370 190 000372 193 000373 195 000405 197 000413 198 000416 201 000417 202 000421 203 000424 204 000426 205 000432 206 000434 207 000436 211 000445 213 000452 215 000457 217 000464 218 000466 219 000472 221 000473 223 000476 224 000505 227 000514 229 000517 230 000525 231 000526 232 000527 234 000534 236 000535 238 000537 239 000540 240 000545 241 000547 244 000552 245 000556 246 000561 254 000603 255 000605 259 000606 264 000616 265 000621 267 000622 270 000623 271 000625 275 000627 276 000630 277 000633 278 000634 280 000642 282 000647 284 000650 287 000651 288 000655 289 000660 290 000661 292 000665 294 000673 295 000675 296 000676 298 000702 299 000704 303 000706 304 000712 305 000715 306 000716 308 000725 309 000730 310 000731 314 000732 315 000734 319 000742 320 000744 322 000745 325 000752 326 000754 327 000756 328 000757 332 000770 333 000772 334 000776 336 000777 337 001004 339 001011 343 001012 344 001015 345 001016 347 001022 348 001025 351 001026 352 001033 353 001036 356 001037 357 001040 359 001046 360 001047 361 001051 362 001054 363 001055 365 001061 366 001063 367 001065 368 001070 370 001077 372 001106 374 001113 376 001120 384 001132 385 001134 386 001140 393 001141 394 001143 395 001145 397 001146 398 001147 400 001157 401 001161 403 001162 405 001165 406 001170 407 001171 408 001176 411 001177 431 001200 438 001212 439 001216 440 001222 443 001223 445 001230 446 001234 449 001235 451 001242 452 001246 413 001247 416 001250 417 001254 418 001261 419 001264 422 001277 423 001301 425 001302 ----------------------------------------------------------- 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