Open64 (mfef90, whirl2f, and IR tools)
TAG: version-openad; SVN changeset: 916
|
00001 /* 00002 00003 Copyright (C) 2000, 2001 Silicon Graphics, Inc. All Rights Reserved. 00004 00005 This program is free software; you can redistribute it and/or modify it 00006 under the terms of version 2 of the GNU General Public License as 00007 published by the Free Software Foundation. 00008 00009 This program is distributed in the hope that it would be useful, but 00010 WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00012 00013 Further, this software is distributed without any warranty that it is 00014 free of the rightful claim of any third person regarding infringement 00015 or the like. Any license provided herein, whether implied or 00016 otherwise, applies only to this software file. Patent licenses, if 00017 any, provided herein do not apply to combinations of this program with 00018 other software, or any other product whatsoever. 00019 00020 You should have received a copy of the GNU General Public License along 00021 with this program; if not, write the Free Software Foundation, Inc., 59 00022 Temple Place - Suite 330, Boston MA 02111-1307, USA. 00023 00024 Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pky, 00025 Mountain View, CA 94043, or: 00026 00027 http://www.sgi.com 00028 00029 For further information regarding this notice, see: 00030 00031 http://oss.sgi.com/projects/GenInfo/NoticeExplan 00032 00033 */ 00034 00035 00036 00037 /* USMID: "\n@(#)5.0_pl/headers/p_io.h 5.1 04/29/99 21:22:31\n" */ 00038 00039 00040 /***********************************************\ 00041 |* Static lookup table for format msg numbers. *| 00042 \***********************************************/ 00043 00044 struct msg_num_entry {Uint msg_num : 24; 00045 Uint num_args : 8; 00046 msg_severities_type msg_severity : 32; 00047 }; 00048 00049 typedef struct msg_num_entry msg_num_type; 00050 00051 msg_num_type msg_num_tbl[43] = { 00052 {0, 0, Error}, /* END_OF_MESSAGES 0 */ 00053 {166, 0, Error}, /* TRAILING_CHARS 1 */ 00054 {1159, 0, Internal},/* 2 */ 00055 {1159, 0, Internal},/* 3 */ 00056 {1159, 0, Internal},/* 4 */ 00057 {1159, 0, Internal},/* 5 */ 00058 {1159, 0, Internal},/* 6 */ 00059 {1159, 0, Internal},/* 7 */ 00060 {1159, 0, Internal},/* 8 */ 00061 {1159, 0, Internal},/* 9 */ 00062 {168, 0, Ansi}, /* ANSI_EMPTY_PAREN_MSG 10 */ 00063 {169, 0, Ansi}, /* ANSI_COMMA_REQ 11 */ 00064 {170, 0, Ansi}, /* COMMA_NON_ANSI 12 */ 00065 {0, 0, Ansi}, /* REP_SLASH_NON_ANSI 13 */ 00066 {200, 1, Ansi}, /* NON_ANSI_EDIT_DESCRIPTOR 14 */ 00067 {266, 0, Ansi}, /* MINUS_X_NON_ANSI 15 */ 00068 {1194, 0, Ansi}, /* E_WITH_D_NON_ANSI 16 */ 00069 {892, 0, Ansi}, /* H_IS_OBSOLETE_IN_F90 17 */ 00070 {1160, 0, Ansi}, /* NON_ANSI_NULL_DESCRIPTOR 18 */ 00071 {1628, 1, Ansi}, /* ZERO_WIDTH_NON_ANSI 19 */ 00072 {1626, 1, Ansi}, /* MISSING_WIDTH_NON_ANSI 20 */ 00073 {1159, 0, Internal},/* 21 */ 00074 {1159, 0, Internal},/* 22 */ 00075 {1159, 0, Internal},/* 23 */ 00076 {1159, 0, Internal},/* 24 */ 00077 {1159, 0, Internal},/* 25 */ 00078 {1159, 0, Internal},/* 26 */ 00079 {1159, 0, Internal},/* 27 */ 00080 {1159, 0, Internal},/* 28 */ 00081 {1159, 0, Internal},/* 29 */ 00082 {304, 0, Error}, /* EXPECTING_LEFT_PAREN 30 */ 00083 {305, 0, Error}, /* EXPECTING_RIGHT_PAREN 31 */ 00084 {306, 1, Error}, /* EXPECTING_INTEGER 32 */ 00085 {307, 1, Error}, /* EXPECTING_PERIOD 33 */ 00086 {308, 1, Error}, /* EXPECTING_P_OR_X 34 */ 00087 {309, 1, Error}, /* INVALID_REP_COUNT 35 */ 00088 {310, 0, Error}, /* ZERO_REP_COUNT 36 */ 00089 {311, 0, Error}, /* FIELD_WIDTH_ZERO 37 */ 00090 {312, 0, Error}, /* FIELD_TO_LARGE 38 */ 00091 {313, 0, Error}, /* ZERO_OR_NO_HOLLERITH_CNT 39 */ 00092 {314, 1, Error}, /* UNKNOWN_EDIT_DESCRIPTOR 40 */ 00093 {315, 0, Error}, /* NONTERMINATED_LITERAL 41 */ 00094 {14, 0, Limit} /* UNABLE_TO_MALLOC_MEMORY 42 */ 00095 }; 00096 00097 00098 static int format_cn_idx; 00099 static boolean ignore_trailing_chars = FALSE; 00100 00101 00102 /****************************************************************\ 00103 |* Interface table for IO stmt control list arguments. *| 00104 \****************************************************************/ 00105 00106 char io_stmt_str[11][16] = { {"BACKSPACE"}, 00107 {"CLOSE"}, 00108 {"ENDFILE"}, 00109 {"INQUIRE"}, 00110 {"OPEN"}, 00111 {"READ"}, 00112 {"REWIND"}, 00113 {"WRITE"}, 00114 {"PRINT"}, 00115 {"DECODE"}, 00116 {"ENCODE"} 00117 }; 00118 00119 int arg_idx_tbl[8][26] = { 00120 /*BACKSPACE */ { 0, 2, 1, 0}, 00121 /*CLOSE */ { 0, 3, 1, 0, 2}, 00122 /*ENDFILE */ { 0, 2, 1, 0}, 00123 /*INQUIRE */ { 0, 23, 7, 10, 5, 00124 6, 15, 14, 12, 11, 00125 0, 21, 4, 8, 9, 00126 22, 20, 13, 2, 17, 00127 1, 18, 24, 19, 3, 00128 16}, 00129 /*OPEN */ { 0, 12, 7, 4, 5, 00130 11, 0, 6, 10, 2, 00131 9, 1, 3, 8}, 00132 /*READ */ { 0, 9, 4, 3, 1, 00133 5, 7, 0, 8, 2}, 00134 /*REWIND */ { 0, 2, 1, 0}, 00135 /*WRITE */ { 0, 9, 4, 3, 1, 00136 5, 7, 0, 8, 2} 00137 }; 00138 00139 00140 ciitem_tbl_type ciitem_tbl[NUM_IO_STMT_TYPES] = 00141 00142 { 00143 /* Backspace */ 00144 /* num_ciitems */ { 3, 00145 00146 /* num_diff_ciitems */ 3, 00147 00148 /* num_without_kwd */ 1, 00149 00150 { 00151 /* ciitem_entry # 0 */ 00152 /* name */ {"ERR", 00153 /* name_length */ 3, 00154 /* allowed_forms */ Label_Form, 00155 /* num_types */ 0, 00156 /* allowed_types */ {Typeless}, 00157 /* arg_position */ 3, 00158 /* has_const_opts */ FALSE, 00159 /* scalar */ FALSE, 00160 /* num_const_opts */ 0, 00161 /* const_opts */ {""} 00162 }, 00163 00164 /* ciitem_entry # 1 */ 00165 /* name */ {"IOSTAT", 00166 /* name_length */ 6, 00167 /* allowed_forms */ Var_Only_Form, 00168 /* num_types */ 1, 00169 /* allowed_types */ {Integer}, 00170 /* arg_position */ 2, 00171 /* has_const_opts */ FALSE, 00172 /* scalar */ TRUE, 00173 /* num_const_opts */ 0, 00174 /* const_opts */ {""} 00175 }, 00176 00177 /* ciitem_entry # 2 */ 00178 /* name */ {"UNIT", 00179 /* name_length */ 4, 00180 /* allowed_forms */ Exp_Form, 00181 /* num_types */ 3, 00182 /* allowed_types */ {Integer, 00183 Typeless, 00184 Character}, 00185 /* arg_position */ 1, 00186 /* has_const_opts */ FALSE, 00187 /* scalar */ FALSE, 00188 /* num_const_opts */ 0, 00189 /* const_opts */ {""} 00190 } 00191 } 00192 }, 00193 00194 /* Close */ 00195 /* num_ciitems */ { 4, 00196 00197 /* num_diff_ciitems */ 4, 00198 00199 /* num_without_kwd */ 1, 00200 00201 { 00202 /* ciitem_entry # 0 */ 00203 /* name */ {"ERR", 00204 /* name_length */ 3, 00205 /* allowed_forms */ Label_Form, 00206 /* num_types */ 0, 00207 /* allowed_types */ {Typeless}, 00208 /* arg_position */ 3, 00209 /* has_const_opts */ FALSE, 00210 /* scalar */ FALSE, 00211 /* num_const_opts */ 0, 00212 /* const_opts */ {""} 00213 }, 00214 00215 /* ciitem_entry # 1 */ 00216 /* name */ {"IOSTAT", 00217 /* name_length */ 6, 00218 /* allowed_forms */ Var_Only_Form, 00219 /* num_types */ 1, 00220 /* allowed_types */ {Integer}, 00221 /* arg_position */ 2, 00222 /* has_const_opts */ FALSE, 00223 /* scalar */ TRUE, 00224 /* num_const_opts */ 0, 00225 /* const_opts */ {""} 00226 }, 00227 00228 /* ciitem_entry # 2 */ 00229 /* name */ {"STATUS", 00230 /* name_length */ 6, 00231 /* allowed_forms */ Exp_Form, 00232 /* num_types */ 1, 00233 /* allowed_types */ {Character}, 00234 /* arg_position */ 4, 00235 /* has_const_opts */ TRUE, 00236 /* scalar */ TRUE, 00237 /* num_const_opts */ 2, 00238 /* const_opts */ {"DELETE", 00239 "KEEP" 00240 } 00241 }, 00242 00243 /* ciitem_entry # 3 */ 00244 /* name */ {"UNIT", 00245 /* name_length */ 4, 00246 /* allowed_forms */ Exp_Form, 00247 /* num_types */ 2, 00248 /* allowed_types */ {Integer, 00249 Typeless}, 00250 /* arg_position */ 1, 00251 /* has_const_opts */ FALSE, 00252 /* scalar */ FALSE, 00253 /* num_const_opts */ 0, 00254 /* const_opts */ {""} 00255 } 00256 } 00257 }, 00258 00259 /* Endfile */ 00260 /* num_ciitems */ { 3, 00261 00262 /* num_diff_ciitems */ 3, 00263 00264 /* num_without_kwd */ 1, 00265 00266 { 00267 /* ciitem_entry # 0 */ 00268 /* name */ {"ERR", 00269 /* name_length */ 3, 00270 /* allowed_forms */ Label_Form, 00271 /* num_types */ 0, 00272 /* allowed_types */ {Typeless}, 00273 /* arg_position */ 3, 00274 /* has_const_opts */ FALSE, 00275 /* scalar */ FALSE, 00276 /* num_const_opts */ 0, 00277 /* const_opts */ {""} 00278 }, 00279 00280 /* ciitem_entry # 1 */ 00281 /* name */ {"IOSTAT", 00282 /* name_length */ 6, 00283 /* allowed_forms */ Var_Only_Form, 00284 /* num_types */ 1, 00285 /* allowed_types */ {Integer}, 00286 /* arg_position */ 2, 00287 /* has_const_opts */ FALSE, 00288 /* scalar */ TRUE, 00289 /* num_const_opts */ 0, 00290 /* const_opts */ {""} 00291 }, 00292 00293 /* ciitem_entry # 2 */ 00294 /* name */ {"UNIT", 00295 /* name_length */ 4, 00296 /* allowed_forms */ Exp_Form, 00297 /* num_types */ 3, 00298 /* allowed_types */ {Integer, 00299 Typeless, 00300 Character}, 00301 /* arg_position */ 1, 00302 /* has_const_opts */ FALSE, 00303 /* scalar */ FALSE, 00304 /* num_const_opts */ 0, 00305 /* const_opts */ {""} 00306 } 00307 } 00308 }, 00309 00310 /* Inquire */ 00311 /* num_ciitems */ { 25, 00312 00313 /* num_diff_ciitems */ 25, 00314 00315 /* num_without_kwd */ 1, 00316 00317 { 00318 /* ciitem_entry # 0 */ 00319 /* name */ {"ACCESS", 00320 /* name_length */ 6, 00321 /* allowed_forms */ Var_Only_Form, 00322 /* num_types */ 1, 00323 /* allowed_types */ {Character}, 00324 /* arg_position */ 10, 00325 /* has_const_opts */ FALSE, 00326 /* scalar */ TRUE, 00327 /* num_const_opts */ 0, 00328 /* const_opts */ {""} 00329 }, 00330 00331 /* ciitem_entry # 1 */ 00332 /* name */ {"ACTION", 00333 /* name_length */ 6, 00334 /* allowed_forms */ Var_Only_Form, 00335 /* num_types */ 1, 00336 /* allowed_types */ {Character}, 00337 /* arg_position */ 20, 00338 /* has_const_opts */ FALSE, 00339 /* scalar */ TRUE, 00340 /* num_const_opts */ 0, 00341 /* const_opts */ {""} 00342 }, 00343 00344 /* ciitem_entry # 2 */ 00345 /* name */ {"BLANK", 00346 /* name_length */ 5, 00347 /* allowed_forms */ Var_Only_Form, 00348 /* num_types */ 1, 00349 /* allowed_types */ {Character}, 00350 /* arg_position */ 18, 00351 /* has_const_opts */ FALSE, 00352 /* scalar */ TRUE, 00353 /* num_const_opts */ 0, 00354 /* const_opts */ {""} 00355 }, 00356 00357 /* ciitem_entry # 3 */ 00358 /* name */ {"DELIM", 00359 /* name_length */ 5, 00360 /* allowed_forms */ Var_Only_Form, 00361 /* num_types */ 1, 00362 /* allowed_types */ {Character}, 00363 /* arg_position */ 24, 00364 /* has_const_opts */ FALSE, 00365 /* scalar */ TRUE, 00366 /* num_const_opts */ 0, 00367 /* const_opts */ {""} 00368 }, 00369 00370 /* ciitem_entry # 4 */ 00371 /* name */ {"DIRECT", 00372 /* name_length */ 6, 00373 /* allowed_forms */ Var_Only_Form, 00374 /* num_types */ 1, 00375 /* allowed_types */ {Character}, 00376 /* arg_position */ 12, 00377 /* has_const_opts */ FALSE, 00378 /* scalar */ TRUE, 00379 /* num_const_opts */ 0, 00380 /* const_opts */ {""} 00381 }, 00382 00383 /* ciitem_entry # 5 */ 00384 /* name */ {"ERR", 00385 /* name_length */ 3, 00386 /* allowed_forms */ Label_Form, 00387 /* num_types */ 0, 00388 /* allowed_types */ {Typeless}, 00389 /* arg_position */ 4, 00390 /* has_const_opts */ FALSE, 00391 /* scalar */ FALSE, 00392 /* num_const_opts */ 0, 00393 /* const_opts */ {""} 00394 }, 00395 00396 /* ciitem_entry # 6 */ 00397 /* name */ {"EXIST", 00398 /* name_length */ 5, 00399 /* allowed_forms */ Var_Only_Form, 00400 /* num_types */ 1, 00401 /* allowed_types */ {Logical}, 00402 /* arg_position */ 5, 00403 /* has_const_opts */ FALSE, 00404 /* scalar */ TRUE, 00405 /* num_const_opts */ 0, 00406 /* const_opts */ {""} 00407 }, 00408 00409 /* ciitem_entry # 7 */ 00410 /* name */ {"FILE", 00411 /* name_length */ 4, 00412 /* allowed_forms */ Exp_Form, 00413 /* num_types */ 1, 00414 /* allowed_types */ {Character}, 00415 /* arg_position */ 2, 00416 /* has_const_opts */ FALSE, 00417 /* scalar */ TRUE, 00418 /* num_const_opts */ 0, 00419 /* const_opts */ {""} 00420 }, 00421 00422 /* ciitem_entry # 8 */ 00423 /* name */ {"FORM", 00424 /* name_length */ 4, 00425 /* allowed_forms */ Var_Only_Form, 00426 /* num_types */ 1, 00427 /* allowed_types */ {Character}, 00428 /* arg_position */ 13, 00429 /* has_const_opts */ FALSE, 00430 /* scalar */ TRUE, 00431 /* num_const_opts */ 0, 00432 /* const_opts */ {""} 00433 }, 00434 00435 /* ciitem_entry # 9 */ 00436 /* name */ {"FORMATTED", 00437 /* name_length */ 9, 00438 /* allowed_forms */ Var_Only_Form, 00439 /* num_types */ 1, 00440 /* allowed_types */ {Character}, 00441 /* arg_position */ 14, 00442 /* has_const_opts */ FALSE, 00443 /* scalar */ TRUE, 00444 /* num_const_opts */ 0, 00445 /* const_opts */ {""} 00446 }, 00447 00448 /* ciitem_entry #10 */ 00449 /* name */ {"IOSTAT", 00450 /* name_length */ 6, 00451 /* allowed_forms */ Var_Only_Form, 00452 /* num_types */ 1, 00453 /* allowed_types */ {Integer}, 00454 /* arg_position */ 3, 00455 /* has_const_opts */ FALSE, 00456 /* scalar */ TRUE, 00457 /* num_const_opts */ 0, 00458 /* const_opts */ {""} 00459 }, 00460 00461 /* ciitem_entry #11 */ 00462 /* name */ {"NAME", 00463 /* name_length */ 4, 00464 /* allowed_forms */ Var_Only_Form, 00465 /* num_types */ 1, 00466 /* allowed_types */ {Character}, 00467 /* arg_position */ 9, 00468 /* has_const_opts */ FALSE, 00469 /* scalar */ TRUE, 00470 /* num_const_opts */ 0, 00471 /* const_opts */ {""} 00472 }, 00473 00474 /* ciitem_entry #12 */ 00475 /* name */ {"NAMED", 00476 /* name_length */ 5, 00477 /* allowed_forms */ Var_Only_Form, 00478 /* num_types */ 1, 00479 /* allowed_types */ {Logical}, 00480 /* arg_position */ 8, 00481 /* has_const_opts */ FALSE, 00482 /* scalar */ TRUE, 00483 /* num_const_opts */ 0, 00484 /* const_opts */ {""} 00485 }, 00486 00487 /* ciitem_entry #13 */ 00488 /* name */ {"NEXTREC", 00489 /* name_length */ 7, 00490 /* allowed_forms */ Var_Only_Form, 00491 /* num_types */ 1, 00492 /* allowed_types */ {Integer}, 00493 /* arg_position */ 17, 00494 /* has_const_opts */ FALSE, 00495 /* scalar */ TRUE, 00496 /* num_const_opts */ 0, 00497 /* const_opts */ {""} 00498 }, 00499 00500 /* ciitem_entry #14 */ 00501 /* name */ {"NUMBER", 00502 /* name_length */ 6, 00503 /* allowed_forms */ Var_Only_Form, 00504 /* num_types */ 1, 00505 /* allowed_types */ {Integer}, 00506 /* arg_position */ 7, 00507 /* has_const_opts */ FALSE, 00508 /* scalar */ TRUE, 00509 /* num_const_opts */ 0, 00510 /* const_opts */ {""} 00511 }, 00512 00513 /* ciitem_entry #15 */ 00514 /* name */ {"OPENED", 00515 /* name_length */ 6, 00516 /* allowed_forms */ Var_Only_Form, 00517 /* num_types */ 1, 00518 /* allowed_types */ {Logical}, 00519 /* arg_position */ 6, 00520 /* has_const_opts */ FALSE, 00521 /* scalar */ TRUE, 00522 /* num_const_opts */ 0, 00523 /* const_opts */ {""} 00524 }, 00525 00526 /* ciitem_entry #16 */ 00527 /* name */ {"PAD", 00528 /* name_length */ 3, 00529 /* allowed_forms */ Var_Only_Form, 00530 /* num_types */ 1, 00531 /* allowed_types */ {Character}, 00532 /* arg_position */ 25, 00533 /* has_const_opts */ FALSE, 00534 /* scalar */ TRUE, 00535 /* num_const_opts */ 0, 00536 /* const_opts */ {""} 00537 }, 00538 00539 /* ciitem_entry #17 */ 00540 /* name */ {"POSITION", 00541 /* name_length */ 8, 00542 /* allowed_forms */ Var_Only_Form, 00543 /* num_types */ 1, 00544 /* allowed_types */ {Character}, 00545 /* arg_position */ 19, 00546 /* has_const_opts */ FALSE, 00547 /* scalar */ TRUE, 00548 /* num_const_opts */ 0, 00549 /* const_opts */ {""} 00550 }, 00551 00552 /* ciitem_entry #18 */ 00553 /* name */ {"READ", 00554 /* name_length */ 4, 00555 /* allowed_forms */ Var_Only_Form, 00556 /* num_types */ 1, 00557 /* allowed_types */ {Character}, 00558 /* arg_position */ 21, 00559 /* has_const_opts */ FALSE, 00560 /* scalar */ TRUE, 00561 /* num_const_opts */ 0, 00562 /* const_opts */ {""} 00563 }, 00564 00565 /* ciitem_entry #19 */ 00566 /* name */ {"READWRITE", 00567 /* name_length */ 9, 00568 /* allowed_forms */ Var_Only_Form, 00569 /* num_types */ 1, 00570 /* allowed_types */ {Character}, 00571 /* arg_position */ 23, 00572 /* has_const_opts */ FALSE, 00573 /* scalar */ TRUE, 00574 /* num_const_opts */ 0, 00575 /* const_opts */ {""} 00576 }, 00577 00578 /* ciitem_entry #20 */ 00579 /* name */ {"RECL", 00580 /* name_length */ 4, 00581 /* allowed_forms */ Var_Only_Form, 00582 /* num_types */ 1, 00583 /* allowed_types */ {Integer}, 00584 /* arg_position */ 16, 00585 /* has_const_opts */ FALSE, 00586 /* scalar */ TRUE, 00587 /* num_const_opts */ 0, 00588 /* const_opts */ {""} 00589 }, 00590 00591 /* ciitem_entry #21 */ 00592 /* name */ {"SEQUENTIAL", 00593 /* name_length */ 10, 00594 /* allowed_forms */ Var_Only_Form, 00595 /* num_types */ 1, 00596 /* allowed_types */ {Character}, 00597 /* arg_position */ 11, 00598 /* has_const_opts */ FALSE, 00599 /* scalar */ TRUE, 00600 /* num_const_opts */ 0, 00601 /* const_opts */ {""} 00602 }, 00603 00604 /* ciitem_entry #22 */ 00605 /* name */ {"UNFORMATTED", 00606 /* name_length */ 11, 00607 /* allowed_forms */ Var_Only_Form, 00608 /* num_types */ 1, 00609 /* allowed_types */ {Character}, 00610 /* arg_position */ 15, 00611 /* has_const_opts */ FALSE, 00612 /* scalar */ TRUE, 00613 /* num_const_opts */ 0, 00614 /* const_opts */ {""} 00615 }, 00616 00617 /* ciitem_entry #23 */ 00618 /* name */ {"UNIT", 00619 /* name_length */ 4, 00620 /* allowed_forms */ Exp_Form, 00621 /* num_types */ 2, 00622 /* allowed_types */ {Integer, 00623 Typeless}, 00624 /* arg_position */ 1, 00625 /* has_const_opts */ FALSE, 00626 /* scalar */ FALSE, 00627 /* num_const_opts */ 0, 00628 /* const_opts */ {""} 00629 }, 00630 00631 /* ciitem_entry #24 */ 00632 /* name */ {"WRITE", 00633 /* name_length */ 5, 00634 /* allowed_forms */ Var_Only_Form, 00635 /* num_types */ 1, 00636 /* allowed_types */ {Character}, 00637 /* arg_position */ 22, 00638 /* has_const_opts */ FALSE, 00639 /* scalar */ TRUE, 00640 /* num_const_opts */ 0, 00641 /* const_opts */ {""} 00642 } 00643 } 00644 }, 00645 00646 /* Open */ 00647 /* num_ciitems */ { 13, 00648 00649 /* num_diff_ciitems */ 13, 00650 00651 /* num_without_kwd */ 1, 00652 00653 { 00654 /* ciitem_entry # 0 */ 00655 /* name */ {"ACCESS", 00656 /* name_length */ 6, 00657 /* allowed_forms */ Exp_Form, 00658 /* num_types */ 1, 00659 /* allowed_types */ {Character}, 00660 /* arg_position */ 6, 00661 /* has_const_opts */ TRUE, 00662 /* scalar */ TRUE, 00663 /* num_const_opts */ 2, 00664 /* const_opts */ {"SEQUENTIAL", 00665 "DIRECT"} 00666 }, 00667 00668 /* ciitem_entry # 1 */ 00669 /* name */ {"ACTION", 00670 /* name_length */ 6, 00671 /* allowed_forms */ Exp_Form, 00672 /* num_types */ 1, 00673 /* allowed_types */ {Character}, 00674 /* arg_position */ 11, 00675 /* has_const_opts */ TRUE, 00676 /* scalar */ TRUE, 00677 /* num_const_opts */ 3, 00678 /* const_opts */ {"READ", 00679 "READWRITE", 00680 "WRITE"} 00681 }, 00682 00683 /* ciitem_entry # 2 */ 00684 /* name */ {"BLANK", 00685 /* name_length */ 5, 00686 /* allowed_forms */ Exp_Form, 00687 /* num_types */ 1, 00688 /* allowed_types */ {Character}, 00689 /* arg_position */ 9, 00690 /* has_const_opts */ TRUE, 00691 /* scalar */ TRUE, 00692 /* num_const_opts */ 2, 00693 /* const_opts */ {"NULL", 00694 "ZERO"} 00695 }, 00696 00697 /* ciitem_entry # 3 */ 00698 /* name */ {"DELIM", 00699 /* name_length */ 5, 00700 /* allowed_forms */ Exp_Form, 00701 /* num_types */ 1, 00702 /* allowed_types */ {Character}, 00703 /* arg_position */ 12, 00704 /* has_const_opts */ TRUE, 00705 /* scalar */ TRUE, 00706 /* num_const_opts */ 3, 00707 /* const_opts */ {"APOSTROPHE", 00708 "QUOTE", 00709 "NONE"} 00710 }, 00711 00712 /* ciitem_entry # 4 */ 00713 /* name */ {"ERR", 00714 /* name_length */ 3, 00715 /* allowed_forms */ Label_Form, 00716 /* num_types */ 0, 00717 /* allowed_types */ {Typeless}, 00718 /* arg_position */ 3, 00719 /* has_const_opts */ FALSE, 00720 /* scalar */ FALSE, 00721 /* num_const_opts */ 0, 00722 /* const_opts */ {""} 00723 }, 00724 00725 /* ciitem_entry # 5 */ 00726 /* name */ {"FILE", 00727 /* name_length */ 4, 00728 /* allowed_forms */ Exp_Form, 00729 /* num_types */ 1, 00730 /* allowed_types */ {Character}, 00731 /* arg_position */ 4, 00732 /* has_const_opts */ FALSE, 00733 /* scalar */ TRUE, 00734 /* num_const_opts */ 0, 00735 /* const_opts */ {""} 00736 }, 00737 00738 /* ciitem_entry # 6 */ 00739 /* name */ {"FORM", 00740 /* name_length */ 4, 00741 /* allowed_forms */ Exp_Form, 00742 /* num_types */ 1, 00743 /* allowed_types */ {Character}, 00744 /* arg_position */ 7, 00745 /* has_const_opts */ TRUE, 00746 /* scalar */ TRUE, 00747 /* num_const_opts */ 4, 00748 /* const_opts */ {"FORMATTED", 00749 "UNFORMATTED", 00750 "SYSTEM", 00751 "BINARY"} 00752 }, 00753 00754 /* ciitem_entry # 7 */ 00755 /* name */ {"IOSTAT", 00756 /* name_length */ 6, 00757 /* allowed_forms */ Var_Only_Form, 00758 /* num_types */ 1, 00759 /* allowed_types */ {Integer}, 00760 /* arg_position */ 2, 00761 /* has_const_opts */ FALSE, 00762 /* scalar */ TRUE, 00763 /* num_const_opts */ 0, 00764 /* const_opts */ {""} 00765 }, 00766 00767 /* ciitem_entry # 8 */ 00768 /* name */ {"PAD", 00769 /* name_length */ 3, 00770 /* allowed_forms */ Exp_Form, 00771 /* num_types */ 1, 00772 /* allowed_types */ {Character}, 00773 /* arg_position */ 13, 00774 /* has_const_opts */ TRUE, 00775 /* scalar */ TRUE, 00776 /* num_const_opts */ 2, 00777 /* const_opts */ {"YES", 00778 "NO"} 00779 }, 00780 00781 /* ciitem_entry # 9 */ 00782 /* name */ {"POSITION", 00783 /* name_length */ 8, 00784 /* allowed_forms */ Exp_Form, 00785 /* num_types */ 1, 00786 /* allowed_types */ {Character}, 00787 /* arg_position */ 10, 00788 /* has_const_opts */ TRUE, 00789 /* scalar */ TRUE, 00790 /* num_const_opts */ 3, 00791 /* const_opts */ {"ASIS", 00792 "REWIND", 00793 "APPEND"} 00794 }, 00795 00796 /* ciitem_entry #10 */ 00797 /* name */ {"RECL", 00798 /* name_length */ 4, 00799 /* allowed_forms */ Exp_Form, 00800 /* num_types */ 2, 00801 /* allowed_types */ {Integer, 00802 Typeless}, 00803 /* arg_position */ 8, 00804 /* has_const_opts */ FALSE, 00805 /* scalar */ TRUE, 00806 /* num_const_opts */ 0, 00807 /* const_opts */ {""} 00808 }, 00809 00810 /* ciitem_entry #11 */ 00811 /* name */ {"STATUS", 00812 /* name_length */ 6, 00813 /* allowed_forms */ Exp_Form, 00814 /* num_types */ 1, 00815 /* allowed_types */ {Character}, 00816 /* arg_position */ 5, 00817 /* has_const_opts */ TRUE, 00818 /* scalar */ TRUE, 00819 /* num_const_opts */ 5, 00820 /* const_opts */ {"OLD", 00821 "NEW", 00822 "SCRATCH", 00823 "REPLACE", 00824 "UNKNOWN"} 00825 }, 00826 00827 /* ciitem_entry #12 */ 00828 /* name */ {"UNIT", 00829 /* name_length */ 4, 00830 /* allowed_forms */ Exp_Form, 00831 /* num_types */ 2, 00832 /* allowed_types */ {Integer, 00833 Typeless}, 00834 /* arg_position */ 1, 00835 /* has_const_opts */ FALSE, 00836 /* scalar */ FALSE, 00837 /* num_const_opts */ 0, 00838 /* const_opts */ {""} 00839 } 00840 } 00841 }, 00842 00843 /* Read */ 00844 /* num_ciitems */ { 9, 00845 00846 /* num_diff_ciitems */ 10, 00847 00848 /* num_without_kwd */ 2, 00849 00850 { 00851 /* ciitem_entry # 0 */ 00852 /* name */ {"ADVANCE", 00853 /* name_length */ 7, 00854 /* allowed_forms */ Exp_Form, 00855 /* num_types */ 1, 00856 /* allowed_types */ {Character}, 00857 /* arg_position */ 7, 00858 /* has_const_opts */ TRUE, 00859 /* scalar */ TRUE, 00860 /* num_const_opts */ 2, 00861 /* const_opts */ {"YES", 00862 "NO"} 00863 }, 00864 00865 /* ciitem_entry # 1 */ 00866 /* name */ {"END", 00867 /* name_length */ 3, 00868 /* allowed_forms */ Label_Form, 00869 /* num_types */ 0, 00870 /* allowed_types */ {Typeless}, 00871 /* arg_position */ 4, 00872 /* has_const_opts */ FALSE, 00873 /* scalar */ FALSE, 00874 /* num_const_opts */ 0, 00875 /* const_opts */ {""} 00876 }, 00877 00878 /* ciitem_entry # 2 */ 00879 /* name */ {"EOR", 00880 /* name_length */ 3, 00881 /* allowed_forms */ Label_Form, 00882 /* num_types */ 0, 00883 /* allowed_types */ {Typeless}, 00884 /* arg_position */ 9, 00885 /* has_const_opts */ FALSE, 00886 /* scalar */ FALSE, 00887 /* num_const_opts */ 0, 00888 /* const_opts */ {""} 00889 }, 00890 00891 /* ciitem_entry # 3 */ 00892 /* name */ {"ERR", 00893 /* name_length */ 3, 00894 /* allowed_forms */ Label_Form, 00895 /* num_types */ 0, 00896 /* allowed_types */ {Typeless}, 00897 /* arg_position */ 3, 00898 /* has_const_opts */ FALSE, 00899 /* scalar */ FALSE, 00900 /* num_const_opts */ 0, 00901 /* const_opts */ {""} 00902 }, 00903 00904 /* ciitem_entry # 4 */ 00905 /* name */ {"FMT", 00906 /* name_length */ 3, 00907 /* allowed_forms */ Format_Form, 00908 /* num_types */ 1, 00909 /* allowed_types */ {Character}, 00910 /* arg_position */ 2, 00911 /* has_const_opts */ FALSE, 00912 /* scalar */ FALSE, 00913 /* num_const_opts */ 0, 00914 /* const_opts */ {""} 00915 }, 00916 00917 /* ciitem_entry # 5 */ 00918 /* name */ {"IOSTAT", 00919 /* name_length */ 6, 00920 /* allowed_forms */ Var_Only_Form, 00921 /* num_types */ 1, 00922 /* allowed_types */ {Integer}, 00923 /* arg_position */ 5, 00924 /* has_const_opts */ FALSE, 00925 /* scalar */ TRUE, 00926 /* num_const_opts */ 0, 00927 /* const_opts */ {""} 00928 }, 00929 00930 /* ciitem_entry # 6 */ 00931 /* name */ {"NML", 00932 /* name_length */ 3, 00933 /* allowed_forms */ Namelist_Form, 00934 /* num_types */ 0, 00935 /* allowed_types */ {Typeless}, 00936 /* arg_position */ 2, 00937 /* has_const_opts */ FALSE, 00938 /* scalar */ FALSE, 00939 /* num_const_opts */ 0, 00940 /* const_opts */ {""} 00941 }, 00942 00943 /* ciitem_entry # 7 */ 00944 /* name */ {"REC", 00945 /* name_length */ 3, 00946 /* allowed_forms */ Exp_Form, 00947 /* num_types */ 2, 00948 /* allowed_types */ {Integer, 00949 Typeless}, 00950 /* arg_position */ 6, 00951 /* has_const_opts */ FALSE, 00952 /* scalar */ TRUE, 00953 /* num_const_opts */ 0, 00954 /* const_opts */ {""} 00955 }, 00956 00957 /* ciitem_entry # 8 */ 00958 /* name */ {"SIZE", 00959 /* name_length */ 4, 00960 /* allowed_forms */ Var_Only_Form, 00961 /* num_types */ 1, 00962 /* allowed_types */ {Integer}, 00963 /* arg_position */ 8, 00964 /* has_const_opts */ FALSE, 00965 /* scalar */ TRUE, 00966 /* num_const_opts */ 0, 00967 /* const_opts */ {""} 00968 }, 00969 00970 /* ciitem_entry # 9 */ 00971 /* name */ {"UNIT", 00972 /* name_length */ 4, 00973 /* allowed_forms */ Exp_Form, 00974 /* num_types */ 3, 00975 /* allowed_types */ {Integer, 00976 Typeless, 00977 Character}, 00978 /* arg_position */ 1, 00979 /* has_const_opts */ FALSE, 00980 /* scalar */ FALSE, 00981 /* num_const_opts */ 0, 00982 /* const_opts */ {""} 00983 } 00984 } 00985 }, 00986 00987 /* Rewind */ 00988 /* num_ciitems */ { 3, 00989 00990 /* num_diff_ciitems */ 3, 00991 00992 /* num_without_kwd */ 1, 00993 00994 { 00995 /* ciitem_entry # 0 */ 00996 /* name */ {"ERR", 00997 /* name_length */ 3, 00998 /* allowed_forms */ Label_Form, 00999 /* num_types */ 0, 01000 /* allowed_types */ {Typeless}, 01001 /* arg_position */ 3, 01002 /* has_const_opts */ FALSE, 01003 /* scalar */ FALSE, 01004 /* num_const_opts */ 0, 01005 /* const_opts */ {""} 01006 }, 01007 01008 /* ciitem_entry # 1 */ 01009 /* name */ {"IOSTAT", 01010 /* name_length */ 6, 01011 /* allowed_forms */ Var_Only_Form, 01012 /* num_types */ 1, 01013 /* allowed_types */ {Integer}, 01014 /* arg_position */ 2, 01015 /* has_const_opts */ FALSE, 01016 /* scalar */ TRUE, 01017 /* num_const_opts */ 0, 01018 /* const_opts */ {""} 01019 }, 01020 01021 /* ciitem_entry # 2 */ 01022 /* name */ {"UNIT", 01023 /* name_length */ 4, 01024 /* allowed_forms */ Exp_Form, 01025 /* num_types */ 3, 01026 /* allowed_types */ {Integer, 01027 Typeless, 01028 Character}, 01029 /* arg_position */ 1, 01030 /* has_const_opts */ FALSE, 01031 /* scalar */ FALSE, 01032 /* num_const_opts */ 0, 01033 /* const_opts */ {""} 01034 } 01035 } 01036 }, 01037 01038 /* Write */ 01039 /* num_ciitems */ { 9, 01040 01041 /* num_diff_ciitems */ 10, 01042 01043 /* num_without_kwd */ 2, 01044 01045 { 01046 /* ciitem_entry # 0 */ 01047 /* name */ {"ADVANCE", 01048 /* name_length */ 7, 01049 /* allowed_forms */ Exp_Form, 01050 /* num_types */ 1, 01051 /* allowed_types */ {Character}, 01052 /* arg_position */ 7, 01053 /* has_const_opts */ TRUE, 01054 /* scalar */ TRUE, 01055 /* num_const_opts */ 2, 01056 /* const_opts */ {"YES", 01057 "NO"} 01058 }, 01059 01060 /* ciitem_entry # 1 */ 01061 /* name */ {"END", 01062 /* name_length */ 3, 01063 /* allowed_forms */ Label_Form, 01064 /* num_types */ 0, 01065 /* allowed_types */ {Typeless}, 01066 /* arg_position */ 4, 01067 /* has_const_opts */ FALSE, 01068 /* scalar */ FALSE, 01069 /* num_const_opts */ 0, 01070 /* const_opts */ {""} 01071 }, 01072 01073 /* ciitem_entry # 2 */ 01074 /* name */ {"EOR", 01075 /* name_length */ 3, 01076 /* allowed_forms */ Label_Form, 01077 /* num_types */ 0, 01078 /* allowed_types */ {Typeless}, 01079 /* arg_position */ 9, 01080 /* has_const_opts */ FALSE, 01081 /* scalar */ FALSE, 01082 /* num_const_opts */ 0, 01083 /* const_opts */ {""} 01084 }, 01085 01086 /* ciitem_entry # 3 */ 01087 /* name */ {"ERR", 01088 /* name_length */ 3, 01089 /* allowed_forms */ Label_Form, 01090 /* num_types */ 0, 01091 /* allowed_types */ {Typeless}, 01092 /* arg_position */ 3, 01093 /* has_const_opts */ FALSE, 01094 /* scalar */ FALSE, 01095 /* num_const_opts */ 0, 01096 /* const_opts */ {""} 01097 }, 01098 01099 /* ciitem_entry # 4 */ 01100 /* name */ {"FMT", 01101 /* name_length */ 3, 01102 /* allowed_forms */ Format_Form, 01103 /* num_types */ 1, 01104 /* allowed_types */ {Character}, 01105 /* arg_position */ 2, 01106 /* has_const_opts */ FALSE, 01107 /* scalar */ FALSE, 01108 /* num_const_opts */ 0, 01109 /* const_opts */ {""} 01110 }, 01111 01112 /* ciitem_entry # 5 */ 01113 /* name */ {"IOSTAT", 01114 /* name_length */ 6, 01115 /* allowed_forms */ Var_Only_Form, 01116 /* num_types */ 1, 01117 /* allowed_types */ {Integer}, 01118 /* arg_position */ 5, 01119 /* has_const_opts */ FALSE, 01120 /* scalar */ TRUE, 01121 /* num_const_opts */ 0, 01122 /* const_opts */ {""} 01123 }, 01124 01125 /* ciitem_entry # 6 */ 01126 /* name */ {"NML", 01127 /* name_length */ 3, 01128 /* allowed_forms */ Namelist_Form, 01129 /* num_types */ 0, 01130 /* allowed_types */ {Typeless}, 01131 /* arg_position */ 2, 01132 /* has_const_opts */ FALSE, 01133 /* scalar */ FALSE, 01134 /* num_const_opts */ 0, 01135 /* const_opts */ {""} 01136 }, 01137 01138 /* ciitem_entry # 7 */ 01139 /* name */ {"REC", 01140 /* name_length */ 3, 01141 /* allowed_forms */ Exp_Form, 01142 /* num_types */ 2, 01143 /* allowed_types */ {Integer, 01144 Typeless}, 01145 /* arg_position */ 6, 01146 /* has_const_opts */ FALSE, 01147 /* scalar */ TRUE, 01148 /* num_const_opts */ 0, 01149 /* const_opts */ {""} 01150 }, 01151 01152 /* ciitem_entry # 8 */ 01153 /* name */ {"SIZE", 01154 /* name_length */ 4, 01155 /* allowed_forms */ Var_Only_Form, 01156 /* num_types */ 1, 01157 /* allowed_types */ {Integer}, 01158 /* arg_position */ 8, 01159 /* has_const_opts */ FALSE, 01160 /* scalar */ TRUE, 01161 /* num_const_opts */ 0, 01162 /* const_opts */ {""} 01163 }, 01164 01165 /* ciitem_entry # 9 */ 01166 /* name */ {"UNIT", 01167 /* name_length */ 4, 01168 /* allowed_forms */ Exp_Form, 01169 /* num_types */ 3, 01170 /* allowed_types */ {Integer, 01171 Typeless, 01172 Character}, 01173 /* arg_position */ 1, 01174 /* has_const_opts */ FALSE, 01175 /* scalar */ FALSE, 01176 /* num_const_opts */ 0, 01177 /* const_opts */ {""} 01178 } 01179 } 01180 } 01181 }; 01182 01183 /**************************************************************************\ 01184 |* extern to expr_semantics flags. *| 01185 \**************************************************************************/ 01186 01187 extern boolean namelist_illegal; 01188 01189 /**************************************************************************\ 01190 |* Variables global to s_io.c and p_io.c. *| 01191 \**************************************************************************/ 01192 01193 extern boolean is_namelist; 01194 extern int imp_do_var_list;