Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
p_io.h
Go to the documentation of this file.
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;
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines