PSDL_y.cpp

Go to the documentation of this file.
00001 // PSDL_y.cpp,v 1.1 2002/07/25 15:25:51 pgontla Exp
00002 /* A Bison parser, made from PSDL.yy
00003    by GNU bison 1.35.  */
00004 
00005 #define YYBISON 1  /* Identify Bison output.  */
00006 
00007 #define yyparse TAO_PSDL_yyparse
00008 #define yylex TAO_PSDL_yylex
00009 #define yyerror TAO_PSDL_yyerror
00010 #define yylval TAO_PSDL_yylval
00011 #define yychar TAO_PSDL_yychar
00012 #define yydebug TAO_PSDL_yydebug
00013 #define yynerrs TAO_PSDL_yynerrs
00014 # define        TAO_PSDL_SEMI   257
00015 # define        TAO_PSDL_MODULE 258
00016 # define        TAO_PSDL_COLON  259
00017 # define        TAO_PSDL_OPEN_CURLY_BRACE       260
00018 # define        TAO_PSDL_CLOSE_CURLY_BRACE      261
00019 # define        TAO_PSDL_OPEN_BRACE     262
00020 # define        TAO_PSDL_CLOSE_BRACE    263
00021 # define        TAO_PSDL_ABSTRACT       264
00022 # define        TAO_PSDL_STORAGETYPE    265
00023 # define        TAO_PSDL_STORAGEHOME    266
00024 # define        TAO_PSDL_CATALOG        267
00025 # define        TAO_PSDL_PROVIDES       268
00026 # define        TAO_PSDL_IMPLEMENTS     269
00027 # define        TAO_PSDL_SCOPE  270
00028 # define        TAO_PSDL_STORES 271
00029 # define        TAO_PSDL_STATE  272
00030 # define        TAO_PSDL_AS     273
00031 # define        TAO_PSDL_PRIMARY        274
00032 # define        TAO_PSDL_STRONG 275
00033 # define        TAO_PSDL_REF    276
00034 # define        TAO_PSDL_OF     277
00035 # define        TAO_PSDL_OPEN_ANGULAR_BRACE     278
00036 # define        TAO_PSDL_CLOSE_ANGULAR_BRACE    279
00037 # define        TAO_PSDL_COMMA  280
00038 # define        TAO_PSDL_KEY    281
00039 # define        TAO_PSDL_READONLY       282
00040 # define        TAO_PSDL_UNION  283
00041 # define        TAO_PSDL_SWITCH 284
00042 # define        TAO_PSDL_CASE   285
00043 # define        TAO_PSDL_WCHAR  286
00044 # define        TAO_PSDL_BOOLEAN        287
00045 # define        TAO_PSDL_OCTET  288
00046 # define        TAO_PSDL_ANY    289
00047 # define        TAO_PSDL_OBJECT 290
00048 # define        TAO_PSDL_STRUCT 291
00049 # define        TAO_PSDL_DEFAULT        292
00050 # define        TAO_PSDL_FLOAT  293
00051 # define        TAO_PSDL_DOUBLE 294
00052 # define        TAO_PSDL_LONG   295
00053 # define        TAO_PSDL_SHORT  296
00054 # define        TAO_PSDL_UNSIGNED       297
00055 # define        TAO_PSDL_CHAR   298
00056 # define        TAO_PSDL_IDENT  299
00057 # define        TAO_PSDL_TYPEDEF        300
00058 # define        TAO_PSDL_NATIVE 301
00059 # define        TAO_PSDL_PLUS   302
00060 # define        TAO_PSDL_MINUS  303
00061 # define        TAO_PSDL_XOR    304
00062 # define        TAO_PSDL_AND    305
00063 # define        TAO_PSDL_MULT   306
00064 # define        TAO_PSDL_RIGHT_SHIFT    307
00065 # define        TAO_PSDL_LEFT_SHIFT     308
00066 # define        TAO_PSDL_DIV    309
00067 # define        TAO_PSDL_PERCENT        310
00068 # define        TAO_PSDL_TILDA  311
00069 # define        TAO_PSDL_ONEWAY 312
00070 # define        TAO_PSDL_CONST  313
00071 # define        TAO_PSDL_EQUAL  314
00072 # define        TAO_PSDL_OR     315
00073 # define        TAO_PSDL_VOID   316
00074 # define        TAO_PSDL_IN     317
00075 # define        TAO_PSDL_OUT    318
00076 # define        TAO_PSDL_INOUT  319
00077 # define        TAO_PSDL_RAISES 320
00078 # define        TAO_PSDL_CONTEXT        321
00079 # define        TAO_PSDL_FIXED  322
00080 # define        TAO_PSDL_VALUEBASE      323
00081 # define        TAO_PSDL_EXCEPTION      324
00082 # define        TAO_PSDL_INTERFACE      325
00083 # define        TAO_PSDL_LOCAL  326
00084 # define        TAO_PSDL_DOUBLE_COLON   327
00085 # define        TAO_PSDL_VALUETYPE      328
00086 # define        TAO_PSDL_CUSTOM 329
00087 # define        TAO_PSDL_TRUNCATABLE    330
00088 # define        TAO_PSDL_SUPPORTS       331
00089 # define        TAO_PSDL_STRING 332
00090 # define        TAO_PSDL_WSTRING        333
00091 # define        TAO_PSDL_ATTRIBUTE      334
00092 # define        TAO_PSDL_OPEN_SQUARE_BRACE      335
00093 # define        TAO_PSDL_CLOSE_SQUARE_BRACE     336
00094 # define        TAO_PSDL_ENUM   337
00095 # define        TAO_PSDL_SEQUENCE       338
00096 # define        TAO_PSDL_TRUE   339
00097 # define        TAO_PSDL_FALSE  340
00098 # define        TAO_PSDL_INTEGER        341
00099 # define        TAO_PSDL_FLOATING       342
00100 # define        TAO_PSDL_PRIVATE        343
00101 # define        TAO_PSDL_PUBLIC 344
00102 # define        TAO_PSDL_FACTORY        345
00103 # define        TAO_PSDL_FLOATING_PT    346
00104 # define        TAO_PSDL_CHAR_LITERAL   347
00105 # define        TAO_PSDL_FIXED_PT       348
00106 
00107 #line 1 "PSDL.yy"
00108 
00109 // PSDL_y.cpp,v 1.1 2002/07/25 15:25:51 pgontla Exp
00110 // ========================================================================
00111 //
00112 // = LIBRARY
00113 //   orbsvcs / Persistent State Definition Language parser.
00114 //
00115 // = FILENAME
00116 //   PSDL.yy
00117 //
00118 // = AUTHOR
00119 //   Priyanka Gontla <pgontla@doc.ece.uci.edu>
00120 //
00121 // ========================================================================
00122 
00123 #include "PSDL_y.h"
00124 #include "PSDL_Node.h"
00125 #include "PSDL_Interpreter.h"
00126 #include "PSDL_Scope.h"
00127 #include "PSDL_Module_Scope.h"
00128 
00129 #define YYPARSE_PARAM lex_state
00130 #define YYLEX_PARAM lex_state
00131 
00132 //extern int yylex (TAO_PSDL_Node **, void *);
00133 extern int yylex (void);
00134 
00135 static void yyerror (const char *error)
00136 {
00137   printf ("Error %s\n", error);
00138 }
00139 
00140 #ifndef YYSTYPE
00141 # define YYSTYPE int
00142 # define YYSTYPE_IS_TRIVIAL 1
00143 #endif
00144 #ifndef YYDEBUG
00145 # define YYDEBUG 0
00146 #endif
00147 
00148 
00149 
00150 #define YYFINAL         593
00151 #define YYFLAG          -32768
00152 #define YYNTBASE        95
00153 
00154 /* YYTRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */
00155 #define YYTRANSLATE(x) ((unsigned)(x) <= 348 ? yytranslate[x] : 262)
00156 
00157 /* YYTRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX. */
00158 static const char yytranslate[] =
00159 {
00160        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00161        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00162        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00163        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00164        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00165        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00166        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00167        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00168        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00169        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00170        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00171        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00172        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00173        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00174        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00175        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00176        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00177        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00178        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00179        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00180        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00181        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00182        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00183        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00184        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00185        2,     2,     2,     2,     2,     2,     1,     3,     4,     5,
00186        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
00187       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
00188       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
00189       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
00190       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
00191       56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
00192       66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
00193       76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
00194       86,    87,    88,    89,    90,    91,    92,    93,    94
00195 };
00196 
00197 #if YYDEBUG
00198 static const short yyprhs[] =
00199 {
00200        0,     0,     2,     5,     8,    11,    14,    17,    20,    23,
00201       26,    29,    32,    35,    38,    39,    46,    48,    50,    55,
00202       59,    63,    66,    70,    73,    75,    78,    81,    84,    87,
00203       89,    93,    98,   102,   104,   106,   108,   110,   112,   118,
00204      123,   125,   127,   131,   136,   140,   147,   153,   155,   158,
00205      161,   164,   167,   170,   172,   176,   181,   185,   191,   194,
00206      201,   207,   212,   218,   221,   223,   227,   229,   232,   235,
00207      238,   242,   244,   246,   251,   255,   258,   263,   267,   271,
00208      273,   276,   279,   282,   285,   288,   290,   293,   298,   301,
00209      307,   312,   314,   316,   321,   326,   330,   337,   343,   349,
00210      354,   356,   359,   362,   365,   368,   370,   373,   377,   381,
00211      383,   386,   388,   390,   392,   395,   397,   400,   402,   404,
00212      406,   408,   410,   412,   414,   416,   418,   420,   422,   424,
00213      426,   428,   430,   432,   434,   436,   438,   440,   442,   444,
00214      448,   450,   452,   454,   456,   460,   462,   464,   466,   469,
00215      471,   473,   475,   477,   479,   481,   483,   486,   488,   490,
00216      492,   495,   498,   502,   504,   506,   508,   510,   512,   514,
00217      515,   522,   524,   527,   531,   541,   543,   545,   547,   549,
00218      551,   553,   556,   560,   564,   567,   572,   576,   579,   585,
00219      587,   589,   591,   593,   595,   597,   599,   601,   603,   605,
00220      607,   609,   613,   615,   619,   621,   625,   627,   631,   635,
00221      637,   641,   645,   647,   651,   655,   659,   662,   664,   666,
00222      668,   670,   672,   674,   678,   681,   686,   690,   692,   699,
00223      705,   711,   717,   722,   727,   731,   733,   735,   737,   741,
00224      744,   748,   754,   756,   758,   760,   765,   772,   777,   779,
00225      781,   783,   785,   792,   794,   796,   799,   802,   804,   806,
00226      811,   815,   819,   823,   826,   829,   832,   835,   837,   841,
00227      845,   848,   850,   853,   856,   859,   862,   865,   868,   871,
00228      873,   877,   881,   883,   887,   889,   891,   893,   895,   897,
00229      900,   903,   905,   908,   915,   921,   926,   930,   933,   936,
00230      942,   947,   950,   954,   957,   962,   964,   969,   971,   974,
00231      978,   983,   987,   993,   995,   999,  1006,  1011,  1013,  1015,
00232     1017,  1019,  1021,  1023,  1025,  1027,  1029,  1031,  1033,  1035,
00233     1037,  1039,  1041,  1043,  1045,  1047,  1051,  1053,  1055,  1057,
00234     1062,  1067,  1074,  1080,  1082,  1086,  1090,  1092,  1094,  1098,
00235     1102
00236 };
00237 static const short yyrhs[] =
00238 {
00239       96,     0,    95,    96,     0,   150,     3,     0,   188,     3,
00240        0,   201,     3,     0,   216,     3,     0,    97,     3,     0,
00241      121,     3,     0,   141,     3,     0,   111,     3,     0,   127,
00242        3,     0,    99,     3,     0,   227,     3,     0,     0,     4,
00243      149,    98,     6,    95,     7,     0,   100,     0,   101,     0,
00244      103,     6,   104,     7,     0,   103,     6,     7,     0,    10,
00245       11,   149,     0,    11,   149,     0,    10,   102,   106,     0,
00246       10,   102,     0,   105,     0,   105,   104,     0,   108,     3,
00247        0,   119,     3,     0,     5,   107,     0,   225,     0,   225,
00248       26,   107,     0,    28,    18,   109,   159,     0,    18,   109,
00249      159,     0,   154,     0,   235,     0,   236,     0,   110,     0,
00250      225,     0,    21,    22,    24,   107,    25,     0,    22,    24,
00251      107,    25,     0,   113,     0,   112,     0,    10,    12,   149,
00252        0,   114,     6,   115,     7,     0,   114,     6,     7,     0,
00253       10,    12,   149,    23,   107,   117,     0,    10,    12,   149,
00254       23,   107,     0,   116,     0,   116,   115,     0,   119,     3,
00255        0,   120,     3,     0,   260,     3,     0,     5,   118,     0,
00256      225,     0,   225,    26,   118,     0,   205,   202,   206,   209,
00257        0,   205,   202,   206,     0,    27,   149,     8,   160,     9,
00258        0,    27,   149,     0,    13,   149,   122,     6,   124,     7,
00259        0,    13,   149,     6,   124,     7,     0,    13,   149,     6,
00260        7,     0,    13,   149,   122,     6,     7,     0,     5,   123,
00261        0,   225,     0,   225,    26,   123,     0,   125,     0,   125,
00262      124,     0,   126,     3,     0,   119,     3,     0,    14,   118,
00263      159,     0,   128,     0,   129,     0,   130,     6,   131,     7,
00264        0,   130,     6,     7,     0,    11,   149,     0,    11,   149,
00265      133,   135,     0,    11,   149,   133,     0,    11,   149,   135,
00266        0,   132,     0,   132,   131,     0,   108,     3,     0,   138,
00267        3,     0,   140,     3,     0,     5,   134,     0,   225,     0,
00268       15,   107,     0,    22,    24,   134,    25,     0,    16,   146,
00269        0,    17,   159,    19,   139,   137,     0,    17,   159,    19,
00270      139,     0,   134,     0,   136,     0,    22,     8,   159,     9,
00271        0,   142,     6,   143,     7,     0,   142,     6,     7,     0,
00272       12,   149,    23,   134,   145,   147,     0,    12,   149,    23,
00273      134,   145,     0,    12,   149,    23,   134,   147,     0,    12,
00274      149,    23,   134,     0,   144,     0,   144,   143,     0,   120,
00275        3,     0,   148,     3,     0,     5,   146,     0,   225,     0,
00276       15,   118,     0,    20,    27,   149,     0,    20,    27,    22,
00277        0,    45,     0,    46,   151,     0,   178,     0,   182,     0,
00278      240,     0,    47,   159,     0,   215,     0,   152,   157,     0,
00279      153,     0,   156,     0,   154,     0,   155,     0,   225,     0,
00280      162,     0,   163,     0,   172,     0,   173,     0,   174,     0,
00281      175,     0,   176,     0,   177,     0,   214,     0,   242,     0,
00282      235,     0,   236,     0,   212,     0,   178,     0,   182,     0,
00283      240,     0,   158,     0,   158,    26,   157,     0,   159,     0,
00284      161,     0,   149,     0,   159,     0,   160,    26,   159,     0,
00285      237,     0,    39,     0,    40,     0,    41,    40,     0,   164,
00286        0,   168,     0,   165,     0,   166,     0,   167,     0,    42,
00287        0,    41,     0,    41,    41,     0,   169,     0,   170,     0,
00288      171,     0,    43,    42,     0,    43,    41,     0,    43,    41,
00289       41,     0,    44,     0,    32,     0,    33,     0,    34,     0,
00290       35,     0,    36,     0,     0,    37,   149,   179,     6,   180,
00291        7,     0,   181,     0,   181,   180,     0,   152,   157,     3,
00292        0,    29,   149,    30,     8,   183,     9,     6,   184,     7,
00293        0,   163,     0,   172,     0,   174,     0,   240,     0,   225,
00294        0,   185,     0,   185,   184,     0,   186,   187,     3,     0,
00295       31,   190,     5,     0,    38,     5,     0,    31,   190,     5,
00296      186,     0,    38,     5,   186,     0,   152,   158,     0,    59,
00297      189,   149,    60,   190,     0,   163,     0,   172,     0,   173,
00298        0,   174,     0,   162,     0,   235,     0,   236,     0,   213,
00299        0,   225,     0,   175,     0,   191,     0,   192,     0,   191,
00300       61,   192,     0,   193,     0,   192,    50,   193,     0,   194,
00301        0,   193,    51,   194,     0,   195,     0,   194,    53,   195,
00302        0,   194,    54,   195,     0,   196,     0,   195,    48,   196,
00303        0,   195,    49,   196,     0,   197,     0,   196,    52,   197,
00304        0,   196,    55,   197,     0,   196,    56,   197,     0,   198,
00305      199,     0,   199,     0,    49,     0,    48,     0,    57,     0,
00306      225,     0,   243,     0,     8,   190,     9,     0,    70,   149,
00307        0,   200,     6,   180,     7,     0,   200,     6,     7,     0,
00308      149,     0,   204,   205,   202,   206,   209,   210,     0,   205,
00309      202,   206,   209,   210,     0,   204,   205,   202,   206,   209,
00310        0,   204,   205,   202,   206,   210,     0,   205,   202,   206,
00311      209,     0,   205,   202,   206,   210,     0,   205,   202,   206,
00312        0,    58,     0,   211,     0,    62,     0,     8,   207,     9,
00313        0,     8,     9,     0,   208,   211,   159,     0,   208,   211,
00314      159,    26,   207,     0,    63,     0,    64,     0,    65,     0,
00315       66,     8,   225,     9,     0,    66,     8,   225,    26,   226,
00316        9,     0,    67,     8,   249,     9,     0,   154,     0,   235,
00317        0,   236,     0,   225,     0,    68,    24,   259,    26,   259,
00318       25,     0,    68,     0,    69,     0,    37,   149,     0,    29,
00319      149,     0,   217,     0,   218,     0,   220,     6,   221,     7,
00320        0,   220,     6,     7,     0,    10,    71,   149,     0,    72,
00321       71,   149,     0,    71,   149,     0,    71,   149,     0,    10,
00322      219,     0,    72,   219,     0,   219,     0,    10,   219,   223,
00323        0,    72,   219,   223,     0,   219,   223,     0,   222,     0,
00324      222,   221,     0,   150,     3,     0,   188,     3,     0,   201,
00325        3,     0,   239,     3,     0,   203,     3,     0,     5,   224,
00326        0,   225,     0,   225,    26,   224,     0,   149,    73,   225,
00327        0,   149,     0,   149,    26,   226,     0,   149,     0,   232,
00328        0,   231,     0,   230,     0,   229,     0,    74,   149,     0,
00329       10,   228,     0,   228,     0,   228,   152,     0,    10,   228,
00330      234,     6,   222,     7,     0,    10,   228,     6,   222,     7,
00331        0,   233,     6,   253,     7,     0,    75,   228,   234,     0,
00332      228,   234,     0,    75,   228,     0,     5,    76,   252,    77,
00333      224,     0,     5,   252,    77,   224,     0,    77,   224,     0,
00334        5,    76,   252,     0,     5,   252,     0,    78,    24,   259,
00335       25,     0,    78,     0,    79,    24,   259,    25,     0,    79,
00336        0,   149,   238,     0,    81,   259,    82,     0,    28,    80,
00337      211,   159,     0,    80,   211,   159,     0,    83,   149,     6,
00338      241,     7,     0,   149,     0,   149,    26,   241,     0,    84,
00339       24,   153,    26,   259,    25,     0,    84,    24,   153,    25,
00340        0,   245,     0,   249,     0,   250,     0,   247,     0,   248,
00341        0,   251,     0,   246,     0,   244,     0,    85,     0,    86,
00342        0,    87,     0,    92,     0,    93,     0,    32,     0,    78,
00343        0,    79,     0,    94,     0,   225,     0,   225,    26,   252,
00344        0,   222,     0,   254,     0,   255,     0,    90,   152,   157,
00345        3,     0,    89,   152,   157,     3,     0,    91,   149,     8,
00346      256,     9,     3,     0,    91,   149,     8,     9,     3,     0,
00347      257,     0,   257,    26,   256,     0,   258,   211,   159,     0,
00348       63,     0,   190,     0,    91,   149,   261,     0,     8,   159,
00349        9,     0,     8,     9,     0
00350 };
00351 
00352 #endif
00353 
00354 #if YYDEBUG
00355 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
00356 static const short yyrline[] =
00357 {
00358        0,    78,    80,    85,    87,    90,    93,    96,    99,   102,
00359      105,   108,   111,   114,   119,   119,   131,   134,   139,   141,
00360      146,   150,   160,   163,   168,   171,   176,   179,   184,   189,
00361      192,   197,   199,   204,   206,   209,   212,   215,   220,   223,
00362      228,   230,   235,   240,   243,   248,   251,   256,   259,   264,
00363      267,   270,   275,   280,   283,   288,   291,   297,   299,   304,
00364      306,   309,   312,   317,   321,   323,   328,   330,   335,   337,
00365      342,   346,   348,   353,   355,   360,   364,   366,   369,   374,
00366      376,   381,   383,   386,   391,   395,   399,   403,   407,   411,
00367      413,   418,   421,   426,   430,   432,   437,   439,   442,   445,
00368      450,   452,   457,   459,   464,   468,   472,   476,   478,   483,
00369      487,   489,   492,   495,   498,   501,   506,   510,   512,   517,
00370      519,   522,   527,   529,   532,   535,   538,   541,   544,   547,
00371      550,   555,   557,   560,   563,   568,   570,   573,   578,   580,
00372      585,   587,   592,   596,   598,   603,   607,   609,   612,   617,
00373      619,   624,   626,   629,   634,   638,   642,   646,   648,   651,
00374      656,   660,   664,   668,   672,   676,   680,   684,   688,   692,
00375      692,   705,   707,   712,   716,   720,   722,   725,   728,   731,
00376      736,   738,   743,   747,   749,   752,   755,   760,   764,   768,
00377      770,   773,   776,   779,   782,   785,   788,   791,   794,   799,
00378      803,   805,   810,   812,   817,   819,   824,   826,   829,   834,
00379      836,   839,   844,   846,   849,   852,   857,   859,   864,   866,
00380      869,   874,   876,   879,   884,   893,   898,   906,   917,   920,
00381      924,   928,   932,   936,   940,   946,   950,   952,   957,   959,
00382      964,   966,   971,   973,   976,   981,   983,   988,   992,   994,
00383      997,  1000,  1005,  1009,  1013,  1017,  1019,  1024,  1026,  1031,
00384     1036,  1044,  1046,  1049,  1054,  1064,  1066,  1069,  1072,  1075,
00385     1078,  1083,  1085,  1090,  1092,  1095,  1098,  1101,  1106,  1111,
00386     1113,  1118,  1120,  1125,  1127,  1132,  1134,  1137,  1140,  1145,
00387     1149,  1151,  1156,  1160,  1162,  1167,  1171,  1173,  1176,  1181,
00388     1183,  1186,  1189,  1192,  1198,  1200,  1205,  1207,  1212,  1216,
00389     1220,  1222,  1227,  1231,  1233,  1238,  1240,  1245,  1247,  1250,
00390     1253,  1256,  1259,  1262,  1265,  1270,  1272,  1277,  1281,  1285,
00391     1289,  1293,  1297,  1301,  1305,  1307,  1312,  1314,  1317,  1322,
00392     1324,  1329,  1331,  1336,  1338,  1343,  1347,  1351,  1355,  1359,
00393     1361
00394 };
00395 #endif
00396 
00397 
00398 #if (YYDEBUG) || defined YYERROR_VERBOSE
00399 
00400 /* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */
00401 static const char *const yytname[] =
00402 {
00403   "$", "error", "$undefined.", "TAO_PSDL_SEMI", "TAO_PSDL_MODULE",
00404   "TAO_PSDL_COLON", "TAO_PSDL_OPEN_CURLY_BRACE",
00405   "TAO_PSDL_CLOSE_CURLY_BRACE", "TAO_PSDL_OPEN_BRACE",
00406   "TAO_PSDL_CLOSE_BRACE", "TAO_PSDL_ABSTRACT", "TAO_PSDL_STORAGETYPE",
00407   "TAO_PSDL_STORAGEHOME", "TAO_PSDL_CATALOG", "TAO_PSDL_PROVIDES",
00408   "TAO_PSDL_IMPLEMENTS", "TAO_PSDL_SCOPE", "TAO_PSDL_STORES",
00409   "TAO_PSDL_STATE", "TAO_PSDL_AS", "TAO_PSDL_PRIMARY", "TAO_PSDL_STRONG",
00410   "TAO_PSDL_REF", "TAO_PSDL_OF", "TAO_PSDL_OPEN_ANGULAR_BRACE",
00411   "TAO_PSDL_CLOSE_ANGULAR_BRACE", "TAO_PSDL_COMMA", "TAO_PSDL_KEY",
00412   "TAO_PSDL_READONLY", "TAO_PSDL_UNION", "TAO_PSDL_SWITCH",
00413   "TAO_PSDL_CASE", "TAO_PSDL_WCHAR", "TAO_PSDL_BOOLEAN", "TAO_PSDL_OCTET",
00414   "TAO_PSDL_ANY", "TAO_PSDL_OBJECT", "TAO_PSDL_STRUCT",
00415   "TAO_PSDL_DEFAULT", "TAO_PSDL_FLOAT", "TAO_PSDL_DOUBLE",
00416   "TAO_PSDL_LONG", "TAO_PSDL_SHORT", "TAO_PSDL_UNSIGNED", "TAO_PSDL_CHAR",
00417   "TAO_PSDL_IDENT", "TAO_PSDL_TYPEDEF", "TAO_PSDL_NATIVE",
00418   "TAO_PSDL_PLUS", "TAO_PSDL_MINUS", "TAO_PSDL_XOR", "TAO_PSDL_AND",
00419   "TAO_PSDL_MULT", "TAO_PSDL_RIGHT_SHIFT", "TAO_PSDL_LEFT_SHIFT",
00420   "TAO_PSDL_DIV", "TAO_PSDL_PERCENT", "TAO_PSDL_TILDA", "TAO_PSDL_ONEWAY",
00421   "TAO_PSDL_CONST", "TAO_PSDL_EQUAL", "TAO_PSDL_OR", "TAO_PSDL_VOID",
00422   "TAO_PSDL_IN", "TAO_PSDL_OUT", "TAO_PSDL_INOUT", "TAO_PSDL_RAISES",
00423   "TAO_PSDL_CONTEXT", "TAO_PSDL_FIXED", "TAO_PSDL_VALUEBASE",
00424   "TAO_PSDL_EXCEPTION", "TAO_PSDL_INTERFACE", "TAO_PSDL_LOCAL",
00425   "TAO_PSDL_DOUBLE_COLON", "TAO_PSDL_VALUETYPE", "TAO_PSDL_CUSTOM",
00426   "TAO_PSDL_TRUNCATABLE", "TAO_PSDL_SUPPORTS", "TAO_PSDL_STRING",
00427   "TAO_PSDL_WSTRING", "TAO_PSDL_ATTRIBUTE", "TAO_PSDL_OPEN_SQUARE_BRACE",
00428   "TAO_PSDL_CLOSE_SQUARE_BRACE", "TAO_PSDL_ENUM", "TAO_PSDL_SEQUENCE",
00429   "TAO_PSDL_TRUE", "TAO_PSDL_FALSE", "TAO_PSDL_INTEGER",
00430   "TAO_PSDL_FLOATING", "TAO_PSDL_PRIVATE", "TAO_PSDL_PUBLIC",
00431   "TAO_PSDL_FACTORY", "TAO_PSDL_FLOATING_PT", "TAO_PSDL_CHAR_LITERAL",
00432   "TAO_PSDL_FIXED_PT", "psdl_specification", "psdl_definition",
00433   "psdl_module", "@1", "abstract_storagetype", "abstract_storagetype_dcl",
00434   "abstract_storagetype_fwd_dcl", "storagetype_identifier",
00435   "abstract_storagetype_header", "abstract_storagetype_body",
00436   "abstract_storagetype_member", "abstract_storagetype_inh_spec",
00437   "abstract_storagetype_name", "psdl_state_dcl", "psdl_state_type_spec",
00438   "abstract_storagetype_ref_type", "abstract_storagehome",
00439   "abstract_storagehome_fwd_dcl", "abstract_storagehome_dcl",
00440   "abstract_storagehome_header", "abstract_storagehome_body",
00441   "abstract_storagehome_member", "abstract_storagehome_inh_spec",
00442   "abstract_storagehome_name", "local_op_dcl", "key_dcl", "catalog",
00443   "catalog_inh_spec", "catalog_name", "catalog_body", "catalog_member",
00444   "provides_dcl", "storagetype", "storagetype_dcl", "storagetype_fwd_dcl",
00445   "storagetype_header", "storagetype_body", "storagetype_member",
00446   "storagetype_inh_spec", "storagetype_name", "storagetype_impl_spec",
00447   "storagetype_ref_type", "storagehome_scope", "store_directive",
00448   "psdl_concrete_state_type", "ref_rep_directive", "storagehome",
00449   "storagehome_header", "storagehome_body", "storagehome_member",
00450   "storagehome_inh_spec", "storagehome_name", "storagehome_impl_spec",
00451   "primary_key_dcl", "identifier", "type_dcl", "type_declarator",
00452   "type_spec", "simple_type_spec", "base_type_spec", "template_type_spec",
00453   "constr_type_spec", "declarators", "declarator", "simple_declarator",
00454   "simple_declarator_list", "complex_declarator", "floating_pt_type",
00455   "integer_type", "signed_int", "signed_short_int", "signed_long_int",
00456   "signed_longlong_int", "unsigned_int", "unsigned_short_int",
00457   "unsigned_long_int", "unsigned_longlong_int", "char_type",
00458   "wide_char_type", "boolean_type", "octet_type", "any_type",
00459   "object_type", "struct_type", "@2", "member_list", "member",
00460   "union_type", "switch_type_spec", "switch_body", "case", "case_label",
00461   "element_spec", "const_dcl", "const_type", "const_exp", "or_expr",
00462   "xor_expr", "and_expr", "shift_expr", "add_expr", "mult_expr",
00463   "unary_expr", "unary_operator", "primary_expr", "except_header",
00464   "except_dcl", "op_name", "op_dcl", "op_attribute", "op_type_spec",
00465   "parameter_dcls", "param_dcl", "param_attribute", "raises_expr",
00466   "context_expr", "param_type_spec", "fixed_pt_type",
00467   "fixed_pt_const_type", "value_base_type", "constr_forward_decl",
00468   "interface", "interface_dcl", "forward_dcl", "interface_identifier",
00469   "interface_header", "interface_body", "export",
00470   "interface_inheritance_spec", "interface_name", "scoped_name",
00471   "comma_scoped_name", "value", "value_common_base", "value_forward_dcl",
00472   "value_box_dcl", "value_abs_dcl", "value_dcl", "value_header",
00473   "value_inheritance_spec", "string_type", "wide_string_type",
00474   "array_declarator", "fixed_array_size", "attr_dcl", "enum_type",
00475   "enumerator", "sequence_type", "literal", "boolean_literal",
00476   "integer_literal", "floating_pt_literal", "character_literal",
00477   "wide_character_literal", "string_literal", "wide_string_literal",
00478   "fixed_pt_literal", "value_name", "value_element", "state_member",
00479   "init_dcl", "init_param_decls", "init_param_decl",
00480   "init_param_attribute", "positive_int_const", "factory_dcl",
00481   "factory_parameters", 0
00482 };
00483 #endif
00484 
00485 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
00486 static const short yyr1[] =
00487 {
00488        0,    95,    95,    96,    96,    96,    96,    96,    96,    96,
00489       96,    96,    96,    96,    98,    97,    99,    99,   100,   100,
00490      101,   102,   103,   103,   104,   104,   105,   105,   106,   107,
00491      107,   108,   108,   109,   109,   109,   109,   109,   110,   110,
00492      111,   111,   112,   113,   113,   114,   114,   115,   115,   116,
00493      116,   116,   117,   118,   118,   119,   119,   120,   120,   121,
00494      121,   121,   121,   122,   123,   123,   124,   124,   125,   125,
00495      126,   127,   127,   128,   128,   129,   130,   130,   130,   131,
00496      131,   132,   132,   132,   133,   134,   135,   136,   137,   138,
00497      138,   139,   139,   140,   141,   141,   142,   142,   142,   142,
00498      143,   143,   144,   144,   145,   146,   147,   148,   148,   149,
00499      150,   150,   150,   150,   150,   150,   151,   152,   152,   153,
00500      153,   153,   154,   154,   154,   154,   154,   154,   154,   154,
00501      154,   155,   155,   155,   155,   156,   156,   156,   157,   157,
00502      158,   158,   159,   160,   160,   161,   162,   162,   162,   163,
00503      163,   164,   164,   164,   165,   166,   167,   168,   168,   168,
00504      169,   170,   171,   172,   173,   174,   175,   176,   177,   179,
00505      178,   180,   180,   181,   182,   183,   183,   183,   183,   183,
00506      184,   184,   185,   186,   186,   186,   186,   187,   188,   189,
00507      189,   189,   189,   189,   189,   189,   189,   189,   189,   190,
00508      191,   191,   192,   192,   193,   193,   194,   194,   194,   195,
00509      195,   195,   196,   196,   196,   196,   197,   197,   198,   198,
00510      198,   199,   199,   199,   200,   201,   201,   202,   203,   203,
00511      203,   203,   203,   203,   203,   204,   205,   205,   206,   206,
00512      207,   207,   208,   208,   208,   209,   209,   210,   211,   211,
00513      211,   211,   212,   213,   214,   215,   215,   216,   216,   217,
00514      217,   218,   218,   218,   219,   220,   220,   220,   220,   220,
00515      220,   221,   221,   222,   222,   222,   222,   222,   223,   224,
00516      224,   225,   225,   226,   226,   227,   227,   227,   227,   228,
00517      229,   229,   230,   231,   231,   232,   233,   233,   233,   234,
00518      234,   234,   234,   234,   235,   235,   236,   236,   237,   238,
00519      239,   239,   240,   241,   241,   242,   242,   243,   243,   243,
00520      243,   243,   243,   243,   243,   244,   244,   245,   246,   247,
00521      248,   249,   250,   251,   252,   252,   253,   253,   253,   254,
00522      254,   255,   255,   256,   256,   257,   258,   259,   260,   261,
00523      261
00524 };
00525 
00526 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
00527 static const short yyr2[] =
00528 {
00529        0,     1,     2,     2,     2,     2,     2,     2,     2,     2,
00530        2,     2,     2,     2,     0,     6,     1,     1,     4,     3,
00531        3,     2,     3,     2,     1,     2,     2,     2,     2,     1,
00532        3,     4,     3,     1,     1,     1,     1,     1,     5,     4,
00533        1,     1,     3,     4,     3,     6,     5,     1,     2,     2,
00534        2,     2,     2,     1,     3,     4,     3,     5,     2,     6,
00535        5,     4,     5,     2,     1,     3,     1,     2,     2,     2,
00536        3,     1,     1,     4,     3,     2,     4,     3,     3,     1,
00537        2,     2,     2,     2,     2,     1,     2,     4,     2,     5,
00538        4,     1,     1,     4,     4,     3,     6,     5,     5,     4,
00539        1,     2,     2,     2,     2,     1,     2,     3,     3,     1,
00540        2,     1,     1,     1,     2,     1,     2,     1,     1,     1,
00541        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
00542        1,     1,     1,     1,     1,     1,     1,     1,     1,     3,
00543        1,     1,     1,     1,     3,     1,     1,     1,     2,     1,
00544        1,     1,     1,     1,     1,     1,     2,     1,     1,     1,
00545        2,     2,     3,     1,     1,     1,     1,     1,     1,     0,
00546        6,     1,     2,     3,     9,     1,     1,     1,     1,     1,
00547        1,     2,     3,     3,     2,     4,     3,     2,     5,     1,
00548        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
00549        1,     3,     1,     3,     1,     3,     1,     3,     3,     1,
00550        3,     3,     1,     3,     3,     3,     2,     1,     1,     1,
00551        1,     1,     1,     3,     2,     4,     3,     1,     6,     5,
00552        5,     5,     4,     4,     3,     1,     1,     1,     3,     2,
00553        3,     5,     1,     1,     1,     4,     6,     4,     1,     1,
00554        1,     1,     6,     1,     1,     2,     2,     1,     1,     4,
00555        3,     3,     3,     2,     2,     2,     2,     1,     3,     3,
00556        2,     1,     2,     2,     2,     2,     2,     2,     2,     1,
00557        3,     3,     1,     3,     1,     1,     1,     1,     1,     2,
00558        2,     1,     2,     6,     5,     4,     3,     2,     2,     5,
00559        4,     2,     3,     2,     4,     1,     4,     1,     2,     3,
00560        4,     3,     5,     1,     3,     6,     4,     1,     1,     1,
00561        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
00562        1,     1,     1,     1,     1,     3,     1,     1,     1,     4,
00563        4,     6,     5,     1,     3,     3,     1,     1,     3,     3,
00564        2
00565 };
00566 
00567 /* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE
00568    doesn't specify something else to do.  Zero means the default is an
00569    error. */
00570 static const short yydefact[] =
00571 {
00572        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
00573        0,     0,     0,     0,     0,     0,     0,     0,     1,     0,
00574        0,    16,    17,     0,     0,    41,    40,     0,     0,     0,
00575       71,    72,     0,     0,     0,     0,   111,   112,     0,     0,
00576        0,   115,     0,   257,   258,   267,     0,     0,   291,   288,
00577      287,   286,   285,     0,   113,   109,    14,     0,     0,     0,
00578       23,   265,   290,    75,     0,     0,   256,   169,     0,   164,
00579      165,   166,   167,   168,     0,   146,   147,   155,   154,     0,
00580      163,     0,   254,   305,   307,     0,   282,   110,     0,   117,
00581      119,   120,   118,   122,   123,   149,   151,   152,   153,   150,
00582      157,   158,   159,   124,   125,   126,   127,   128,   129,   135,
00583      136,   134,   130,   121,   132,   133,   137,   131,   142,   114,
00584      253,   193,   189,   190,   191,   192,   198,     0,   196,   197,
00585      194,   195,   224,   264,     0,   266,   289,   298,     0,     2,
00586        7,    12,     0,    10,     0,     8,    11,     0,     9,     0,
00587        3,     4,     0,     5,     6,     0,   270,     0,    13,     0,
00588        0,   292,   297,     0,     0,    21,    42,   264,     0,    22,
00589      268,     0,     0,     0,     0,    77,    78,     0,     0,     0,
00590        0,     0,     0,     0,   169,   148,   156,   161,   160,     0,
00591        0,     0,     0,     0,   142,   116,   138,   140,   141,   145,
00592        0,   264,   269,   296,     0,    19,     0,     0,   237,     0,
00593       24,     0,     0,   248,     0,   236,   251,   249,   250,    44,
00594        0,     0,     0,    47,     0,     0,     0,    74,     0,     0,
00595        0,     0,    79,     0,     0,    95,     0,     0,     0,   100,
00596        0,   226,     0,     0,   171,   278,   279,   260,     0,   235,
00597        0,     0,     0,     0,     0,     0,     0,     0,   271,     0,
00598        0,   334,   303,   301,     0,     0,     0,   336,     0,   337,
00599      338,     0,     0,    28,    29,     0,     0,    84,    85,    86,
00600       76,    99,    63,    64,    61,     0,     0,     0,    66,     0,
00601        0,     0,     0,   162,     0,   330,   219,   218,   220,   331,
00602      332,   325,   326,   327,   328,   329,   333,   347,   199,   200,
00603      202,   204,   206,   209,   212,     0,   217,   221,   222,   324,
00604      317,   323,   320,   321,   318,   319,   322,     0,     0,     0,
00605        0,   281,     0,   308,     0,     0,   313,     0,     0,     0,
00606        0,    36,    33,    37,    34,    35,     0,    18,    25,    26,
00607       27,   227,     0,    58,     0,    43,    48,    49,    50,    51,
00608        0,     0,    81,    73,    80,    82,    83,     0,   102,    94,
00609      101,   103,     0,   225,   172,     0,     0,     0,   273,   274,
00610      275,   277,     0,     0,   259,   272,   276,   302,     0,     0,
00611        0,     0,     0,   295,     0,    46,     0,   294,     0,     0,
00612        0,    97,    98,     0,     0,    53,    69,    60,    67,    68,
00613       62,     0,   155,   175,   176,   177,     0,   179,   178,     0,
00614        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
00615        0,   216,     0,   304,   306,   316,     0,     0,   139,   188,
00616        0,   312,     0,     0,    32,     0,     0,    56,     0,     0,
00617      348,     0,     0,   108,   107,   173,   280,     0,   311,     0,
00618      234,     0,   335,   300,     0,     0,     0,    15,     0,    45,
00619       30,   293,   104,   105,   106,    96,    65,    70,     0,    59,
00620        0,   170,   223,   201,   203,   205,   207,   208,   210,   211,
00621      213,   214,   215,     0,     0,   309,   314,     0,     0,    31,
00622      239,   242,   243,   244,     0,     0,     0,    55,   143,     0,
00623      350,     0,     0,    91,    92,    90,    93,   310,     0,     0,
00624      232,   233,   299,   340,   339,     0,   346,     0,   343,     0,
00625       52,    54,     0,   252,   315,     0,    39,   238,     0,     0,
00626       57,     0,   349,     0,     0,    89,   230,   231,     0,   229,
00627      342,     0,     0,     0,     0,     0,     0,   180,     0,    38,
00628      240,     0,   144,     0,    88,   228,     0,   341,   344,   345,
00629        0,   184,   174,   181,     0,     0,     0,   245,     0,    87,
00630      247,   183,   186,   187,   182,   241,   284,     0,   185,     0,
00631      246,   283,     0,     0
00632 };
00633 
00634 static const short yydefgoto[] =
00635 {
00636       17,    18,    19,   164,    20,    21,    22,    60,    23,   209,
00637      210,   169,   273,   211,   340,   341,    24,    25,    26,    27,
00638      222,   223,   469,   404,   286,   225,    28,   180,   282,   287,
00639      288,   289,    29,    30,    31,    32,   231,   232,   175,   277,
00640      176,   514,   545,   233,   515,   234,    33,    34,   238,   239,
00641      401,   472,   402,   240,    86,   251,    87,   242,    89,   213,
00642       91,    92,   195,   196,   197,   509,   198,    93,    94,    95,
00643       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
00644      106,   107,   108,    36,   182,   243,   244,    37,   416,   556,
00645      557,   558,   575,   252,   127,   307,   308,   309,   310,   311,
00646      312,   313,   314,   315,   316,    39,   253,   352,   254,   255,
00647      214,   447,   504,   505,   507,   521,   215,   111,   128,   112,
00648       41,    42,    43,    44,    45,    46,   257,   258,   156,   245,
00649      317,   587,    47,    48,    49,    50,    51,    52,    53,   162,
00650      217,   218,   199,   333,   259,    54,   337,   117,   318,   319,
00651      320,   321,   322,   323,   324,   325,   326,   262,   268,   269,
00652      270,   527,   528,   529,   327,   226,   450
00653 };
00654 
00655 static const short yypact[] =
00656 {
00657      671,    66,    84,    66,    66,    66,    66,    66,  1142,    66,
00658     1060,    66,    66,     1,    66,    44,    66,   553,-32768,    87,
00659      129,-32768,-32768,   151,   175,-32768,-32768,   153,   209,   218,
00660   -32768,-32768,   234,   246,   244,   251,-32768,-32768,   254,   252,
00661      256,-32768,   258,-32768,-32768,   176,   257,   261,   608,-32768,
00662   -32768,-32768,-32768,   262,-32768,-32768,-32768,    66,    66,    66,
00663      268,   176,    43,    69,   259,   131,   245,   271,    66,-32768,
00664   -32768,-32768,-32768,-32768,    66,-32768,-32768,   152,-32768,   174,
00665   -32768,   255,-32768,   274,   282,   289,   243,-32768,    66,-32768,
00666   -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
00667   -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
00668   -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
00669   -32768,-32768,-32768,-32768,-32768,-32768,-32768,    66,-32768,-32768,
00670   -32768,-32768,-32768,   314,    66,   176,-32768,    35,   317,-32768,
00671   -32768,-32768,   798,-32768,   442,-32768,-32768,   189,-32768,   146,
00672   -32768,-32768,   724,-32768,-32768,    66,-32768,   742,-32768,    18,
00673       66,-32768,-32768,   979,   319,   323,   297,   324,    66,-32768,
00674   -32768,  1090,   325,    66,    66,   315,-32768,    66,    66,   839,
00675      328,   330,   334,   245,-32768,-32768,-32768,   302,-32768,   372,
00676      372,   372,  1122,    66,   263,-32768,   320,-32768,-32768,-32768,
00677      285,   344,-32768,-32768,    66,-32768,  1042,   331,-32768,   341,
00678     1011,   347,   348,-32768,    66,-32768,-32768,-32768,-32768,-32768,
00679       66,    66,   345,   926,   350,   351,   352,-32768,    66,   349,
00680      353,   354,   208,   356,   359,-32768,   337,   362,   360,    89,
00681      367,-32768,    66,   364,  1142,-32768,   346,-32768,   293,-32768,
00682     1209,   371,   374,   376,   379,  1195,    66,   368,  1090,   380,
00683       66,   358,   308,-32768,  1142,  1142,    66,-32768,   385,-32768,
00684   -32768,   671,    66,-32768,   369,   387,  1090,-32768,-32768,-32768,
00685   -32768,   172,-32768,   370,-32768,    66,   383,   391,   895,   396,
00686      854,   105,  1142,-32768,   372,-32768,-32768,-32768,-32768,-32768,
00687   -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   355,   357,
00688      363,   180,   190,   143,-32768,    36,-32768,-32768,-32768,-32768,
00689   -32768,-32768,-32768,-32768,-32768,-32768,-32768,   384,   377,   381,
00690      217,-32768,   372,-32768,    66,   372,   398,   402,   403,   404,
00691       66,-32768,-32768,-32768,-32768,-32768,  1042,-32768,-32768,-32768,
00692   -32768,-32768,   397,   418,   419,-32768,-32768,-32768,-32768,-32768,
00693      411,    66,-32768,-32768,-32768,-32768,-32768,    54,-32768,-32768,
00694   -32768,-32768,   428,-32768,-32768,    66,  1209,    66,-32768,-32768,
00695   -32768,-32768,    66,   397,-32768,-32768,-32768,   361,    66,    66,
00696       66,    66,   424,-32768,   651,   430,    66,-32768,   426,    66,
00697       66,   421,-32768,    66,    66,   414,-32768,-32768,-32768,-32768,
00698   -32768,   434,   401,-32768,-32768,-32768,   436,-32768,-32768,   439,
00699      443,   372,   372,   372,   372,   372,   372,   372,   372,   372,
00700      372,-32768,   372,-32768,-32768,-32768,   372,   378,-32768,-32768,
00701       66,-32768,   413,    66,-32768,    66,    80,   388,    66,    53,
00702   -32768,    58,   444,-32768,-32768,-32768,-32768,    66,-32768,   397,
00703      178,    66,-32768,-32768,   440,   459,    37,-32768,    66,-32768,
00704   -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,    66,-32768,
00705      461,-32768,-32768,   357,   363,   180,   190,   190,   143,   143,
00706   -32768,-32768,-32768,   445,   446,-32768,-32768,    66,   447,-32768,
00707   -32768,-32768,-32768,-32768,   470,  1209,   460,-32768,-32768,   115,
00708   -32768,   479,   465,-32768,-32768,   475,-32768,-32768,   178,   484,
00709      427,-32768,-32768,-32768,-32768,   490,-32768,   486,   471,  1209,
00710   -32768,-32768,   132,-32768,-32768,   473,-32768,-32768,    66,    66,
00711   -32768,    66,-32768,    66,    66,-32768,   427,-32768,   422,-32768,
00712   -32768,   493,   438,    66,   372,   494,   496,   132,  1142,-32768,
00713      481,   156,-32768,   483,-32768,-32768,   501,-32768,-32768,-32768,
00714      507,   132,-32768,-32768,    66,   510,   137,-32768,    66,-32768,
00715   -32768,   132,-32768,-32768,-32768,-32768,   489,   509,-32768,    66,
00716   -32768,-32768,   516,-32768
00717 };
00718 
00719 static const short yypgoto[] =
00720 {
00721      248,   -16,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   312,
00722   -32768,-32768,  -165,  -126,   177,-32768,-32768,-32768,-32768,-32768,
00723      301,-32768,-32768,  -377,   -83,  -131,-32768,-32768,   122,  -202,
00724   -32768,-32768,-32768,-32768,-32768,-32768,   294,-32768,-32768,  -150,
00725      373,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   288,-32768,
00726   -32768,   -15,   127,-32768,    -1,    19,-32768,    29,   338,    77,
00727   -32768,-32768,  -230,   -43,    57,-32768,-32768,   522,     4,-32768,
00728   -32768,-32768,-32768,-32768,-32768,-32768,-32768,    21,   524,    31,
00729      525,-32768,-32768,    27,-32768,  -190,-32768,    71,-32768,   -21,
00730   -32768,  -387,-32768,    25,-32768,  -243,-32768,   117,   120,   116,
00731     -177,  -174,  -220,-32768,   228,-32768,    28,  -240,-32768,-32768,
00732     -124,  -354,   -32,-32768,  -408,  -449,  -200,-32768,-32768,-32768,
00733   -32768,-32768,-32768,-32768,   149,-32768,   287,  -137,   -18,  -143,
00734       12,   -42,-32768,    63,-32768,-32768,-32768,-32768,-32768,   -24,
00735       22,    45,-32768,-32768,-32768,    16,   106,-32768,-32768,-32768,
00736   -32768,-32768,-32768,-32768,     2,-32768,-32768,  -253,-32768,-32768,
00737   -32768,    -3,-32768,-32768,  -108,-32768,-32768
00738 };
00739 
00740 
00741 #define YYLAST          1288
00742 
00743 
00744 static const short yytable[] =
00745 {
00746       56,   139,    63,    64,    65,    66,    67,   387,   118,   279,
00747      132,   133,   372,   136,   122,   138,   383,   263,   237,    35,
00748      113,   230,   129,   474,   116,    38,   267,   281,    40,   460,
00749      114,   123,   130,   256,   275,   109,    35,    88,   172,   256,
00750      159,   125,    38,   170,   294,    40,   525,   256,   159,   171,
00751      377,   420,   520,   115,   374,   131,   165,   166,   167,   212,
00752      113,   224,   510,    55,   116,    62,   119,   183,   295,   547,
00753      114,   549,   134,   184,   173,   109,   453,   161,   137,   110,
00754      512,    55,   328,   329,   174,    90,   408,   194,   411,   500,
00755      140,   530,   439,   115,   260,    57,    58,   565,    55,    55,
00756      526,   531,   419,    55,   438,   518,   230,   395,   237,   236,
00757      546,    55,   160,   203,   299,   300,   220,   202,    14,   110,
00758      160,   301,   302,   303,   540,    90,   200,   212,   304,   305,
00759      306,   382,   141,   201,   256,   462,   178,   179,    70,   398,
00760      224,   541,   459,   501,   502,   503,   412,    78,    79,    80,
00761       55,    61,   256,   235,   216,    59,   216,   142,    14,   144,
00762      464,   465,   135,   554,   113,   577,   236,   246,   116,   216,
00763      555,   261,   246,   220,   114,   216,   457,   399,   143,   109,
00764      274,   155,   578,   216,   582,   278,   274,   400,    16,   278,
00765      283,   216,   185,   186,   588,   428,   227,   115,   429,   430,
00766      501,   502,   503,   336,   113,   331,   228,   206,   490,   491,
00767      492,   229,   145,   351,   114,   187,   188,   207,   343,   353,
00768      354,   146,   216,   110,   437,   228,   206,   118,   344,    90,
00769      229,   470,   456,   424,   425,   216,   207,   115,   426,   427,
00770      147,   194,   435,   436,   506,   519,   463,   486,   487,   148,
00771      149,   345,   488,   489,   150,   351,   113,   151,   152,   153,
00772      116,   154,   216,   157,   158,   392,   114,   216,   163,    90,
00773      216,   109,   261,   168,  -255,   181,   113,   113,   498,   189,
00774      116,   116,   177,   342,   274,   360,   114,   114,   216,   115,
00775       35,   109,   109,   390,   391,   413,    38,   405,   190,    40,
00776      216,   513,   216,   417,   113,   538,   191,   418,   116,   115,
00777      115,   570,   414,   192,   114,   110,   193,  -263,   522,   109,
00778      272,    90,   415,   204,   493,   271,   -20,  -261,   494,   553,
00779      174,   276,   535,   194,   290,   110,   110,   115,   291,   118,
00780      292,    90,    90,   293,   332,   335,   334,  -262,   347,   346,
00781      349,   350,   355,   357,   358,   359,   362,   361,   343,   365,
00782      118,   363,   366,   110,   367,   368,   454,   369,   344,    90,
00783      371,   373,   375,   376,   378,   384,   118,   379,   139,   380,
00784      294,   351,   381,   386,   388,   389,   406,   246,   216,   194,
00785      194,   345,   393,   563,   397,   396,   403,   444,   407,   409,
00786      261,   246,   433,   118,   295,   446,   434,   422,   274,   441,
00787      432,   473,   405,    35,   423,   283,   421,    55,   452,    38,
00788      296,   297,    40,   342,   440,   442,   448,   449,   443,   298,
00789      451,   455,   466,   471,   458,   468,   400,   497,   461,   336,
00790      478,   479,   186,   523,   118,   480,   481,   118,   118,   219,
00791      299,   300,   482,   516,   506,   274,   118,   301,   302,   303,
00792      495,   477,   524,   278,   304,   305,   306,   532,   539,   220,
00793      533,   534,   536,   246,    69,    70,    71,    72,    73,   537,
00794      405,    75,    76,    77,    78,    79,    80,    55,   542,   543,
00795      405,   544,   548,   550,   519,   551,   567,   552,   559,   571,
00796      299,   526,   499,   572,   208,   508,   511,   576,   579,   274,
00797      580,    82,   581,   584,   517,   589,   593,   216,   590,   394,
00798       83,    84,   348,   445,   356,   476,   364,   370,   475,   564,
00799      330,   583,   121,   221,   124,   126,   573,   118,   483,   485,
00800      118,   216,   484,   431,   585,   385,   496,   591,   280,   568,
00801      566,   561,   118,   592,     0,   278,   473,     1,     0,     0,
00802        0,     0,     0,     2,     3,     4,     5,     0,     0,     0,
00803      113,     0,     0,   194,   116,     0,     0,   586,     0,     0,
00804      114,     0,     6,     0,     0,   109,     0,   574,   586,     0,
00805        7,     0,     0,     0,     0,   560,     0,     0,   562,     8,
00806        9,     0,     0,   115,     0,     0,     0,     0,     0,     0,
00807      569,     0,    10,   159,     0,     0,     0,     0,     0,     0,
00808        0,     0,     0,    11,    12,    13,     0,    14,    15,   110,
00809        0,     0,     0,     0,     0,    90,    16,    68,     0,     0,
00810       69,    70,    71,    72,    73,    74,     0,    75,    76,    77,
00811       78,    79,    80,    55,     0,     1,     0,     0,   467,     0,
00812        0,     2,     3,     4,     5,     0,     0,     0,     0,     0,
00813        0,     0,     0,     0,     0,     1,    81,    82,     0,     0,
00814        6,     2,     3,     4,     5,   160,    83,    84,     7,     0,
00815        0,    16,    85,     0,     0,     0,     0,     8,     9,     0,
00816        6,     0,     0,     0,     0,     0,     0,     0,     7,     0,
00817       10,     0,     0,     0,     0,     0,     0,     8,     9,     0,
00818        0,    11,    12,    13,     0,    14,    15,     0,     0,     0,
00819       10,   241,     0,     0,    16,     0,     0,     0,     0,     0,
00820        0,    11,    12,    13,     0,    14,    15,     0,     0,   247,
00821        0,     0,     0,    68,    16,     0,    69,    70,    71,    72,
00822       73,    74,     0,    75,    76,    77,    78,    79,    80,    55,
00823      248,     6,     0,     0,    69,    70,    71,    72,    73,     7,
00824        0,    75,    76,    77,    78,    79,    80,    55,     8,     9,
00825        0,     0,    81,    82,     0,     0,     0,     0,     0,     0,
00826      249,    10,    83,    84,   208,   205,     0,    16,    85,     0,
00827        0,    82,    11,     0,     0,     0,   206,     0,     0,     0,
00828       83,    84,   250,     0,     0,    16,   207,     0,     0,     0,
00829       69,    70,    71,    72,    73,     0,     0,    75,    76,    77,
00830       78,    79,    80,    55,     0,     0,   284,     0,     0,     0,
00831        0,     0,     0,   285,     0,     0,     0,     0,     0,     0,
00832      208,   410,     0,     0,     0,     0,     0,    82,   285,     0,
00833        0,    69,    70,    71,    72,    73,    83,    84,    75,    76,
00834       77,    78,    79,    80,    55,     0,    69,    70,    71,    72,
00835       73,     0,     0,    75,    76,    77,    78,    79,    80,    55,
00836        0,   208,     0,     0,     0,     0,     0,     0,    82,   285,
00837        0,     0,     0,     0,     0,     0,   208,    83,    84,     0,
00838        0,     0,     0,    82,     0,     0,     0,    69,    70,    71,
00839       72,    73,    83,    84,    75,    76,    77,    78,    79,    80,
00840       55,     0,     0,     0,     0,     0,     0,     0,     0,     0,
00841        0,     0,     0,   220,     0,     0,     0,   208,    69,    70,
00842       71,    72,    73,     0,    82,    75,    76,    77,    78,    79,
00843       80,    55,     0,    83,    84,     0,     0,     0,     0,     0,
00844        0,     0,     0,     0,     0,     0,     0,     0,   208,     0,
00845        0,     0,     0,     0,     0,    82,     0,     0,     0,     0,
00846        0,     0,     0,     0,    83,    84,     0,   248,     6,     0,
00847        0,    69,    70,    71,    72,    73,     7,   221,    75,    76,
00848       77,    78,    79,    80,    55,     8,     9,     0,     0,   206,
00849        0,     0,     0,     0,     0,     0,     0,   249,    10,   207,
00850        0,   208,     0,    69,    70,    71,    72,    73,    82,    11,
00851       75,    76,    77,    78,    79,    80,    55,    83,    84,   250,
00852        0,     0,    16,   338,   339,     0,     0,     0,   264,   265,
00853      266,     0,     0,   208,    69,    70,    71,    72,    73,     0,
00854       82,    75,    76,    77,    78,    79,    80,    55,     0,    83,
00855       84,     0,    69,    70,    71,     0,     0,     0,     0,    75,
00856       76,    77,    78,    79,    80,    55,     0,     0,     0,     0,
00857        0,    82,     0,     0,     0,     0,     0,     0,   248,     6,
00858       83,    84,    69,    70,    71,    72,    73,     7,   120,    75,
00859       76,    77,    78,    79,    80,    55,     8,     9,    83,    84,
00860        0,     0,     0,     0,     0,     0,     0,     0,   249,    10,
00861        0,     0,   208,     0,    69,    70,    71,    72,    73,    82,
00862       11,    75,    76,    77,    78,    79,    80,    55,    83,    84,
00863      250,    68,     0,    16,    69,    70,    71,    72,    73,    74,
00864        0,    75,    76,    77,    78,    79,    80,    55,     0,     0,
00865       81,    82,     0,     0,     0,     0,     0,     0,     0,     0,
00866       83,    84,     0,     0,     0,     0,    85,     0,     0,     0,
00867       81,    82,     0,     0,     0,     0,     0,     0,     0,     0,
00868       83,    84,     0,     0,     0,    16,    85,    69,    70,    71,
00869       72,    73,     0,     0,    75,    76,    77,    78,    79,    80,
00870       55,    69,    70,    71,    72,    73,     0,     0,    75,    76,
00871       77,    78,    79,    80,    55,     0,     0,   208,     0,     0,
00872        0,     0,     0,     0,    82,     0,     0,     0,     0,     0,
00873        0,     0,     0,    83,    84,     0,     0,     0,    82,     0,
00874        0,     0,     0,     0,     0,     0,     0,    83,    84
00875 };
00876 
00877 static const short yycheck[] =
00878 {
00879        1,    17,     3,     4,     5,     6,     7,   260,     9,   174,
00880       11,    12,   242,    14,    10,    16,   256,   160,   149,     0,
00881        8,   147,    10,   400,     8,     0,   163,   177,     0,   383,
00882        8,    10,    10,   157,   171,     8,    17,     8,    62,   163,
00883        5,    10,    17,    61,     8,    17,     9,   171,     5,     6,
00884      250,   294,   460,     8,   244,    10,    57,    58,    59,   142,
00885       48,   144,     9,    45,    48,     2,     9,    68,    32,   518,
00886       48,   520,    71,    74,     5,    48,    22,    48,    15,     8,
00887       22,    45,   190,   191,    15,     8,   288,    88,   290,     9,
00888        3,   468,   335,    48,    76,    11,    12,   546,    45,    45,
00889       63,   478,   292,    45,   334,   459,   232,   272,   239,    20,
00890      518,    45,    77,   137,    78,    79,    27,   135,    74,    48,
00891       77,    85,    86,    87,     9,    48,   127,   210,    92,    93,
00892       94,   255,     3,   134,   258,   388,     5,     6,    33,   276,
00893      223,    26,   382,    63,    64,    65,    41,    42,    43,    44,
00894       45,     2,   276,     7,   142,    71,   144,     6,    74,     6,
00895      390,   391,    13,    31,   152,     9,    20,   155,   152,   157,
00896       38,   159,   160,    27,   152,   163,   376,     5,     3,   152,
00897      168,     5,    26,   171,   571,   173,   174,    15,    83,   177,
00898      178,   179,    40,    41,   581,    52,     7,   152,    55,    56,
00899       63,    64,    65,   204,   192,   193,    17,    18,   428,   429,
00900      430,    22,     3,   214,   192,    41,    42,    28,   206,   220,
00901      221,     3,   210,   152,   332,    17,    18,   228,   206,   152,
00902       22,   396,   375,    53,    54,   223,    28,   192,    48,    49,
00903        6,   242,    25,    26,    66,    67,   389,   424,   425,     3,
00904        6,   206,   426,   427,     3,   256,   244,     3,     6,     3,
00905      244,     3,   250,     6,     3,   266,   244,   255,     6,   192,
00906      258,   244,   260,     5,     3,    30,   264,   265,   443,    24,
00907      264,   265,    23,   206,   272,   228,   264,   265,   276,   244,
00908      271,   264,   265,   264,   265,   291,   271,   285,    24,   271,
00909      288,   451,   290,   291,   292,   505,    24,   291,   292,   264,
00910      265,   554,   291,    24,   292,   244,    73,     3,   461,   292,
00911       23,   244,   291,     6,   432,     6,     3,     3,   436,   529,
00912       15,     6,   497,   334,     6,   264,   265,   292,     8,   340,
00913        6,   264,   265,    41,    81,    60,    26,     3,     7,    18,
00914        3,     3,     7,     3,     3,     3,     3,     8,   346,     3,
00915      361,     7,     3,   292,    27,     3,   367,     7,   346,   292,
00916        3,     7,    26,    80,     3,     7,   377,     3,   394,     3,
00917        8,   382,     3,     3,    26,    77,     3,   375,   376,   390,
00918      391,   346,     7,   543,     7,    26,    26,   340,     7,     3,
00919      388,   389,    25,   404,    32,     8,    25,    50,   396,     7,
00920       26,   399,   400,   394,    51,   403,    61,    45,   361,   394,
00921       48,    49,   394,   346,    26,    22,     8,     8,    24,    57,
00922       19,     3,     8,     7,   377,     5,    15,    24,    77,   440,
00923       26,     7,    41,     3,   445,     9,     7,   448,   449,     7,
00924       78,    79,     9,     9,    66,   443,   457,    85,    86,    87,
00925       82,   404,     3,   451,    92,    93,    94,     6,     8,    27,
00926       25,    25,    25,   461,    32,    33,    34,    35,    36,     9,
00927      468,    39,    40,    41,    42,    43,    44,    45,     9,    24,
00928      478,    16,     8,     3,    67,     9,     3,    26,    25,     5,
00929       78,    63,   445,     7,    62,   448,   449,    26,    25,   497,
00930        9,    69,     5,     3,   457,    26,     0,   505,     9,   271,
00931       78,    79,   210,   346,   223,   403,   232,   239,   401,   544,
00932      192,   574,    10,    91,    10,    10,   557,   538,   421,   423,
00933      541,   529,   422,   315,   576,   258,   440,   589,   175,   552,
00934      548,   539,   553,     0,    -1,   543,   544,     4,    -1,    -1,
00935       -1,    -1,    -1,    10,    11,    12,    13,    -1,    -1,    -1,
00936      558,    -1,    -1,   574,   558,    -1,    -1,   578,    -1,    -1,
00937      558,    -1,    29,    -1,    -1,   558,    -1,   558,   589,    -1,
00938       37,    -1,    -1,    -1,    -1,   538,    -1,    -1,   541,    46,
00939       47,    -1,    -1,   558,    -1,    -1,    -1,    -1,    -1,    -1,
00940      553,    -1,    59,     5,    -1,    -1,    -1,    -1,    -1,    -1,
00941       -1,    -1,    -1,    70,    71,    72,    -1,    74,    75,   558,
00942       -1,    -1,    -1,    -1,    -1,   558,    83,    29,    -1,    -1,
00943       32,    33,    34,    35,    36,    37,    -1,    39,    40,    41,
00944       42,    43,    44,    45,    -1,     4,    -1,    -1,     7,    -1,
00945       -1,    10,    11,    12,    13,    -1,    -1,    -1,    -1,    -1,
00946       -1,    -1,    -1,    -1,    -1,     4,    68,    69,    -1,    -1,
00947       29,    10,    11,    12,    13,    77,    78,    79,    37,    -1,
00948       -1,    83,    84,    -1,    -1,    -1,    -1,    46,    47,    -1,
00949       29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    -1,
00950       59,    -1,    -1,    -1,    -1,    -1,    -1,    46,    47,    -1,
00951       -1,    70,    71,    72,    -1,    74,    75,    -1,    -1,    -1,
00952       59,     7,    -1,    -1,    83,    -1,    -1,    -1,    -1,    -1,
00953       -1,    70,    71,    72,    -1,    74,    75,    -1,    -1,     7,
00954       -1,    -1,    -1,    29,    83,    -1,    32,    33,    34,    35,
00955       36,    37,    -1,    39,    40,    41,    42,    43,    44,    45,
00956       28,    29,    -1,    -1,    32,    33,    34,    35,    36,    37,
00957       -1,    39,    40,    41,    42,    43,    44,    45,    46,    47,
00958       -1,    -1,    68,    69,    -1,    -1,    -1,    -1,    -1,    -1,
00959       58,    59,    78,    79,    62,     7,    -1,    83,    84,    -1,
00960       -1,    69,    70,    -1,    -1,    -1,    18,    -1,    -1,    -1,
00961       78,    79,    80,    -1,    -1,    83,    28,    -1,    -1,    -1,
00962       32,    33,    34,    35,    36,    -1,    -1,    39,    40,    41,
00963       42,    43,    44,    45,    -1,    -1,     7,    -1,    -1,    -1,
00964       -1,    -1,    -1,    14,    -1,    -1,    -1,    -1,    -1,    -1,
00965       62,     7,    -1,    -1,    -1,    -1,    -1,    69,    14,    -1,
00966       -1,    32,    33,    34,    35,    36,    78,    79,    39,    40,
00967       41,    42,    43,    44,    45,    -1,    32,    33,    34,    35,
00968       36,    -1,    -1,    39,    40,    41,    42,    43,    44,    45,
00969       -1,    62,    -1,    -1,    -1,    -1,    -1,    -1,    69,    14,
00970       -1,    -1,    -1,    -1,    -1,    -1,    62,    78,    79,    -1,
00971       -1,    -1,    -1,    69,    -1,    -1,    -1,    32,    33,    34,
00972       35,    36,    78,    79,    39,    40,    41,    42,    43,    44,
00973       45,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
00974       -1,    -1,    -1,    27,    -1,    -1,    -1,    62,    32,    33,
00975       34,    35,    36,    -1,    69,    39,    40,    41,    42,    43,
00976       44,    45,    -1,    78,    79,    -1,    -1,    -1,    -1,    -1,
00977       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,
00978       -1,    -1,    -1,    -1,    -1,    69,    -1,    -1,    -1,    -1,
00979       -1,    -1,    -1,    -1,    78,    79,    -1,    28,    29,    -1,
00980       -1,    32,    33,    34,    35,    36,    37,    91,    39,    40,
00981       41,    42,    43,    44,    45,    46,    47,    -1,    -1,    18,
00982       -1,    -1,    -1,    -1,    -1,    -1,    -1,    58,    59,    28,
00983       -1,    62,    -1,    32,    33,    34,    35,    36,    69,    70,
00984       39,    40,    41,    42,    43,    44,    45,    78,    79,    80,
00985       -1,    -1,    83,    21,    22,    -1,    -1,    -1,    89,    90,
00986       91,    -1,    -1,    62,    32,    33,    34,    35,    36,    -1,
00987       69,    39,    40,    41,    42,    43,    44,    45,    -1,    78,
00988       79,    -1,    32,    33,    34,    -1,    -1,    -1,    -1,    39,
00989       40,    41,    42,    43,    44,    45,    -1,    -1,    -1,    -1,
00990       -1,    69,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
00991       78,    79,    32,    33,    34,    35,    36,    37,    68,    39,
00992       40,    41,    42,    43,    44,    45,    46,    47,    78,    79,
00993       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    58,    59,
00994       -1,    -1,    62,    -1,    32,    33,    34,    35,    36,    69,
00995       70,    39,    40,    41,    42,    43,    44,    45,    78,    79,
00996       80,    29,    -1,    83,    32,    33,    34,    35,    36,    37,
00997       -1,    39,    40,    41,    42,    43,    44,    45,    -1,    -1,
00998       68,    69,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
00999       78,    79,    -1,    -1,    -1,    -1,    84,    -1,    -1,    -1,
01000       68,    69,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
01001       78,    79,    -1,    -1,    -1,    83,    84,    32,    33,    34,
01002       35,    36,    -1,    -1,    39,    40,    41,    42,    43,    44,
01003       45,    32,    33,    34,    35,    36,    -1,    -1,    39,    40,
01004       41,    42,    43,    44,    45,    -1,    -1,    62,    -1,    -1,
01005       -1,    -1,    -1,    -1,    69,    -1,    -1,    -1,    -1,    -1,
01006       -1,    -1,    -1,    78,    79,    -1,    -1,    -1,    69,    -1,
01007       -1,    -1,    -1,    -1,    -1,    -1,    -1,    78,    79
01008 };
01009 #define YYPURE 1
01010 
01011 /* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
01012 #line 3 "/usr/share/bison/bison.simple"
01013 
01014 /* Skeleton output parser for bison,
01015 
01016    Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software
01017    Foundation, Inc.
01018 
01019    This program is free software; you can redistribute it and/or modify
01020    it under the terms of the GNU General Public License as published by
01021    the Free Software Foundation; either version 2, or (at your option)
01022    any later version.
01023 
01024    This program is distributed in the hope that it will be useful,
01025    but WITHOUT ANY WARRANTY; without even the implied warranty of
01026    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
01027    GNU General Public License for more details.
01028 
01029    You should have received a copy of the GNU General Public License
01030    along with this program; if not, write to the Free Software
01031    Foundation, Inc., 59 Temple Place - Suite 330,
01032    Boston, MA 02111-1307, USA.  */
01033 
01034 /* As a special exception, when this file is copied by Bison into a
01035    Bison output file, you may use that output file without restriction.
01036    This special exception was added by the Free Software Foundation
01037    in version 1.24 of Bison.  */
01038 
01039 /* This is the parser code that is written into each bison parser when
01040    the %semantic_parser declaration is not specified in the grammar.
01041    It was written by Richard Stallman by simplifying the hairy parser
01042    used when %semantic_parser is specified.  */
01043 
01044 /* All symbols defined below should begin with yy or YY, to avoid
01045    infringing on user name space.  This should be done even for local
01046    variables, as they might otherwise be expanded by user macros.
01047    There are some unavoidable exceptions within include files to
01048    define necessary library symbols; they are noted "INFRINGES ON
01049    USER NAME SPACE" below.  */
01050 
01051 #if ! defined (yyoverflow) || defined (YYERROR_VERBOSE)
01052 
01053 /* The parser invokes alloca or malloc; define the necessary symbols.  */
01054 
01055 # if YYSTACK_USE_ALLOCA
01056 #  define YYSTACK_ALLOC alloca
01057 # else
01058 #  ifndef YYSTACK_USE_ALLOCA
01059 #   if defined (alloca) || defined (_ALLOCA_H)
01060 #    define YYSTACK_ALLOC alloca
01061 #   else
01062 #    ifdef __GNUC__
01063 #     define YYSTACK_ALLOC __builtin_alloca
01064 #    endif
01065 #   endif
01066 #  endif
01067 # endif
01068 
01069 # ifdef YYSTACK_ALLOC
01070    /* Pacify GCC's `empty if-body' warning. */
01071 #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
01072 # else
01073 #  if defined (__STDC__) || defined (__cplusplus)
01074 #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
01075 #   define YYSIZE_T size_t
01076 #  endif
01077 #  define YYSTACK_ALLOC malloc
01078 #  define YYSTACK_FREE free
01079 # endif
01080 #endif /* ! defined (yyoverflow) || defined (YYERROR_VERBOSE) */
01081 
01082 
01083 #if (! defined (yyoverflow) \
01084      && (! defined (__cplusplus) \
01085          || (YYLTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
01086 
01087 /* A type that is properly aligned for any stack member.  */
01088 union yyalloc
01089 {
01090   short yyss;
01091   YYSTYPE yyvs;
01092 # if YYLSP_NEEDED
01093   YYLTYPE yyls;
01094 # endif
01095 };
01096 
01097 /* The size of the maximum gap between one aligned stack and the next.  */
01098 # define YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1)
01099 
01100 /* The size of an array large to enough to hold all stacks, each with
01101    N elements.  */
01102 # if YYLSP_NEEDED
01103 #  define YYSTACK_BYTES(N) \
01104      ((N) * (sizeof (short) + sizeof (YYSTYPE) + sizeof (YYLTYPE))      \
01105       + 2 * YYSTACK_GAP_MAX)
01106 # else
01107 #  define YYSTACK_BYTES(N) \
01108      ((N) * (sizeof (short) + sizeof (YYSTYPE))                         \
01109       + YYSTACK_GAP_MAX)
01110 # endif
01111 
01112 /* Copy COUNT objects from FROM to TO.  The source and destination do
01113    not overlap.  */
01114 # ifndef YYCOPY
01115 #  if 1 < __GNUC__
01116 #   define YYCOPY(To, From, Count) \
01117       __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
01118 #  else
01119 #   define YYCOPY(To, From, Count)              \
01120       do                                        \
01121         {                                       \
01122           register YYSIZE_T yyi;                \
01123           for (yyi = 0; yyi < (Count); yyi++)   \
01124             (To)[yyi] = (From)[yyi];            \
01125         }                                       \
01126       while (0)
01127 #  endif
01128 # endif
01129 
01130 /* Relocate STACK from its old location to the new one.  The
01131    local variables YYSIZE and YYSTACKSIZE give the old and new number of
01132    elements in the stack, and YYPTR gives the new location of the
01133    stack.  Advance YYPTR to a properly aligned location for the next
01134    stack.  */
01135 # define YYSTACK_RELOCATE(Stack)                                        \
01136     do                                                                  \
01137       {                                                                 \
01138         YYSIZE_T yynewbytes;                                            \
01139         YYCOPY (&yyptr->Stack, Stack, yysize);                          \
01140         Stack = &yyptr->Stack;                                          \
01141         yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAX;   \
01142         yyptr += yynewbytes / sizeof (*yyptr);                          \
01143       }                                                                 \
01144     while (0)
01145 
01146 #endif
01147 
01148 
01149 #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
01150 # define YYSIZE_T __SIZE_TYPE__
01151 #endif
01152 #if ! defined (YYSIZE_T) && defined (size_t)
01153 # define YYSIZE_T size_t
01154 #endif
01155 #if ! defined (YYSIZE_T)
01156 # if defined (__STDC__) || defined (__cplusplus)
01157 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
01158 #  define YYSIZE_T size_t
01159 # endif
01160 #endif
01161 #if ! defined (YYSIZE_T)
01162 # define YYSIZE_T unsigned int
01163 #endif
01164 
01165 #define yyerrok         (yyerrstatus = 0)
01166 #define yyclearin       (yychar = YYEMPTY)
01167 #define YYEMPTY         -2
01168 #define YYEOF           0
01169 #define YYACCEPT        goto yyacceptlab
01170 #define YYABORT         goto yyabortlab
01171 #define YYERROR         goto yyerrlab1
01172 /* Like YYERROR except do call yyerror.  This remains here temporarily
01173    to ease the transition to the new meaning of YYERROR, for GCC.
01174    Once GCC version 2 has supplanted version 1, this can go.  */
01175 #define YYFAIL          goto yyerrlab
01176 #define YYRECOVERING()  (!!yyerrstatus)
01177 #define YYBACKUP(Token, Value)                                  \
01178 do                                                              \
01179   if (yychar == YYEMPTY && yylen == 1)                          \
01180     {                                                           \
01181       yychar = (Token);                                         \
01182       yylval = (Value);                                         \
01183       yychar1 = YYTRANSLATE (yychar);                           \
01184       YYPOPSTACK;                                               \
01185       goto yybackup;                                            \
01186     }                                                           \
01187   else                                                          \
01188     {                                                           \
01189       yyerror ("syntax error: cannot back up");                 \
01190       YYERROR;                                                  \
01191     }                                                           \
01192 while (0)
01193 
01194 #define YYTERROR        1
01195 #define YYERRCODE       256
01196 
01197 
01198 /* YYLLOC_DEFAULT -- Compute the default location (before the actions
01199    are run).
01200 
01201    When YYLLOC_DEFAULT is run, CURRENT is set the location of the
01202    first token.  By default, to implement support for ranges, extend
01203    its range to the last symbol.  */
01204 
01205 #ifndef YYLLOC_DEFAULT
01206 # define YYLLOC_DEFAULT(Current, Rhs, N)        \
01207    Current.last_line   = Rhs[N].last_line;      \
01208    Current.last_column = Rhs[N].last_column;
01209 #endif
01210 
01211 
01212 /* YYLEX -- calling `yylex' with the right arguments.  */
01213 
01214 #if YYPURE
01215 # if YYLSP_NEEDED
01216 #  ifdef YYLEX_PARAM
01217 #   define YYLEX                yylex (&yylval, &yylloc, YYLEX_PARAM)
01218 #  else
01219 #   define YYLEX                yylex (&yylval, &yylloc)
01220 #  endif
01221 # else /* !YYLSP_NEEDED */
01222 #  ifdef YYLEX_PARAM
01223 #   define YYLEX                yylex (&yylval, YYLEX_PARAM)
01224 #  else
01225 #   define YYLEX                yylex (&yylval)
01226 #  endif
01227 # endif /* !YYLSP_NEEDED */
01228 #else /* !YYPURE */
01229 # define YYLEX                  yylex ()
01230 #endif /* !YYPURE */
01231 
01232 
01233 /* Enable debugging if requested.  */
01234 #if YYDEBUG
01235 
01236 # ifndef YYFPRINTF
01237 #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
01238 #  define YYFPRINTF fprintf
01239 # endif
01240 
01241 # define YYDPRINTF(Args)                        \
01242 do {                                            \
01243   if (yydebug)                                  \
01244     YYFPRINTF Args;                             \
01245 } while (0)
01246 /* Nonzero means print parse trace.  It is left uninitialized so that
01247    multiple parsers can coexist.  */
01248 int yydebug;
01249 #else /* !YYDEBUG */
01250 # define YYDPRINTF(Args)
01251 #endif /* !YYDEBUG */
01252 
01253 /* YYINITDEPTH -- initial size of the parser's stacks.  */
01254 #ifndef YYINITDEPTH
01255 # define YYINITDEPTH 200
01256 #endif
01257 
01258 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
01259    if the built-in stack extension method is used).
01260 
01261    Do not make this value too large; the results are undefined if
01262    SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
01263    evaluated with infinite-precision integer arithmetic.  */
01264 
01265 #if YYMAXDEPTH == 0
01266 # undef YYMAXDEPTH
01267 #endif
01268 
01269 #ifndef YYMAXDEPTH
01270 # define YYMAXDEPTH 10000
01271 #endif
01272 
01273 #ifdef YYERROR_VERBOSE
01274 
01275 # ifndef yystrlen
01276 #  if defined (__GLIBC__) && defined (_STRING_H)
01277 #   define yystrlen strlen
01278 #  else
01279 /* Return the length of YYSTR.  */
01280 static YYSIZE_T
01281 #   if defined (__STDC__) || defined (__cplusplus)
01282 yystrlen (const char *yystr)
01283 #   else
01284 yystrlen (yystr)
01285      const char *yystr;
01286 #   endif
01287 {
01288   register const char *yys = yystr;
01289 
01290   while (*yys++ != '\0')
01291     continue;
01292 
01293   return yys - yystr - 1;
01294 }
01295 #  endif
01296 # endif
01297 
01298 # ifndef yystpcpy
01299 #  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
01300 #   define yystpcpy stpcpy
01301 #  else
01302 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
01303    YYDEST.  */
01304 static char *
01305 #   if defined (__STDC__) || defined (__cplusplus)
01306 yystpcpy (char *yydest, const char *yysrc)
01307 #   else
01308 yystpcpy (yydest, yysrc)
01309      char *yydest;
01310      const char *yysrc;
01311 #   endif
01312 {
01313   register char *yyd = yydest;
01314   register const char *yys = yysrc;
01315 
01316   while ((*yyd++ = *yys++) != '\0')
01317     continue;
01318 
01319   return yyd - 1;
01320 }
01321 #  endif
01322 # endif
01323 #endif
01324 
01325 #line 315 "/usr/share/bison/bison.simple"
01326 
01327 
01328 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
01329    into yyparse.  The argument should have type void *.
01330    It should actually point to an object.
01331    Grammar actions can access the variable by casting it
01332    to the proper pointer type.  */
01333 
01334 #ifdef YYPARSE_PARAM
01335 # if defined (__STDC__) || defined (__cplusplus)
01336 #  define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
01337 #  define YYPARSE_PARAM_DECL
01338 # else
01339 #  define YYPARSE_PARAM_ARG YYPARSE_PARAM
01340 #  define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
01341 # endif
01342 #else /* !YYPARSE_PARAM */
01343 # define YYPARSE_PARAM_ARG
01344 # define YYPARSE_PARAM_DECL
01345 #endif /* !YYPARSE_PARAM */
01346 
01347 /* Prevent warning if -Wstrict-prototypes.  */
01348 #ifdef __GNUC__
01349 # ifdef YYPARSE_PARAM
01350 int yyparse (void *);
01351 # else
01352 int yyparse (void);
01353 # endif
01354 #endif
01355 
01356 /* YY_DECL_VARIABLES -- depending whether we use a pure parser,
01357    variables are global, or local to YYPARSE.  */
01358 
01359 #define YY_DECL_NON_LSP_VARIABLES                       \
01360 /* The lookahead symbol.  */                            \
01361 int yychar;                                             \
01362                                                         \
01363 /* The semantic value of the lookahead symbol. */       \
01364 YYSTYPE yylval;                                         \
01365 
01366 /* The variables used to return semantic value and location from the
01367    action routines.  */
01368   YYSTYPE yyval;
01369 #if YYLSP_NEEDED
01370   YYLTYPE yyloc;
01371 #endif
01372                                                 \
01373 /* Number of parse errors so far.  */                   \
01374 int yynerrs;
01375 
01376 #if YYLSP_NEEDED
01377 # define YY_DECL_VARIABLES                      \
01378 YY_DECL_NON_LSP_VARIABLES                       \
01379                                                 \
01380 /* Location data for the lookahead symbol.  */  \
01381 YYLTYPE yylloc;
01382 #else
01383 # define YY_DECL_VARIABLES                      \
01384 YY_DECL_NON_LSP_VARIABLES
01385 #endif
01386 
01387 
01388 /* If nonreentrant, generate the variables here. */
01389 
01390 #if !YYPURE
01391 YY_DECL_VARIABLES
01392 #endif  /* !YYPURE */
01393 
01394 int
01395 yyparse (YYPARSE_PARAM_ARG)
01396      YYPARSE_PARAM_DECL
01397 {
01398   /* If reentrant, generate the variables here. */
01399 #if YYPURE
01400   YY_DECL_VARIABLES
01401 #endif  /* !YYPURE */
01402 
01403   register int yystate;
01404   register int yyn;
01405   int yyresult;
01406   /* Number of tokens to shift before error messages enabled.  */
01407   int yyerrstatus;
01408   /* Lookahead token as an internal (translated) token number.  */
01409   int yychar1 = 0;
01410 
01411   /* Three stacks and their tools:
01412      `yyss': related to states,
01413      `yyvs': related to semantic values,
01414      `yyls': related to locations.
01415 
01416      Refer to the stacks thru separate pointers, to allow yyoverflow
01417      to reallocate them elsewhere.  */
01418 
01419   /* The state stack. */
01420   short yyssa[YYINITDEPTH];
01421   short *yyss = yyssa;
01422   register short *yyssp;
01423 
01424   /* The semantic value stack.  */
01425   YYSTYPE yyvsa[YYINITDEPTH];
01426   YYSTYPE *yyvs = yyvsa;
01427   register YYSTYPE *yyvsp;
01428 
01429 #if YYLSP_NEEDED
01430   /* The location stack.  */
01431   YYLTYPE yylsa[YYINITDEPTH];
01432   YYLTYPE *yyls = yylsa;
01433   YYLTYPE *yylsp;
01434 #endif
01435 
01436 #if YYLSP_NEEDED
01437 # define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
01438 #else
01439 # define YYPOPSTACK   (yyvsp--, yyssp--)
01440 #endif
01441 
01442   YYSIZE_T yystacksize = YYINITDEPTH;
01443 
01444 
01445   /* When reducing, the number of symbols on the RHS of the reduced
01446      rule. */
01447   int yylen;
01448 
01449   YYDPRINTF ((stderr, "Starting parse\n"));
01450 
01451   yystate = 0;
01452   yyerrstatus = 0;
01453   yynerrs = 0;
01454   yychar = YYEMPTY;             /* Cause a token to be read.  */
01455 
01456   /* Initialize stack pointers.
01457      Waste one element of value and location stack
01458      so that they stay on the same level as the state stack.
01459      The wasted elements are never initialized.  */
01460 
01461   yyssp = yyss;
01462   yyvsp = yyvs;
01463 #if YYLSP_NEEDED
01464   yylsp = yyls;
01465 #endif
01466   goto yysetstate;
01467 
01468 /*------------------------------------------------------------.
01469 | yynewstate -- Push a new state, which is found in yystate.  |
01470 `------------------------------------------------------------*/
01471  yynewstate:
01472   /* In all cases, when you get here, the value and location stacks
01473      have just been pushed. so pushing a state here evens the stacks.
01474      */
01475   yyssp++;
01476 
01477  yysetstate:
01478   *yyssp = yystate;
01479 
01480   if (yyssp >= yyss + yystacksize - 1)
01481     {
01482       /* Get the current used size of the three stacks, in elements.  */
01483       YYSIZE_T yysize = yyssp - yyss + 1;
01484 
01485 #ifdef yyoverflow
01486       {
01487         /* Give user a chance to reallocate the stack. Use copies of
01488            these so that the &'s don't force the real ones into
01489            memory.  */
01490         YYSTYPE *yyvs1 = yyvs;
01491         short *yyss1 = yyss;
01492 
01493         /* Each stack pointer address is followed by the size of the
01494            data in use in that stack, in bytes.  */
01495 # if YYLSP_NEEDED
01496         YYLTYPE *yyls1 = yyls;
01497         /* This used to be a conditional around just the two extra args,
01498            but that might be undefined if yyoverflow is a macro.  */
01499         yyoverflow ("parser stack overflow",
01500                     &yyss1, yysize * sizeof (*yyssp),
01501                     &yyvs1, yysize * sizeof (*yyvsp),
01502                     &yyls1, yysize * sizeof (*yylsp),
01503                     &yystacksize);
01504         yyls = yyls1;
01505 # else
01506         yyoverflow ("parser stack overflow",
01507                     &yyss1, yysize * sizeof (*yyssp),
01508                     &yyvs1, yysize * sizeof (*yyvsp),
01509                     &yystacksize);
01510 # endif
01511         yyss = yyss1;
01512         yyvs = yyvs1;
01513       }
01514 #else /* no yyoverflow */
01515 # ifndef YYSTACK_RELOCATE
01516       goto yyoverflowlab;
01517 # else
01518       /* Extend the stack our own way.  */
01519       if (yystacksize >= YYMAXDEPTH)
01520         goto yyoverflowlab;
01521       yystacksize *= 2;
01522       if (yystacksize > YYMAXDEPTH)
01523         yystacksize = YYMAXDEPTH;
01524 
01525       {
01526         short *yyss1 = yyss;
01527         union yyalloc *yyptr =
01528           (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
01529         if (! yyptr)
01530           goto yyoverflowlab;
01531         YYSTACK_RELOCATE (yyss);
01532         YYSTACK_RELOCATE (yyvs);
01533 # if YYLSP_NEEDED
01534         YYSTACK_RELOCATE (yyls);
01535 # endif
01536 # undef YYSTACK_RELOCATE
01537         if (yyss1 != yyssa)
01538           YYSTACK_FREE (yyss1);
01539       }
01540 # endif
01541 #endif /* no yyoverflow */
01542 
01543       yyssp = yyss + yysize - 1;
01544       yyvsp = yyvs + yysize - 1;
01545 #if YYLSP_NEEDED
01546       yylsp = yyls + yysize - 1;
01547 #endif
01548 
01549       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
01550                   (unsigned long int) yystacksize));
01551 
01552       if (yyssp >= yyss + yystacksize - 1)
01553         YYABORT;
01554     }
01555 
01556   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
01557 
01558   goto yybackup;
01559 
01560 
01561 /*-----------.
01562 | yybackup.  |
01563 `-----------*/
01564 yybackup:
01565 
01566 /* Do appropriate processing given the current state.  */
01567 /* Read a lookahead token if we need one and don't already have one.  */
01568 /* yyresume: */
01569 
01570   /* First try to decide what to do without reference to lookahead token.  */
01571 
01572   yyn = yypact[yystate];
01573   if (yyn == YYFLAG)
01574     goto yydefault;
01575 
01576   /* Not known => get a lookahead token if don't already have one.  */
01577 
01578   /* yychar is either YYEMPTY or YYEOF
01579      or a valid token in external form.  */
01580 
01581   if (yychar == YYEMPTY)
01582     {
01583       YYDPRINTF ((stderr, "Reading a token: "));
01584       yychar = YYLEX;
01585     }
01586 
01587   /* Convert token to internal form (in yychar1) for indexing tables with */
01588 
01589   if (yychar <= 0)              /* This means end of input. */
01590     {
01591       yychar1 = 0;
01592       yychar = YYEOF;           /* Don't call YYLEX any more */
01593 
01594       YYDPRINTF ((stderr, "Now at end of input.\n"));
01595     }
01596   else
01597     {
01598       yychar1 = YYTRANSLATE (yychar);
01599 
01600 #if YYDEBUG
01601      /* We have to keep this `#if YYDEBUG', since we use variables
01602         which are defined only if `YYDEBUG' is set.  */
01603       if (yydebug)
01604         {
01605           YYFPRINTF (stderr, "Next token is %d (%s",
01606                      yychar, yytname[yychar1]);
01607           /* Give the individual parser a way to print the precise
01608              meaning of a token, for further debugging info.  */
01609 # ifdef YYPRINT
01610           YYPRINT (stderr, yychar, yylval);
01611 # endif
01612           YYFPRINTF (stderr, ")\n");
01613         }
01614 #endif
01615     }
01616 
01617   yyn += yychar1;
01618   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
01619     goto yydefault;
01620 
01621   yyn = yytable[yyn];
01622 
01623   /* yyn is what to do for this token type in this state.
01624      Negative => reduce, -yyn is rule number.
01625      Positive => shift, yyn is new state.
01626        New state is final state => don't bother to shift,
01627        just return success.
01628      0, or most negative number => error.  */
01629 
01630   if (yyn < 0)
01631     {
01632       if (yyn == YYFLAG)
01633         goto yyerrlab;
01634       yyn = -yyn;
01635       goto yyreduce;
01636     }
01637   else if (yyn == 0)
01638     goto yyerrlab;
01639 
01640   if (yyn == YYFINAL)
01641     YYACCEPT;
01642 
01643   /* Shift the lookahead token.  */
01644   YYDPRINTF ((stderr, "Shifting token %d (%s), ",
01645               yychar, yytname[yychar1]));
01646 
01647   /* Discard the token being shifted unless it is eof.  */
01648   if (yychar != YYEOF)
01649     yychar = YYEMPTY;
01650 
01651   *++yyvsp = yylval;
01652 #if YYLSP_NEEDED
01653   *++yylsp = yylloc;
01654 #endif
01655 
01656   /* Count tokens shifted since error; after three, turn off error
01657      status.  */
01658   if (yyerrstatus)
01659     yyerrstatus--;
01660 
01661   yystate = yyn;
01662   goto yynewstate;
01663 
01664 
01665 /*-----------------------------------------------------------.
01666 | yydefault -- do the default action for the current state.  |
01667 `-----------------------------------------------------------*/
01668 yydefault:
01669   yyn = yydefact[yystate];
01670   if (yyn == 0)
01671     goto yyerrlab;
01672   goto yyreduce;
01673 
01674 
01675 /*-----------------------------.
01676 | yyreduce -- Do a reduction.  |
01677 `-----------------------------*/
01678 yyreduce:
01679   /* yyn is the number of a rule to reduce with.  */
01680   yylen = yyr2[yyn];
01681 
01682   /* If YYLEN is nonzero, implement the default value of the action:
01683      `$$ = $1'.
01684 
01685      Otherwise, the following line sets YYVAL to the semantic value of
01686      the lookahead token.  This behavior is undocumented and Bison
01687      users should not rely upon it.  Assigning to YYVAL
01688      unconditionally makes the parser a bit smaller, and it avoids a
01689      GCC warning that YYVAL may be used uninitialized.  */
01690   yyval = yyvsp[1-yylen];
01691 
01692 #if YYLSP_NEEDED
01693   /* Similarly for the default location.  Let the user run additional
01694      commands if for instance locations are ranges.  */
01695   yyloc = yylsp[1-yylen];
01696   YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
01697 #endif
01698 
01699 #if YYDEBUG
01700   /* We have to keep this `#if YYDEBUG', since we use variables which
01701      are defined only if `YYDEBUG' is set.  */
01702   if (yydebug)
01703     {
01704       int yyi;
01705 
01706       YYFPRINTF (stderr, "Reducing via rule %d (line %d), ",
01707                  yyn, yyrline[yyn]);
01708 
01709       /* Print the symbols being reduced, and their result.  */
01710       for (yyi = yyprhs[yyn]; yyrhs[yyi] > 0; yyi++)
01711         YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);
01712       YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]);
01713     }
01714 #endif
01715 
01716   switch (yyn) {
01717 
01718 case 1:
01719 #line 79 "PSDL.yy"
01720 { yyval = new TAO_PSDL_Specification (yyvsp[0]); ;
01721     break;}
01722 case 2:
01723 #line 82 "PSDL.yy"
01724 { yyval = new TAO_PSDL_Specification (yyvsp[-1], yyvsp[0]); ;
01725     break;}
01726 case 3:
01727 #line 86 "PSDL.yy"
01728 { yyval = new TAO_PSDL_Definition (yyvsp[-1]); ;
01729     break;}
01730 case 4:
01731 #line 89 "PSDL.yy"
01732 { yyval = new TAO_PSDL_Definition (yyvsp[-1]); ;
01733     break;}
01734 case 5:
01735 #line 92 "PSDL.yy"
01736 { yyval = new TAO_PSDL_Definition (yyvsp[-1]); ;
01737     break;}
01738 case 6:
01739 #line 95 "PSDL.yy"
01740 { yyval = new TAO_PSDL_Definition (yyvsp[-1]); ;
01741     break;}
01742 case 7:
01743 #line 98 "PSDL.yy"
01744 { yyval = new TAO_PSDL_Definition (yyvsp[-1]); ;
01745     break;}
01746 case 8:
01747 #line 101 "PSDL.yy"
01748 { yyval = new TAO_PSDL_Definition (yyvsp[-1]); ;
01749     break;}
01750 case 9:
01751 #line 104 "PSDL.yy"
01752 { yyval = new TAO_PSDL_Definition (yyvsp[-1]); ;
01753     break;}
01754 case 10:
01755 #line 107 "PSDL.yy"
01756 { yyval = new TAO_PSDL_Definition (yyvsp[-1]); ;
01757     break;}
01758 case 11:
01759 #line 110 "PSDL.yy"
01760 { yyval = new TAO_PSDL_Definition (yyvsp[-1]); ;
01761     break;}
01762 case 12:
01763 #line 113 "PSDL.yy"
01764 { yyval = new TAO_PSDL_Definition (yyvsp[-1]); ;
01765     break;}
01766 case 13:
01767 #line 116 "PSDL.yy"
01768 { yyval = new TAO_PSDL_Definition (yyvsp[-1]); ;
01769     break;}
01770 case 14:
01771 #line 120 "PSDL.yy"
01772 {
01773   int good_module_name = TAO_PSDL_Scope::instance ()->pop_top_scope ()->add_module (TAO_PSDL_Scope::instance ()->get_identifier ());
01774   if (good_module_name == -1)
01775     YYABORT;
01776   ;
01777     break;}
01778 case 15:
01779 #line 126 "PSDL.yy"
01780 {
01781                   TAO_PSDL_Scope::instance ()->set_module_scope ();
01782                   yyval = new TAO_PSDL_Module (TAO_PSDL_MODULE, yyvsp[-4], yyvsp[-1]); ;
01783     break;}
01784 case 16:
01785 #line 132 "PSDL.yy"
01786 { TAO_PSDL_Scope::instance ()->set_scope ();
01787                   yyval = new TAO_PSDL_Abstract_Storagetype (yyvsp[0]); ;
01788     break;}
01789 case 17:
01790 #line 136 "PSDL.yy"
01791 { yyval = new TAO_PSDL_Abstract_Storagetype (yyvsp[0]); ;
01792     break;}
01793 case 18:
01794 #line 140 "PSDL.yy"
01795 { yyval = new TAO_PSDL_Abstract_Storagetype_Dcl (yyvsp[-3], yyvsp[-1]); ;
01796     break;}
01797 case 19:
01798 #line 143 "PSDL.yy"
01799 { yyval = new TAO_PSDL_Abstract_Storagetype_Dcl (yyvsp[-2]); ;
01800     break;}
01801 case 20:
01802 #line 147 "PSDL.yy"
01803 { yyval = new TAO_PSDL_Abstract_Storagetype_Fwd_Dcl (yyvsp[0]); ;
01804     break;}
01805 case 21:
01806 #line 151 "PSDL.yy"
01807 {
01808                   int good_storagetype_name = TAO_PSDL_Scope::instance ()->pop_top_scope ()->add_interface (TAO_PSDL_Scope::instance ()->get_identifier ());
01809                   if (good_storagetype_name == -1)
01810                       YYABORT;
01811 
01812                   yyval = yyvsp[0];
01813                 ;
01814     break;}
01815 case 22:
01816 #line 162 "PSDL.yy"
01817 { yyval = new TAO_PSDL_Abstract_Storagetype_Header (yyvsp[-1], yyvsp[0]); ;
01818     break;}
01819 case 23:
01820 #line 165 "PSDL.yy"
01821 { yyval = new TAO_PSDL_Abstract_Storagetype_Header (yyvsp[0]); ;
01822     break;}
01823 case 24:
01824 #line 170 "PSDL.yy"
01825 { yyval = new TAO_PSDL_Abstract_Storagetype_Body (yyvsp[0]); ;
01826     break;}
01827 case 25:
01828 #line 173 "PSDL.yy"
01829 { yyval = new TAO_PSDL_Abstract_Storagetype_Body (yyvsp[-1], yyvsp[0]); ;
01830     break;}
01831 case 26:
01832 #line 178 "PSDL.yy"
01833 { yyval = new TAO_PSDL_Abstract_Storagetype_Member (yyvsp[-1]); ;
01834     break;}
01835 case 27:
01836 #line 181 "PSDL.yy"
01837 { yyval = new TAO_PSDL_Abstract_Storagetype_Member (yyvsp[-1]); ;
01838     break;}
01839 case 28:
01840 #line 186 "PSDL.yy"
01841 { yyval = new TAO_PSDL_Abstract_Storagetype_Inh_Spec (yyvsp[0]); ;
01842     break;}
01843 case 29:
01844 #line 191 "PSDL.yy"
01845 { yyval = new TAO_PSDL_Abstract_Storagetype_Name (yyvsp[0]); ;
01846     break;}
01847 case 30:
01848 #line 194 "PSDL.yy"
01849 { yyval = new TAO_PSDL_Abstract_Storagetype_Name (yyvsp[-2], yyvsp[0]); ;
01850     break;}
01851 case 31:
01852 #line 198 "PSDL.yy"
01853 { yyval = new TAO_PSDL_Psdl_State_Dcl (yyvsp[-3], yyvsp[-1], yyvsp[0]); ;
01854     break;}
01855 case 32:
01856 #line 201 "PSDL.yy"
01857 { yyval = new TAO_PSDL_Psdl_State_Dcl (yyvsp[-1], yyvsp[0]); ;
01858     break;}
01859 case 33:
01860 #line 205 "PSDL.yy"
01861 { yyval = new TAO_PSDL_Psdl_State_Type_Spec (yyvsp[0]); ;
01862     break;}
01863 case 34:
01864 #line 208 "PSDL.yy"
01865 { yyval = new TAO_PSDL_Psdl_State_Type_Spec (yyvsp[0]); ;
01866     break;}
01867 case 35:
01868 #line 211 "PSDL.yy"
01869 { yyval = new TAO_PSDL_Psdl_State_Type_Spec (yyvsp[0]); ;
01870     break;}
01871 case 36:
01872 #line 214 "PSDL.yy"
01873 { yyval = new TAO_PSDL_Psdl_State_Type_Spec (yyvsp[0]); ;
01874     break;}
01875 case 37:
01876 #line 217 "PSDL.yy"
01877 { yyval = new TAO_PSDL_Psdl_State_Type_Spec (yyvsp[0]); ;
01878     break;}
01879 case 38:
01880 #line 222 "PSDL.yy"
01881 { yyval = new TAO_PSDL_Abstract_Storagetype_Ref_Type (yyvsp[-4], yyvsp[-1]); ;
01882     break;}
01883 case 39:
01884 #line 225 "PSDL.yy"
01885 { yyval = new TAO_PSDL_Abstract_Storagetype_Ref_Type (yyvsp[-1]); ;
01886     break;}
01887 case 40:
01888 #line 229 "PSDL.yy"
01889 { yyval = new TAO_PSDL_Abstract_Storagehome (yyvsp[0]); ;
01890     break;}
01891 case 41:
01892 #line 232 "PSDL.yy"
01893 { yyval = new TAO_PSDL_Abstract_Storagehome (yyvsp[0]); ;
01894     break;}
01895 case 42:
01896 #line 237 "PSDL.yy"
01897 { yyval = new TAO_PSDL_Abstract_Storagehome_Fwd_Dcl (yyvsp[0]); ;
01898     break;}
01899 case 43:
01900 #line 242 "PSDL.yy"
01901 { yyval = new TAO_PSDL_Abstract_Storagehome_Dcl (yyvsp[-3], yyvsp[-1]); ;
01902     break;}
01903 case 44:
01904 #line 245 "PSDL.yy"
01905 { yyval = new TAO_PSDL_Abstract_Storagehome_Dcl (yyvsp[-2]); ;
01906     break;}
01907 case 45:
01908 #line 250 "PSDL.yy"
01909 { yyval = new TAO_PSDL_Abstract_Storagehome_Header (yyvsp[-3], yyvsp[-1], yyvsp[0]); ;
01910     break;}
01911 case 46:
01912 #line 253 "PSDL.yy"
01913 { yyval = new TAO_PSDL_Abstract_Storagehome_Header (yyvsp[-2], yyvsp[0]); ;
01914     break;}
01915 case 47:
01916 #line 258 "PSDL.yy"
01917 { yyval = new TAO_PSDL_Abstract_Storagehome_Body (yyvsp[0]); ;
01918     break;}
01919 case 48:
01920 #line 261 "PSDL.yy"
01921 { yyval = new TAO_PSDL_Abstract_Storagehome_Body (yyvsp[-1], yyvsp[0]); ;
01922     break;}
01923 case 49:
01924 #line 266 "PSDL.yy"
01925 { yyval = new TAO_PSDL_Abstract_Storagehome_Member (yyvsp[-1]); ;
01926     break;}
01927 case 50:
01928 #line 269 "PSDL.yy"
01929 { yyval = new TAO_PSDL_Abstract_Storagehome_Member (yyvsp[-1]); ;
01930     break;}
01931 case 51:
01932 #line 272 "PSDL.yy"
01933 { yyval = new TAO_PSDL_Abstract_Storagehome_Member (yyvsp[-1]); ;
01934     break;}
01935 case 52:
01936 #line 277 "PSDL.yy"
01937 { yyval = new TAO_PSDL_Abstract_Storagehome_Inh_Spec (yyvsp[0]); ;
01938     break;}
01939 case 53:
01940 #line 282 "PSDL.yy"
01941 { yyval = new TAO_PSDL_Abstract_Storagehome_Name (yyvsp[0]); ;
01942     break;}
01943 case 54:
01944 #line 285 "PSDL.yy"
01945 { yyval = new TAO_PSDL_Abstract_Storagehome_Name (yyvsp[-2], yyvsp[0]); ;
01946     break;}
01947 case 55:
01948 #line 289 "PSDL.yy"
01949 { TAO_PSDL_Scope::instance ()->set_scope ();
01950                   yyval = new TAO_PSDL_Op_Dcl (yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0]); ;
01951     break;}
01952 case 56:
01953 #line 293 "PSDL.yy"
01954 { TAO_PSDL_Scope::instance ()->set_scope ();
01955                   yyval = new TAO_PSDL_Op_Dcl (yyvsp[-2], yyvsp[-1], yyvsp[0]); ;
01956     break;}
01957 case 57:
01958 #line 298 "PSDL.yy"
01959 { yyval = new TAO_PSDL_Key_Dcl (yyvsp[-3], yyvsp[-1]); ;
01960     break;}
01961 case 58:
01962 #line 301 "PSDL.yy"
01963 { yyval = new TAO_PSDL_Key_Dcl (yyvsp[0]); ;
01964     break;}
01965 case 59:
01966 #line 305 "PSDL.yy"
01967 { yyval = new TAO_PSDL_Catalog (yyvsp[-4], yyvsp[-3], yyvsp[-1]); ;
01968     break;}
01969 case 60:
01970 #line 308 "PSDL.yy"
01971 { yyval = new TAO_PSDL_Catalog (yyvsp[-3], yyvsp[-1]); ;
01972     break;}
01973 case 61:
01974 #line 311 "PSDL.yy"
01975 { yyval = new TAO_PSDL_Catalog (yyvsp[-2]); ;
01976     break;}
01977 case 62:
01978 #line 314 "PSDL.yy"
01979 { yyval = new TAO_PSDL_Catalog (yyvsp[-3], yyvsp[-2]); ;
01980     break;}
01981 case 63:
01982 #line 318 "PSDL.yy"
01983 { yyval = new TAO_PSDL_Catalog_Inh_Spec (yyvsp[0]); ;
01984     break;}
01985 case 64:
01986 #line 322 "PSDL.yy"
01987 { yyval = new TAO_PSDL_Catalog_Name (yyvsp[0]); ;
01988     break;}
01989 case 65:
01990 #line 325 "PSDL.yy"
01991 { yyval = new TAO_PSDL_Catalog_Name (yyvsp[-2], yyvsp[0]); ;
01992     break;}
01993 case 66:
01994 #line 329 "PSDL.yy"
01995 { yyval = new TAO_PSDL_Catalog_Body (yyvsp[0]); ;
01996     break;}
01997 case 67:
01998 #line 332 "PSDL.yy"
01999 { yyval = new TAO_PSDL_Catalog_Body (yyvsp[-1], yyvsp[0]); ;
02000     break;}
02001 case 68:
02002 #line 336 "PSDL.yy"
02003 { yyval = new TAO_PSDL_Catalog_Member (yyvsp[-1]); ;
02004     break;}
02005 case 69:
02006 #line 339 "PSDL.yy"
02007 { yyval = new TAO_PSDL_Catalog_Member (yyvsp[-1]); ;
02008     break;}
02009 case 70:
02010 #line 343 "PSDL.yy"
02011 { yyval = new TAO_PSDL_Provides_Dcl (yyvsp[-1], yyvsp[0]); ;
02012     break;}
02013 case 71:
02014 #line 347 "PSDL.yy"
02015 { yyval = new TAO_PSDL_Storagetype (yyvsp[0]); ;
02016     break;}
02017 case 72:
02018 #line 350 "PSDL.yy"
02019 { yyval = new TAO_PSDL_Storagetype (yyvsp[0]); ;
02020     break;}
02021 case 73:
02022 #line 354 "PSDL.yy"
02023 { yyval = new TAO_PSDL_Storagetype_Dcl (yyvsp[-3], yyvsp[-1]); ;
02024     break;}
02025 case 74:
02026 #line 357 "PSDL.yy"
02027 { yyval = new TAO_PSDL_Storagetype_Dcl (yyvsp[-2]); ;
02028     break;}
02029 case 75:
02030 #line 361 "PSDL.yy"
02031 { yyval = new TAO_PSDL_Storagetype_Fwd_Dcl (yyvsp[0]); ;
02032     break;}
02033 case 76:
02034 #line 365 "PSDL.yy"
02035 { yyval = new TAO_PSDL_Storagetype_Header (yyvsp[-2], yyvsp[-1], yyvsp[0]); ;
02036     break;}
02037 case 77:
02038 #line 368 "PSDL.yy"
02039 { yyval = new TAO_PSDL_Storagetype_Header (yyvsp[-1], yyvsp[0]); ;
02040     break;}
02041 case 78:
02042 #line 371 "PSDL.yy"
02043 { yyval = new TAO_PSDL_Storagetype_Header (yyvsp[-1], yyvsp[0]); ;
02044     break;}
02045 case 79:
02046 #line 375 "PSDL.yy"
02047 { yyval = new TAO_PSDL_Storagetype_Body (yyvsp[0]); ;
02048     break;}
02049 case 80:
02050 #line 378 "PSDL.yy"
02051 { yyval = new TAO_PSDL_Storagetype_Body (yyvsp[-1], yyvsp[0]); ;
02052     break;}
02053 case 81:
02054 #line 382 "PSDL.yy"
02055 { yyval = new TAO_PSDL_Storagetype_Member (yyvsp[-1]); ;
02056     break;}
02057 case 82:
02058 #line 385 "PSDL.yy"
02059 { yyval = new TAO_PSDL_Storagetype_Member (yyvsp[-1]); ;
02060     break;}
02061 case 83:
02062 #line 388 "PSDL.yy"
02063 { yyval = new TAO_PSDL_Storagetype_Member (yyvsp[-1]); ;
02064     break;}
02065 case 84:
02066 #line 392 "PSDL.yy"
02067 { yyval = new TAO_PSDL_Storagetype_Inh_Spec (yyvsp[0]); ;
02068     break;}
02069 case 85:
02070 #line 396 "PSDL.yy"
02071 { yyval = new TAO_PSDL_Storagetype_Name (yyvsp[0]); ;
02072     break;}
02073 case 86:
02074 #line 400 "PSDL.yy"
02075 { yyval = new TAO_PSDL_Storagetype_Impl_Spec (yyvsp[0]); ;
02076     break;}
02077 case 87:
02078 #line 404 "PSDL.yy"
02079 { yyval = new TAO_PSDL_Storagetype_Ref_Type (yyvsp[-1]); ;
02080     break;}
02081 case 88:
02082 #line 408 "PSDL.yy"
02083 { yyval = new TAO_PSDL_Storagehome_Scope (yyvsp[0]); ;
02084     break;}
02085 case 89:
02086 #line 412 "PSDL.yy"
02087 { yyval = new TAO_PSDL_Store_Directive (yyvsp[-3], yyvsp[-1], yyvsp[0]); ;
02088     break;}
02089 case 90:
02090 #line 415 "PSDL.yy"
02091 { yyval = new TAO_PSDL_Store_Directive (yyvsp[-2], yyvsp[0]); ;
02092     break;}
02093 case 91:
02094 #line 420 "PSDL.yy"
02095 { yyval = new TAO_PSDL_Psdl_Concrete_State_Type (yyvsp[0]); ;
02096     break;}
02097 case 92:
02098 #line 423 "PSDL.yy"
02099 { yyval = new TAO_PSDL_Psdl_Concrete_State_Type (yyvsp[0]); ;
02100     break;}
02101 case 93:
02102 #line 427 "PSDL.yy"
02103 { yyval = new TAO_PSDL_Ref_Rep_Directive (yyvsp[-1]); ;
02104     break;}
02105 case 94:
02106 #line 431 "PSDL.yy"
02107 { yyval = new TAO_PSDL_Storagehome (yyvsp[-3], yyvsp[-1]); ;
02108     break;}
02109 case 95:
02110 #line 434 "PSDL.yy"
02111 { yyval = new TAO_PSDL_Storagehome (yyvsp[-2]); ;
02112     break;}
02113 case 96:
02114 #line 438 "PSDL.yy"
02115 { yyval = new TAO_PSDL_Storagehome_Header (yyvsp[-4], yyvsp[-2], yyvsp[-1], yyvsp[0]); ;
02116     break;}
02117 case 97:
02118 #line 441 "PSDL.yy"
02119 { yyval = new TAO_PSDL_Storagehome_Header (yyvsp[-3], yyvsp[-1], yyvsp[0]); ;
02120     break;}
02121 case 98:
02122 #line 444 "PSDL.yy"
02123 { yyval = new TAO_PSDL_Storagehome_Header (yyvsp[-3], yyvsp[-1], yyvsp[0]); ;
02124     break;}
02125 case 99:
02126 #line 447 "PSDL.yy"
02127 { yyval = new TAO_PSDL_Storagehome_Header (yyvsp[-2], yyvsp[0]); ;
02128     break;}
02129 case 100:
02130 #line 451 "PSDL.yy"
02131 { yyval = new TAO_PSDL_Storagehome_Body (yyvsp[0]); ;
02132     break;}
02133 case 101:
02134 #line 454 "PSDL.yy"
02135 { yyval = new TAO_PSDL_Storagehome_Body (yyvsp[-1], yyvsp[0]); ;
02136     break;}
02137 case 102:
02138 #line 458 "PSDL.yy"
02139 { yyval = new TAO_PSDL_Storagehome_Member (yyvsp[-1]); ;
02140     break;}
02141 case 103:
02142 #line 461 "PSDL.yy"
02143 { yyval = new TAO_PSDL_Storagehome_Member (yyvsp[-1]); ;
02144     break;}
02145 case 104:
02146 #line 465 "PSDL.yy"
02147 { yyval = new TAO_PSDL_Storagehome_Inh_Spec (yyvsp[0]); ;
02148     break;}
02149 case 105:
02150 #line 469 "PSDL.yy"
02151 { yyval = new TAO_PSDL_Storagehome_Name (yyvsp[0]); ;
02152     break;}
02153 case 106:
02154 #line 473 "PSDL.yy"
02155 { yyval = new TAO_PSDL_Storagehome_Impl_Spec (yyvsp[0]); ;
02156     break;}
02157 case 107:
02158 #line 477 "PSDL.yy"
02159 { yyval = new TAO_PSDL_Primary_Key_Dcl (yyvsp[0]); ;
02160     break;}
02161 case 108:
02162 #line 480 "PSDL.yy"
02163 { yyval = new TAO_PSDL_Primary_Key_Dcl (); ;
02164     break;}
02165 case 109:
02166 #line 484 "PSDL.yy"
02167 { yyval = yyvsp[0]; ;
02168     break;}
02169 case 110:
02170 #line 488 "PSDL.yy"
02171 { yyval = new TAO_PSDL_Type_Dcl (TAO_PSDL_TYPEDEF, yyvsp[0]); ;
02172     break;}
02173 case 111:
02174 #line 491 "PSDL.yy"
02175 { yyval = new TAO_PSDL_Type_Dcl (yyvsp[0]); ;
02176     break;}
02177 case 112:
02178 #line 494 "PSDL.yy"
02179 { yyval = new TAO_PSDL_Type_Dcl (yyvsp[0]); ;
02180     break;}
02181 case 113:
02182 #line 497 "PSDL.yy"
02183 { yyval = new TAO_PSDL_Type_Dcl (yyvsp[0]); ;
02184     break;}
02185 case 114:
02186 #line 500 "PSDL.yy"
02187 { yyval = new TAO_PSDL_Type_Dcl (TAO_PSDL_NATIVE, yyvsp[0]); ;
02188     break;}
02189 case 115:
02190 #line 503 "PSDL.yy"
02191 { yyval = new TAO_PSDL_Type_Dcl (yyvsp[0]); ;
02192     break;}
02193 case 116:
02194 #line 507 "PSDL.yy"
02195 { yyval = new TAO_PSDL_Type_Declarator (yyvsp[-1], yyvsp[0]); ;
02196     break;}
02197 case 117:
02198 #line 511 "PSDL.yy"
02199 { yyval = new TAO_PSDL_Type_Spec (yyvsp[0]); ;
02200     break;}
02201 case 118:
02202 #line 514 "PSDL.yy"
02203 { yyval = new TAO_PSDL_Type_Spec (yyvsp[0]); ;
02204     break;}
02205 case 119:
02206 #line 518 "PSDL.yy"
02207 { yyval = new TAO_PSDL_Simple_Type_Spec (yyvsp[0]); ;
02208     break;}
02209 case 120:
02210 #line 521 "PSDL.yy"
02211 { yyval = new TAO_PSDL_Simple_Type_Spec (yyvsp[0]); ;
02212     break;}
02213 case 121:
02214 #line 524 "PSDL.yy"
02215 { yyval = new TAO_PSDL_Simple_Type_Spec (yyvsp[0]); ;
02216     break;}
02217 case 122:
02218 #line 528 "PSDL.yy"
02219 { yyval = new TAO_PSDL_Base_Type_Spec (yyvsp[0]); ;
02220     break;}
02221 case 123:
02222 #line 531 "PSDL.yy"
02223 { yyval = new TAO_PSDL_Base_Type_Spec (yyvsp[0]); ;
02224     break;}
02225 case 124:
02226 #line 534 "PSDL.yy"
02227 { yyval = new TAO_PSDL_Base_Type_Spec (yyvsp[0]); ;
02228     break;}
02229 case 125:
02230 #line 537 "PSDL.yy"
02231 { yyval = new TAO_PSDL_Base_Type_Spec (yyvsp[0]); ;
02232     break;}
02233 case 126:
02234 #line 540 "PSDL.yy"
02235 { yyval = new TAO_PSDL_Base_Type_Spec (yyvsp[0]); ;
02236     break;}
02237 case 127:
02238 #line 543 "PSDL.yy"
02239 { yyval = new TAO_PSDL_Base_Type_Spec (yyvsp[0]); ;
02240     break;}
02241 case 128:
02242 #line 546 "PSDL.yy"
02243 { yyval = new TAO_PSDL_Base_Type_Spec (yyvsp[0]); ;
02244     break;}
02245 case 129:
02246 #line 549 "PSDL.yy"
02247 { yyval = new TAO_PSDL_Base_Type_Spec (yyvsp[0]); ;
02248     break;}
02249 case 130:
02250 #line 552 "PSDL.yy"
02251 { yyval = new TAO_PSDL_Base_Type_Spec (yyvsp[0]); ;
02252     break;}
02253 case 131:
02254 #line 556 "PSDL.yy"
02255 { yyval = new TAO_PSDL_Template_Type_Spec (yyvsp[0]); ;
02256     break;}
02257 case 132:
02258 #line 559 "PSDL.yy"
02259 { yyval = new TAO_PSDL_Template_Type_Spec (yyvsp[0]); ;
02260     break;}
02261 case 133:
02262 #line 562 "PSDL.yy"
02263 { yyval = new TAO_PSDL_Template_Type_Spec (yyvsp[0]); ;
02264     break;}
02265 case 134:
02266 #line 565 "PSDL.yy"
02267 { yyval = new TAO_PSDL_Template_Type_Spec (yyvsp[0]); ;
02268     break;}
02269 case 135:
02270 #line 569 "PSDL.yy"
02271 { yyval = new TAO_PSDL_Constr_Type_Spec (yyvsp[0]); ;
02272     break;}
02273 case 136:
02274 #line 572 "PSDL.yy"
02275 { yyval = new TAO_PSDL_Constr_Type_Spec (yyvsp[0]); ;
02276     break;}
02277 case 137:
02278 #line 575 "PSDL.yy"
02279 { yyval = new TAO_PSDL_Constr_Type_Spec (yyvsp[0]); ;
02280     break;}
02281 case 138:
02282 #line 579 "PSDL.yy"
02283 { yyval = new TAO_PSDL_Declarators (yyvsp[0]); ;
02284     break;}
02285 case 139:
02286 #line 582 "PSDL.yy"
02287 { yyval = new TAO_PSDL_Declarators (yyvsp[-2], yyvsp[0]); ;
02288     break;}
02289 case 140:
02290 #line 586 "PSDL.yy"
02291 { yyval = new TAO_PSDL_Declarator (yyvsp[0]); ;
02292     break;}
02293 case 141:
02294 #line 589 "PSDL.yy"
02295 { yyval = new TAO_PSDL_Declarator (yyvsp[0]); ;
02296     break;}
02297 case 142:
02298 #line 593 "PSDL.yy"
02299 { yyval = yyvsp[0]; ;
02300     break;}
02301 case 143:
02302 #line 597 "PSDL.yy"
02303 { yyval = new TAO_PSDL_Simple_Declarator_List (yyvsp[0]); ;
02304     break;}
02305 case 144:
02306 #line 600 "PSDL.yy"
02307 { yyval = new TAO_PSDL_Simple_Declarator_List (yyvsp[-2], yyvsp[0]); ;
02308     break;}
02309 case 145:
02310 #line 604 "PSDL.yy"
02311 { yyval = new TAO_PSDL_Complex_Declarator (yyvsp[0]); ;
02312     break;}
02313 case 146:
02314 #line 608 "PSDL.yy"
02315 { yyval = new TAO_PSDL_Predefined_Type (TAO_PSDL_FLOAT); ;
02316     break;}
02317 case 147:
02318 #line 611 "PSDL.yy"
02319 { yyval = new TAO_PSDL_Predefined_Type (TAO_PSDL_DOUBLE); ;
02320     break;}
02321 case 148:
02322 #line 614 "PSDL.yy"
02323 { yyval = new TAO_PSDL_Predefined_Type (TAO_PSDL_LONG, TAO_PSDL_DOUBLE); ;
02324     break;}
02325 case 149:
02326 #line 618 "PSDL.yy"
02327 { yyval = yyvsp[0]; ;
02328     break;}
02329 case 150:
02330 #line 621 "PSDL.yy"
02331 { yyval = yyvsp[0]; ;
02332     break;}
02333 case 151:
02334 #line 625 "PSDL.yy"
02335 { yyval = yyvsp[0]; ;
02336     break;}
02337 case 152:
02338 #line 628 "PSDL.yy"
02339 { yyval = yyvsp[0]; ;
02340     break;}
02341 case 153:
02342 #line 631 "PSDL.yy"
02343 { yyval = yyvsp[0]; ;
02344     break;}
02345 case 154:
02346 #line 635 "PSDL.yy"
02347 { yyval = new TAO_PSDL_Predefined_Type (TAO_PSDL_SHORT); ;
02348     break;}
02349 case 155:
02350 #line 639 "PSDL.yy"
02351 { yyval = new TAO_PSDL_Predefined_Type (TAO_PSDL_LONG); ;
02352     break;}
02353 case 156:
02354 #line 643 "PSDL.yy"
02355 { yyval = new TAO_PSDL_Predefined_Type (TAO_PSDL_LONG, TAO_PSDL_LONG); ;
02356     break;}
02357 case 157:
02358 #line 647 "PSDL.yy"
02359 { yyval = new TAO_PSDL_Predefined_Type (yyvsp[0]); ;
02360     break;}
02361 case 158:
02362 #line 650 "PSDL.yy"
02363 { yyval = new TAO_PSDL_Predefined_Type (yyvsp[0]); ;
02364     break;}
02365 case 159:
02366 #line 653 "PSDL.yy"
02367 { yyval = new TAO_PSDL_Predefined_Type (yyvsp[0]); ;
02368     break;}
02369 case 160:
02370 #line 657 "PSDL.yy"
02371 { yyval = new TAO_PSDL_Predefined_Type (TAO_PSDL_UNSIGNED, TAO_PSDL_SHORT); ;
02372     break;}
02373 case 161:
02374 #line 661 "PSDL.yy"
02375 { yyval = new TAO_PSDL_Predefined_Type (TAO_PSDL_UNSIGNED, TAO_PSDL_LONG); ;
02376     break;}
02377 case 162:
02378 #line 665 "PSDL.yy"
02379 { yyval = new TAO_PSDL_Predefined_Type (TAO_PSDL_UNSIGNED, TAO_PSDL_LONG, TAO_PSDL_LONG); ;
02380     break;}
02381 case 163:
02382 #line 669 "PSDL.yy"
02383 { yyval = new TAO_PSDL_Predefined_Type (TAO_PSDL_CHAR); ;
02384     break;}
02385 case 164:
02386 #line 673 "PSDL.yy"
02387 { yyval = new TAO_PSDL_Predefined_Type (TAO_PSDL_WCHAR); ;
02388     break;}
02389 case 165:
02390 #line 677 "PSDL.yy"
02391 { yyval = new TAO_PSDL_Predefined_Type (TAO_PSDL_BOOLEAN); ;
02392     break;}
02393 case 166:
02394 #line 681 "PSDL.yy"
02395 { yyval = new TAO_PSDL_Predefined_Type (TAO_PSDL_OCTET); ;
02396     break;}
02397 case 167:
02398 #line 685 "PSDL.yy"
02399 { yyval = new TAO_PSDL_Predefined_Type (TAO_PSDL_ANY); ;
02400     break;}
02401 case 168:
02402 #line 689 "PSDL.yy"
02403 { yyval = new TAO_PSDL_Predefined_Type (TAO_PSDL_OBJECT); ;
02404     break;}
02405 case 169:
02406 #line 693 "PSDL.yy"
02407 {
02408                   int good_struct_name = TAO_PSDL_Scope::instance ()->pop_top_scope ()->add_struct (TAO_PSDL_Scope::instance ()->get_identifier ());
02409 
02410                   if (good_struct_name == -1)
02411                         YYABORT;
02412                 ;
02413     break;}
02414 case 170:
02415 #line 700 "PSDL.yy"
02416 {
02417                   TAO_PSDL_Scope::instance ()->set_scope ();
02418                   yyval = new TAO_PSDL_Predefined_Type (TAO_PSDL_STRUCT, yyvsp[-4], yyvsp[-1]); ;
02419     break;}
02420 case 171:
02421 #line 706 "PSDL.yy"
02422 { yyval = new TAO_PSDL_Member_List (yyvsp[0]); ;
02423     break;}
02424 case 172:
02425 #line 709 "PSDL.yy"
02426 { yyval = new TAO_PSDL_Member_List (yyvsp[-1], yyvsp[0]); ;
02427     break;}
02428 case 173:
02429 #line 713 "PSDL.yy"
02430 { yyval = new TAO_PSDL_Member (yyvsp[-2], yyvsp[-1]); ;
02431     break;}
02432 case 174:
02433 #line 717 "PSDL.yy"
02434 { yyval = new TAO_PSDL_Predefined_Type (yyvsp[-7], yyvsp[-4], yyvsp[-1]); ;
02435     break;}
02436 case 175:
02437 #line 721 "PSDL.yy"
02438 { yyval = new TAO_PSDL_Switch_Type_Spec (yyvsp[0]); ;
02439     break;}
02440 case 176:
02441 #line 724 "PSDL.yy"
02442 { yyval = new TAO_PSDL_Switch_Type_Spec (yyvsp[0]); ;
02443     break;}
02444 case 177:
02445 #line 727 "PSDL.yy"
02446 { yyval = new TAO_PSDL_Switch_Type_Spec (yyvsp[0]); ;
02447     break;}
02448 case 178:
02449 #line 730 "PSDL.yy"
02450 { yyval = new TAO_PSDL_Switch_Type_Spec (yyvsp[0]); ;
02451     break;}
02452 case 179:
02453 #line 733 "PSDL.yy"
02454 { yyval = new TAO_PSDL_Switch_Type_Spec (yyvsp[0]); ;
02455     break;}
02456 case 180:
02457 #line 737 "PSDL.yy"
02458 { yyval = new TAO_PSDL_Switch_Body (yyvsp[0]); ;
02459     break;}
02460 case 181:
02461 #line 740 "PSDL.yy"
02462 { yyval = new TAO_PSDL_Switch_Body (yyvsp[-1], yyvsp[0]); ;
02463     break;}
02464 case 182:
02465 #line 744 "PSDL.yy"
02466 { yyval = new TAO_PSDL_Case (yyvsp[-2], yyvsp[-1]); ;
02467     break;}
02468 case 183:
02469 #line 748 "PSDL.yy"
02470 { yyval = new TAO_PSDL_Case_Label (yyvsp[-2], yyvsp[-1]); ;
02471     break;}
02472 case 184:
02473 #line 751 "PSDL.yy"
02474 { yyval = new TAO_PSDL_Case_Label (yyvsp[-1]); ;
02475     break;}
02476 case 185:
02477 #line 754 "PSDL.yy"
02478 { yyval = new TAO_PSDL_Case_Label (yyvsp[-3], yyvsp[-2], yyvsp[0]); ;
02479     break;}
02480 case 186:
02481 #line 757 "PSDL.yy"
02482 { yyval = new TAO_PSDL_Case_Label (yyvsp[-2], yyvsp[0]); ;
02483     break;}
02484 case 187:
02485 #line 761 "PSDL.yy"
02486 { yyval = new TAO_PSDL_Element_Spec (yyvsp[-1], yyvsp[0]); ;
02487     break;}
02488 case 188:
02489 #line 765 "PSDL.yy"
02490 { yyval = new TAO_PSDL_Const_Dcl (yyvsp[-3], yyvsp[-2], yyvsp[0]); ;
02491     break;}
02492 case 189:
02493 #line 769 "PSDL.yy"
02494 { yyval = new TAO_PSDL_Predefined_Type(yyvsp[0]); ;
02495     break;}
02496 case 190:
02497 #line 772 "PSDL.yy"
02498 { yyval = new TAO_PSDL_Predefined_Type(yyvsp[0]); ;
02499     break;}
02500 case 191:
02501 #line 775 "PSDL.yy"
02502 { yyval = new TAO_PSDL_Predefined_Type(yyvsp[0]); ;
02503     break;}
02504 case 192:
02505 #line 778 "PSDL.yy"
02506 { yyval = new TAO_PSDL_Predefined_Type(yyvsp[0]); ;
02507     break;}
02508 case 193:
02509 #line 781 "PSDL.yy"
02510 { yyval = new TAO_PSDL_Predefined_Type(yyvsp[0]); ;
02511     break;}
02512 case 194:
02513 #line 784 "PSDL.yy"
02514 { yyval = new TAO_PSDL_Predefined_Type(yyvsp[0]); ;
02515     break;}
02516 case 195:
02517 #line 787 "PSDL.yy"
02518 { yyval = new TAO_PSDL_Predefined_Type(yyvsp[0]); ;
02519     break;}
02520 case 196:
02521 #line 790 "PSDL.yy"
02522 { yyval = new TAO_PSDL_Predefined_Type(yyvsp[0]); ;
02523     break;}
02524 case 197:
02525 #line 793 "PSDL.yy"
02526 { yyval = new TAO_PSDL_Predefined_Type(yyvsp[0]); ;
02527     break;}
02528 case 198:
02529 #line 796 "PSDL.yy"
02530 { yyval = new TAO_PSDL_Predefined_Type(yyvsp[0]); ;
02531     break;}
02532 case 199:
02533 #line 800 "PSDL.yy"
02534 { yyval = new TAO_PSDL_Const_Exp (yyvsp[0]); ;
02535     break;}
02536 case 200:
02537 #line 804 "PSDL.yy"
02538 { yyval = new TAO_PSDL_Or_Expr (yyvsp[0]); ;
02539     break;}
02540 case 201:
02541 #line 807 "PSDL.yy"
02542 { yyval = new TAO_PSDL_Or_Expr (yyvsp[-2], yyvsp[0]); ;
02543     break;}
02544 case 202:
02545 #line 811 "PSDL.yy"
02546 { yyval = new TAO_PSDL_Xor_Expr (yyvsp[0]); ;
02547     break;}
02548 case 203:
02549 #line 814 "PSDL.yy"
02550 { yyval = new TAO_PSDL_Xor_Expr (yyvsp[-2], yyvsp[0]); ;
02551     break;}
02552 case 204:
02553 #line 818 "PSDL.yy"
02554 { yyval = new TAO_PSDL_And_Expr (yyvsp[0]); ;
02555     break;}
02556 case 205:
02557 #line 821 "PSDL.yy"
02558 { yyval = new TAO_PSDL_And_Expr (yyvsp[-2], yyvsp[0]); ;
02559     break;}
02560 case 206:
02561 #line 825 "PSDL.yy"
02562 { yyval = new TAO_PSDL_Shift_Expr (yyvsp[0]); ;
02563     break;}
02564 case 207:
02565 #line 828 "PSDL.yy"
02566 { yyval = new TAO_PSDL_Shift_Expr (yyvsp[-2], yyvsp[-1], yyvsp[0]); ;
02567     break;}
02568 case 208:
02569 #line 831 "PSDL.yy"
02570 { yyval = new TAO_PSDL_Shift_Expr (yyvsp[-2], yyvsp[-1], yyvsp[0]); ;
02571     break;}
02572 case 209:
02573 #line 835 "PSDL.yy"
02574 { yyval = new TAO_PSDL_Add_Expr (yyvsp[0]); ;
02575     break;}
02576 case 210:
02577 #line 838 "PSDL.yy"
02578 { yyval = new TAO_PSDL_Add_Expr (yyvsp[-2], yyvsp[-1], yyvsp[0]); ;
02579     break;}
02580 case 211:
02581 #line 841 "PSDL.yy"
02582 { yyval = new TAO_PSDL_Add_Expr (yyvsp[-2], yyvsp[-1], yyvsp[0]); ;
02583     break;}
02584 case 212:
02585 #line 845 "PSDL.yy"
02586 { yyval = new TAO_PSDL_Mult_Expr (yyvsp[0]); ;
02587     break;}
02588 case 213:
02589 #line 848 "PSDL.yy"
02590 { yyval = new TAO_PSDL_Mult_Expr (yyvsp[-2], yyvsp[0]); ;
02591     break;}
02592 case 214:
02593 #line 851 "PSDL.yy"
02594 { yyval = new TAO_PSDL_Mult_Expr (yyvsp[-2], yyvsp[0]); ;
02595     break;}
02596 case 215:
02597 #line 854 "PSDL.yy"
02598 { yyval = new TAO_PSDL_Mult_Expr (yyvsp[-2], yyvsp[0]); ;
02599     break;}
02600 case 216:
02601 #line 858 "PSDL.yy"
02602 { yyval = new TAO_PSDL_Unary_Expr (yyvsp[-1], yyvsp[0]); ;
02603     break;}
02604 case 217:
02605 #line 861 "PSDL.yy"
02606 { yyval = new TAO_PSDL_Unary_Expr (yyvsp[0]); ;
02607     break;}
02608 case 218:
02609 #line 865 "PSDL.yy"
02610 { yyval = yyvsp[0]; ;
02611     break;}
02612 case 219:
02613 #line 868 "PSDL.yy"
02614 { yyval = yyvsp[0]; ;
02615     break;}
02616 case 220:
02617 #line 871 "PSDL.yy"
02618 { yyval = yyvsp[0]; ;
02619     break;}
02620 case 221:
02621 #line 875 "PSDL.yy"
02622 { yyval = new TAO_PSDL_Primary_Expr (yyvsp[0]); ;
02623     break;}
02624 case 222:
02625 #line 878 "PSDL.yy"
02626 { yyval = new TAO_PSDL_Primary_Expr (yyvsp[0]); ;
02627     break;}
02628 case 223:
02629 #line 881 "PSDL.yy"
02630 { yyval = new TAO_PSDL_Primary_Expr (yyvsp[-1]); ;
02631     break;}
02632 case 224:
02633 #line 885 "PSDL.yy"
02634 {
02635                   int good_except_name = TAO_PSDL_Scope::instance ()->pop_top_scope ()->add_exception (TAO_PSDL_Scope::instance ()->get_identifier ());
02636                   if (good_except_name == -1)
02637                     YYABORT;
02638                   yyval = yyvsp[0];
02639                 ;
02640     break;}
02641 case 225:
02642 #line 894 "PSDL.yy"
02643 {
02644                   TAO_PSDL_Scope::instance ()->set_scope ();
02645                   yyval = new TAO_PSDL_Except_Dcl (yyvsp[-3], yyvsp[-1]);
02646                 ;
02647     break;}
02648 case 226:
02649 #line 900 "PSDL.yy"
02650 {
02651                   TAO_PSDL_Scope::instance ()->set_scope ();
02652                   yyval = new TAO_PSDL_Except_Dcl (yyvsp[-2]);
02653                 ;
02654     break;}
02655 case 227:
02656 #line 907 "PSDL.yy"
02657 {
02658                   int good_op_dcl_name = TAO_PSDL_Scope::instance ()->pop_top_scope ()->add_op_dcl (TAO_PSDL_Scope::instance ()->get_identifier ());
02659 
02660                   if (good_op_dcl_name == -1)
02661                     YYABORT;
02662 
02663                   yyval = yyvsp[0];
02664                 ;
02665     break;}
02666 case 228:
02667 #line 918 "PSDL.yy"
02668 { TAO_PSDL_Scope::instance ()->set_scope ();
02669                   yyval = new TAO_PSDL_Op_Dcl (yyvsp[-5], yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0]); ;
02670     break;}
02671 case 229:
02672 #line 922 "PSDL.yy"
02673 { TAO_PSDL_Scope::instance ()->set_scope ();
02674                   yyval = new TAO_PSDL_Op_Dcl (yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0]); ;
02675     break;}
02676 case 230:
02677 #line 926 "PSDL.yy"
02678 { TAO_PSDL_Scope::instance ()->set_scope ();
02679                   yyval = new TAO_PSDL_Op_Dcl (yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0]); ;
02680     break;}
02681 case 231:
02682 #line 930 "PSDL.yy"
02683 { TAO_PSDL_Scope::instance ()->set_scope ();
02684                   yyval = new TAO_PSDL_Op_Dcl (yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0]); ;
02685     break;}
02686 case 232:
02687 #line 934 "PSDL.yy"
02688 { TAO_PSDL_Scope::instance ()->set_scope ();
02689                   yyval = new TAO_PSDL_Op_Dcl (yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0]); ;
02690     break;}
02691 case 233:
02692 #line 938 "PSDL.yy"
02693 { TAO_PSDL_Scope::instance ()->set_scope ();
02694                   yyval = new TAO_PSDL_Op_Dcl (yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0]); ;
02695     break;}
02696 case 234:
02697 #line 942 "PSDL.yy"
02698 { TAO_PSDL_Scope::instance ()->set_scope ();
02699                   yyval = new TAO_PSDL_Op_Dcl (yyvsp[-2], yyvsp[-1], yyvsp[0]); ;
02700     break;}
02701 case 235:
02702 #line 947 "PSDL.yy"
02703 { yyval = new TAO_PSDL_Predefined_Type (TAO_PSDL_ONEWAY); ;
02704     break;}
02705 case 236:
02706 #line 951 "PSDL.yy"
02707 { yyval = new TAO_PSDL_Op_Type_Spec (yyvsp[0]); ;
02708     break;}
02709 case 237:
02710 #line 954 "PSDL.yy"
02711 { yyval = new TAO_PSDL_Op_Type_Spec (TAO_PSDL_VOID); ;
02712     break;}
02713 case 238:
02714 #line 958 "PSDL.yy"
02715 { yyval = new TAO_PSDL_Parameter_Dcls (yyvsp[-1]); ;
02716     break;}
02717 case 239:
02718 #line 961 "PSDL.yy"
02719 { yyval = new TAO_PSDL_Parameter_Dcls (); ;
02720     break;}
02721 case 240:
02722 #line 965 "PSDL.yy"
02723 { yyval = new TAO_PSDL_Param_Dcl (yyvsp[-2], yyvsp[-1], yyvsp[0]); ;
02724     break;}
02725 case 241:
02726 #line 968 "PSDL.yy"
02727 { yyval = new TAO_PSDL_Param_Dcl (yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[0]); ;
02728     break;}
02729 case 242:
02730 #line 972 "PSDL.yy"
02731 { yyval = new TAO_PSDL_Predefined_Type (TAO_PSDL_IN); ;
02732     break;}
02733 case 243:
02734 #line 975 "PSDL.yy"
02735 { yyval = new TAO_PSDL_Predefined_Type (TAO_PSDL_OUT); ;
02736     break;}
02737 case 244:
02738 #line 978 "PSDL.yy"
02739 { yyval = new TAO_PSDL_Predefined_Type (TAO_PSDL_INOUT); ;
02740     break;}
02741 case 245:
02742 #line 982 "PSDL.yy"
02743 { yyval = new TAO_PSDL_Raises_Expr (yyvsp[-1]); ;
02744     break;}
02745 case 246:
02746 #line 985 "PSDL.yy"
02747 { yyval = new TAO_PSDL_Raises_Expr (yyvsp[-3], yyvsp[-2]); ;
02748     break;}
02749 case 247:
02750 #line 989 "PSDL.yy"
02751 { yyval = new TAO_PSDL_Context_Expr (yyvsp[-1]); ;
02752     break;}
02753 case 248:
02754 #line 993 "PSDL.yy"
02755 { yyval = new TAO_PSDL_Param_Type_Spec (yyvsp[0]); ;
02756     break;}
02757 case 249:
02758 #line 996 "PSDL.yy"
02759 { yyval = new TAO_PSDL_Param_Type_Spec (yyvsp[0]); ;
02760     break;}
02761 case 250:
02762 #line 999 "PSDL.yy"
02763 { yyval = new TAO_PSDL_Param_Type_Spec (yyvsp[0]); ;
02764     break;}
02765 case 251:
02766 #line 1002 "PSDL.yy"
02767 { yyval = new TAO_PSDL_Param_Type_Spec (yyvsp[0]); ;
02768     break;}
02769 case 252:
02770 #line 1006 "PSDL.yy"
02771 { yyval = new TAO_PSDL_Predefined_Type (yyvsp[-3], yyvsp[-1]); ;
02772     break;}
02773 case 253:
02774 #line 1010 "PSDL.yy"
02775 { yyval = yyvsp[0]; ;
02776     break;}
02777 case 254:
02778 #line 1014 "PSDL.yy"
02779 { yyval = yyvsp[0]; ;
02780     break;}
02781 case 255:
02782 #line 1018 "PSDL.yy"
02783 { yyval = new TAO_PSDL_Constr_Forward_Decl (yyvsp[-1], yyvsp[0]); ;
02784     break;}
02785 case 256:
02786 #line 1021 "PSDL.yy"
02787 { yyval = new TAO_PSDL_Constr_Forward_Decl (yyvsp[-1], yyvsp[0]); ;
02788     break;}
02789 case 257:
02790 #line 1025 "PSDL.yy"
02791 { yyval = new TAO_PSDL_Interface (yyvsp[0]); ;
02792     break;}
02793 case 258:
02794 #line 1028 "PSDL.yy"
02795 { yyval = new TAO_PSDL_Interface (yyvsp[0]); ;
02796     break;}
02797 case 259:
02798 #line 1032 "PSDL.yy"
02799 {
02800                   TAO_PSDL_Scope::instance ()->set_interface_scope ();
02801                   yyval = new TAO_PSDL_Interface_Dcl (yyvsp[-3], yyvsp[-1]);
02802                 ;
02803     break;}
02804 case 260:
02805 #line 1038 "PSDL.yy"
02806 {
02807                   TAO_PSDL_Scope::instance ()->set_interface_scope ();
02808                   yyval = new TAO_PSDL_Interface_Dcl (yyvsp[-2]);
02809                 ;
02810     break;}
02811 case 261:
02812 #line 1045 "PSDL.yy"
02813 { yyval = new TAO_PSDL_Forward_Dcl (TAO_PSDL_ABSTRACT, yyvsp[0]); ;
02814     break;}
02815 case 262:
02816 #line 1048 "PSDL.yy"
02817 { yyval = new TAO_PSDL_Forward_Dcl (TAO_PSDL_LOCAL, yyvsp[0]); ;
02818     break;}
02819 case 263:
02820 #line 1051 "PSDL.yy"
02821 { yyval = new TAO_PSDL_Forward_Dcl (yyvsp[0]); ;
02822     break;}
02823 case 264:
02824 #line 1055 "PSDL.yy"
02825 {
02826                   int good_interface_name = TAO_PSDL_Scope::instance ()->pop_top_scope ()->add_interface (TAO_PSDL_Scope::instance ()->get_identifier ());
02827                   if (good_interface_name == -1)
02828                       YYABORT;
02829 
02830                   yyval = yyvsp[0];
02831                 ;
02832     break;}
02833 case 265:
02834 #line 1065 "PSDL.yy"
02835 { yyval = new TAO_PSDL_Interface_Header (yyvsp[-1], yyvsp[0]); ;
02836     break;}
02837 case 266:
02838 #line 1068 "PSDL.yy"
02839 { yyval = new TAO_PSDL_Interface_Header (yyvsp[-1], yyvsp[0]); ;
02840     break;}
02841 case 267:
02842 #line 1071 "PSDL.yy"
02843 { yyval = new TAO_PSDL_Interface_Header (yyvsp[0]); ;
02844     break;}
02845 case 268:
02846 #line 1074 "PSDL.yy"
02847 { yyval = new TAO_PSDL_Interface_Header (yyvsp[-2], yyvsp[-1], yyvsp[0]); ;
02848     break;}
02849 case 269:
02850 #line 1077 "PSDL.yy"
02851 { yyval = new TAO_PSDL_Interface_Header (yyvsp[-2], yyvsp[-1], yyvsp[0]); ;
02852     break;}
02853 case 270:
02854 #line 1080 "PSDL.yy"
02855 { yyval = new TAO_PSDL_Interface_Header (yyvsp[0], yyvsp[-1]); ;
02856     break;}
02857 case 271:
02858 #line 1084 "PSDL.yy"
02859 { yyval = new TAO_PSDL_Interface_Body (yyvsp[0]); ;
02860     break;}
02861 case 272:
02862 #line 1087 "PSDL.yy"
02863 { yyval = new TAO_PSDL_Interface_Body (yyvsp[-1], yyvsp[0]); ;
02864     break;}
02865 case 273:
02866 #line 1091 "PSDL.yy"
02867 { yyval = new TAO_PSDL_Export_Dcl (yyvsp[-1]); ;
02868     break;}
02869 case 274:
02870 #line 1094 "PSDL.yy"
02871 { yyval = new TAO_PSDL_Export_Dcl (yyvsp[-1]); ;
02872     break;}
02873 case 275:
02874 #line 1097 "PSDL.yy"
02875 { yyval = new TAO_PSDL_Export_Dcl (yyvsp[-1]); ;
02876     break;}
02877 case 276:
02878 #line 1100 "PSDL.yy"
02879 { yyval = new TAO_PSDL_Export_Dcl (yyvsp[-1]); ;
02880     break;}
02881 case 277:
02882 #line 1103 "PSDL.yy"
02883 { yyval = new TAO_PSDL_Export_Dcl (yyvsp[-1]); ;
02884     break;}
02885 case 278:
02886 #line 1108 "PSDL.yy"
02887 { yyval = new TAO_PSDL_Interface_Inheritance_Spec (yyvsp[0]); ;
02888     break;}
02889 case 279:
02890 #line 1112 "PSDL.yy"
02891 { yyval = new TAO_PSDL_Interface_Name (yyvsp[0]); ;
02892     break;}
02893 case 280:
02894 #line 1115 "PSDL.yy"
02895 { yyval = new TAO_PSDL_Interface_Name (yyvsp[-2], yyvsp[-1]); ;
02896     break;}
02897 case 281:
02898 #line 1119 "PSDL.yy"
02899 { yyval = new TAO_PSDL_Scoped_Name (yyvsp[-2], yyvsp[0]); ;
02900     break;}
02901 case 282:
02902 #line 1122 "PSDL.yy"
02903 { yyval = yyvsp[0]; ;
02904     break;}
02905 case 283:
02906 #line 1126 "PSDL.yy"
02907 { yyval = new TAO_PSDL_Scoped_Name (yyvsp[-2], yyvsp[0]); ;
02908     break;}
02909 case 284:
02910 #line 1129 "PSDL.yy"
02911 { yyval = yyvsp[0]; ;
02912     break;}
02913 case 285:
02914 #line 1133 "PSDL.yy"
02915 { yyval = new TAO_PSDL_Value (yyvsp[0]); ;
02916     break;}
02917 case 286:
02918 #line 1136 "PSDL.yy"
02919 { yyval = new TAO_PSDL_Value (yyvsp[0]); ;
02920     break;}
02921 case 287:
02922 #line 1139 "PSDL.yy"
02923 { yyval = new TAO_PSDL_Value (yyvsp[0]); ;
02924     break;}
02925 case 288:
02926 #line 1142 "PSDL.yy"
02927 { yyval = new TAO_PSDL_Value (yyvsp[0]); ;
02928     break;}
02929 case 289:
02930 #line 1146 "PSDL.yy"
02931 { yyval = new TAO_PSDL_Value_Common_Base (yyvsp[0]); ;
02932     break;}
02933 case 290:
02934 #line 1150 "PSDL.yy"
02935 { yyval = new TAO_PSDL_Value_Forward_Dcl (yyvsp[-1], yyvsp[0]); ;
02936     break;}
02937 case 291:
02938 #line 1153 "PSDL.yy"
02939 { yyval = new TAO_PSDL_Value_Forward_Dcl (yyvsp[0]); ;
02940     break;}
02941 case 292:
02942 #line 1157 "PSDL.yy"
02943 { yyval = new TAO_PSDL_Value_Box_Dcl (yyvsp[-1], yyvsp[0]); ;
02944     break;}
02945 case 293:
02946 #line 1161 "PSDL.yy"
02947 { yyval = new TAO_PSDL_Value_Abs_Dcl (yyvsp[-4], yyvsp[-3], yyvsp[-1]); ;
02948     break;}
02949 case 294:
02950 #line 1164 "PSDL.yy"
02951 { yyval = new TAO_PSDL_Value_Abs_Dcl (yyvsp[-3], yyvsp[-1]); ;
02952     break;}
02953 case 295:
02954 #line 1168 "PSDL.yy"
02955 { yyval = new TAO_PSDL_Value_Dcl (yyvsp[-3], yyvsp[-1]); ;
02956     break;}
02957 case 296:
02958 #line 1172 "PSDL.yy"
02959 { yyval = new TAO_PSDL_Value_Header (yyvsp[-2], yyvsp[-1], yyvsp[0]); ;
02960     break;}
02961 case 297:
02962 #line 1175 "PSDL.yy"
02963 { yyval = new TAO_PSDL_Value_Header (yyvsp[-1], yyvsp[0]); ;
02964     break;}
02965 case 298:
02966 #line 1178 "PSDL.yy"
02967 { yyval = new TAO_PSDL_Value_Header (yyvsp[-1], yyvsp[0]); ;
02968     break;}
02969 case 299:
02970 #line 1182 "PSDL.yy"
02971 { yyval = new TAO_PSDL_Value_Inheritance_Spec (yyvsp[-3], yyvsp[-2], yyvsp[0]); ;
02972     break;}
02973 case 300:
02974 #line 1185 "PSDL.yy"
02975 { yyval = new TAO_PSDL_Value_Inheritance_Spec (yyvsp[-2], yyvsp[0]); ;
02976     break;}
02977 case 301:
02978 #line 1188 "PSDL.yy"
02979 { yyval = new TAO_PSDL_Value_Inheritance_Spec (yyvsp[0]); ;
02980     break;}
02981 case 302:
02982 #line 1191 "PSDL.yy"
02983 { yyval = new TAO_PSDL_Value_Inheritance_Spec (yyvsp[-1], yyvsp[0]); ;
02984     break;}
02985 case 303:
02986 #line 1194 "PSDL.yy"
02987 { yyval = new TAO_PSDL_Value_Inheritance_Spec (yyvsp[0]); ;
02988     break;}
02989 case 304:
02990 #line 1199 "PSDL.yy"
02991 { yyval = new TAO_PSDL_Predefined_Type (TAO_PSDL_STRING, yyvsp[-1]); ;
02992     break;}
02993 case 305:
02994 #line 1202 "PSDL.yy"
02995 { yyval = new TAO_PSDL_Predefined_Type (TAO_PSDL_STRING); ;
02996     break;}
02997 case 306:
02998 #line 1206 "PSDL.yy"
02999 { yyval = new TAO_PSDL_Predefined_Type (yyvsp[-1]); ;
03000     break;}
03001 case 307:
03002 #line 1209 "PSDL.yy"
03003 { yyval = yyvsp[0]; ;
03004     break;}
03005 case 308:
03006 #line 1213 "PSDL.yy"
03007 { yyval = new TAO_PSDL_Array_Declarator (yyvsp[-1], yyvsp[0]); ;
03008     break;}
03009 case 309:
03010 #line 1217 "PSDL.yy"
03011 { yyval = new TAO_PSDL_Fixed_Array_Size (yyvsp[-1]); ;
03012     break;}
03013 case 310:
03014 #line 1221 "PSDL.yy"
03015 { yyval = new TAO_PSDL_Attr_Dcl (TAO_PSDL_READONLY, yyvsp[-1], yyvsp[0]); ;
03016     break;}
03017 case 311:
03018 #line 1224 "PSDL.yy"
03019 { yyval = new TAO_PSDL_Attr_Dcl (yyvsp[-1], yyvsp[0]); ;
03020     break;}
03021 case 312:
03022 #line 1228 "PSDL.yy"
03023 { yyval = new TAO_PSDL_Predefined_Type (TAO_PSDL_ENUM, yyvsp[-3], yyvsp[-1]); ;
03024     break;}
03025 case 313:
03026 #line 1232 "PSDL.yy"
03027 { yyval = new TAO_PSDL_Enumerator (yyvsp[0]); ;
03028     break;}
03029 case 314:
03030 #line 1235 "PSDL.yy"
03031 { yyval = new TAO_PSDL_Enumerator (yyvsp[-2], yyvsp[0]); ;
03032     break;}
03033 case 315:
03034 #line 1239 "PSDL.yy"
03035 { yyval = new TAO_PSDL_Predefined_Type (TAO_PSDL_SEQUENCE, yyvsp[-3], yyvsp[-1]); ;
03036     break;}
03037 case 316:
03038 #line 1242 "PSDL.yy"
03039 { yyval = new TAO_PSDL_Predefined_Type (TAO_PSDL_SEQUENCE, yyvsp[-1]); ;
03040     break;}
03041 case 317:
03042 #line 1246 "PSDL.yy"
03043 { yyval = yyvsp[0]; ;
03044     break;}
03045 case 318:
03046 #line 1249 "PSDL.yy"
03047 { yyval = yyvsp[0]; ;
03048     break;}
03049 case 319:
03050 #line 1252 "PSDL.yy"
03051 { yyval = yyvsp[0]; ;
03052     break;}
03053 case 320:
03054 #line 1255 "PSDL.yy"
03055 { yyval = yyvsp[0]; ;
03056     break;}
03057 case 321:
03058 #line 1258 "PSDL.yy"
03059 { yyval = yyvsp[0]; ;
03060     break;}
03061 case 322:
03062 #line 1261 "PSDL.yy"
03063 { yyval = yyvsp[0]; ;
03064     break;}
03065 case 323:
03066 #line 1264 "PSDL.yy"
03067 { yyval = yyvsp[0]; ;
03068     break;}
03069 case 324:
03070 #line 1267 "PSDL.yy"
03071 { yyval = yyvsp[0]; ;
03072     break;}
03073 case 325:
03074 #line 1271 "PSDL.yy"
03075 { yyval = yyvsp[0]; ;
03076     break;}
03077 case 326:
03078 #line 1274 "PSDL.yy"
03079 { yyval = yyvsp[0]; ;
03080     break;}
03081 case 327:
03082 #line 1278 "PSDL.yy"
03083 { yyval = yyvsp[0]; ;
03084     break;}
03085 case 328:
03086 #line 1282 "PSDL.yy"
03087 { yyval = yyvsp[0]; ;
03088     break;}
03089 case 329:
03090 #line 1286 "PSDL.yy"
03091 { yyval = yyvsp[0]; ;
03092     break;}
03093 case 330:
03094 #line 1290 "PSDL.yy"
03095 { yyval = yyvsp[0]; ;
03096     break;}
03097 case 331:
03098 #line 1294 "PSDL.yy"
03099 { yyval = yyvsp[0]; ;
03100     break;}
03101 case 332:
03102 #line 1298 "PSDL.yy"
03103 { yyval = yyvsp[0]; ;
03104     break;}
03105 case 333:
03106 #line 1302 "PSDL.yy"
03107 { yyval = yyvsp[0]; ;
03108     break;}
03109 case 334:
03110 #line 1306 "PSDL.yy"
03111 { yyval = new TAO_PSDL_Value_Name (yyvsp[0]); ;
03112     break;}
03113 case 335:
03114 #line 1309 "PSDL.yy"
03115 { yyval = new TAO_PSDL_Value_Name (yyvsp[-2], yyvsp[0]); ;
03116     break;}
03117 case 336:
03118 #line 1313 "PSDL.yy"
03119 { yyval = new TAO_PSDL_Value_Element (yyvsp[0]); ;
03120     break;}
03121 case 337:
03122 #line 1316 "PSDL.yy"
03123 { yyval = new TAO_PSDL_Value_Element (yyvsp[0]); ;
03124     break;}
03125 case 338:
03126 #line 1319 "PSDL.yy"
03127 { yyval = new TAO_PSDL_Value_Element (yyvsp[0]); ;
03128     break;}
03129 case 339:
03130 #line 1323 "PSDL.yy"
03131 { yyval = new TAO_PSDL_State_Member (yyvsp[-3], yyvsp[-2], yyvsp[-1]); ;
03132     break;}
03133 case 340:
03134 #line 1326 "PSDL.yy"
03135 { yyval = new TAO_PSDL_State_Member (yyvsp[-3], yyvsp[-2], yyvsp[-1]); ;
03136     break;}
03137 case 341:
03138 #line 1330 "PSDL.yy"
03139 { yyval = new TAO_PSDL_Init_Dcl (yyvsp[-4], yyvsp[-2]); ;
03140     break;}
03141 case 342:
03142 #line 1333 "PSDL.yy"
03143 { yyval = new TAO_PSDL_Init_Dcl (yyvsp[-3]); ;
03144     break;}
03145 case 343:
03146 #line 1337 "PSDL.yy"
03147 { yyval = new TAO_PSDL_Init_Param_Decls (yyvsp[0]); ;
03148     break;}
03149 case 344:
03150 #line 1340 "PSDL.yy"
03151 { yyval = new TAO_PSDL_Init_Param_Decls (yyvsp[-2], yyvsp[-1]); ;
03152     break;}
03153 case 345:
03154 #line 1344 "PSDL.yy"
03155 { yyval = new TAO_PSDL_Init_Param_Decl (yyvsp[-2], yyvsp[-1], yyvsp[0]); ;
03156     break;}
03157 case 346:
03158 #line 1348 "PSDL.yy"
03159 { yyval = new TAO_PSDL_Predefined_Type (TAO_PSDL_IN); ;
03160     break;}
03161 case 347:
03162 #line 1352 "PSDL.yy"
03163 { yyval = new TAO_PSDL_Positive_Int_Const (yyvsp[0]); ;
03164     break;}
03165 case 348:
03166 #line 1356 "PSDL.yy"
03167 { yyval = new TAO_PSDL_Factory_Dcl (yyvsp[-1], yyvsp[0]); ;
03168     break;}
03169 case 349:
03170 #line 1360 "PSDL.yy"
03171 { yyval = new TAO_PSDL_Factory_Parameters (yyvsp[-1]); ;
03172     break;}
03173 case 350:
03174 #line 1363 "PSDL.yy"
03175 { yyval = new TAO_PSDL_Factory_Parameters (); ;
03176     break;}
03177 }
03178 
03179 #line 705 "/usr/share/bison/bison.simple"
03180 
03181 
03182   yyvsp -= yylen;
03183   yyssp -= yylen;
03184 #if YYLSP_NEEDED
03185   yylsp -= yylen;
03186 #endif
03187 
03188 #if YYDEBUG
03189   if (yydebug)
03190     {
03191       short *yyssp1 = yyss - 1;
03192       YYFPRINTF (stderr, "state stack now");
03193       while (yyssp1 != yyssp)
03194         YYFPRINTF (stderr, " %d", *++yyssp1);
03195       YYFPRINTF (stderr, "\n");
03196     }
03197 #endif
03198 
03199   *++yyvsp = yyval;
03200 #if YYLSP_NEEDED
03201   *++yylsp = yyloc;
03202 #endif
03203 
03204   /* Now `shift' the result of the reduction.  Determine what state
03205      that goes to, based on the state we popped back to and the rule
03206      number reduced by.  */
03207 
03208   yyn = yyr1[yyn];
03209 
03210   yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
03211   if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
03212     yystate = yytable[yystate];
03213   else
03214     yystate = yydefgoto[yyn - YYNTBASE];
03215 
03216   goto yynewstate;
03217 
03218 
03219 /*------------------------------------.
03220 | yyerrlab -- here on detecting error |
03221 `------------------------------------*/
03222 yyerrlab:
03223   /* If not already recovering from an error, report this error.  */
03224   if (!yyerrstatus)
03225     {
03226       ++yynerrs;
03227 
03228 #ifdef YYERROR_VERBOSE
03229       yyn = yypact[yystate];
03230 
03231       if (yyn > YYFLAG && yyn < YYLAST)
03232         {
03233           YYSIZE_T yysize = 0;
03234           char *yymsg;
03235           int yyx, yycount;
03236 
03237           yycount = 0;
03238           /* Start YYX at -YYN if negative to avoid negative indexes in
03239              YYCHECK.  */
03240           for (yyx = yyn < 0 ? -yyn : 0;
03241                yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)
03242             if (yycheck[yyx + yyn] == yyx)
03243               yysize += yystrlen (yytname[yyx]) + 15, yycount++;
03244           yysize += yystrlen ("parse error, unexpected ") + 1;
03245           yysize += yystrlen (yytname[YYTRANSLATE (yychar)]);
03246           yymsg = (char *) YYSTACK_ALLOC (yysize);
03247           if (yymsg != 0)
03248             {
03249               char *yyp = yystpcpy (yymsg, "parse error, unexpected ");
03250               yyp = yystpcpy (yyp, yytname[YYTRANSLATE (yychar)]);
03251 
03252               if (yycount < 5)
03253                 {
03254                   yycount = 0;
03255                   for (yyx = yyn < 0 ? -yyn : 0;
03256                        yyx < (int) (sizeof (yytname) / sizeof (char *));
03257                        yyx++)
03258                     if (yycheck[yyx + yyn] == yyx)
03259                       {
03260                         const char *yyq = ! yycount ? ", expecting " : " or ";
03261                         yyp = yystpcpy (yyp, yyq);
03262                         yyp = yystpcpy (yyp, yytname[yyx]);
03263                         yycount++;
03264                       }
03265                 }
03266               yyerror (yymsg);
03267               YYSTACK_FREE (yymsg);
03268             }
03269           else
03270             yyerror ("parse error; also virtual memory exhausted");
03271         }
03272       else
03273 #endif /* defined (YYERROR_VERBOSE) */
03274         yyerror ("parse error");
03275     }
03276   goto yyerrlab1;
03277 
03278 
03279 /*--------------------------------------------------.
03280 | yyerrlab1 -- error raised explicitly by an action |
03281 `--------------------------------------------------*/
03282 yyerrlab1:
03283   if (yyerrstatus == 3)
03284     {
03285       /* If just tried and failed to reuse lookahead token after an
03286          error, discard it.  */
03287 
03288       /* return failure if at end of input */
03289       if (yychar == YYEOF)
03290         YYABORT;
03291       YYDPRINTF ((stderr, "Discarding token %d (%s).\n",
03292                   yychar, yytname[yychar1]));
03293       yychar = YYEMPTY;
03294     }
03295 
03296   /* Else will try to reuse lookahead token after shifting the error
03297      token.  */
03298 
03299   yyerrstatus = 3;              /* Each real token shifted decrements this */
03300 
03301   goto yyerrhandle;
03302 
03303 
03304 /*-------------------------------------------------------------------.
03305 | yyerrdefault -- current state does not do anything special for the |
03306 | error token.                                                       |
03307 `-------------------------------------------------------------------*/
03308 yyerrdefault:
03309 #if 0
03310   /* This is wrong; only states that explicitly want error tokens
03311      should shift them.  */
03312 
03313   /* If its default is to accept any token, ok.  Otherwise pop it.  */
03314   yyn = yydefact[yystate];
03315   if (yyn)
03316     goto yydefault;
03317 #endif
03318 
03319 
03320 /*---------------------------------------------------------------.
03321 | yyerrpop -- pop the current state because it cannot handle the |
03322 | error token                                                    |
03323 `---------------------------------------------------------------*/
03324 yyerrpop:
03325   if (yyssp == yyss)
03326     YYABORT;
03327   yyvsp--;
03328   yystate = *--yyssp;
03329 #if YYLSP_NEEDED
03330   yylsp--;
03331 #endif
03332 
03333 #if YYDEBUG
03334   if (yydebug)
03335     {
03336       short *yyssp1 = yyss - 1;
03337       YYFPRINTF (stderr, "Error: state stack now");
03338       while (yyssp1 != yyssp)
03339         YYFPRINTF (stderr, " %d", *++yyssp1);
03340       YYFPRINTF (stderr, "\n");
03341     }
03342 #endif
03343 
03344 /*--------------.
03345 | yyerrhandle.  |
03346 `--------------*/
03347 yyerrhandle:
03348   yyn = yypact[yystate];
03349   if (yyn == YYFLAG)
03350     goto yyerrdefault;
03351 
03352   yyn += YYTERROR;
03353   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
03354     goto yyerrdefault;
03355 
03356   yyn = yytable[yyn];
03357   if (yyn < 0)
03358     {
03359       if (yyn == YYFLAG)
03360         goto yyerrpop;
03361       yyn = -yyn;
03362       goto yyreduce;
03363     }
03364   else if (yyn == 0)
03365     goto yyerrpop;
03366 
03367   if (yyn == YYFINAL)
03368     YYACCEPT;
03369 
03370   YYDPRINTF ((stderr, "Shifting error token, "));
03371 
03372   *++yyvsp = yylval;
03373 #if YYLSP_NEEDED
03374   *++yylsp = yylloc;
03375 #endif
03376 
03377   yystate = yyn;
03378   goto yynewstate;
03379 
03380 
03381 /*-------------------------------------.
03382 | yyacceptlab -- YYACCEPT comes here.  |
03383 `-------------------------------------*/
03384 yyacceptlab:
03385   yyresult = 0;
03386   goto yyreturn;
03387 
03388 /*-----------------------------------.
03389 | yyabortlab -- YYABORT comes here.  |
03390 `-----------------------------------*/
03391 yyabortlab:
03392   yyresult = 1;
03393   goto yyreturn;
03394 
03395 /*---------------------------------------------.
03396 | yyoverflowab -- parser overflow comes here.  |
03397 `---------------------------------------------*/
03398 yyoverflowlab:
03399   yyerror ("parser stack overflow");
03400   yyresult = 2;
03401   /* Fall through.  */
03402 
03403 yyreturn:
03404 #ifndef yyoverflow
03405   if (yyss != yyssa)
03406     YYSTACK_FREE (yyss);
03407 #endif
03408   return yyresult;
03409 }
03410 #line 1365 "PSDL.yy"

Generated on Thu Nov 9 14:07:05 2006 for TAO_PSS by doxygen 1.3.6