Annotation of gcc/cp-parse.c, revision 1.1.1.1

1.1       root        1: 
                      2: /*  A Bison parser, made from cp-parse.y  */
                      3: 
                      4: #define YYBISON 1  /* Identify Bison output.  */
                      5: 
                      6: #define        IDENTIFIER      258
                      7: #define        TYPENAME        259
                      8: #define        SCOPED_TYPENAME 260
                      9: #define        SCSPEC  261
                     10: #define        TYPESPEC        262
                     11: #define        TYPE_QUAL       263
                     12: #define        CONSTANT        264
                     13: #define        STRING  265
                     14: #define        ELLIPSIS        266
                     15: #define        SIZEOF  267
                     16: #define        ENUM    268
                     17: #define        IF      269
                     18: #define        ELSE    270
                     19: #define        WHILE   271
                     20: #define        DO      272
                     21: #define        FOR     273
                     22: #define        SWITCH  274
                     23: #define        CASE    275
                     24: #define        DEFAULT 276
                     25: #define        BREAK   277
                     26: #define        CONTINUE        278
                     27: #define        RETURN  279
                     28: #define        GOTO    280
                     29: #define        ASM     281
                     30: #define        TYPEOF  282
                     31: #define        ALIGNOF 283
                     32: #define        HEADOF  284
                     33: #define        CLASSOF 285
                     34: #define        ATTRIBUTE       286
                     35: #define        AGGR    287
                     36: #define        VISSPEC 288
                     37: #define        DELETE  289
                     38: #define        NEW     290
                     39: #define        OVERLOAD        291
                     40: #define        THIS    292
                     41: #define        OPERATOR        293
                     42: #define        DYNAMIC 294
                     43: #define        POINTSAT_LEFT_RIGHT     295
                     44: #define        LEFT_RIGHT      296
                     45: #define        TEMPLATE        297
                     46: #define        SCOPE   298
                     47: #define        START_DECLARATOR        299
                     48: #define        EMPTY   300
                     49: #define        TYPENAME_COLON  301
                     50: #define        ASSIGN  302
                     51: #define        RANGE   303
                     52: #define        OROR    304
                     53: #define        ANDAND  305
                     54: #define        MIN_MAX 306
                     55: #define        EQCOMPARE       307
                     56: #define        ARITHCOMPARE    308
                     57: #define        LSHIFT  309
                     58: #define        RSHIFT  310
                     59: #define        UNARY   311
                     60: #define        PLUSPLUS        312
                     61: #define        MINUSMINUS      313
                     62: #define        HYPERUNARY      314
                     63: #define        PAREN_STAR_PAREN        315
                     64: #define        POINTSAT        316
                     65: #define        POINTSAT_STAR   317
                     66: #define        DOT_STAR        318
                     67: #define        RAISE   319
                     68: #define        RAISES  320
                     69: #define        RERAISE 321
                     70: #define        TRY     322
                     71: #define        EXCEPT  323
                     72: #define        CATCH   324
                     73: #define        THROW   325
                     74: #define        ANSI_TRY        326
                     75: #define        ANSI_THROW      327
                     76: #define        TYPENAME_ELLIPSIS       328
                     77: #define        PTYPENAME       329
                     78: #define        PRE_PARSED_FUNCTION_DECL        330
                     79: #define        EXTERN_LANG_STRING      331
                     80: #define        ALL     332
                     81: #define        PRE_PARSED_CLASS_DECL   333
                     82: #define        TYPENAME_DEFN   334
                     83: #define        IDENTIFIER_DEFN 335
                     84: #define        PTYPENAME_DEFN  336
                     85: #define        END_OF_SAVED_INPUT      337
                     86: 
                     87: #line 42 "cp-parse.y"
                     88: 
                     89: #ifdef GATHER_STATISTICS
                     90: #undef YYDEBUG
                     91: #define YYDEBUG 1
                     92: #endif
                     93: 
                     94: #include "config.h"
                     95: 
                     96: #include <stdio.h>
                     97: #include <errno.h>
                     98: 
                     99: #include "tree.h"
                    100: #include "input.h"
                    101: #include "cp-lex.h"
                    102: #include "cp-tree.h"
                    103: #include "assert.h"
                    104: 
                    105: extern tree void_list_node;
                    106: 
                    107: #ifndef errno
                    108: extern int errno;
                    109: #endif
                    110: 
                    111: extern int end_of_file;
                    112: 
                    113: void yyerror ();
                    114: 
                    115: /* Like YYERROR but do call yyerror.  */
                    116: #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
                    117: 
                    118: static void position_after_white_space ();
                    119: 
                    120: /* The elements of `ridpointers' are identifier nodes
                    121:    for the reserved type names and storage classes.
                    122:    It is indexed by a RID_... value.  */
                    123: 
                    124: tree ridpointers[(int) RID_MAX];
                    125: #define NORID RID_UNUSED
                    126: 
                    127: /* Contains error message to give if user tries to declare
                    128:    a variable where one does not belong.  */
                    129: static char *stmt_decl_msg = 0;
                    130: 
                    131: /* Nonzero if we have an `extern "C"' acting as an extern specifier.  */
                    132: 
                    133: static int have_extern_spec;
                    134: 
                    135: void yyhook ();
                    136: 
                    137: /* Cons up an empty parameter list.  */
                    138: #ifdef __GNUC__
                    139: __inline
                    140: #endif
                    141: static tree
                    142: empty_parms ()
                    143: {
                    144:   tree parms;
                    145: 
                    146:   if (strict_prototype)
                    147:     parms = void_list_node;
                    148:   else
                    149:     parms = NULL_TREE;
                    150:   return parms;
                    151: }
                    152: 
                    153: #line 110 "cp-parse.y"
                    154: typedef union {long itype; tree ttype; enum tree_code code; } YYSTYPE;
                    155: #line 262 "cp-parse.y"
                    156: 
                    157: /* the declaration found for the last IDENTIFIER token read in.
                    158:    yylex must look this up to detect typedefs, which get token type TYPENAME,
                    159:    so it is left around in case the identifier is not a typedef but is
                    160:    used in a context which makes it a reference to a variable.  */
                    161: tree lastiddecl;
                    162: 
                    163: /* Back-door communication channel to the lexer.  */
                    164: extern int looking_for_typename;
                    165: 
                    166: tree make_pointer_declarator (), make_reference_declarator ();
                    167: 
                    168: void reinit_parse_for_function ();
                    169: void reinit_parse_for_method ();
                    170: 
                    171: /* List of types and structure classes of the current declaration.  */
                    172: tree current_declspecs;
                    173: 
                    174: /* When defining an aggregate, this is the most recent one being defined.  */
                    175: static tree current_aggr;
                    176: 
                    177: int undeclared_variable_notice;        /* 1 if we explained undeclared var errors.  */
                    178: 
                    179: int yylex ();
                    180: 
                    181: #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
                    182: 
                    183: #ifndef YYLTYPE
                    184: typedef
                    185:   struct yyltype
                    186:     {
                    187:       int timestamp;
                    188:       int first_line;
                    189:       int first_column;
                    190:       int last_line;
                    191:       int last_column;
                    192:       char *text;
                    193:    }
                    194:   yyltype;
                    195: 
                    196: #define YYLTYPE yyltype
                    197: #endif
                    198: 
                    199: #include <stdio.h>
                    200: 
                    201: #ifndef __STDC__
                    202: #define const
                    203: #endif
                    204: 
                    205: 
                    206: 
                    207: #define        YYFINAL         1219
                    208: #define        YYFLAG          -32768
                    209: #define        YYNTBASE        107
                    210: 
                    211: #define YYTRANSLATE(x) ((unsigned)(x) <= 337 ? yytranslate[x] : 293)
                    212: 
                    213: static const char yytranslate[] = {     0,
                    214:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    215:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    216:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    217:      2,     2,   105,     2,     2,     2,    70,    58,     2,    80,
                    218:    101,    68,    66,    48,    67,    78,    69,     2,     2,     2,
                    219:      2,     2,     2,     2,     2,     2,     2,    52,   102,    62,
                    220:     50,    63,    51,     2,     2,     2,     2,     2,     2,     2,
                    221:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    222:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    223:     81,     2,   106,    57,     2,     2,     2,     2,     2,     2,
                    224:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    225:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    226:      2,     2,    47,    56,   103,   104,     2,     2,     2,     2,
                    227:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    228:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    229:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    230:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    231:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    232:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    233:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    234:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    235:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    236:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    237:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    238:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    239:      2,     2,     2,     2,     2,     1,     2,     3,     4,     5,
                    240:      6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
                    241:     16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
                    242:     26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
                    243:     36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
                    244:     46,    49,    53,    54,    55,    59,    60,    61,    64,    65,
                    245:     71,    72,    73,    74,    75,    76,    77,    79,    82,    83,
                    246:     84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
                    247:     94,    95,    96,    97,    98,    99,   100
                    248: };
                    249: 
                    250: static const short yyprhs[] = {     0,
                    251:      0,     1,     3,     4,     7,    10,    11,    12,    14,    16,
                    252:     18,    20,    26,    31,    35,    40,    45,    47,    48,    54,
                    253:     56,    60,    63,    68,    72,    74,    78,    80,    84,    85,
                    254:     91,    92,    98,    99,   105,   106,   112,   116,   120,   127,
                    255:    135,   140,   142,   144,   146,   148,   150,   153,   157,   161,
                    256:    165,   169,   172,   175,   178,   181,   183,   187,   192,   196,
                    257:    202,   207,   211,   215,   218,   222,   226,   229,   236,   243,
                    258:    248,   253,   255,   262,   267,   271,   278,   283,   287,   290,
                    259:    293,   295,   299,   304,   307,   311,   312,   313,   315,   319,
                    260:    322,   326,   328,   333,   336,   342,   346,   348,   350,   352,
                    261:    354,   356,   358,   360,   362,   364,   367,   369,   372,   375,
                    262:    378,   382,   386,   388,   391,   394,   398,   403,   405,   407,
                    263:    408,   409,   411,   415,   417,   419,   420,   427,   428,   430,
                    264:    431,   434,   436,   438,   440,   442,   444,   446,   448,   450,
                    265:    454,   458,   460,   463,   466,   469,   472,   475,   480,   483,
                    266:    488,   492,   499,   504,   510,   520,   530,   537,   544,   548,
                    267:    551,   556,   562,   564,   569,   577,   582,   587,   592,   594,
                    268:    598,   602,   606,   610,   614,   618,   622,   626,   630,   634,
                    269:    638,   642,   646,   650,   654,   658,   662,   668,   672,   676,
                    270:    680,   683,   685,   687,   689,   691,   695,   699,   700,   705,
                    271:    706,   713,   716,   721,   724,   728,   731,   734,   736,   741,
                    272:    746,   749,   752,   755,   758,   764,   768,   774,   778,   785,
                    273:    790,   792,   797,   800,   806,   807,   809,   811,   814,   816,
                    274:    819,   820,   823,   826,   829,   833,   837,   841,   845,   848,
                    275:    851,   853,   855,   858,   861,   863,   866,   869,   873,   875,
                    276:    877,   880,   883,   885,   887,   890,   893,   895,   898,   901,
                    277:    905,   907,   910,   912,   914,   916,   918,   923,   928,   930,
                    278:    932,   934,   936,   938,   942,   944,   948,   949,   954,   955,
                    279:    963,   968,   969,   977,   982,   983,   991,   996,   997,  1004,
                    280:   1006,  1010,  1012,  1017,  1022,  1024,  1028,  1030,  1033,  1037,
                    281:   1042,  1044,  1046,  1050,  1055,  1062,  1066,  1072,  1073,  1081,
                    282:   1086,  1087,  1094,  1098,  1101,  1106,  1108,  1109,  1111,  1112,
                    283:   1114,  1116,  1119,  1125,  1128,  1131,  1134,  1137,  1140,  1143,
                    284:   1146,  1150,  1154,  1157,  1158,  1162,  1163,  1167,  1170,  1172,
                    285:   1174,  1175,  1177,  1180,  1182,  1186,  1188,  1191,  1195,  1197,
                    286:   1199,  1201,  1204,  1207,  1209,  1210,  1212,  1217,  1221,  1223,
                    287:   1226,  1229,  1233,  1239,  1245,  1249,  1253,  1257,  1261,  1265,
                    288:   1271,  1277,  1281,  1285,  1289,  1293,  1295,  1298,  1301,  1305,
                    289:   1309,  1310,  1312,  1316,  1320,  1326,  1330,  1333,  1336,  1340,
                    290:   1346,  1350,  1353,  1356,  1358,  1362,  1364,  1368,  1371,  1374,
                    291:   1375,  1377,  1380,  1382,  1385,  1386,  1389,  1390,  1393,  1399,
                    292:   1405,  1409,  1415,  1420,  1424,  1428,  1434,  1436,  1438,  1444,
                    293:   1448,  1452,  1454,  1460,  1466,  1470,  1476,  1481,  1485,  1489,
                    294:   1491,  1493,  1497,  1501,  1507,  1513,  1517,  1523,  1527,  1531,
                    295:   1535,  1540,  1544,  1546,  1548,  1551,  1554,  1557,  1560,  1564,
                    296:   1568,  1572,  1576,  1584,  1592,  1598,  1606,  1610,  1618,  1626,
                    297:   1632,  1640,  1644,  1646,  1650,  1653,  1655,  1659,  1663,  1666,
                    298:   1668,  1672,  1676,  1679,  1685,  1689,  1694,  1698,  1703,  1706,
                    299:   1710,  1713,  1717,  1722,  1726,  1731,  1737,  1743,  1745,  1747,
                    300:   1750,  1753,  1756,  1757,  1759,  1762,  1765,  1770,  1775,  1776,
                    301:   1783,  1785,  1787,  1790,  1791,  1796,  1798,  1799,  1800,  1808,
                    302:   1809,  1810,  1820,  1821,  1822,  1823,  1833,  1834,  1835,  1836,
                    303:   1846,  1847,  1854,  1855,  1861,  1862,  1870,  1871,  1876,  1879,
                    304:   1882,  1885,  1889,  1896,  1905,  1916,  1929,  1933,  1936,  1939,
                    305:   1941,  1944,  1948,  1955,  1960,  1967,  1972,  1976,  1977,  1985,
                    306:   1988,  1989,  1995,  1999,  2001,  2004,  2008,  2012,  2015,  2018,
                    307:   2020,  2021,  2026,  2029,  2033,  2037,  2038,  2039,  2044,  2045,
                    308:   2046,  2051,  2052,  2057,  2058,  2060,  2061,  2062,  2071,  2075,
                    309:   2080,  2085,  2089,  2094,  2101,  2108,  2109,  2111,  2112,  2114,
                    310:   2116,  2117,  2119,  2121,  2125,  2130,  2132,  2136,  2137,  2139,
                    311:   2143,  2146,  2148,  2150,  2153,  2156,  2158,  2162,  2166,  2172,
                    312:   2176,  2182,  2186,  2190,  2192,  2194,  2197,  2199,  2200,  2201,
                    313:   2203,  2204,  2207,  2212,  2214,  2216,  2218,  2221,  2224,  2227,
                    314:   2229,  2231,  2233,  2237,  2239,  2243,  2246,  2249,  2252,  2255,
                    315:   2258,  2261,  2264,  2267,  2270,  2273,  2276,  2279,  2282,  2285,
                    316:   2288,  2291,  2294,  2297,  2300,  2303,  2306,  2309,  2312,  2316,
                    317:   2319,  2322,  2325,  2329,  2332,  2336,  2339,  2342,  2346
                    318: };
                    319: 
                    320: static const short yyrhs[] = {    -1,
                    321:    108,     0,     0,   109,   112,     0,   108,   112,     0,     0,
                    322:      0,   127,     0,   126,     0,   120,     0,   118,     0,    26,
                    323:     80,   162,   101,   102,     0,   113,    47,   108,   103,     0,
                    324:    113,    47,   103,     0,   113,   110,   127,   111,     0,   113,
                    325:    110,   126,   111,     0,    94,     0,     0,    42,    62,   115,
                    326:    116,    63,     0,   117,     0,   116,    48,   117,     0,   195,
                    327:    136,     0,   195,   137,    52,   206,     0,   195,    46,   206,
                    328:      0,   281,     0,    36,   119,   102,     0,     3,     0,   119,
                    329:     48,     3,     0,     0,   114,   196,    47,   121,   102,     0,
                    330:      0,   114,   197,    47,   122,   102,     0,     0,   114,   196,
                    331:     52,   123,   102,     0,     0,   114,   197,    52,   124,   102,
                    332:      0,   114,   196,   102,     0,   114,   197,   102,     0,   114,
                    333:    225,   287,   177,   184,   125,     0,   114,   168,   167,   287,
                    334:    177,   184,   125,     0,   114,   170,   167,   125,     0,    47,
                    335:      0,    52,     0,   102,     0,    50,     0,    24,     0,   176,
                    336:    102,     0,   170,   176,   102,     0,   170,   167,   102,     0,
                    337:    168,   175,   102,     0,   168,   167,   102,     0,   170,   102,
                    338:      0,   168,   102,     0,     1,   102,     0,     1,   103,     0,
                    339:    102,     0,   128,   132,   235,     0,   128,   131,   132,   235,
                    340:      0,   128,   163,   235,     0,   128,   131,   102,   163,   235,
                    341:      0,   128,   131,   163,   235,     0,   168,   167,     1,     0,
                    342:    170,   225,     1,     0,   225,     1,     0,   168,   167,   287,
                    343:      0,   170,   225,   287,     0,   225,   287,     0,     4,    80,
                    344:    279,   101,   220,   287,     0,   228,    80,   279,   101,   220,
                    345:    287,     0,     4,    41,   220,   287,     0,   228,    41,   220,
                    346:    287,     0,    93,     0,   168,    80,   279,   101,   220,   287,
                    347:      0,   168,    41,   220,   287,     0,   168,   167,   287,     0,
                    348:    170,    80,   279,   101,   220,   287,     0,   170,    41,   220,
                    349:    287,     0,   170,   167,   287,     0,   225,   287,     0,    24,
                    350:      3,     0,   130,     0,   130,    50,   188,     0,   130,    80,
                    351:    152,   101,     0,   130,    41,     0,    52,   133,   134,     0,
                    352:      0,     0,   135,     0,   134,    48,   135,     0,   134,     1,
                    353:      0,    80,   152,   101,     0,    41,     0,   136,    80,   152,
                    354:    101,     0,   136,    41,     0,   226,   136,    80,   152,   101,
                    355:      0,   226,   136,    41,     0,     3,     0,     4,     0,    92,
                    356:      0,    98,     0,    97,     0,    99,     0,     3,     0,     4,
                    357:      0,    92,     0,   104,   136,     0,   292,     0,   139,     3,
                    358:      0,   139,     4,     0,   139,   292,     0,   139,   226,     3,
                    359:      0,   139,   226,   292,     0,    41,     0,   104,    41,     0,
                    360:     41,    51,     0,   141,   142,   148,     0,    92,    62,   144,
                    361:     63,     0,    47,     0,    52,     0,     0,     0,   145,     0,
                    362:    144,    48,   145,     0,   217,     0,   155,     0,     0,    96,
                    363:    203,   147,   208,   209,   103,     0,     0,   146,     0,     0,
                    364:    146,   149,     0,    67,     0,    66,     0,    72,     0,    73,
                    365:      0,   105,     0,   152,     0,   155,     0,   155,     0,   152,
                    366:     48,   155,     0,   152,    48,     1,     0,   156,     0,    68,
                    367:    154,     0,    58,   154,     0,   104,   154,     0,   150,   154,
                    368:      0,    12,   153,     0,    12,    80,   217,   101,     0,    28,
                    369:    153,     0,    28,    80,   217,   101,     0,   160,   159,   217,
                    370:      0,   160,   159,   173,    80,   152,   101,     0,   160,   159,
                    371:    173,    41,     0,   160,   159,   217,    50,   188,     0,   160,
                    372:    159,    80,   171,   218,   101,    81,   221,   106,     0,   160,
                    373:    159,    80,   219,   218,   101,    81,   221,   106,     0,   160,
                    374:    159,    80,   171,   218,   101,     0,   160,   159,    80,   219,
                    375:    218,   101,     0,   160,   159,    46,     0,   161,   154,     0,
                    376:    161,    81,   106,   154,     0,   161,    81,   151,   106,   154,
                    377:      0,   153,     0,    80,   217,   101,   155,     0,    80,   217,
                    378:    101,    47,   189,   193,   103,     0,    29,    80,   151,   101,
                    379:      0,    30,    80,   151,   101,     0,    30,    80,     4,   101,
                    380:      0,   154,     0,   155,    66,   155,     0,   155,    67,   155,
                    381:      0,   155,    68,   155,     0,   155,    69,   155,     0,   155,
                    382:     70,   155,     0,   155,    64,   155,     0,   155,    65,   155,
                    383:      0,   155,    61,   155,     0,   155,    62,   155,     0,   155,
                    384:     63,   155,     0,   155,    60,   155,     0,   155,    59,   155,
                    385:      0,   155,    58,   155,     0,   155,    56,   155,     0,   155,
                    386:     57,   155,     0,   155,    55,   155,     0,   155,    54,   155,
                    387:      0,   155,    51,   274,    52,   155,     0,   155,    50,   155,
                    388:      0,   155,    49,   155,     0,   156,    79,   155,     0,   165,
                    389:    155,     0,     3,     0,   292,     0,     9,     0,   162,     0,
                    390:     80,   151,   101,     0,    80,     1,   101,     0,     0,    80,
                    391:    157,   236,   101,     0,     0,   156,    80,   152,   101,   158,
                    392:    149,     0,   156,    41,     0,   156,    81,   151,   106,     0,
                    393:    164,   138,     0,   164,   226,   138,     0,   156,    72,     0,
                    394:    156,    73,     0,    37,     0,     8,    80,   152,   101,     0,
                    395:    173,    80,   152,   101,     0,   173,    41,     0,    43,     3,
                    396:      0,    43,   292,     0,   226,   138,     0,   226,   138,    80,
                    397:    152,   101,     0,   226,   138,    41,     0,   164,   138,    80,
                    398:    152,   101,     0,   164,   138,    41,     0,   164,   226,   138,
                    399:     80,   152,   101,     0,   164,   226,   138,    41,     0,    35,
                    400:      0,    35,    47,   152,   103,     0,    35,    39,     0,    35,
                    401:     39,    80,   162,   101,     0,     0,    43,     0,    34,     0,
                    402:     43,   161,     0,    10,     0,   162,    10,     0,     0,   156,
                    403:     78,     0,   156,    76,     0,   156,    77,     0,   168,   175,
                    404:    102,     0,   168,   167,   102,     0,   170,   176,   102,     0,
                    405:    170,   167,   102,     0,   168,   102,     0,   170,   102,     0,
                    406:    223,     0,   225,     0,    44,   223,     0,    44,   225,     0,
                    407:    173,     0,   170,   173,     0,   173,   169,     0,   170,   173,
                    408:    169,     0,   174,     0,     6,     0,   169,   174,     0,   169,
                    409:      6,     0,     8,     0,     6,     0,   170,     8,     0,   170,
                    410:      6,     0,   173,     0,   219,   173,     0,   173,   172,     0,
                    411:    219,   173,   172,     0,   174,     0,   172,   174,     0,   190,
                    412:      0,     7,     0,     4,     0,   228,     0,    27,    80,   151,
                    413:    101,     0,    27,    80,   217,   101,     0,   140,     0,     7,
                    414:      0,     8,     0,   190,     0,   178,     0,   175,    48,   180,
                    415:      0,   182,     0,   176,    48,   180,     0,     0,    26,    80,
                    416:    162,   101,     0,     0,   167,   287,   177,   184,    50,   179,
                    417:    188,     0,   167,   287,   177,   184,     0,     0,   167,   287,
                    418:    177,   184,    50,   181,   188,     0,   167,   287,   177,   184,
                    419:      0,     0,   225,   287,   177,   184,    50,   183,   188,     0,
                    420:    225,   287,   177,   184,     0,     0,    31,    80,    80,   185,
                    421:    101,   101,     0,   186,     0,   185,    48,   186,     0,     3,
                    422:      0,     3,    80,     9,   101,     0,     3,    80,   187,   101,
                    423:      0,     3,     0,   187,    48,     3,     0,   155,     0,    47,
                    424:    103,     0,    47,   189,   103,     0,    47,   189,    48,   103,
                    425:      0,     1,     0,   188,     0,   189,    48,   188,     0,    81,
                    426:    155,   106,   188,     0,   189,    48,    20,   155,    52,   188,
                    427:      0,   136,    52,   188,     0,   189,    48,   136,    52,   188,
                    428:      0,     0,    13,   136,    47,   191,   215,   194,   103,     0,
                    429:     13,   136,    47,   103,     0,     0,    13,    47,   192,   215,
                    430:    194,   103,     0,    13,    47,   103,     0,    13,   136,     0,
                    431:    202,   208,   209,   103,     0,   202,     0,     0,    48,     0,
                    432:      0,    48,     0,    32,     0,    39,    32,     0,    39,    80,
                    433:    162,   101,    32,     0,   195,     6,     0,   195,     7,     0,
                    434:    195,     8,     0,   195,    32,     0,   195,   136,     0,   195,
                    435:    141,     0,   195,    46,     0,   195,   141,    47,     0,   195,
                    436:    141,    52,     0,   195,   137,     0,     0,   196,   199,   203,
                    437:      0,     0,   197,   200,   203,     0,   195,    47,     0,   201,
                    438:      0,   198,     0,     0,    52,     0,    52,   204,     0,   205,
                    439:      0,   204,    48,   205,     0,   206,     0,   207,   206,     0,
                    440:    141,   143,   148,     0,   136,     0,    33,     0,     6,     0,
                    441:    207,    33,     0,   207,     6,     0,    47,     0,     0,   210,
                    442:      0,   209,    33,    52,   210,     0,   209,    33,    52,     0,
                    443:    211,     0,   210,   211,     0,   210,   102,     0,   168,   212,
                    444:    102,     0,   168,    80,   279,   101,   102,     0,   168,    80,
                    445:    279,   101,   103,     0,   168,    41,   102,     0,   168,    41,
                    446:    103,     0,   170,   212,   102,     0,   170,   167,   102,     0,
                    447:    170,   212,   103,     0,   170,    80,   279,   101,   102,     0,
                    448:    170,    80,   279,   101,   103,     0,   170,    41,   102,     0,
                    449:    170,    41,   103,     0,    52,   155,   102,     0,    52,   155,
                    450:    103,     0,     1,     0,   129,    52,     0,   129,    47,     0,
                    451:    225,   287,   102,     0,   225,   287,   103,     0,     0,   213,
                    452:      0,   212,    48,   214,     0,   167,   287,   177,     0,   167,
                    453:    287,   177,    50,   188,     0,     3,    52,   155,     0,    46,
                    454:    155,     0,    52,   155,     0,   167,   287,   177,     0,   167,
                    455:    287,   177,    50,   188,     0,     3,    52,   155,     0,    46,
                    456:    155,     0,    52,   155,     0,   216,     0,   215,    48,   216,
                    457:      0,   136,     0,   136,    50,   155,     0,   171,   218,     0,
                    458:    219,   218,     0,     0,   229,     0,    44,   229,     0,     8,
                    459:      0,   219,     8,     0,     0,   220,     8,     0,     0,   222,
                    460:    151,     0,   223,    80,   152,   101,   220,     0,   223,    80,
                    461:    279,   101,   220,     0,   223,    41,   220,     0,   223,    80,
                    462:      1,   101,   220,     0,   223,    81,   221,   106,     0,   223,
                    463:     81,   106,     0,    80,   224,   101,     0,    80,    68,   220,
                    464:    223,   101,     0,    75,     0,   231,     0,    80,    58,   220,
                    465:    223,   101,     0,    68,   220,   223,     0,    58,   220,   223,
                    466:      0,     4,     0,   224,    80,   152,   101,   220,     0,   224,
                    467:     80,   279,   101,   220,     0,   224,    41,   220,     0,   224,
                    468:     80,     1,   101,   220,     0,   224,    81,   221,   106,     0,
                    469:    224,    81,   106,     0,    80,   224,   101,     0,    75,     0,
                    470:    231,     0,    68,   220,   223,     0,    58,   220,   223,     0,
                    471:    225,    80,   152,   101,   220,     0,   225,    80,   279,   101,
                    472:    220,     0,   225,    41,   220,     0,   225,    80,     1,   101,
                    473:    220,     0,    80,   225,   101,     0,    68,   220,   225,     0,
                    474:     58,   220,   225,     0,   225,    81,   221,   106,     0,   225,
                    475:     81,   106,     0,     3,     0,   292,     0,   104,     4,     0,
                    476:    104,     3,     0,   104,    92,     0,    41,   136,     0,    41,
                    477:     51,   136,     0,   104,    41,   136,     0,   226,   283,   225,
                    478:      0,   226,   283,     4,     0,   226,   283,     4,    80,   152,
                    479:    101,   220,     0,   226,   283,     4,    80,   279,   101,   220,
                    480:      0,   226,   283,     4,    41,   220,     0,   226,   283,     4,
                    481:     80,     1,   101,   220,     0,   226,   283,    92,     0,   226,
                    482:    283,    92,    80,   152,   101,   220,     0,   226,   283,    92,
                    483:     80,   279,   101,   220,     0,   226,   283,    92,    41,   220,
                    484:      0,   226,   283,    92,    80,     1,   101,   220,     0,    43,
                    485:    283,   225,     0,   227,     0,   140,    43,   285,     0,     4,
                    486:     43,     0,     5,     0,    80,   229,   101,     0,    68,   220,
                    487:    229,     0,    68,   220,     0,    75,     0,    80,   230,   101,
                    488:      0,    58,   220,   229,     0,    58,   220,     0,   229,    80,
                    489:    279,   101,   220,     0,   229,    41,   220,     0,   229,    81,
                    490:    221,   106,     0,   229,    81,   106,     0,    80,   279,   101,
                    491:    220,     0,    41,   220,     0,    81,   221,   106,     0,    81,
                    492:    106,     0,   226,    68,   220,     0,   226,    68,   220,   229,
                    493:      0,   226,    58,   220,     0,   226,    58,   220,   229,     0,
                    494:    226,   283,    68,   220,   223,     0,   226,   283,    58,   220,
                    495:    223,     0,   239,     0,   233,     0,   232,   239,     0,   232,
                    496:    233,     0,     1,   102,     0,     0,   236,     0,     1,   236,
                    497:      0,    47,   103,     0,    47,   234,   232,   103,     0,    47,
                    498:    234,     1,   103,     0,     0,    14,    80,   151,   101,   238,
                    499:    239,     0,   236,     0,   166,     0,   151,   102,     0,     0,
                    500:    237,    15,   240,   239,     0,   237,     0,     0,     0,    16,
                    501:    241,    80,   151,   101,   242,   239,     0,     0,     0,    17,
                    502:    243,   239,    16,   244,    80,   151,   101,   102,     0,     0,
                    503:      0,     0,   271,   245,   274,   102,   246,   274,   101,   247,
                    504:    239,     0,     0,     0,     0,   272,   248,   274,   102,   249,
                    505:    274,   101,   250,   239,     0,     0,    19,    80,   151,   101,
                    506:    251,   239,     0,     0,    20,   151,    52,   252,   239,     0,
                    507:      0,    20,   151,    53,   151,    52,   253,   239,     0,     0,
                    508:     21,    52,   254,   239,     0,    22,   102,     0,    23,   102,
                    509:      0,    24,   102,     0,    24,   151,   102,     0,    26,   273,
                    510:     80,   162,   101,   102,     0,    26,   273,    80,   162,    52,
                    511:    275,   101,   102,     0,    26,   273,    80,   162,    52,   275,
                    512:     52,   275,   101,   102,     0,    26,   273,    80,   162,    52,
                    513:    275,    52,   275,    52,   278,   101,   102,     0,    25,   136,
                    514:    102,     0,   258,   239,     0,   258,   103,     0,   102,     0,
                    515:     90,   102,     0,    90,   151,   102,     0,    88,   288,    80,
                    516:    152,   101,   102,     0,    88,   288,    41,   102,     0,    82,
                    517:    288,    80,   152,   101,   102,     0,    82,   288,    41,   102,
                    518:      0,    82,   136,   102,     0,     0,   257,    86,   136,    47,
                    519:    255,   265,   103,     0,   257,     1,     0,     0,   261,   262,
                    520:    262,   256,   269,     0,   257,    84,   290,     0,   257,     0,
                    521:    259,   103,     0,   259,   232,   103,     0,   259,     1,   103,
                    522:      0,     3,    52,     0,    92,    52,     0,    46,     0,     0,
                    523:     85,    47,   260,   234,     0,   263,   103,     0,   263,   232,
                    524:    103,     0,   263,     1,   103,     0,     0,     0,    89,    47,
                    525:    264,   234,     0,     0,     0,   265,   288,   266,   236,     0,
                    526:      0,   265,    21,   267,   236,     0,     0,   136,     0,     0,
                    527:      0,   269,    87,    80,   217,   268,   101,   270,   236,     0,
                    528:     18,    80,   102,     0,    18,    80,   151,   102,     0,    18,
                    529:     80,    47,   103,     0,    18,    80,   166,     0,    18,    80,
                    530:      1,   102,     0,    18,    80,    47,   234,   232,   103,     0,
                    531:     18,    80,    47,   234,     1,   103,     0,     0,     8,     0,
                    532:      0,   151,     0,     1,     0,     0,   276,     0,   277,     0,
                    533:    276,    48,   277,     0,    10,    80,   151,   101,     0,    10,
                    534:      0,   278,    48,    10,     0,     0,   280,     0,   280,    48,
                    535:     11,     0,   280,    11,     0,    11,     0,    91,     0,   280,
                    536:     91,     0,   280,    52,     0,   281,     0,   281,    50,   188,
                    537:      0,   280,    48,   281,     0,   280,    48,   281,    50,   188,
                    538:      0,   280,    48,   286,     0,   280,    48,   286,    50,   188,
                    539:      0,   168,   284,   282,     0,   170,   284,   282,     0,   218,
                    540:      0,   225,     0,    44,   225,     0,   220,     0,     0,     0,
                    541:    282,     0,     0,    83,   290,     0,    90,    80,   291,   101,
                    542:      0,    95,     0,     3,     0,     4,     0,    43,     3,     0,
                    543:     43,     4,     0,   226,     3,     0,   228,     0,   217,     0,
                    544:    288,     0,   290,    48,   288,     0,   289,     0,   291,    48,
                    545:    289,     0,    38,    68,     0,    38,    69,     0,    38,    70,
                    546:      0,    38,    66,     0,    38,    67,     0,    38,    58,     0,
                    547:     38,    56,     0,    38,    57,     0,    38,   104,     0,    38,
                    548:     48,     0,    38,    61,     0,    38,    62,     0,    38,    63,
                    549:      0,    38,    60,     0,    38,    49,     0,    38,    50,     0,
                    550:     38,    64,     0,    38,    65,     0,    38,    72,     0,    38,
                    551:     73,     0,    38,    55,     0,    38,    54,     0,    38,   105,
                    552:      0,    38,    51,    52,     0,    38,    59,     0,    38,    76,
                    553:      0,    38,    77,     0,    38,    40,   220,     0,    38,    41,
                    554:      0,    38,    81,   106,     0,    38,    35,     0,    38,    34,
                    555:      0,    38,   171,   218,     0,    38,     1,     0
                    556: };
                    557: 
                    558: #if YYDEBUG != 0
                    559: static const short yyrline[] = { 0,
                    560:    291,   292,   300,   302,   303,   307,   310,   314,   317,   319,
                    561:    321,   322,   327,   329,   331,   334,   339,   344,   347,   351,
                    562:    354,   358,   371,   378,   385,   388,   391,   393,   397,   403,
                    563:    403,   406,   406,   409,   409,   422,   422,   427,   432,   455,
                    564:    476,   486,   487,   488,   489,   490,   493,   499,   502,   507,
                    565:    513,   520,   522,   540,   541,   542,   545,   559,   572,   575,
                    566:    578,   581,   583,   585,   589,   595,   600,   605,   610,   615,
                    567:    620,   625,   631,   641,   650,   657,   666,   675,   682,   691,
                    568:    699,   701,   703,   705,   709,   718,   741,   744,   746,   747,
                    569:    750,   757,   764,   768,   770,   774,   780,   782,   783,   786,
                    570:    788,   789,   792,   794,   795,   799,   800,   801,   803,   805,
                    571:    807,   809,   813,   815,   817,   821,   831,   836,   840,   841,
                    572:    845,   850,   853,   857,   860,   863,   896,   911,   914,   918,
                    573:    921,   925,   927,   929,   931,   933,   937,   940,   943,   946,
                    574:    948,   952,   958,   960,   962,   964,   969,   982,   984,  1017,
                    575:   1020,  1022,  1024,  1026,  1032,  1049,  1052,  1056,  1059,  1063,
                    576:   1079,  1090,  1106,  1108,  1111,  1126,  1128,  1130,  1141,  1143,
                    577:   1145,  1147,  1149,  1151,  1153,  1155,  1157,  1159,  1161,  1163,
                    578:   1165,  1167,  1169,  1171,  1173,  1175,  1177,  1179,  1181,  1187,
                    579:   1190,  1205,  1208,  1223,  1224,  1226,  1228,  1230,  1238,  1250,
                    580:   1256,  1263,  1270,  1320,  1322,  1338,  1340,  1344,  1367,  1405,
                    581:   1407,  1409,  1438,  1445,  1447,  1449,  1451,  1454,  1457,  1459,
                    582:   1501,  1503,  1505,  1507,  1511,  1514,  1518,  1520,  1528,  1530,
                    583:   1534,  1543,  1558,  1564,  1567,  1574,  1582,  1585,  1592,  1597,
                    584:   1604,  1606,  1607,  1609,  1617,  1620,  1622,  1624,  1628,  1632,
                    585:   1634,  1636,  1644,  1647,  1649,  1651,  1662,  1665,  1667,  1669,
                    586:   1673,  1676,  1684,  1685,  1686,  1687,  1688,  1692,  1696,  1701,
                    587:   1702,  1703,  1706,  1708,  1711,  1713,  1716,  1719,  1727,  1734,
                    588:   1736,  1744,  1749,  1750,  1755,  1762,  1764,  1774,  1777,  1782,
                    589:   1783,  1787,  1790,  1797,  1802,  1805,  1809,  1811,  1816,  1819,
                    590:   1822,  1828,  1831,  1834,  1836,  1838,  1840,  1844,  1848,  1852,
                    591:   1855,  1858,  1862,  1865,  1869,  1895,  1910,  1912,  1915,  1917,
                    592:   1921,  1922,  1924,  1926,  1929,  1932,  1935,  1940,  1943,  1945,
                    593:   1947,  1952,  1956,  1961,  1966,  1973,  1978,  1987,  1992,  1992,
                    594:   1994,  1997,  1999,  2003,  2005,  2009,  2014,  2020,  2022,  2025,
                    595:   2034,  2038,  2064,  2073,  2099,  2102,  2104,  2106,  2109,  2112,
                    596:   2115,  2120,  2169,  2171,  2175,  2177,  2181,  2184,  2186,  2190,
                    597:   2192,  2196,  2198,  2202,  2204,  2208,  2213,  2215,  2217,  2219,
                    598:   2225,  2228,  2229,  2240,  2244,  2247,  2250,  2253,  2258,  2261,
                    599:   2263,  2265,  2267,  2275,  2277,  2281,  2284,  2288,  2291,  2295,
                    600:   2298,  2299,  2303,  2306,  2310,  2313,  2321,  2323,  2327,  2330,
                    601:   2332,  2334,  2336,  2338,  2340,  2342,  2344,  2346,  2347,  2349,
                    602:   2351,  2353,  2356,  2359,  2361,  2363,  2365,  2367,  2369,  2371,
                    603:   2373,  2374,  2376,  2383,  2386,  2388,  2390,  2392,  2394,  2396,
                    604:   2398,  2400,  2402,  2406,  2409,  2415,  2417,  2419,  2424,  2430,
                    605:   2433,  2442,  2444,  2446,  2448,  2450,  2453,  2455,  2457,  2459,
                    606:   2461,  2463,  2467,  2469,  2481,  2484,  2499,  2504,  2506,  2508,
                    607:   2510,  2512,  2514,  2516,  2518,  2520,  2522,  2524,  2526,  2528,
                    608:   2530,  2534,  2542,  2549,  2556,  2565,  2573,  2586,  2588,  2589,
                    609:   2590,  2593,  2600,  2612,  2615,  2618,  2620,  2625,  2632,  2638,
                    610:   2641,  2644,  2649,  2662,  2666,  2669,  2673,  2677,  2681,  2685,
                    611:   2690,  2693,  2699,  2704,  2707,  2713,  2720,  2724,  2727,  2734,
                    612:   2750,  2758,  2762,  2812,  2812,  2894,  2894,  2910,  2910,  2914,
                    613:   2918,  2921,  2926,  2933,  2942,  2951,  2960,  2966,  2968,  2972,
                    614:   2976,  2977,  2978,  2981,  2984,  2987,  2990,  2993,  3006,  3035,
                    615:   3045,  3059,  3087,  3119,  3131,  3139,  3144,  3151,  3159,  3161,
                    616:   3168,  3170,  3170,  3178,  3183,  3190,  3191,  3193,  3193,  3196,
                    617:   3217,  3233,  3252,  3269,  3272,  3274,  3277,  3296,  3314,  3317,
                    618:   3319,  3323,  3326,  3328,  3330,  3336,  3341,  3347,  3350,  3351,
                    619:   3357,  3359,  3362,  3364,  3368,  3373,  3376,  3385,  3392,  3397,
                    620:   3402,  3406,  3410,  3414,  3418,  3432,  3435,  3437,  3439,  3441,
                    621:   3443,  3451,  3467,  3472,  3473,  3474,  3478,  3482,  3486,  3498,
                    622:   3506,  3509,  3511,  3515,  3518,  3520,  3522,  3524,  3526,  3528,
                    623:   3531,  3536,  3538,  3545,  3547,  3554,  3557,  3559,  3561,  3563,
                    624:   3565,  3567,  3569,  3571,  3573,  3575,  3577,  3579,  3581,  3583,
                    625:   3585,  3594,  3596,  3598,  3600,  3602,  3604,  3606,  3608,  3610,
                    626:   3612,  3624,  3636,  3667,  3679,  3691,  3704,  3720,  3724
                    627: };
                    628: 
                    629: static const char * const yytname[] = {   "$","error","$illegal.","IDENTIFIER",
                    630: "TYPENAME","SCOPED_TYPENAME","SCSPEC","TYPESPEC","TYPE_QUAL","CONSTANT","STRING",
                    631: "ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH","CASE","DEFAULT",
                    632: "BREAK","CONTINUE","RETURN","GOTO","ASM","TYPEOF","ALIGNOF","HEADOF","CLASSOF",
                    633: "ATTRIBUTE","AGGR","VISSPEC","DELETE","NEW","OVERLOAD","THIS","OPERATOR","DYNAMIC",
                    634: "POINTSAT_LEFT_RIGHT","LEFT_RIGHT","TEMPLATE","SCOPE","START_DECLARATOR","EMPTY",
                    635: "TYPENAME_COLON","'{'","','","ASSIGN","'='","'?'","':'","RANGE","OROR","ANDAND",
                    636: "'|'","'^'","'&'","MIN_MAX","EQCOMPARE","ARITHCOMPARE","'<'","'>'","LSHIFT",
                    637: "RSHIFT","'+'","'-'","'*'","'/'","'%'","UNARY","PLUSPLUS","MINUSMINUS","HYPERUNARY",
                    638: "PAREN_STAR_PAREN","POINTSAT","POINTSAT_STAR","'.'","DOT_STAR","'('","'['","RAISE",
                    639: "RAISES","RERAISE","TRY","EXCEPT","CATCH","THROW","ANSI_TRY","ANSI_THROW","TYPENAME_ELLIPSIS",
                    640: "PTYPENAME","PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING","ALL","PRE_PARSED_CLASS_DECL",
                    641: "TYPENAME_DEFN","IDENTIFIER_DEFN","PTYPENAME_DEFN","END_OF_SAVED_INPUT","')'",
                    642: "';'","'}'","'~'","'!'","']'","program","extdefs","@1",".hush_warning",".warning_ok",
                    643: "extdef","extern_lang_string","template_header","@2","template_parm_list","template_parm",
                    644: "overloaddef","ov_identifiers","template_def","@3","@4","@5","@6","fn_tmpl_end",
                    645: "datadef","fndef","fn.def1","fn.def2","return_id","return_init","base_init",
                    646: ".set_base_init","member_init_list","member_init","identifier","identifier_defn",
                    647: "identifier_or_opname","wrapper","template_type","template_type_name","tmpl.1",
                    648: "tmpl.2","template_arg_list","template_arg","template_instantiate_once","@7",
                    649: "template_instantiation","template_instantiate_some","unop","expr","nonnull_exprlist",
                    650: "unary_expr","cast_expr","expr_no_commas","primary","@8","@9","new",".scope",
                    651: "delete","string","nodecls","object","object_star","decl","declarator","typed_declspecs",
                    652: "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
                    653: "typespecqual_reserved","initdecls","notype_initdecls","maybeasm","initdcl0",
                    654: "@10","initdcl","@11","notype_initdcl0","@12","maybe_attribute","attribute_list",
                    655: "attrib","identifiers","init","initlist","structsp","@13","@14","maybecomma",
                    656: "maybecomma_warn","aggr","named_class_head_sans_basetype","named_class_head_sans_basetype_defn",
                    657: "named_class_head","@15","@16","unnamed_class_head","class_head","maybe_base_class_list",
                    658: "base_class_list","base_class","base_class.1","base_class_visibility_list","LC",
                    659: "opt.component_decl_list","component_decl_list","component_decl","components",
                    660: "component_declarator0","component_declarator","enumlist","enumerator","typename",
                    661: "absdcl","nonempty_type_quals","type_quals","nonmomentary_expr","@17","after_type_declarator",
                    662: "after_type_declarator_no_typename","notype_declarator","scoped_id","TYPENAME_SCOPE",
                    663: "scoped_typename","absdcl1","abs_member_declarator","after_type_member_declarator",
                    664: "stmts","errstmt",".pushlevel","compstmt_or_error","compstmt","simple_if","@18",
                    665: "stmt","@19","@20","@21","@22","@23","@24","@25","@26","@27","@28","@29","@30",
                    666: "@31","@32","@33","@34","@35","try","label_colon","try_head","@36","ansi_try",
                    667: "ansi_dummy","ansi_try_head","@37","except_stmts","@38","@39","optional_identifier",
                    668: "ansi_except_stmts","@40","forhead.1","forhead.2","maybe_type_qual","xexpr",
                    669: "asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist",
                    670: "parms","parm","abs_or_notype_decl","see_typename","dont_see_typename","try_for_typename",
                    671: "bad_parm","maybe_raises","raise_identifier","ansi_raise_identifier","raise_identifiers",
                    672: "ansi_raise_identifiers","operator_name",""
                    673: };
                    674: #endif
                    675: 
                    676: static const short yyr1[] = {     0,
                    677:    107,   107,   109,   108,   108,   110,   111,   112,   112,   112,
                    678:    112,   112,   112,   112,   112,   112,   113,   115,   114,   116,
                    679:    116,   117,   117,   117,   117,   118,   119,   119,   121,   120,
                    680:    122,   120,   123,   120,   124,   120,   120,   120,   120,   120,
                    681:    120,   125,   125,   125,   125,   125,   126,   126,   126,   126,
                    682:    126,   126,   126,   126,   126,   126,   127,   127,   127,   127,
                    683:    127,   127,   127,   127,   128,   128,   128,   128,   128,   128,
                    684:    128,   128,   129,   129,   129,   129,   129,   129,   129,   130,
                    685:    131,   131,   131,   131,   132,   133,   134,   134,   134,   134,
                    686:    135,   135,   135,   135,   135,   135,   136,   136,   136,   137,
                    687:    137,   137,   138,   138,   138,   138,   138,   138,   138,   138,
                    688:    138,   138,   139,   139,   139,   140,   141,   142,   142,   142,
                    689:    143,   144,   144,   145,   145,   147,   146,   148,   148,   149,
                    690:    149,   150,   150,   150,   150,   150,   151,   151,   152,   152,
                    691:    152,   153,   153,   153,   153,   153,   153,   153,   153,   153,
                    692:    153,   153,   153,   153,   153,   153,   153,   153,   153,   153,
                    693:    153,   153,   154,   154,   154,   154,   154,   154,   155,   155,
                    694:    155,   155,   155,   155,   155,   155,   155,   155,   155,   155,
                    695:    155,   155,   155,   155,   155,   155,   155,   155,   155,   155,
                    696:    155,   156,   156,   156,   156,   156,   156,   157,   156,   158,
                    697:    156,   156,   156,   156,   156,   156,   156,   156,   156,   156,
                    698:    156,   156,   156,   156,   156,   156,   156,   156,   156,   156,
                    699:    159,   159,   159,   159,   160,   160,   161,   161,   162,   162,
                    700:    163,   164,   164,   165,   166,   166,   166,   166,   166,   166,
                    701:    167,   167,   167,   167,   168,   168,   168,   168,   169,   169,
                    702:    169,   169,   170,   170,   170,   170,   171,   171,   171,   171,
                    703:    172,   172,   173,   173,   173,   173,   173,   173,   173,   174,
                    704:    174,   174,   175,   175,   176,   176,   177,   177,   179,   178,
                    705:    178,   181,   180,   180,   183,   182,   182,   184,   184,   185,
                    706:    185,   186,   186,   186,   187,   187,   188,   188,   188,   188,
                    707:    188,   189,   189,   189,   189,   189,   189,   191,   190,   190,
                    708:    192,   190,   190,   190,   190,   190,   193,   193,   194,   194,
                    709:    195,   195,   195,   195,   195,   195,   195,   196,   196,   196,
                    710:    196,   196,   197,   199,   198,   200,   198,   201,   202,   202,
                    711:    203,   203,   203,   204,   204,   205,   205,   206,   206,   207,
                    712:    207,   207,   207,   208,   209,   209,   209,   209,   210,   210,
                    713:    210,   211,   211,   211,   211,   211,   211,   211,   211,   211,
                    714:    211,   211,   211,   211,   211,   211,   211,   211,   211,   211,
                    715:    212,   212,   212,   213,   213,   213,   213,   213,   214,   214,
                    716:    214,   214,   214,   215,   215,   216,   216,   217,   217,   218,
                    717:    218,   218,   219,   219,   220,   220,   222,   221,   223,   223,
                    718:    223,   223,   223,   223,   223,   223,   223,   223,   223,   223,
                    719:    223,   223,   224,   224,   224,   224,   224,   224,   224,   224,
                    720:    224,   224,   224,   225,   225,   225,   225,   225,   225,   225,
                    721:    225,   225,   225,   225,   225,   225,   225,   225,   225,   225,
                    722:    225,   225,   225,   225,   225,   225,   225,   225,   225,   225,
                    723:    225,   225,   226,   226,   227,   228,   229,   229,   229,   229,
                    724:    229,   229,   229,   229,   229,   229,   229,   229,   229,   229,
                    725:    229,   230,   230,   230,   230,   231,   231,   232,   232,   232,
                    726:    232,   233,   234,   235,   235,   236,   236,   236,   238,   237,
                    727:    239,   239,   239,   240,   239,   239,   241,   242,   239,   243,
                    728:    244,   239,   245,   246,   247,   239,   248,   249,   250,   239,
                    729:    251,   239,   252,   239,   253,   239,   254,   239,   239,   239,
                    730:    239,   239,   239,   239,   239,   239,   239,   239,   239,   239,
                    731:    239,   239,   239,   239,   239,   239,   239,   255,   239,   239,
                    732:    256,   239,   239,   239,   257,   257,   257,   258,   258,   258,
                    733:    260,   259,   261,   261,   261,   262,   264,   263,   265,   266,
                    734:    265,   267,   265,   268,   268,   269,   270,   269,   271,   271,
                    735:    271,   272,   272,   272,   272,   273,   273,   274,   274,   274,
                    736:    275,   275,   276,   276,   277,   278,   278,   279,   279,   279,
                    737:    279,   279,   279,   279,   279,   280,   280,   280,   280,   280,
                    738:    280,   281,   281,   282,   282,   282,   283,   284,   285,   286,
                    739:    287,   287,   287,   288,   288,   288,   288,   288,   288,   288,
                    740:    289,   290,   290,   291,   291,   292,   292,   292,   292,   292,
                    741:    292,   292,   292,   292,   292,   292,   292,   292,   292,   292,
                    742:    292,   292,   292,   292,   292,   292,   292,   292,   292,   292,
                    743:    292,   292,   292,   292,   292,   292,   292,   292,   292
                    744: };
                    745: 
                    746: static const short yyr2[] = {     0,
                    747:      0,     1,     0,     2,     2,     0,     0,     1,     1,     1,
                    748:      1,     5,     4,     3,     4,     4,     1,     0,     5,     1,
                    749:      3,     2,     4,     3,     1,     3,     1,     3,     0,     5,
                    750:      0,     5,     0,     5,     0,     5,     3,     3,     6,     7,
                    751:      4,     1,     1,     1,     1,     1,     2,     3,     3,     3,
                    752:      3,     2,     2,     2,     2,     1,     3,     4,     3,     5,
                    753:      4,     3,     3,     2,     3,     3,     2,     6,     6,     4,
                    754:      4,     1,     6,     4,     3,     6,     4,     3,     2,     2,
                    755:      1,     3,     4,     2,     3,     0,     0,     1,     3,     2,
                    756:      3,     1,     4,     2,     5,     3,     1,     1,     1,     1,
                    757:      1,     1,     1,     1,     1,     2,     1,     2,     2,     2,
                    758:      3,     3,     1,     2,     2,     3,     4,     1,     1,     0,
                    759:      0,     1,     3,     1,     1,     0,     6,     0,     1,     0,
                    760:      2,     1,     1,     1,     1,     1,     1,     1,     1,     3,
                    761:      3,     1,     2,     2,     2,     2,     2,     4,     2,     4,
                    762:      3,     6,     4,     5,     9,     9,     6,     6,     3,     2,
                    763:      4,     5,     1,     4,     7,     4,     4,     4,     1,     3,
                    764:      3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
                    765:      3,     3,     3,     3,     3,     3,     5,     3,     3,     3,
                    766:      2,     1,     1,     1,     1,     3,     3,     0,     4,     0,
                    767:      6,     2,     4,     2,     3,     2,     2,     1,     4,     4,
                    768:      2,     2,     2,     2,     5,     3,     5,     3,     6,     4,
                    769:      1,     4,     2,     5,     0,     1,     1,     2,     1,     2,
                    770:      0,     2,     2,     2,     3,     3,     3,     3,     2,     2,
                    771:      1,     1,     2,     2,     1,     2,     2,     3,     1,     1,
                    772:      2,     2,     1,     1,     2,     2,     1,     2,     2,     3,
                    773:      1,     2,     1,     1,     1,     1,     4,     4,     1,     1,
                    774:      1,     1,     1,     3,     1,     3,     0,     4,     0,     7,
                    775:      4,     0,     7,     4,     0,     7,     4,     0,     6,     1,
                    776:      3,     1,     4,     4,     1,     3,     1,     2,     3,     4,
                    777:      1,     1,     3,     4,     6,     3,     5,     0,     7,     4,
                    778:      0,     6,     3,     2,     4,     1,     0,     1,     0,     1,
                    779:      1,     2,     5,     2,     2,     2,     2,     2,     2,     2,
                    780:      3,     3,     2,     0,     3,     0,     3,     2,     1,     1,
                    781:      0,     1,     2,     1,     3,     1,     2,     3,     1,     1,
                    782:      1,     2,     2,     1,     0,     1,     4,     3,     1,     2,
                    783:      2,     3,     5,     5,     3,     3,     3,     3,     3,     5,
                    784:      5,     3,     3,     3,     3,     1,     2,     2,     3,     3,
                    785:      0,     1,     3,     3,     5,     3,     2,     2,     3,     5,
                    786:      3,     2,     2,     1,     3,     1,     3,     2,     2,     0,
                    787:      1,     2,     1,     2,     0,     2,     0,     2,     5,     5,
                    788:      3,     5,     4,     3,     3,     5,     1,     1,     5,     3,
                    789:      3,     1,     5,     5,     3,     5,     4,     3,     3,     1,
                    790:      1,     3,     3,     5,     5,     3,     5,     3,     3,     3,
                    791:      4,     3,     1,     1,     2,     2,     2,     2,     3,     3,
                    792:      3,     3,     7,     7,     5,     7,     3,     7,     7,     5,
                    793:      7,     3,     1,     3,     2,     1,     3,     3,     2,     1,
                    794:      3,     3,     2,     5,     3,     4,     3,     4,     2,     3,
                    795:      2,     3,     4,     3,     4,     5,     5,     1,     1,     2,
                    796:      2,     2,     0,     1,     2,     2,     4,     4,     0,     6,
                    797:      1,     1,     2,     0,     4,     1,     0,     0,     7,     0,
                    798:      0,     9,     0,     0,     0,     9,     0,     0,     0,     9,
                    799:      0,     6,     0,     5,     0,     7,     0,     4,     2,     2,
                    800:      2,     3,     6,     8,    10,    12,     3,     2,     2,     1,
                    801:      2,     3,     6,     4,     6,     4,     3,     0,     7,     2,
                    802:      0,     5,     3,     1,     2,     3,     3,     2,     2,     1,
                    803:      0,     4,     2,     3,     3,     0,     0,     4,     0,     0,
                    804:      4,     0,     4,     0,     1,     0,     0,     8,     3,     4,
                    805:      4,     3,     4,     6,     6,     0,     1,     0,     1,     1,
                    806:      0,     1,     1,     3,     4,     1,     3,     0,     1,     3,
                    807:      2,     1,     1,     2,     2,     1,     3,     3,     5,     3,
                    808:      5,     3,     3,     1,     1,     2,     1,     0,     0,     1,
                    809:      0,     2,     4,     1,     1,     1,     2,     2,     2,     1,
                    810:      1,     1,     3,     1,     3,     2,     2,     2,     2,     2,
                    811:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    812:      2,     2,     2,     2,     2,     2,     2,     2,     3,     2,
                    813:      2,     2,     3,     2,     3,     2,     2,     3,     2
                    814: };
                    815: 
                    816: static const short yydefact[] = {     3,
                    817:      0,     0,     0,   443,   265,   466,   254,   264,   253,     0,
                    818:      0,     0,   321,     0,     0,     0,     0,     0,   405,   405,
                    819:    405,     0,     0,    72,    17,    56,     0,     5,     6,     0,
                    820:     11,    10,     9,     8,   231,   269,   120,     0,     0,   245,
                    821:      0,   275,   263,     0,   334,   336,   340,   339,   316,     0,
                    822:    405,   463,   266,   444,     4,    54,    55,   405,   465,   598,
                    823:     97,    98,   311,    99,   314,     0,   225,    27,     0,   669,
                    824:    265,   403,   667,   666,   405,   664,   645,   650,   651,     0,
                    825:    657,   656,   642,   643,   641,   660,   649,   646,   647,   648,
                    826:    652,   653,   639,   640,   636,   637,   638,   654,   655,   661,
                    827:    662,     0,   644,   658,   269,   400,   257,     0,   266,   322,
                    828:      0,     0,   448,    18,   617,     0,     0,     0,     0,     0,
                    829:      0,   225,   446,   445,     0,   447,     3,     0,   265,     0,
                    830:      0,   334,   336,   621,     0,    86,    81,   231,     0,     0,
                    831:    619,   118,   119,   128,   422,     0,   405,   405,   417,     0,
                    832:     53,     0,     0,   273,   241,   242,   405,   418,   265,   256,
                    833:    255,    52,     0,   246,     0,     0,   250,   270,   271,   247,
                    834:    249,   272,     0,    47,   324,   325,   326,   327,   330,   338,
                    835:     99,   101,   100,   102,   328,   333,   329,   341,   341,   354,
                    836:      0,    64,   405,     0,   407,     0,     0,    67,     0,   405,
                    837:    598,   621,   602,   603,   618,   618,     0,   599,   606,   313,
                    838:      0,   308,   229,     0,   192,   403,   194,   225,   225,     0,
                    839:      0,   227,   208,   226,   225,   133,   132,   225,   134,   135,
                    840:      0,   225,   136,   225,     0,   137,   163,   169,   138,   142,
                    841:      0,   225,   195,     0,   225,   400,   257,     0,   400,     0,
                    842:    193,     0,    26,   663,   659,   665,   405,     0,   405,   405,
                    843:    470,   598,   407,   668,   401,   259,   261,   404,   258,     0,
                    844:    449,     0,   406,   462,   440,   439,   438,     0,   122,   125,
                    845:    124,   450,    14,     0,     7,     7,   621,     0,    29,    33,
                    846:     37,    31,    35,    38,   277,    80,    87,    84,     0,   225,
                    847:    231,     0,     0,     0,   493,    57,   494,    59,   464,   341,
                    848:    129,   116,   243,   244,     0,     0,   405,   405,   430,     0,
                    849:      0,   431,    62,    51,    65,     0,    50,   405,     0,   407,
                    850:      0,    49,   248,    48,    63,    66,   252,   251,   621,   276,
                    851:    331,   332,   342,   335,   337,   376,   225,     0,   381,   381,
                    852:      0,     0,   359,   621,   436,     0,   253,     0,   139,   245,
                    853:      0,   442,     0,   225,   625,   626,     0,   624,     0,   630,
                    854:    632,   622,     0,     0,   288,   452,   457,   451,   621,     0,
                    855:     70,   400,   400,   405,   601,   400,   605,   604,     0,   396,
                    856:    319,   394,   310,     0,   230,     0,   225,     0,     0,   147,
                    857:    142,     0,     0,   149,   225,   225,   212,     0,   228,   213,
                    858:    144,   143,     0,     0,     0,     0,   145,   146,   267,     0,
                    859:    225,   225,     0,   225,   225,   225,   225,   225,   225,   225,
                    860:    225,   225,   225,   225,   225,   225,   225,   225,   225,   225,
                    861:    202,   206,   207,   233,   234,   232,   225,   225,   225,   221,
                    862:      0,   225,   160,   103,   104,   113,   105,     0,   204,     0,
                    863:      0,   107,   191,   398,   211,   225,   268,   399,   104,   105,
                    864:    214,    28,   479,   402,   473,   469,     0,     0,     0,     0,
                    865:    481,     0,   405,   598,   407,   262,   260,     0,     0,    20,
                    866:      0,    25,   225,   117,    13,    16,    15,   277,    46,    42,
                    867:     45,    43,    44,    41,     0,     0,     0,     0,   288,    98,
                    868:     92,   225,     0,    88,     0,     0,   301,     0,   297,    82,
                    869:      0,     0,    58,    61,   495,   496,     0,   126,   421,   420,
                    870:      0,     0,   405,   405,     0,   405,     0,   407,   415,   288,
                    871:    274,   411,     0,     0,     0,   414,     0,   405,   405,   277,
                    872:    351,   350,   349,   121,   343,   344,   346,     0,     0,   378,
                    873:    377,   443,   405,   225,   225,   598,   621,     0,   382,   405,
                    874:    598,   621,     0,     0,   315,   361,   360,    79,   405,   405,
                    875:    405,   441,   408,   627,   628,   629,     0,   631,   634,     0,
                    876:      0,     0,   287,   405,     0,   405,     0,    71,   405,   405,
                    877:      0,   405,   405,   598,   614,   615,   612,   613,   621,   600,
                    878:    608,   620,   610,   607,   225,   320,     0,   319,    12,     0,
                    879:      0,     0,     0,   265,     0,   197,   196,     0,   225,   141,
                    880:    140,   189,   188,   590,   589,     0,   186,   185,   183,   184,
                    881:    182,   181,   180,   177,   178,   179,   175,   176,   170,   171,
                    882:    172,   173,   174,   190,     0,     0,   223,   225,   159,     0,
                    883:    257,   151,   225,     0,   115,   114,   106,   218,   225,   108,
                    884:    109,     0,   110,   205,     0,   216,   225,   472,   468,   405,
                    885:    405,   467,   471,   405,   480,   475,     0,   477,     0,   323,
                    886:      0,    19,   330,   328,   333,   123,   288,    30,    34,    32,
                    887:     36,     0,     0,    90,     0,    94,   225,     0,   192,   265,
                    888:    225,   298,     0,   302,     0,    83,    60,     0,   192,     0,
                    889:    507,   510,     0,     0,   225,     0,     0,     0,   225,     0,
                    890:    586,   560,     0,     0,     0,     0,   225,     0,   540,     0,
                    891:    502,     0,     0,     0,   489,   501,   506,   488,     0,   225,
                    892:      0,   566,     0,   513,   517,     0,     0,     0,     0,     0,
                    893:    429,   425,     0,     0,     0,   428,     0,   281,   405,   405,
                    894:    405,   413,     0,     0,   288,   128,     0,   353,   352,   347,
                    895:    374,   375,   225,   365,   366,   621,   387,   388,     0,   277,
                    896:      0,   362,   372,   373,   621,     0,   368,   277,   367,   369,
                    897:      0,   379,   380,   437,   434,   435,   633,     0,   623,     0,
                    898:      0,   285,   455,     0,     0,     0,   460,     0,     0,     0,
                    899:    621,   616,   473,   469,   405,    68,     0,     0,   397,   395,
                    900:    312,     0,   209,   148,   150,   166,   168,   167,   199,     0,
                    901:    164,   225,   200,   203,     0,     0,   400,   400,   153,   225,
                    902:      0,   161,   225,     0,   111,   112,   220,   225,   210,     0,
                    903:    484,   482,   478,   405,   476,    21,    24,     0,     0,    39,
                    904:     91,    89,     0,    96,   225,     0,     0,     0,   299,   492,
                    905:    498,   558,   225,     0,   225,     0,   225,     0,   527,   529,
                    906:    530,   531,     0,     0,   587,     0,   625,   626,     0,     0,
                    907:    561,     0,   567,   541,     0,   559,   503,   239,   621,     0,
                    908:    240,     0,     0,   621,     0,   497,   491,   490,   504,   550,
                    909:      0,     0,   539,   538,     0,   555,     0,   566,     0,   563,
                    910:      0,     0,     0,     0,   419,   416,   433,   432,   405,   405,
                    911:    405,   427,   279,   412,   409,   410,   487,   486,   284,   348,
                    912:    345,   386,    74,   405,   384,   443,   225,   225,   621,   383,
                    913:     77,   405,     0,   635,   278,     0,     0,   405,   405,   405,
                    914:    405,   405,   405,    69,   609,   611,   309,   317,   187,   130,
                    915:      0,   222,     0,     0,     0,   154,   162,   217,     0,   215,
                    916:    485,   483,   474,    23,    40,    93,     0,     0,   306,   225,
                    917:    300,     0,   303,     0,   225,     0,     0,   493,   579,     0,
                    918:    582,     0,   523,   225,   225,   532,   537,     0,   547,     0,
                    919:    225,   493,     0,   225,   493,   542,   236,   277,   235,   238,
                    920:    237,   277,   225,   553,     0,   557,   556,   551,   565,   564,
                    921:      0,     0,     0,   426,   423,   424,     0,   282,   363,   364,
                    922:    621,     0,   225,   392,   393,   277,   370,   371,   621,   292,
                    923:      0,   290,   286,   456,   453,   454,   461,   458,   459,     0,
                    924:      0,   130,   201,   224,   157,   158,   152,   219,    95,   304,
                    925:      0,     0,   499,     0,   511,   583,   581,     0,   580,   521,
                    926:    225,     0,   528,     0,   546,     0,   562,   544,     0,   568,
                    927:    505,   548,   576,   514,   518,   127,   280,     0,    73,   385,
                    928:    391,   389,    76,     0,     0,     0,   165,   131,   407,   407,
                    929:      0,   307,   225,   508,     0,     0,     0,   225,   524,   525,
                    930:    591,     0,     0,     0,   569,   552,     0,     0,   283,     0,
                    931:    295,     0,     0,   291,   289,     0,     0,   305,   500,   225,
                    932:    225,   585,   584,   522,   225,     0,     0,   592,   593,   533,
                    933:    545,   543,     0,     0,     0,     0,   390,   293,     0,   294,
                    934:    155,   156,   509,     0,   526,   225,   591,     0,     0,   572,
                    935:    549,   570,     0,   515,   519,   296,     0,     0,     0,   534,
                    936:    594,     0,     0,   574,   225,   225,   512,   595,     0,     0,
                    937:    573,   571,   575,     0,   516,   520,   596,     0,   535,   577,
                    938:      0,     0,     0,   597,   536,   578,     0,     0,     0
                    939: };
                    940: 
                    941: static const short yydefgoto[] = {  1217,
                    942:      1,     2,   128,   496,    28,    29,    30,   272,   489,   490,
                    943:     31,    69,    32,   505,   507,   506,   508,   504,    33,    34,
                    944:     35,   348,   137,   138,   139,   297,   513,   514,   553,   186,
                    945:    459,   460,    36,    37,   144,   776,   278,   279,   311,   756,
                    946:    312,  1073,   234,   740,   236,   237,   238,   239,   240,   415,
                    947:    980,   451,   241,   242,   243,   140,   244,   245,   741,   339,
                    948:    742,   170,   743,   246,   266,   402,   267,   153,    41,   375,
                    949:    154,  1047,   340,  1108,    42,   967,   593,  1061,  1062,  1143,
                    950:    714,   715,    43,   394,   211,  1071,   617,    44,    45,    46,
                    951:     47,   188,   189,    48,    49,   344,   555,   556,   557,   558,
                    952:    191,   351,   352,   353,   568,   569,   960,   391,   392,   281,
                    953:    605,   249,   115,   363,   364,   155,   321,   156,   250,    52,
                    954:    109,   265,   479,   158,   744,   745,   527,   306,   746,   747,
                    955:   1123,   748,  1033,   884,  1150,   885,  1125,   932,  1137,  1195,
                    956:    933,  1138,  1196,  1128,  1091,  1155,  1015,  1135,  1103,   749,
                    957:    750,   751,  1022,   752,   928,   753,  1025,  1163,  1193,  1192,
                    958:   1204,  1136,  1213,   754,   755,   896,   636,  1157,  1158,  1159,
                    959:   1208,   480,   208,   209,   607,   199,   382,   309,   613,   198,
                    960:    371,   589,   372,   590,   251
                    961: };
                    962: 
                    963: static const short yypact[] = {   196,
                    964:   1953,  4724,   235,-32768,   489,-32768,-32768,-32768,-32768,   130,
                    965:     26,   156,-32768,   250,  3128,   219,   133,   211,-32768,-32768,
                    966: -32768,  4851,   273,-32768,-32768,-32768,   276,-32768,   380,  6174,
                    967: -32768,-32768,-32768,-32768,   421,   403,   619,  1470,  5959,   862,
                    968:    127,-32768,-32768,  1245,-32768,-32768,-32768,-32768,   477,   913,
                    969: -32768,-32768,   341,-32768,-32768,-32768,-32768,-32768,-32768,  1851,
                    970: -32768,-32768,   484,-32768,   559,   585,  5526,-32768,   173,-32768,
                    971: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   578,
                    972: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
                    973: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
                    974: -32768,   517,-32768,-32768,-32768,  1367,   963,  1394,-32768,-32768,
                    975:    585,    99,-32768,-32768,   678,  4851,  4769,  4769,   656,   403,
                    976:    348,  5526,-32768,-32768,    99,-32768,   601,   942,   656,   785,
                    977:   6118,   190,   192,   731,   685,-32768,   574,    22,   227,   227,
                    978: -32768,-32768,-32768,   615,   656,  5260,-32768,-32768,-32768,  5341,
                    979: -32768,   370,   240,-32768,   597,   604,-32768,-32768,   690,-32768,
                    980: -32768,-32768,   613,   862,   241,  1660,-32768,-32768,-32768,  1047,
                    981: -32768,-32768,   785,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
                    982:    273,-32768,-32768,-32768,-32768,-32768,   623,   665,   665,-32768,
                    983:   4838,-32768,-32768,  3218,   621,   106,   650,    49,  5155,-32768,
                    984:   1851,   230,-32768,-32768,-32768,   892,   631,   345,   686,-32768,
                    985:     99,   638,-32768,    66,-32768,   684,-32768,  5762,  5836,   706,
                    986:    710,-32768,-32768,   576,  5607,-32768,-32768,  5607,-32768,-32768,
                    987:   4148,  5607,-32768,  5607,   691,   705,-32768,-32768,  6336,  1065,
                    988:    761,  5202,   788,    90,  5607,  1367,   469,   702,  6244,   205,
                    989: -32768,   802,-32768,   678,-32768,-32768,-32768,  1214,-32768,-32768,
                    990: -32768,  6223,   700,-32768,   612,   963,-32768,-32768,   963,    79,
                    991: -32768,  1788,-32768,-32768,   604,   604,-32768,    35,-32768,  3213,
                    992: -32768,-32768,-32768,  4677,-32768,-32768,   582,   383,-32768,-32768,
                    993: -32768,-32768,-32768,-32768,   784,-32768,   223,-32768,  4229,  5607,
                    994: -32768,   227,   227,   766,   713,-32768,-32768,-32768,-32768,   665,
                    995: -32768,-32768,   597,   604,  3716,  3716,-32768,-32768,-32768,  5422,
                    996:    385,-32768,-32768,-32768,    49,   785,-32768,-32768,  3323,   711,
                    997:   5503,-32768,  1047,-32768,-32768,    49,-32768,-32768,   582,-32768,
                    998: -32768,-32768,   263,-32768,-32768,-32768,  5607,   648,  1731,  1833,
                    999:     38,  1562,-32768,   731,   678,   717,   684,     0,  6382,   628,
                   1000:    721,-32768,   718,  5607,-32768,   656,   405,-32768,   822,-32768,
                   1001: -32768,   779,  1464,   750,   800,   656,   273,-32768,   230,   735,
                   1002: -32768,   509,   509,-32768,-32768,  1348,-32768,-32768,  4229,   782,
                   1003:    790,-32768,-32768,    99,-32768,   740,  5607,   684,  4148,-32768,
                   1004:   1158,   416,  4148,-32768,  5607,  5688,-32768,   460,-32768,-32768,
                   1005: -32768,-32768,   744,   745,   766,   748,-32768,-32768,-32768,  4553,
                   1006:   5607,  5607,  4310,  5607,  5607,  5607,  5607,  5607,  5607,  5607,
                   1007:   5607,  5607,  5607,  5607,  5607,  5607,  5607,  5607,  5607,  5607,
                   1008: -32768,-32768,-32768,-32768,-32768,-32768,  5607,  5607,  5607,   440,
                   1009:   1644,  4634,-32768,-32768,   656,   799,   273,   283,   461,   396,
                   1010:    205,-32768,-32768,-32768,-32768,  5607,-32768,-32768,-32768,-32768,
                   1011:    540,-32768,   678,   612,  1182,  1182,   197,   457,   751,   753,
                   1012: -32768,   755,-32768,  1851,   756,-32768,   963,   825,   199,-32768,
                   1013:   1841,-32768,  5526,-32768,-32768,-32768,-32768,   784,-32768,-32768,
                   1014: -32768,-32768,-32768,-32768,   762,   764,   770,   771,   800,   656,
                   1015: -32768,  5607,   544,-32768,   571,    99,-32768,  3743,  6382,-32768,
                   1016:     44,   227,-32768,-32768,-32768,-32768,  2933,-32768,   597,   597,
                   1017:   3716,  3716,-32768,-32768,   459,-32768,  3428,   757,-32768,   800,
                   1018: -32768,   678,   773,   222,   775,-32768,   777,-32768,-32768,   784,
                   1019: -32768,-32768,-32768,-32768,   840,-32768,-32768,   298,  6305,-32768,
                   1020: -32768,   839,   278,  5607,  5607,  6015,   582,   282,-32768,   515,
                   1021:   6015,    -2,   204,   841,-32768,-32768,-32768,   309,-32768,-32768,
                   1022: -32768,-32768,-32768,-32768,-32768,-32768,   106,-32768,-32768,   243,
                   1023:    585,   824,   842,-32768,  3533,-32768,  3638,-32768,-32768,   133,
                   1024:   3657,-32768,-32768,  5879,-32768,   604,-32768,-32768,   230,-32768,
                   1025:    856,-32768,   857,-32768,  5607,    99,   805,   790,-32768,   338,
                   1026:    808,   809,   811,    34,   815,-32768,-32768,   817,  5283,-32768,
                   1027:   6382,  6382,  6382,-32768,-32768,   861,  2042,  6417,  3310,  3279,
                   1028:   3383,  3084,  2114,  1830,  1830,  1830,   812,   812,   652,   652,
                   1029: -32768,-32768,-32768,-32768,   347,   823,   843,  5607,-32768,  1464,
                   1030:    998,   871,  5607,   828,-32768,-32768,-32768,-32768,  5607,-32768,
                   1031:    656,    70,-32768,   588,   366,-32768,  5607,   612,   612,-32768,
                   1032: -32768,-32768,-32768,-32768,-32768,   678,   834,-32768,   830,-32768,
                   1033:   1788,-32768,   846,   215,   888,-32768,   800,-32768,-32768,-32768,
                   1034: -32768,   383,   368,-32768,   223,-32768,  5607,   602,   889,   462,
                   1035:   5607,-32768,   890,-32768,    19,-32768,-32768,   321,   899,   872,
                   1036: -32768,-32768,   873,   876,  5607,   905,   865,   875,  5364,    99,
                   1037:    956,-32768,   213,   926,   106,   931,  5445,   455,-32768,   877,
                   1038: -32768,  2290,  6071,  2234,-32768,-32768,   967,-32768,  2127,  4996,
                   1039:   2408,-32768,  2513,-32768,-32768,   477,   463,   481,  3716,  3716,
                   1040: -32768,   678,   885,   377,   891,-32768,   883,   940,-32768,-32768,
                   1041: -32768,-32768,  3716,  3716,   800,   615,   263,-32768,-32768,-32768,
                   1042: -32768,-32768,  5607,-32768,-32768,   230,  6382,  6382,   896,   590,
                   1043:   1984,-32768,-32768,-32768,   230,   897,-32768,   687,-32768,-32768,
                   1044:   4894,-32768,-32768,   678,   678,   678,-32768,  1464,-32768,    86,
                   1045:    919,-32768,   678,   900,   389,   903,   678,   906,   390,   908,
                   1046:    230,   604,    82,    82,   197,-32768,  4229,  4229,  6382,-32768,
                   1047: -32768,   909,-32768,-32768,-32768,-32768,-32768,-32768,-32768,  4067,
                   1048: -32768,  5607,-32768,-32768,   585,   100,  1367,  6244,-32768,  5607,
                   1049:   4229,-32768,  5607,   415,-32768,-32768,-32768,  5607,-32768,   420,
                   1050:   1182,  1182,   678,-32768,-32768,-32768,-32768,   140,   383,-32768,
                   1051: -32768,-32768,   433,-32768,  5607,  6283,  4229,  3824,-32768,-32768,
                   1052: -32768,-32768,  5607,   933,  5099,  3905,  5607,   707,-32768,-32768,
                   1053: -32768,-32768,   915,   916,-32768,   939,   918,    15,   921,   616,
                   1054: -32768,   617,-32768,-32768,   922,-32768,-32768,-32768,   645,   313,
                   1055: -32768,   925,   317,   622,   929,-32768,-32768,-32768,-32768,-32768,
                   1056:    106,    99,-32768,-32768,   659,-32768,  2618,-32768,   673,-32768,
                   1057:   2723,  4391,  4391,  4838,-32768,-32768,   597,   597,-32768,-32768,
                   1058: -32768,-32768,-32768,   678,   678,   678,   597,   597,   971,-32768,
                   1059: -32768,  6382,-32768,   675,   978,   981,  5607,  5607,   582,-32768,
                   1060: -32768,   679,  4782,-32768,-32768,  1033,  4229,-32768,-32768,-32768,
                   1061: -32768,-32768,-32768,-32768,-32768,-32768,-32768,   990,  6402,   615,
                   1062:    122,-32768,   944,   946,   447,-32768,-32768,-32768,   458,-32768,
                   1063:    612,   612,   678,-32768,-32768,-32768,   487,  4229,-32768,  5607,
                   1064: -32768,   988,-32768,   947,  5607,  1025,   948,   949,-32768,   954,
                   1065: -32768,   957,-32768,  5607,  5099,-32768,-32768,   585,-32768,   966,
                   1066:   5607,-32768,   968,  5607,-32768,-32768,-32768,   784,-32768,-32768,
                   1067: -32768,   784,  5099,   779,  1018,-32768,-32768,-32768,-32768,-32768,
                   1068:    972,   973,    58,   678,   678,   678,  4229,-32768,-32768,-32768,
                   1069:    230,  4229,  5607,  6382,  6382,   784,-32768,-32768,   230,   989,
                   1070:    498,-32768,-32768,   678,   678,   678,   678,   678,   678,  3986,
                   1071:    970,   615,-32768,-32768,   995,   996,-32768,-32768,-32768,-32768,
                   1072:   6360,  4229,-32768,   984,-32768,-32768,-32768,  3038,-32768,-32768,
                   1073:   5099,  1036,-32768,    77,-32768,   524,-32768,-32768,   525,-32768,
                   1074: -32768,-32768,-32768,-32768,-32768,-32768,-32768,  4229,-32768,-32768,
                   1075:   6382,  1039,-32768,   548,  1033,   992,-32768,-32768,-32768,-32768,
                   1076:   4229,-32768,  5099,-32768,  1014,   692,  2828,  5099,-32768,-32768,
                   1077:   1085,   994,   997,  1005,-32768,  1013,  4472,  4472,-32768,  4229,
                   1078: -32768,  1007,   526,-32768,-32768,  1003,  1010,-32768,-32768,  5099,
                   1079:   5607,-32768,-32768,-32768,  5099,  1031,   312,  1069,-32768,-32768,
                   1080: -32768,-32768,   255,  1038,  1012,  1020,-32768,-32768,  1116,-32768,
                   1081: -32768,-32768,-32768,  1023,-32768,  5607,  1085,  1027,  1085,-32768,
                   1082: -32768,-32768,  1464,-32768,-32768,-32768,  1037,  1032,   331,-32768,
                   1083: -32768,   766,   766,    99,  5099,  5099,-32768,-32768,  1130,  1048,
                   1084: -32768,-32768,-32768,  1052,-32768,-32768,-32768,   527,-32768,-32768,
                   1085:   1145,  1054,   766,-32768,-32768,-32768,  1157,  1160,-32768
                   1086: };
                   1087: 
                   1088: static const short yypgoto[] = {-32768,
                   1089:   1035,-32768,-32768,   878,  1156,-32768,-32768,-32768,-32768,   474,
                   1090: -32768,-32768,-32768,-32768,-32768,-32768,-32768,  -650,  1040,  1043,
                   1091: -32768,-32768,-32768,-32768,  1028,-32768,-32768,   468,    -7,   676,
                   1092:   -227,-32768,    -4,   -29,-32768,-32768,-32768,   683,  -908,-32768,
                   1093:    407,   112,-32768,   -46,   454,   583,  -192,   781,  -164,-32768,
                   1094: -32768,-32768,-32768,  -177,   -60,   -81,-32768,-32768,   300,    24,
                   1095:   1041,  1034,  1133,    -8,   923,    -1,     6,   449,   -34,  -265,
                   1096: -32768,-32768,   870,-32768,-32768,-32768,  -456,-32768,    85,-32768,
                   1097:   -273,   357,   -12,-32768,-32768,-32768,   586,  -247,  1192,  1194,
                   1098: -32768,-32768,-32768,-32768,-32768,  -157,-32768,   448,  -527,-32768,
                   1099:    470,   293,   432,  -332,   887,-32768,-32768,   847,   627,   -63,
                   1100:    -90,     2,  1435,  -261,-32768,  -127,   924,   986,   324,-32768,
                   1101:     11,  -143,-32768,  -107,  -712,  -717,  -257,   -91,  -131,-32768,
                   1102: -32768,   431,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
                   1103: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
                   1104: -32768,-32768,-32768,-32768,   318,-32768,-32768,-32768,-32768,-32768,
                   1105: -32768,-32768,-32768,-32768,-32768,-32768,  -888,    83,-32768,    75,
                   1106: -32768,     5,-32768,  -248,  -304,     3,  1050,-32768,-32768,    13,
                   1107:   -552,   451,   343,-32768,  1150
                   1108: };
                   1109: 
                   1110: 
                   1111: #define        YYLAST          6487
                   1112: 
                   1113: 
                   1114: static const short yytable[] = {    40,
                   1115:     40,   482,    65,   248,   165,   214,   106,   307,   307,   113,
                   1116:    105,    53,    53,   107,   187,   264,   108,   120,   313,   577,
                   1117:    235,   116,   471,   492,   491,   520,   917,   172,    40,   509,
                   1118:    780,   345,   411,   120,   807,   412,   185,   164,   927,   417,
                   1119:    931,   418,   322,  1041,  1042,   171,   409,   420,   308,   453,
                   1120:    270,   870,   702,   401,   401,   105,   303,    59,    40,   540,
                   1121:    401,   152,   163,   401,   207,   247,   878,   401,   547,   401,
                   1122:    574,  1072,   855,   136,   374,   395,    59,   401,   608,  -277,
                   1123:    196,   612,   493,   768,     4,   119,   395,   197,   395,   273,
                   1124:    574,   420,   454,   455,   172,   395,  -277,   494,  -277,   797,
                   1125:    580,    61,    62,   105,   271,    66,   269,    15,   365,   366,
                   1126:      6,   120,   120,   120,   474,   614,   -98,   282,   478,    15,
                   1127:    247,   879,   600,   301,    19,   120,    40,    15,  1131,   164,
                   1128:    456,   395,    61,    62,   837,    61,    62,   611,    53,   602,
                   1129:    575,   120,    61,    62,   716,   120,   295,   420,   367,   603,
                   1130:   -277,   172,   528,   287,   288,   464,   261,   172,   468,   331,
                   1131:   1106,   604,   263,  1072,   325,   867,   396,   416,   120,   171,
                   1132:    307,   307,   525,    23,   173,   338,    63,  1132,   336,   488,
                   1133:    900,   457,   902,   112,   414,    27,   965,   529,   530,    40,
                   1134:     64,   120,   360,   458,   120,    -1,   105,    23,   361,    40,
                   1135:    368,   105,   982,   390,   164,   380,   370,   454,   469,   917,
                   1136:    523,   524,   322,   917,   381,   897,   898,     6,   995,   522,
                   1137:    252,    64,  1074,   689,    64,    61,   510,   304,   174,   247,
                   1138:    409,   181,   697,   674,   172,    67,   289,   273,   292,   120,
                   1139:    869,   290,    15,   293,   105,   456,   691,   269,  1165,  1166,
                   1140:    110,   791,    68,   172,   680,   367,   172,   365,   366,     6,
                   1141:     40,   692,   -22,   511,   681,    61,    62,   105,   551,   420,
                   1142:     40,   486,   114,   305,   253,  1180,   767,   -22,   123,   124,
                   1143:     61,    62,    40,   628,   775,    61,    62,   326,   173,   515,
                   1144:    808,   291,   120,   294,    53,   552,   470,   367,   111,   498,
                   1145:     61,    62,   512,   778,   181,   799,   800,   368,   458,   588,
                   1146:    120,   120,   196,   554,   181,   120,   125,   583,   949,   197,
                   1147:    172,   120,   770,   666,    51,    51,   120,   360,   112,   791,
                   1148:    779,   678,   679,   545,   122,   621,    56,    57,   338,   622,
                   1149:    994,   327,   334,   809,   120,    51,    23,   172,   164,   368,
                   1150:     40,   550,   414,    51,   181,   385,   414,  1181,   623,   625,
                   1151:    326,   157,   157,  1177,   173,   171,   578,   126,   105,    64,
                   1152:    323,   107,   567,   572,    64,  1127,   635,   120,   120,   784,
                   1153:    785,   200,  1199,   792,    40,   420,   390,   662,   193,   181,
                   1154:    307,   598,   386,  -621,   420,  -621,   387,   247,   670,   671,
                   1155:   -621,   247,   656,   757,   758,   664,   499,   584,   585,   917,
                   1156:    802,   803,  1178,   420,  1029,   420,  -621,  -621,  1031,  -621,
                   1157:    201,  -621,   880,   881,   420,   536,   127,   194,   195,   500,
                   1158:    717,  1200,   501,    15,   502,   388,   420,   420,   833,    51,
                   1159:     51,    51,   492,   491,   135,   141,   105,   843,   277,   661,
                   1160:    667,    51,   196,   157,   157,   120,   465,   474,   322,   197,
                   1161:    478,   187,   420,   322,   537,   538,   859,   420,   871,   157,
                   1162:    852,   324,   136,   157,   172,   168,   169,   940,   657,   105,
                   1163:    420,    10,    40,   694,   503,   539,   658,    23,   687,   969,
                   1164:    972,   247,   486,   222,   420,   466,   157,   483,   401,   536,
                   1165:     13,   668,   408,   328,    59,   420,   906,    16,   708,   465,
                   1166:    713,     4,   119,   -98,    51,   988,   122,    61,    62,   369,
                   1167:    990,   328,    51,   190,   955,   360,   120,   120,   554,    58,
                   1168:    810,    59,   955,   996,   420,   360,   484,   485,   537,   538,
                   1169:    669,   765,   329,   330,   704,  1115,    15,  1077,   466,   600,
                   1170:   1141,    19,   601,   975,   976,   113,  1142,   682,  1078,   761,
                   1171:    329,   330,   113,   935,    40,   112,   602,   461,    60,    40,
                   1172:    789,   420,   420,  1169,  1211,   796,   603,   986,   407,   790,
                   1173:    676,   936,   120,   261,   798,   477,   210,  1079,   604,   263,
                   1174:    -85,   705,   113,   360,   213,   360,   120,   370,  1116,   816,
                   1175:     23,   820,    40,   999,  1003,   212,    64,    51,   390,   222,
                   1176:   1182,   706,    27,    15,   298,   374,   793,   794,   408,   677,
                   1177:    516,   826,   256,   299,  1133,  1134,  1170,  1212,   857,   255,
                   1178:    577,   937,   938,   167,   168,   169,   -75,   328,   157,   157,
                   1179:     10,   -75,   874,   157,   193,   947,   948,   358,   172,   157,
                   1180:    707,   847,   483,   300,    51,   105,  1020,  1023,   107,    13,
                   1181:    987,   848,   193,   554,   196,   142,    16,   858,   465,   341,
                   1182:    143,   197,   157,   157,   342,    51,   329,   330,   888,   678,
                   1183:    679,   875,   893,   194,   195,   273,   105,   296,   401,    40,
                   1184:    905,   484,   485,  1063,   560,  1021,  1024,   515,    59,   561,
                   1185:    120,   194,   195,   283,   196,    51,    51,   466,   913,    51,
                   1186:    310,   197,   374,  -422,   332,  -422,   343,   991,   992,   438,
                   1187:    439,   440,   894,  -242,  1080,   899,   362,   196,   120,   373,
                   1188:    120,   384,    59,   -78,   197,   389,  -422,   120,   -78,  -422,
                   1189:    393,   164,   360,   370,   588,   370,  1027,   554,   360,   360,
                   1190:   1088,   360,   420,   521,   120,   120,   983,   984,  1013,  1014,
                   1191:    880,  1036,   540,   397,  1097,   909,   912,  1100,   120,   120,
                   1192:   -422,   193,  -422,  1107,   880,  1039,  1049,  1050,  1110,  -422,
                   1193:   1057,  1058,   544,   672,   981,   405,   120,     4,   145,   406,
                   1194:   1112,   419,  -422,   880,  1152,   450,  1003,   395,   953,    40,
                   1195:    400,   404,   467,   105,   472,   481,   107,   961,  1122,   374,
                   1196:    194,   195,   305,   196,   959,   526,   546,   579,   120,   120,
                   1197:    197,   581,    15,   582,   586,    17,   587,    19,   146,   591,
                   1198:    592,   615,   713,   974,  1139,   599,  1004,   616,   554,  1010,
                   1199:   1012,   619,   147,   105,   626,   627,   269,  1148,   629,   665,
                   1200:    620,   683,   148,   684,   157,   157,   690,  1146,  1147,   149,
                   1201:    685,   688,   766,   698,   150,   699,  1167,   167,   168,   169,
                   1202:   1002,   700,   701,   769,    10,   771,    23,   436,   437,   438,
                   1203:    439,   440,   772,   360,   360,   635,   635,   777,    27,   157,
                   1204:    783,   812,   801,    13,   157,    71,     6,   160,     8,   161,
                   1205:     16,   655,   280,   811,    10,   827,   828,   831,   834,   835,
                   1206:    369,   836,   842,   192,  1035,   838,   120,   839,    12,   675,
                   1207:    851,  1028,   845,    13,    51,   360,  1032,   825,   844,   360,
                   1208:     16,   370,    40,   853,   864,   865,  -621,   181,  -621,   868,
                   1209:    -97,   877,     3,  -621,     4,     5,     6,     7,     8,     9,
                   1210:    882,   883,   886,   193,    10,   887,   889,  1094,  1084,  -621,
                   1211:   -621,    40,  -621,   895,  -621,   703,   890,  1092,    12,   168,
                   1212:    169,  1056,   901,    13,   359,    10,   891,   903,   907,    15,
                   1213:     16,   919,    17,    23,    19,   939,    50,    50,   942,   943,
                   1214:    764,   941,   194,   195,    13,   196,   954,   962,   966,    20,
                   1215:    968,    16,   197,   970,   168,   169,   971,   121,   973,    21,
                   1216:     10,   977,  1005,   360,  -621,   134,  1016,  1017,  1018,   -97,
                   1217:   1048,    22,  1019,  1026,   166,   463,  1030,  1052,   516,    13,
                   1218:    880,   360,  1053,    23,    24,  1060,    16,  1070,   849,  1082,
                   1219:   1085,    38,    38,    26,  1075,    27,  1076,  1083,   815,  1086,
                   1220:    819,  1087,   337,   168,   169,  1089,   369,  1090,   369,    10,
                   1221:   1201,  1202,  1002,  1109,  1102,   157,   157,  1095,  1114,  1098,
                   1222:    130,  1113,  1117,  1104,  1105,  1119,  1120,   850,    13,   519,
                   1223:    359,  1216,   157,   157,  1124,    16,   360,  1130,  1140,   360,
                   1224:    635,   635,  1145,  1151,  1156,  1160,   157,   157,  1161,  1164,
                   1225:    205,   274,   275,   276,  1174,   441,  1162,  1168,  1171,   359,
                   1226:   1176,   846,  1184,    50,   157,  1172,  1179,  1183,  1186,  1194,
                   1227:   1185,   360,   854,  1187,    51,   360,   360,   559,  1190,  1188,
                   1228:    860,   314,  1198,    39,    39,   121,   442,   443,  1197,  1207,
                   1229:    444,   445,   446,   447,   448,   449,    51,    51,   360,  1209,
                   1230:     54,    54,  1210,   360,  1214,  1215,  1218,    55,   120,  1219,
                   1231:    873,   284,   131,   497,   866,   302,   695,   285,    38,   519,
                   1232:    286,    54,   872,   370,   918,   696,   354,   359,   105,    54,
                   1233:    924,   107,   950,  1118,   378,  1011,  1203,    54,    54,   273,
                   1234:    910,   487,   206,   360,   360,   541,   978,   333,   441,  1144,
                   1235:    631,   632,   633,   832,   637,   638,   639,   640,   641,   642,
                   1236:    643,   644,   645,   646,   647,   648,   649,   650,   651,   652,
                   1237:    653,   132,   257,   133,   951,   934,  1043,   654,   359,   442,
                   1238:    443,   349,   963,   444,   205,   446,   573,   448,   449,   259,
                   1239:    618,   205,   830,   535,   369,  1038,   359,    61,    62,   260,
                   1240:    175,   176,   177,  1191,   257,   383,   261,    51,   964,  1189,
                   1241:     39,   262,   263,  1034,     0,    54,    54,    54,     0,    50,
                   1242:      0,   259,     0,   280,     0,     0,   178,    54,     0,    54,
                   1243:     54,   260,     0,     0,     0,     0,    51,     0,   261,     0,
                   1244:    179,   180,   359,   262,   263,    54,     0,     0,   519,    54,
                   1245:    275,   276,   205,   985,     0,   121,     0,     0,     0,     0,
                   1246:      0,   989,   205,     0,     0,  1006,   378,   359,     0,     0,
                   1247:      0,     0,    54,   350,    38,     0,   206,     0,   997,     0,
                   1248:      0,     0,     0,   206,     0,     0,   181,   354,     0,     0,
                   1249:     54,   182,   183,   184,   787,   788,     0,     0,    54,     0,
                   1250:      4,   129,     6,     7,     8,     9,     0,   918,   610,     0,
                   1251:     10,   918,     0,     0,     0,     0,     0,   606,   606,   205,
                   1252:      0,   606,     0,   410,    12,   359,     0,   359,     0,    13,
                   1253:      0,     0,     0,     0,     0,    15,    16,     0,   600,     0,
                   1254:     19,   601,   349,   462,   206,   829,     0,    71,     6,   462,
                   1255:      8,   268,     0,     0,   206,   602,    10,   257,     0,   841,
                   1256:    258,     0,     0,     0,     0,   603,    39,     0,     0,     0,
                   1257:     12,     0,   261,     0,   259,    13,   205,   604,   263,     0,
                   1258:      0,     0,    16,    54,   260,     0,     0,     0,   359,    23,
                   1259:      0,   261,     0,     0,     0,  1093,   262,   263,     0,   359,
                   1260:      0,    27,     0,     0,   117,   118,     0,   359,     0,     0,
                   1261:      0,   206,     0,  1101,    54,    54,     0,    71,     6,    54,
                   1262:      8,    72,     4,   145,  1096,    54,    10,  1099,     0,     0,
                   1263:     54,     0,     0,     0,   350,    23,   369,   359,     0,     0,
                   1264:     12,   876,   202,     0,     0,    13,     0,     0,    54,    54,
                   1265:      0,    54,    16,     0,     0,     0,     0,    15,     0,   254,
                   1266:     17,     0,    19,   146,     0,     0,   275,   276,   206,     0,
                   1267:      0,  1129,     0,     0,   205,     0,     0,   147,     0,     0,
                   1268:      0,    54,    54,     0,     0,    54,     0,   148,     0,     0,
                   1269:      0,     0,     0,     0,   149,     0,     0,     0,     0,   150,
                   1270:      0,   121,     0,  1149,     0,    23,   121,   918,  1154,     0,
                   1271:      0,    23,   346,   952,     4,   129,     6,     7,     8,     9,
                   1272:      0,   151,     0,    27,    10,     0,     0,   205,     0,     0,
                   1273:   1173,   315,   316,     0,     0,  1175,   822,     0,    12,   121,
                   1274:      0,     0,     0,    13,  -356,     0,     0,     0,     0,    15,
                   1275:     16,     0,    17,     0,    19,     0,   205,   519,   519,   673,
                   1276:    462,   205,     0,   347,     0,     0,   206,     0,     0,    20,
                   1277:    519,     0,   979,     0,     0,  1205,  1206,   355,     0,    21,
                   1278:    359,   519,     0,     0,   379,   205,     0,   205,   359,     0,
                   1279:      0,    22,     0,     0,   205,     0,     0,    71,     6,     0,
                   1280:      8,    72,     0,    23,     0,   359,    10,   519,   519,     0,
                   1281:    335,     0,     0,   576,  -356,    27,     0,     0,     0,   206,
                   1282:     12,     0,     0,     0,     0,    13,     0,     0,     0,     0,
                   1283:     54,    54,    16,  -621,     0,  -621,     0,     0,     0,   659,
                   1284:   -621,   473,     0,   475,   476,     0,     0,     0,   206,     0,
                   1285:    193,     0,     0,   206,     0,     0,  -621,  -621,     0,  -621,
                   1286:      0,  -621,     0,     0,     0,    54,     0,     0,     0,     0,
                   1287:     54,     0,     0,   660,     0,     0,     0,   206,   914,   206,
                   1288:      0,   205,     0,   562,   145,    23,   206,  1054,  1055,   194,
                   1289:    195,     0,   196,     0,   275,   276,     0,   519,     0,   197,
                   1290:     54,   531,   532,    54,     0,     0,     0,     0,   275,   276,
                   1291:      0,  -242,   542,     0,     0,     0,     0,     0,    15,     0,
                   1292:      0,   563,     0,    19,   146,     0,   564,     0,   519,     0,
                   1293:   1081,     0,   565,     0,     0,     0,   354,     0,   147,     0,
                   1294:      0,    71,     6,     7,     8,     9,     0,     0,   148,     0,
                   1295:     10,   359,     0,     0,   359,   149,     0,     0,   275,   276,
                   1296:    566,     0,     0,     0,    12,     0,     0,     0,   609,    13,
                   1297:      0,   856,    23,   206,     0,     0,    16,   519,     0,     0,
                   1298:      0,     0,   519,  1111,    27,   562,   159,     6,   160,     8,
                   1299:    161,   349,     0,    61,    62,    10,   175,   176,   177,     0,
                   1300:    519,     0,     0,     0,    71,     6,     7,     8,     9,    12,
                   1301:      0,   203,   519,    10,    13,     0,     0,     0,     0,     0,
                   1302:     15,    16,   178,   570,     0,    19,   146,    12,   564,    23,
                   1303:      0,     0,    13,     0,   565,     0,   693,   180,   519,    16,
                   1304:    147,    54,    54,   434,   435,   436,   437,   438,   439,   440,
                   1305:    148,   519,     0,     0,     0,     0,     0,   149,    54,    54,
                   1306:      0,     0,   571,     0,     0,     0,     0,   686,     0,   354,
                   1307:    519,     0,    54,    54,    23,     0,     0,     0,     0,     0,
                   1308:      0,     0,   181,   350,     0,     0,    27,   182,   183,   184,
                   1309:     54,   204,    23,     0,     0,     0,     0,     0,   354,     0,
                   1310:     54,     0,    -2,     3,     0,     4,     5,     6,     7,     8,
                   1311:      9,     0,     0,     0,     0,    10,     0,   759,   760,     0,
                   1312:    762,     0,    54,    54,   349,     0,     0,     0,    11,    12,
                   1313:      0,     0,   773,   774,    13,     0,   956,   145,    14,     0,
                   1314:     15,    16,     0,    17,    18,    19,     0,   786,     0,     0,
                   1315:      0,     0,     0,   349,   795,     0,     0,     0,     0,     0,
                   1316:     20,     0,     0,   804,   805,   806,     0,     0,     0,     0,
                   1317:     21,    15,     0,     0,    17,     0,    19,   146,   813,   957,
                   1318:    817,     0,    22,   821,   473,   958,   823,   824,     0,     0,
                   1319:      0,   147,     0,     0,    23,    24,    25,     0,     0,     0,
                   1320:      0,   148,     0,     0,    26,     0,    27,     0,   149,     0,
                   1321:      0,     0,     0,   150,     0,     0,   350,     0,     0,     0,
                   1322:      0,     0,     0,     0,     0,    23,     0,     0,     0,     0,
                   1323:      0,     0,     0,    54,     0,     0,     0,    27,     0,     0,
                   1324:      0,     0,     0,     0,     0,   350,   425,   426,   427,   428,
                   1325:    429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
                   1326:    439,   440,    54,     0,   861,   862,     0,     0,   863,     0,
                   1327:      0,     0,     0,     0,     0,     0,     0,   920,     0,  -554,
                   1328:   -554,  -554,  -554,  -554,  -554,  -554,  -554,     0,  -554,  -554,
                   1329:   -554,  -554,  -554,  -554,  -554,  -554,  -554,  -554,  -554,  -554,
                   1330:   -554,  -554,  -554,  -554,  -554,  -554,  -554,     0,  -554,     0,
                   1331:   -554,  -554,     0,  -554,  -554,  -554,     0,     0,     0,  -554,
                   1332:      0,     0,  -554,  -554,   431,   432,   433,   434,   435,   436,
                   1333:    437,   438,   439,   440,  -554,     0,     0,     0,     0,     0,
                   1334:      0,     0,  -554,  -554,  -554,     0,     0,     0,  -554,  -554,
                   1335:      0,     0,     0,   944,   945,   946,  -554,     0,  -554,     0,
                   1336:    921,  -554,   922,     0,  -554,  -554,  -554,     0,  -554,     0,
                   1337:      0,     0,     0,     0,     0,     0,     0,     0,  -554,  -554,
                   1338:   -554,  -554,     0,     0,   915,     0,   719,   129,     6,     7,
                   1339:      8,   357,   217,   213,     0,   218,    10,   720,     0,   721,
                   1340:    722,   723,   724,   725,   726,   727,   728,   729,   730,   731,
                   1341:     12,   219,   220,   221,     0,    13,     0,   222,  -225,     0,
                   1342:    223,    15,    16,     0,     0,     0,   224,     0,     0,   732,
                   1343:    305,     0,     0,     0,     0,     0,     0,     0,     0,     0,
                   1344:      0,   225,     4,   145,     0,     0,     0,     0,   993,   226,
                   1345:    227,   228,     0,     0,     0,   229,   230,     0,     0,     0,
                   1346:      0,     0,     0,   231,     0,   733,     0,     0,   734,     0,
                   1347:      0,   735,   736,   737,     0,   738,     0,    15,     0,     0,
                   1348:     17,     0,    19,   146,     0,   739,   916,   232,   233,     0,
                   1349:      0,     0,     0,     0,     0,     0,     0,   147,     0,     0,
                   1350:      0,     0,     0,     0,     0,     0,     0,   148,     0,     0,
                   1351:      0,     0,     0,     0,   149,     0,     0,     0,     0,   150,
                   1352:      0,     0,     0,  1044,  1045,  1046,     0,     0,     0,     0,
                   1353:      0,    23,     0,     0,     0,     0,     0,     0,  1051,     0,
                   1354:      0,   908,     0,    27,     0,     0,  1059,     0,     0,     0,
                   1355:      0,     0,  1064,  1065,  1066,  1067,  1068,  1069,   925,     0,
                   1356:    719,   129,     6,     7,     8,   357,   217,   213,     0,   218,
                   1357:     10,   720,     0,   721,   722,   723,   724,   725,   726,   727,
                   1358:    728,   729,   730,   731,    12,   219,   220,   221,     0,    13,
                   1359:      0,   222,  -225,     0,   223,    15,    16,     0,     0,     0,
                   1360:    224,     0,     0,   732,   305,     0,     0,     0,     0,     0,
                   1361:      0,     0,     0,     0,     0,   225,     0,     0,     0,     0,
                   1362:      0,     0,     0,   226,   227,   228,     0,     0,     0,   229,
                   1363:    230,     0,     0,     0,     0,     0,     0,   231,     0,   733,
                   1364:      0,     0,   734,     0,     0,   735,   736,   737,     0,   738,
                   1365:      0,     0,     0,     0,     0,     0,     0,     0,     0,   739,
                   1366:    926,   232,   233,   929,     0,   719,   129,     6,     7,     8,
                   1367:    357,   217,   213,     0,   218,    10,   720,     0,   721,   722,
                   1368:    723,   724,   725,   726,   727,   728,   729,   730,   731,    12,
                   1369:    219,   220,   221,     0,    13,     0,   222,  -225,     0,   223,
                   1370:     15,    16,     0,     0,     0,   224,     0,     0,   732,   305,
                   1371:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
                   1372:    225,     0,     0,     0,     0,     0,     0,     0,   226,   227,
                   1373:    228,     0,     0,     0,   229,   230,     0,     0,     0,     0,
                   1374:      0,     0,   231,     0,   733,     0,     0,   734,     0,     0,
                   1375:    735,   736,   737,     0,   738,     0,     0,     0,     0,     0,
                   1376:      0,     0,     0,     0,   739,   930,   232,   233,   915,     0,
                   1377:    719,   129,     6,     7,     8,   357,   217,   213,     0,   218,
                   1378:     10,   720,     0,   721,   722,   723,   724,   725,   726,   727,
                   1379:    728,   729,   730,   731,    12,   219,   220,   221,     0,    13,
                   1380:      0,   222,  -225,     0,   223,    15,    16,     0,     0,     0,
                   1381:    224,     0,     0,   732,   305,     0,     0,     0,     0,     0,
                   1382:      0,     0,     0,     0,     0,   225,     0,     0,     0,     0,
                   1383:      0,     0,     0,   226,   227,   228,     0,     0,     0,   229,
                   1384:    230,     0,     0,     0,     0,     0,     0,   231,     0,   733,
                   1385:      0,     0,   734,     0,     0,   735,   736,   737,     0,   738,
                   1386:      0,     0,     0,     0,     0,     0,     0,     0,     0,   739,
                   1387:   1037,   232,   233,   915,     0,   719,   129,     6,     7,     8,
                   1388:    357,   217,   213,     0,   218,    10,   720,     0,   721,   722,
                   1389:    723,   724,   725,   726,   727,   728,   729,   730,   731,    12,
                   1390:    219,   220,   221,     0,    13,     0,   222,  -225,     0,   223,
                   1391:     15,    16,     0,     0,     0,   224,     0,     0,   732,   305,
                   1392:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
                   1393:    225,     0,     0,     0,     0,     0,     0,     0,   226,   227,
                   1394:    228,     0,     0,     0,   229,   230,     0,     0,     0,     0,
                   1395:      0,     0,   231,     0,   733,     0,     0,   734,     0,     0,
                   1396:    735,   736,   737,     0,   738,     0,     0,     0,     0,     0,
                   1397:      0,     0,     0,     0,   739,  1040,   232,   233,   915,     0,
                   1398:    719,   129,     6,     7,     8,   357,   217,   213,     0,   218,
                   1399:     10,   720,     0,   721,   722,   723,   724,   725,   726,   727,
                   1400:    728,   729,   730,   731,    12,   219,   220,   221,     0,    13,
                   1401:      0,   222,  -225,     0,   223,    15,    16,     0,     0,     0,
                   1402:    224,     0,     0,   732,   305,     0,     0,     0,     0,     0,
                   1403:      0,     0,     0,     0,     0,   225,     0,     0,     0,     0,
                   1404:      0,     0,     0,   226,   227,   228,     0,     0,     0,   229,
                   1405:    230,     0,     0,     0,     0,     0,     0,   231,     0,   733,
                   1406:      0,     0,   734,     0,     0,   735,   736,   737,     0,   738,
                   1407:      0,     0,     0,     0,     0,     0,     0,     0,     0,   739,
                   1408:   1153,   232,   233,   718,     0,   719,   129,     6,     7,     8,
                   1409:    357,   217,   213,     0,   218,    10,   720,     0,   721,   722,
                   1410:    723,   724,   725,   726,   727,   728,   729,   730,   731,    12,
                   1411:    219,   220,   221,     0,    13,     0,   222,  -225,     0,   223,
                   1412:     15,    16,     0,     0,     0,   224,     0,     0,   732,   305,
                   1413:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
                   1414:    225,     0,     0,     0,     0,     0,     0,     0,   226,   227,
                   1415:    228,     0,     0,     0,   229,   230,     0,     0,     0,     0,
                   1416:      0,     0,   231,     0,   733,     0,     0,   734,     0,     0,
                   1417:    735,   736,   737,     0,   738,     0,     0,     0,     0,     0,
                   1418:      0,     0,     0,     0,   739,     0,   232,   233,  1126,     0,
                   1419:    719,   129,     6,     7,     8,   357,   217,   213,     0,   218,
                   1420:     10,   720,     0,   721,   722,   723,   724,   725,   726,   727,
                   1421:    728,   729,   730,   731,    12,   219,   220,   221,     0,    13,
                   1422:      0,   222,  -225,     0,   223,    15,    16,     0,     0,     0,
                   1423:    224,     0,     0,   732,   305,     0,     0,     0,     0,     0,
                   1424:      0,     0,     0,     0,     0,   225,     0,     0,     0,     0,
                   1425:      0,     0,     0,   226,   227,   228,     0,     0,     0,   229,
                   1426:    230,     0,     0,     0,     0,     0,     0,   231,     0,   733,
                   1427:      0,     0,   734,     0,     0,   735,   736,   737,    70,   738,
                   1428:      0,    71,     6,     0,     8,    72,     0,     0,     0,   739,
                   1429:     10,   232,   233,   430,   431,   432,   433,   434,   435,   436,
                   1430:    437,   438,   439,   440,    12,     0,     0,     0,     0,    13,
                   1431:      0,    73,    74,     0,     0,     0,    16,    75,    76,     0,
                   1432:      0,     0,     0,     0,     0,    77,    78,    79,    80,     0,
                   1433:      0,    81,    82,    83,    84,    85,    86,    87,    88,    89,
                   1434:     90,    91,    92,    93,    94,    95,    96,    97,     0,    98,
                   1435:     99,     0,     0,   100,   101,     0,     0,     0,   102,     0,
                   1436:      0,     0,     0,     0,     0,     0,     0,     0,   356,    23,
                   1437:    215,   129,     6,     7,     8,   357,   217,   213,   203,   218,
                   1438:     10,   103,   104,     0,     0,     0,     0,     0,     0,     0,
                   1439:      0,     0,     0,     0,    12,   219,   220,   221,     0,    13,
                   1440:      0,   222,  -225,     0,   223,    15,    16,     0,     0,     0,
                   1441:    224,   421,   422,   423,     0,     0,   424,   425,   426,   427,
                   1442:    428,   429,   430,   431,   432,   225,   434,   435,   436,   437,
                   1443:    438,   439,   440,   226,   227,   228,     0,     0,     0,   229,
                   1444:    230,     0,     0,     0,     0,     0,     0,   231,     0,     0,
                   1445:      0,     0,     0,     0,     0,     0,     0,     0,   204,    23,
                   1446:      0,     0,     0,     0,     0,     0,     0,     0,  -598,     0,
                   1447:      0,   232,   233,   543,     0,   215,   129,     6,     7,     8,
                   1448:    357,   217,   213,   203,   218,    10,   428,   429,   430,   431,
                   1449:    432,   433,   434,   435,   436,   437,   438,   439,   440,    12,
                   1450:    219,   220,   221,     0,    13,     0,   222,  -225,     0,   223,
                   1451:     15,    16,     0,     0,     0,   224,   427,   428,   429,   430,
                   1452:    431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
                   1453:    225,     0,     0,     0,     0,     0,     0,     0,   226,   227,
                   1454:    228,     0,     0,     0,   229,   230,     0,     0,     0,     0,
                   1455:      0,     0,   231,     0,     0,     0,     0,     0,     0,     0,
                   1456:      0,     0,     0,   204,    23,     0,     0,     0,     0,     0,
                   1457:      0,     0,     0,  -598,     0,     0,   232,   233,   763,     0,
                   1458:    215,   129,     6,     7,     8,   357,   217,   213,   203,   218,
                   1459:     10,   429,   430,   431,   432,   433,   434,   435,   436,   437,
                   1460:    438,   439,   440,     0,    12,   219,   220,   221,     0,    13,
                   1461:      0,   222,  -225,     0,   223,    15,    16,     0,     0,     0,
                   1462:    224,     0,     0,     0,     0,     0,     0,     0,     0,     0,
                   1463:      0,     0,     0,     0,     0,   225,     0,     0,     0,     0,
                   1464:      0,     0,     0,   226,   227,   228,     0,     0,     0,   229,
                   1465:    230,     0,     0,     0,     0,     0,     0,   231,     0,     0,
                   1466:      0,     0,     0,     0,     0,     0,     0,     0,   204,    23,
                   1467:      0,     0,     0,     0,     0,     0,     0,     0,  -598,     0,
                   1468:      0,   232,   233,   814,     0,   215,   129,     6,     7,     8,
                   1469:    357,   217,   213,   203,   218,    10,     0,     0,     0,     0,
                   1470:      0,     0,     0,     0,     0,     0,     0,     0,     0,    12,
                   1471:    219,   220,   221,     0,    13,     0,   222,  -225,     0,   223,
                   1472:     15,    16,     0,     0,     0,   224,     0,     0,     0,     0,
                   1473:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
                   1474:    225,     0,     0,     0,     0,     0,     0,     0,   226,   227,
                   1475:    228,     0,     0,     0,   229,   230,     0,     0,     0,     0,
                   1476:      0,     0,   231,     0,     0,     0,     0,     0,     0,     0,
                   1477:      0,     0,     0,   204,    23,     0,     0,     0,     0,     0,
                   1478:      0,     0,     0,  -598,     0,     0,   232,   233,   818,     0,
                   1479:    215,   129,     6,     7,     8,   357,   217,   213,   203,   218,
                   1480:     10,     0,     0,     0,     0,     0,     0,     0,     0,     4,
                   1481:    119,     0,     0,     0,    12,   219,   220,   221,     0,    13,
                   1482:      0,   222,  -225,     0,   223,    15,    16,     0,     0,     0,
                   1483:    224,     0,     0,     0,     0,     0,     0,     0,     0,     0,
                   1484:      0,     0,     0,     0,    15,   225,     0,   600,     0,    19,
                   1485:      0,     0,     0,   226,   227,   228,     0,     0,     0,   229,
                   1486:    230,     0,     0,     0,   602,     0,     0,   231,     4,   145,
                   1487:      0,     0,     0,   273,   603,     0,     0,     0,   204,    23,
                   1488:      0,   261,     0,     0,     0,     0,   604,   263,  -598,     0,
                   1489:      0,   232,   233,   517,     0,   709,   710,     6,    23,     8,
                   1490:    398,   217,   213,    15,   218,    10,    17,     0,    19,     0,
                   1491:     27,     0,     0,     0,     0,     0,     0,     0,     0,    12,
                   1492:    219,   220,   221,   147,    13,     0,   222,  -225,     0,   223,
                   1493:     15,    16,     0,   148,     0,   224,     0,     0,     0,   518,
                   1494:    149,     0,     0,     0,     0,   150,     0,     0,     0,     0,
                   1495:    225,     0,     0,     0,     0,     0,     0,    23,   226,   227,
                   1496:    228,     0,     0,     0,   229,   230,     0,     0,     0,    27,
                   1497:      0,     0,   231,   711,   517,     0,   709,   710,     6,     0,
                   1498:      8,   398,   217,   213,   181,   218,    10,     0,     0,     0,
                   1499:      0,     0,     0,  1000,     0,   712,   232,   233,     0,     0,
                   1500:     12,   219,   220,   221,     0,    13,     0,   222,  -225,     0,
                   1501:    223,    15,    16,     0,     0,     0,   224,     0,     0,     0,
                   1502:    518,     0,     0,     0,     0,     0,     0,     0,     0,     0,
                   1503:      0,   225,     0,     0,     0,     0,     0,     0,     0,   226,
                   1504:    227,   228,     0,     0,     0,   229,   230,     0,     0,     0,
                   1505:      0,     0,     0,   231,     0,  1007,     0,   215,   129,     6,
                   1506:      7,     8,   357,   217,   213,   181,   218,    10,     0,     0,
                   1507:      0,     0,     0,     0,     0,     0,  1001,   232,   233,     0,
                   1508:      0,    12,   219,   220,   221,     0,    13,     0,   222,  -225,
                   1509:      0,   223,    15,    16,     0,     0,     0,   224,     0,     0,
                   1510:      0,  1008,     0,     0,     0,     0,     0,     0,     0,     0,
                   1511:      0,     0,   225,     0,     0,     0,     0,     0,     0,     0,
                   1512:    226,   227,   228,     0,     0,     0,   229,   230,     0,     0,
                   1513:      0,     0,     0,     0,   231,     0,   517,     0,   709,   710,
                   1514:      6,     0,     8,   398,   217,   213,    23,   218,    10,     0,
                   1515:      0,     0,     0,     0,     0,  1000,  1009,     0,   232,   233,
                   1516:      0,     0,    12,   219,   220,   221,     0,    13,     0,   222,
                   1517:   -225,     0,   223,    15,    16,     0,     0,     0,   224,     0,
                   1518:      0,     0,   518,     0,     0,     0,     0,     0,     0,     0,
                   1519:      0,     0,     0,   225,     0,     0,     0,     0,     0,     0,
                   1520:      0,   226,   227,   228,     0,     0,     0,   229,   230,     0,
                   1521:      0,     0,     0,     0,     0,   231,     0,   517,     0,   709,
                   1522:    710,     6,     0,     8,   398,   217,   213,   181,   218,    10,
                   1523:      0,     0,     0,     0,     0,     0,     0,     0,  -318,   232,
                   1524:    233,     0,     0,    12,   219,   220,   221,     0,    13,     0,
                   1525:    222,  -225,     0,   223,    15,    16,     0,     0,     0,   224,
                   1526:      0,     0,     0,   518,     0,     0,     0,     0,     0,     0,
                   1527:      0,     0,     0,     0,   225,     0,     0,     0,     0,     0,
                   1528:      0,     0,   226,   227,   228,     0,     0,     0,   229,   230,
                   1529:      0,     0,     0,     0,     0,     0,   231,   711,   413,     0,
                   1530:    215,   129,     6,     0,     8,   216,   217,   213,   181,   218,
                   1531:     10,     0,     0,     0,     0,     0,     0,     0,     0,     0,
                   1532:    232,   233,     0,     0,    12,   219,   220,   221,     0,    13,
                   1533:      0,   222,  -225,     0,   223,    15,    16,     0,     0,     0,
                   1534:    224,     0,     0,     0,  -198,     0,     0,     0,     0,     0,
                   1535:      0,     0,     0,     0,     0,   225,     0,     0,     0,     0,
                   1536:      0,     0,     0,   226,   227,   228,     0,     0,     0,   229,
                   1537:    230,     0,     0,     0,     0,     0,     0,   231,     0,   517,
                   1538:      0,   215,   129,     6,     0,     8,   398,   217,   213,    23,
                   1539:    218,    10,     0,     0,     0,     0,     0,     0,     0,     0,
                   1540:      0,   232,   233,     0,     0,    12,   219,   220,   221,     0,
                   1541:     13,     0,   222,  -225,     0,   223,    15,    16,     0,     0,
                   1542:      0,   224,     0,     0,     0,   518,     0,     0,     0,     0,
                   1543:      0,     0,     0,     0,     0,     0,   225,     0,     0,     0,
                   1544:      0,     0,     0,     0,   226,   227,   228,     0,     0,     0,
                   1545:    229,   230,     0,     0,     0,     0,     0,     0,   231,     0,
                   1546:    634,     0,   215,   129,     6,     0,     8,   398,   217,   213,
                   1547:     23,   218,    10,     0,     0,     0,     0,     0,     0,     0,
                   1548:      0,     0,   232,   233,     0,     0,    12,   219,   220,   221,
                   1549:      0,    13,     0,   222,  -225,     0,   223,    15,    16,     0,
                   1550:      0,     0,   224,     0,     0,     0,     0,     0,     0,     0,
                   1551:      0,  -588,     0,     0,     0,     0,     0,   225,     0,     0,
                   1552:      0,     0,     0,     0,     0,   226,   227,   228,     0,     0,
                   1553:      0,   229,   230,     0,     0,     0,     0,     0,     0,   231,
                   1554:      0,   634,     0,   215,   129,     6,     0,     8,   398,   217,
                   1555:    213,    23,   218,    10,     0,     0,     0,     0,     0,     0,
                   1556:      0,     0,     0,   232,   233,     0,     0,    12,   219,   220,
                   1557:    221,     0,    13,     0,   222,  -225,     0,   223,    15,    16,
                   1558:      0,     0,     0,   224,     0,     0,     0,     0,     0,     0,
                   1559:      0,     0,     0,     0,     0,     0,     0,     0,   225,     0,
                   1560:      0,     0,     0,     0,     0,     0,   226,   227,   228,     0,
                   1561:      0,     0,   229,   230,     0,     0,     0,     0,     0,     0,
                   1562:    231,     0,   634,     0,   215,   129,     6,     0,     8,   398,
                   1563:    217,   213,    23,   218,    10,     0,     0,     0,     0,     0,
                   1564:      0,     0,  -588,     0,   232,   233,     0,     0,    12,   219,
                   1565:    220,   221,     0,    13,     0,   222,  -225,     0,   223,    15,
                   1566:     16,     0,     0,     0,   224,     0,     0,     0,     0,     0,
                   1567:      0,     0,     0,     0,     0,     0,     0,     0,     0,   225,
                   1568:      0,     0,     0,     0,     0,     0,     0,   226,   227,   228,
                   1569:      0,     0,     0,   229,   230,     0,     0,     0,     0,     0,
                   1570:      0,   231,     0,   630,     0,   215,   129,     6,     0,     8,
                   1571:    398,   217,   213,    23,   218,    10,     0,     0,     0,     0,
                   1572:      0,     0,  -588,     0,     0,   232,   233,     0,     0,    12,
                   1573:    219,   220,   221,     0,    13,     0,   222,  -225,     0,   223,
                   1574:     15,    16,     0,     0,     0,   224,     0,     0,     0,     0,
                   1575:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
                   1576:    225,     0,     0,     0,     0,     0,     0,     0,   226,   227,
                   1577:    228,     0,     0,     0,   229,   230,     0,     0,     0,     0,
                   1578:      0,     0,   231,     0,     0,     0,   215,   129,     6,     0,
                   1579:      8,   398,   217,   213,    23,   218,    10,     0,     0,     0,
                   1580:      0,     0,     0,     0,     0,     0,   232,   233,     0,     0,
                   1581:     12,   219,   220,   221,     0,    13,     0,   222,     0,     0,
                   1582:    223,    15,    16,     0,     0,     0,   224,     3,     0,     4,
                   1583:      5,     6,     7,     8,     9,     0,     0,     0,     0,    10,
                   1584:      0,   225,     0,     0,     0,     0,     0,     0,     0,   226,
                   1585:    227,   228,    11,    12,     0,   229,   230,     0,    13,     0,
                   1586:      0,     0,    14,   231,    15,    16,     0,    17,    18,    19,
                   1587:      0,     0,     0,     0,     3,    23,     4,     5,     6,     7,
                   1588:      8,     9,     0,     0,    20,     0,    10,   232,   233,   663,
                   1589:      0,     0,     0,     0,    21,     0,     0,     0,     0,    11,
                   1590:     12,     0,     0,     0,     0,    13,    22,     0,     0,    14,
                   1591:      0,    15,    16,     0,    17,    18,    19,     0,    23,    24,
                   1592:     25,     4,   119,     0,     0,     0,   273,     0,    26,   495,
                   1593:     27,    20,   346,     0,     4,   129,     6,     7,     8,     9,
                   1594:      0,    21,     0,     0,    10,     0,     0,     0,     0,     0,
                   1595:      0,     0,     0,    22,     0,     0,    15,     0,    12,    17,
                   1596:      0,    19,     0,    13,  -357,    23,    24,    25,     0,    15,
                   1597:     16,     0,    17,     0,    19,    26,    20,    27,     0,     0,
                   1598:      0,     0,     0,   347,     0,     0,    21,     0,   346,    20,
                   1599:      4,   129,     6,     7,     8,     9,     0,     0,    22,    21,
                   1600:     10,     0,     0,     4,   119,     0,     0,     0,     0,     0,
                   1601:     23,    22,     0,     0,    12,     0,     0,     0,     0,    13,
                   1602:   -355,     0,    27,    23,     0,    15,    16,     0,    17,     0,
                   1603:     19,     0,     0,   576,  -357,    27,     0,     0,    15,   347,
                   1604:      0,    17,     0,    19,   346,    20,     4,   129,     6,     7,
                   1605:      8,     9,     0,     0,     0,    21,    10,     0,    20,     0,
                   1606:      0,     0,     0,     0,     0,     0,     0,    22,    21,     0,
                   1607:     12,     0,     0,     0,     0,    13,  -358,     0,     0,    23,
                   1608:     22,    15,    16,     0,    17,     0,    19,     0,     0,     0,
                   1609:   -355,    27,    23,     0,     0,   347,     0,     0,     0,     0,
                   1610:      0,    20,     0,     0,    27,     0,     0,     0,     0,     0,
                   1611:      0,    21,     0,     0,     0,     0,     0,     0,     0,     0,
                   1612:      0,     0,     0,    22,     0,     0,     0,     0,     0,     0,
                   1613:      0,     0,     0,     0,     0,    23,     0,     0,     0,     0,
                   1614:      0,     0,     0,     0,     0,     0,  -358,    27,   719,   129,
                   1615:      6,     7,     8,   357,   217,   213,     0,   218,    10,   720,
                   1616:      0,   721,   722,   723,   724,   725,   726,   727,   728,   729,
                   1617:    730,   731,    12,   219,   220,   221,     0,    13,     0,   222,
                   1618:      0,     0,   223,    15,    16,     0,     0,     0,   224,     0,
                   1619:      0,   732,   305,     0,     0,     0,     0,     0,     0,     0,
                   1620:      0,     0,     0,   225,     0,     0,     0,     0,     0,     0,
                   1621:      0,   226,   227,   228,     0,     0,     0,   229,   230,     0,
                   1622:      0,     0,     0,     0,     0,   231,     0,   733,     0,     0,
                   1623:    734,     0,     0,   735,   736,   737,     0,   738,     0,     0,
                   1624:      0,     0,     0,     0,     0,     0,     0,   739,   923,   232,
                   1625:    233,   719,   129,     6,     7,     8,   357,   217,   213,     0,
                   1626:    218,    10,   720,     0,   721,   722,   723,   724,   725,   726,
                   1627:    727,   728,   729,   730,   731,    12,   219,   220,   221,     0,
                   1628:     13,     0,   222,     0,     0,   223,    15,    16,     0,     0,
                   1629:      0,   224,     0,     0,   732,   305,     0,     0,     0,     0,
                   1630:      0,     0,     0,     0,     0,     0,   225,     4,   376,     0,
                   1631:      0,     0,     0,     0,   226,   227,   228,     0,     0,     0,
                   1632:    229,   230,     0,     0,     0,     0,     0,     0,   231,     0,
                   1633:    733,     0,     0,   734,     0,     0,   735,   736,   737,     0,
                   1634:    738,     0,    15,     0,     0,    17,     0,    19,     0,     0,
                   1635:    739,     0,   232,   233,   215,   129,     6,     0,     8,   398,
                   1636:    217,   213,    20,   218,    10,     0,     0,     0,     0,     0,
                   1637:      0,     0,    21,     0,     0,     0,     0,     0,    12,   219,
                   1638:    220,   221,     0,    13,    22,   222,     0,     0,   223,    15,
                   1639:     16,     0,     0,     0,   224,     0,   377,     0,     0,     0,
                   1640:      0,     0,     0,     0,     0,     0,     0,     0,    27,   225,
                   1641:      0,     0,     4,   145,     0,     0,     0,   226,   227,   228,
                   1642:      0,     0,     0,   229,   230,     0,     0,     0,     0,     0,
                   1643:      0,   231,   452,     0,     0,   215,   129,     6,     0,     8,
                   1644:    398,   217,   213,    23,   218,    10,     0,    15,     0,     0,
                   1645:     17,     0,    19,     0,     0,   232,   233,     0,     0,    12,
                   1646:    219,   220,   221,     0,    13,     0,   222,   147,     0,   223,
                   1647:     15,    16,     0,     0,     0,   224,     0,   148,     0,   840,
                   1648:      0,     0,     0,     0,   149,     0,     0,     0,     0,   150,
                   1649:    225,     0,     0,     4,   119,     0,     0,     0,   226,   227,
                   1650:    228,    23,     0,     0,   229,   230,     0,     0,     0,     0,
                   1651:      0,     0,   231,    27,     0,     0,   215,   129,     6,     0,
                   1652:      8,   398,   217,   213,    23,   218,    10,     0,    15,     0,
                   1653:      0,    17,     0,    19,     0,     0,   232,   233,     0,     0,
                   1654:     12,   219,   220,   221,     0,    13,     0,   222,   317,     0,
                   1655:    223,    15,    16,     0,     0,     0,   224,     0,   318,     0,
                   1656:      0,     0,     0,     0,     0,   319,     0,     0,     0,     0,
                   1657:    320,   225,     0,     0,     4,   119,     0,     0,     0,   226,
                   1658:    227,   228,    23,     0,     0,   229,   230,     0,     0,     0,
                   1659:      0,     0,     0,   231,    27,     0,     0,   215,   129,     6,
                   1660:      0,     8,   398,   217,   213,    23,   218,    10,     0,    15,
                   1661:      0,     0,    17,     0,    19,   892,     0,   232,   233,     0,
                   1662:      0,    12,   219,   220,   221,     0,    13,     0,   222,   533,
                   1663:      0,   223,    15,    16,     0,     0,     0,   224,     0,   534,
                   1664:      0,     0,     0,     0,     0,     0,   319,     0,     0,     0,
                   1665:      0,   320,   225,     0,     0,     4,   376,     0,     0,     0,
                   1666:    226,   227,   228,    23,     0,     0,   229,   230,     0,     0,
                   1667:      0,     0,     0,     0,   231,    27,     0,     0,   215,   129,
                   1668:      6,     0,     8,   216,   217,   213,    23,   218,    10,     0,
                   1669:     15,     0,     0,    17,     0,    19,   904,     0,   232,   233,
                   1670:      0,     0,    12,   219,   220,   221,     0,    13,     0,   222,
                   1671:    548,     0,   223,    15,    16,     0,     0,     0,   224,     0,
                   1672:    549,     0,     0,     0,     0,     0,     0,     0,     0,     0,
                   1673:      0,     0,    22,   225,     0,     0,     0,     0,     0,     0,
                   1674:      0,   226,   227,   228,   377,     0,     0,   229,   230,     0,
                   1675:      0,     0,     0,     0,     0,   231,    27,     0,     0,   215,
                   1676:    129,     6,     0,     8,   398,   217,   213,    23,   218,    10,
                   1677:      0,     0,     0,     0,     0,     0,     0,     0,     0,   232,
                   1678:    233,     0,     0,    12,   219,   220,   221,     0,    13,     0,
                   1679:    222,     0,     0,   223,    15,    16,     0,     0,     0,   224,
                   1680:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
                   1681:      0,     0,     0,     0,   225,     0,     0,     0,     0,     0,
                   1682:      0,     0,   226,   227,   228,     0,     0,     0,   229,   230,
                   1683:      0,     0,     0,     0,     0,     0,   231,     0,     0,     0,
                   1684:    215,   624,     6,     0,     8,   398,   217,   213,    23,   218,
                   1685:     10,     0,     0,     0,     0,     0,     0,     0,     0,     0,
                   1686:    232,   233,     0,     0,    12,   219,   220,   221,     0,    13,
                   1687:      0,   222,     0,     0,   223,    15,    16,     0,     0,     0,
                   1688:    224,     0,     0,     0,     0,     0,     0,     0,     0,     0,
                   1689:      0,     0,     0,     0,     0,   225,     0,     0,     0,     0,
                   1690:      0,     0,     0,   226,   227,   228,     0,     0,     0,   229,
                   1691:    230,     0,     0,     0,   215,   129,     6,   231,     8,   398,
                   1692:    217,   213,     0,   218,    10,     0,     0,     0,     0,    23,
                   1693:      0,     0,     0,     0,     0,     0,     0,     0,    12,   219,
                   1694:      0,   232,   233,    13,     0,   222,     0,     0,   223,    15,
                   1695:     16,     0,     0,     0,   224,     0,     0,     0,     0,     0,
                   1696:      0,     0,     0,     0,     0,     0,     0,     0,     0,   225,
                   1697:      0,     0,     0,     0,     0,     0,     0,   226,   227,   228,
                   1698:      0,     0,     0,   229,   230,     0,     0,     0,   215,   129,
                   1699:      6,   399,     8,   398,   217,   213,     0,   218,    10,     0,
                   1700:      0,     0,     0,    23,     0,     0,     0,     0,     0,     0,
                   1701:      0,     0,    12,   219,     0,   232,   233,    13,     0,   222,
                   1702:      0,     0,   223,    15,    16,     0,     0,     0,   224,     0,
                   1703:      0,     4,   129,     6,     7,     8,     9,     0,     0,   203,
                   1704:      0,    10,     0,   225,     0,     0,     0,     0,     0,     0,
                   1705:      0,   226,   227,   228,     0,    12,     0,   229,   230,     0,
                   1706:     13,     0,     0,     0,     0,   403,    15,    16,     0,   600,
                   1707:      0,    19,     0,     0,     0,     0,     0,    23,     0,     0,
                   1708:      0,     0,     0,     0,     0,     0,   602,     0,     0,   232,
                   1709:    233,     0,     0,     0,     0,     0,   603,     0,     0,     0,
                   1710:      0,     0,     0,   261,     0,     0,     0,     0,   604,   263,
                   1711:      0,     4,   159,     6,   160,     8,   161,     0,     0,   204,
                   1712:     23,    10,     0,     0,     0,     0,     0,     0,     0,     0,
                   1713:      0,     0,    27,     0,     0,    12,     0,     0,     0,     0,
                   1714:     13,     0,     0,     0,     0,     0,    15,    16,     0,    17,
                   1715:      0,    19,   146,     0,     0,     0,     0,     0,     0,     0,
                   1716:      0,     0,     0,     0,     0,     0,   147,     4,   129,     6,
                   1717:      7,     8,     9,     0,     0,   203,   148,    10,     0,     0,
                   1718:      0,     0,     0,   149,     0,     0,     0,     0,   150,     0,
                   1719:      0,    12,     0,     0,     0,     0,    13,     0,     0,     0,
                   1720:     23,     0,    15,    16,     0,    17,     0,    19,     0,     0,
                   1721:    162,     0,    27,     0,     0,     0,     0,     0,     0,     0,
                   1722:      0,     0,   317,     4,   159,     6,   160,     8,   161,     0,
                   1723:      0,     0,   318,    10,     0,     0,     0,     0,     0,   319,
                   1724:      0,     0,     0,     0,   320,     0,     0,    12,     0,     0,
                   1725:      0,     0,    13,     0,     0,   204,    23,     0,    15,    16,
                   1726:      0,    17,     0,    19,   146,     0,     0,     0,    27,     0,
                   1727:      4,   159,     6,   160,     8,   161,     0,     0,   147,     0,
                   1728:     10,     0,     0,     0,     0,     0,     0,     0,   148,     0,
                   1729:      0,     0,     0,     0,    12,   149,     0,     0,     0,    13,
                   1730:    150,     0,     0,     0,     0,    15,    16,     0,    17,     0,
                   1731:     19,   146,    23,     0,     0,     0,     0,     0,     0,     0,
                   1732:      0,     0,   911,     0,    27,   147,     4,   129,     6,     7,
                   1733:      8,     9,     0,     0,     0,   148,    10,     0,     0,     0,
                   1734:      0,     0,   149,     0,     0,     0,     0,   150,     0,     0,
                   1735:     12,     0,     0,     0,     0,    13,     0,     0,     0,    23,
                   1736:      0,    15,    16,     0,    17,     0,    19,     0,     0,     0,
                   1737:      0,    27,     0,     0,     0,     0,   129,     6,     7,     8,
                   1738:      9,    20,     0,   203,     0,    10,     0,     0,     0,     0,
                   1739:      0,    21,     0,     0,     0,     0,     0,    71,     6,    12,
                   1740:      8,   268,     0,    22,    13,     0,    10,     0,     0,     0,
                   1741:      0,    16,     0,   257,     0,    23,     0,     0,     0,     0,
                   1742:     12,     0,     0,     0,     0,    13,     0,    27,     0,     0,
                   1743:    259,     0,    16,     0,   257,     0,     0,   258,     0,     0,
                   1744:    260,     0,     0,     0,     0,     0,     0,   261,     0,     0,
                   1745:      0,   259,   262,   263,     0,     0,     0,     0,     0,     0,
                   1746:      0,   260,     0,   204,    23,     0,     0,     0,   261,     0,
                   1747:      0,     0,     0,   262,   263,     0,     0,     0,     0,     0,
                   1748:      0,   421,   422,   423,     0,    23,   424,   425,   426,   427,
                   1749:    428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
                   1750:    438,   439,   440,   421,   422,   423,     0,     0,   424,   425,
                   1751:    426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
                   1752:    436,   437,   438,   439,   440,     0,     0,     0,     0,     0,
                   1753:      0,     0,     0,  -139,   421,   422,   423,     0,   998,   424,
                   1754:    425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
                   1755:    435,   436,   437,   438,   439,   440,   781,   782,   421,   422,
                   1756:    423,  1121,     0,   424,   425,   426,   427,   428,   429,   430,
                   1757:    431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
                   1758:    421,   422,   423,     0,     0,   424,   425,   426,   427,   428,
                   1759:    429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
                   1760:    439,   440,   423,     0,     0,   424,   425,   426,   427,   428,
                   1761:    429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
                   1762:    439,   440,   426,   427,   428,   429,   430,   431,   432,   433,
                   1763:    434,   435,   436,   437,   438,   439,   440
                   1764: };
                   1765: 
                   1766: static const short yycheck[] = {     1,
                   1767:      2,   263,    10,    67,    39,    66,    15,   139,   140,    17,
                   1768:     15,     1,     2,    15,    44,   106,    15,    22,   146,   352,
                   1769:     67,    19,   250,   272,   272,   299,   744,    40,    30,   295,
                   1770:    558,   189,   225,    38,   587,   228,    44,    39,   751,   232,
                   1771:    753,   234,   150,   932,   933,    40,   224,    48,   140,   242,
                   1772:    111,   702,   509,   218,   219,    60,   138,    43,    60,   325,
                   1773:    225,    38,    39,   228,    60,    67,    48,   232,   330,   234,
                   1774:     33,   980,     3,    52,    26,    10,    43,   242,   383,    31,
                   1775:     83,   386,    48,   540,     3,     4,    10,    90,    10,     8,
                   1776:     33,    48,     3,     4,   107,    10,    48,    63,    50,   102,
                   1777:    101,     3,     4,   108,   112,    80,   108,    38,     3,     4,
                   1778:      5,   116,   117,   118,   258,   389,   102,   125,   262,    38,
                   1779:    122,   103,    41,   102,    43,   130,   128,    38,    52,   131,
                   1780:     41,    10,     3,     4,   101,     3,     4,   386,   128,    58,
                   1781:    103,   146,     3,     4,   101,   150,   134,    48,    43,    68,
                   1782:    102,   164,   310,   130,   131,   246,    75,   170,   249,   157,
                   1783:    103,    80,    81,  1072,   152,   693,   101,   231,   173,   164,
                   1784:    302,   303,   304,    92,    48,   170,    47,   101,   166,   101,
                   1785:    733,    92,   735,    51,   231,   104,   101,   315,   316,   191,
                   1786:     92,   196,   194,   104,   199,     0,   201,    92,   194,   201,
                   1787:     95,   206,   103,   211,   206,   201,   196,     3,     4,   927,
                   1788:    302,   303,   320,   931,   202,     3,     4,     5,   869,   301,
                   1789:     48,    92,   101,   485,    92,     3,     4,     1,   102,   231,
                   1790:    408,    92,   498,   461,   247,    80,    47,     8,    47,   244,
                   1791:    697,    52,    38,    52,   249,    41,    48,   249,  1137,  1138,
                   1792:     32,    48,     3,   266,    58,    43,   269,     3,     4,     5,
                   1793:    262,    63,    48,    41,    68,     3,     4,   272,     6,    48,
                   1794:    272,   266,    62,    47,   102,    21,   538,    63,     3,     4,
                   1795:      3,     4,   284,   415,   550,     3,     4,    48,    48,   297,
                   1796:     48,   102,   297,   102,   284,    33,    92,    43,    80,   287,
                   1797:      3,     4,    80,     6,    92,   102,   103,    95,   104,   373,
                   1798:    315,   316,    83,   343,    92,   320,    41,   364,   775,    90,
                   1799:    333,   326,   101,    41,     1,     2,   331,   329,    51,    48,
                   1800:     33,   475,   476,   329,    62,   399,   102,   103,   333,   403,
                   1801:    868,   102,   102,   101,   349,    22,    92,   360,   350,    95,
                   1802:    352,   339,   399,    30,    92,    11,   403,   103,   405,   406,
                   1803:     48,    38,    39,    52,    48,   360,   354,    92,   373,    92,
                   1804:      1,   373,   349,   350,    92,  1088,   423,   382,   383,   102,
                   1805:    103,    41,    52,   102,   386,    48,   394,   451,    41,    92,
                   1806:    522,   379,    48,    24,    48,    26,    52,   399,     3,     4,
                   1807:     31,   403,   449,   531,   532,   452,    24,     3,     4,  1127,
                   1808:    102,   103,   101,    48,   102,    48,    47,    48,   102,    50,
                   1809:     80,    52,   102,   103,    48,    41,    47,    80,    81,    47,
                   1810:    522,   101,    50,    38,    52,    91,    48,    48,   101,   116,
                   1811:    117,   118,   691,   691,    24,    43,   451,   101,   101,   451,
                   1812:    458,   128,    83,   130,   131,   460,    41,   601,   566,    90,
                   1813:    604,   491,    48,   571,    80,    81,   101,    48,   101,   146,
                   1814:    663,   102,    52,   150,   487,     7,     8,   101,    39,   484,
                   1815:     48,    13,   484,   491,   102,   101,    47,    92,   484,   101,
                   1816:    101,   493,   487,    34,    48,    80,   173,    41,   663,    41,
                   1817:     32,    41,    43,    41,    43,    48,    52,    39,   516,    41,
                   1818:    518,     3,     4,    52,   191,   101,    62,     3,     4,   196,
                   1819:    101,    41,   199,    47,   790,   527,   531,   532,   558,    41,
                   1820:    591,    43,   798,   101,    48,   537,    80,    81,    80,    81,
                   1821:     80,   537,    80,    81,     1,    48,    38,   101,    80,    41,
                   1822:      3,    43,    44,   827,   828,   563,     9,   101,   101,   101,
                   1823:     80,    81,   570,   101,   566,    51,    58,   244,    80,   571,
                   1824:    566,    48,    48,    48,    48,   571,    68,   851,     3,   567,
                   1825:     41,   101,   587,    75,   572,   262,   103,   101,    80,    81,
                   1826:     47,    48,   600,   595,    10,   597,   601,   587,   101,   595,
                   1827:     92,   597,   604,   877,   878,    47,    92,   284,   616,    34,
                   1828:   1163,    41,   104,    38,    41,    26,   102,   103,    43,    80,
                   1829:    297,   609,   106,    50,   101,   101,   101,   101,    41,    52,
                   1830:    963,   759,   760,     6,     7,     8,    47,    41,   315,   316,
                   1831:     13,    52,    41,   320,    41,   773,   774,   194,   661,   326,
                   1832:     80,   660,    41,    80,   331,   660,    41,    41,   660,    32,
                   1833:    853,   660,    41,   693,    83,    47,    39,    80,    41,    47,
                   1834:     52,    90,   349,   350,    52,   352,    80,    81,   725,   823,
                   1835:    824,    80,   729,    80,    81,     8,   691,     3,   853,   691,
                   1836:    737,    80,    81,   967,    47,    80,    80,   705,    43,    52,
                   1837:    705,    80,    81,   103,    83,   382,   383,    80,   743,   386,
                   1838:     96,    90,    26,    24,   102,    26,    52,   861,   862,    68,
                   1839:     69,    70,   730,   102,   998,   733,   106,    83,   733,    80,
                   1840:    735,   101,    43,    47,    90,    50,    47,   742,    52,    50,
                   1841:    103,   743,   744,   733,   808,   735,   102,   777,   750,   751,
                   1842:   1008,   753,    48,   300,   759,   760,   847,   848,    52,    53,
                   1843:    102,   103,  1028,    80,  1022,   742,   743,  1025,   773,   774,
                   1844:     81,    41,    83,  1047,   102,   103,   102,   103,  1052,    90,
                   1845:    102,   103,   329,   460,   845,    80,   791,     3,     4,    80,
                   1846:   1056,   101,   103,   102,   103,    35,  1070,    10,   786,   801,
                   1847:    218,   219,   101,   808,     3,   106,   808,   795,  1082,    26,
                   1848:     80,    81,    47,    83,   791,   103,   106,   101,   823,   824,
                   1849:     90,   101,    38,   106,     3,    41,    48,    43,    44,    80,
                   1850:     31,    50,   840,   821,  1108,   101,   883,    48,   868,   886,
                   1851:    887,   102,    58,   848,   101,   101,   848,  1121,   101,    51,
                   1852:    397,   101,    68,   101,   531,   532,    32,  1119,  1120,    75,
                   1853:    106,   106,   106,   102,    80,   102,  1140,     6,     7,     8,
                   1854:    878,   102,   102,   101,    13,   101,    92,    66,    67,    68,
                   1855:     69,    70,   106,   885,   886,   932,   933,    48,   104,   566,
                   1856:     52,    50,    52,    32,   571,     4,     5,     6,     7,     8,
                   1857:     39,   448,   122,    80,    13,    50,    50,   103,   101,   101,
                   1858:    587,   101,    52,     1,   922,   101,   921,   101,    27,   466,
                   1859:     50,   909,    80,    32,   601,   927,   914,   604,   106,   931,
                   1860:     39,   921,   934,   106,   101,   106,    24,    92,    26,    52,
                   1861:     52,    52,     1,    31,     3,     4,     5,     6,     7,     8,
                   1862:     52,    80,    80,    41,    13,    80,    52,  1018,  1005,    47,
                   1863:     48,   963,    50,     8,    52,   512,   102,  1014,    27,     7,
                   1864:      8,   959,    47,    32,   194,    13,   102,    47,   102,    38,
                   1865:     39,    15,    41,    92,    43,   101,     1,     2,   106,    50,
                   1866:    537,   101,    80,    81,    32,    83,   101,   101,    80,    58,
                   1867:    101,    39,    90,   101,     7,     8,   101,    22,   101,    68,
                   1868:     13,   103,    80,  1015,   102,    30,   102,   102,    80,   102,
                   1869:     50,    80,   102,   102,    39,   245,   102,    50,   705,    32,
                   1870:    102,  1033,    52,    92,    93,     3,    39,    48,    41,    52,
                   1871:     16,     1,     2,   102,   101,   104,   101,   101,   595,   102,
                   1872:    597,   103,     6,     7,     8,   102,   733,   101,   735,    13,
                   1873:   1192,  1193,  1070,  1051,    47,   742,   743,   102,    80,   102,
                   1874:     30,  1059,   103,   102,   102,    81,    81,    80,    32,   299,
                   1875:    300,  1213,   759,   760,   101,    39,  1088,    52,    50,  1091,
                   1876:   1137,  1138,   101,    80,    10,   102,   773,   774,   102,    87,
                   1877:     60,   116,   117,   118,  1151,    41,   102,   101,   106,   329,
                   1878:     80,   658,   101,   128,   791,   106,    48,    80,     3,  1183,
                   1879:    101,  1123,   669,   101,   801,  1127,  1128,   347,   102,  1176,
                   1880:    677,   146,   101,     1,     2,   150,    72,    73,   102,    10,
                   1881:     76,    77,    78,    79,    80,    81,   823,   824,  1150,   102,
                   1882:      1,     2,   101,  1155,    10,   102,     0,     2,  1163,     0,
                   1883:    707,   127,    30,   286,   691,   138,   491,   128,   128,   389,
                   1884:    128,    22,   705,  1163,   744,   493,   191,   397,  1183,    30,
                   1885:    750,  1183,   776,  1072,   199,   886,  1194,    38,    39,     8,
                   1886:    742,   269,    60,  1195,  1196,   326,   840,   164,    41,  1115,
                   1887:    420,   421,   422,   618,   424,   425,   426,   427,   428,   429,
                   1888:    430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
                   1889:    440,    30,    41,    30,   777,   756,   934,   447,   448,    72,
                   1890:     73,   191,   801,    76,   194,    78,   350,    80,    81,    58,
                   1891:    394,   201,   616,   320,   921,   928,   466,     3,     4,    68,
                   1892:      6,     7,     8,  1179,    41,   206,    75,   934,   808,  1177,
                   1893:    128,    80,    81,   921,    -1,   116,   117,   118,    -1,   284,
                   1894:     -1,    58,    -1,   493,    -1,    -1,    32,   128,    -1,   130,
                   1895:    131,    68,    -1,    -1,    -1,    -1,   963,    -1,    75,    -1,
                   1896:     46,    47,   512,    80,    81,   146,    -1,    -1,   518,   150,
                   1897:    315,   316,   262,   850,    -1,   320,    -1,    -1,    -1,    -1,
                   1898:     -1,   858,   272,    -1,    -1,   885,   331,   537,    -1,    -1,
                   1899:     -1,    -1,   173,   191,   284,    -1,   194,    -1,   875,    -1,
                   1900:     -1,    -1,    -1,   201,    -1,    -1,    92,   352,    -1,    -1,
                   1901:    191,    97,    98,    99,   564,   565,    -1,    -1,   199,    -1,
                   1902:      3,     4,     5,     6,     7,     8,    -1,   927,    11,    -1,
                   1903:     13,   931,    -1,    -1,    -1,    -1,    -1,   382,   383,   329,
                   1904:     -1,   386,    -1,   224,    27,   595,    -1,   597,    -1,    32,
                   1905:     -1,    -1,    -1,    -1,    -1,    38,    39,    -1,    41,    -1,
                   1906:     43,    44,   352,   244,   262,   615,    -1,     4,     5,   250,
                   1907:      7,     8,    -1,    -1,   272,    58,    13,    41,    -1,   629,
                   1908:     44,    -1,    -1,    -1,    -1,    68,   284,    -1,    -1,    -1,
                   1909:     27,    -1,    75,    -1,    58,    32,   386,    80,    81,    -1,
                   1910:     -1,    -1,    39,   284,    68,    -1,    -1,    -1,   658,    92,
                   1911:     -1,    75,    -1,    -1,    -1,  1015,    80,    81,    -1,   669,
                   1912:     -1,   104,    -1,    -1,    20,    21,    -1,   677,    -1,    -1,
                   1913:     -1,   329,    -1,  1033,   315,   316,    -1,     4,     5,   320,
                   1914:      7,     8,     3,     4,  1021,   326,    13,  1024,    -1,    -1,
                   1915:    331,    -1,    -1,    -1,   352,    92,  1163,   707,    -1,    -1,
                   1916:     27,   711,    58,    -1,    -1,    32,    -1,    -1,   349,   350,
                   1917:     -1,   352,    39,    -1,    -1,    -1,    -1,    38,    -1,    75,
                   1918:     41,    -1,    43,    44,    -1,    -1,   531,   532,   386,    -1,
                   1919:     -1,  1091,    -1,    -1,   484,    -1,    -1,    58,    -1,    -1,
                   1920:     -1,   382,   383,    -1,    -1,   386,    -1,    68,    -1,    -1,
                   1921:     -1,    -1,    -1,    -1,    75,    -1,    -1,    -1,    -1,    80,
                   1922:     -1,   566,    -1,  1123,    -1,    92,   571,  1127,  1128,    -1,
                   1923:     -1,    92,     1,   783,     3,     4,     5,     6,     7,     8,
                   1924:     -1,   102,    -1,   104,    13,    -1,    -1,   537,    -1,    -1,
                   1925:   1150,   147,   148,    -1,    -1,  1155,   601,    -1,    27,   604,
                   1926:     -1,    -1,    -1,    32,    33,    -1,    -1,    -1,    -1,    38,
                   1927:     39,    -1,    41,    -1,    43,    -1,   566,   827,   828,   460,
                   1928:    461,   571,    -1,    52,    -1,    -1,   484,    -1,    -1,    58,
                   1929:    840,    -1,   842,    -1,    -1,  1195,  1196,   193,    -1,    68,
                   1930:    850,   851,    -1,    -1,   200,   595,    -1,   597,   858,    -1,
                   1931:     -1,    80,    -1,    -1,   604,    -1,    -1,     4,     5,    -1,
                   1932:      7,     8,    -1,    92,    -1,   875,    13,   877,   878,    -1,
                   1933:      1,    -1,    -1,   102,   103,   104,    -1,    -1,    -1,   537,
                   1934:     27,    -1,    -1,    -1,    -1,    32,    -1,    -1,    -1,    -1,
                   1935:    531,   532,    39,    24,    -1,    26,    -1,    -1,    -1,    46,
                   1936:     31,   257,    -1,   259,   260,    -1,    -1,    -1,   566,    -1,
                   1937:     41,    -1,    -1,   571,    -1,    -1,    47,    48,    -1,    50,
                   1938:     -1,    52,    -1,    -1,    -1,   566,    -1,    -1,    -1,    -1,
                   1939:    571,    -1,    -1,    80,    -1,    -1,    -1,   595,   743,   597,
                   1940:     -1,   691,    -1,     3,     4,    92,   604,   957,   958,    80,
                   1941:     81,    -1,    83,    -1,   759,   760,    -1,   967,    -1,    90,
                   1942:    601,   317,   318,   604,    -1,    -1,    -1,    -1,   773,   774,
                   1943:     -1,   102,   328,    -1,    -1,    -1,    -1,    -1,    38,    -1,
                   1944:     -1,    41,    -1,    43,    44,    -1,    46,    -1,   998,    -1,
                   1945:   1000,    -1,    52,    -1,    -1,    -1,   801,    -1,    58,    -1,
                   1946:     -1,     4,     5,     6,     7,     8,    -1,    -1,    68,    -1,
                   1947:     13,  1021,    -1,    -1,  1024,    75,    -1,    -1,   823,   824,
                   1948:     80,    -1,    -1,    -1,    27,    -1,    -1,    -1,   384,    32,
                   1949:     -1,   672,    92,   691,    -1,    -1,    39,  1047,    -1,    -1,
                   1950:     -1,    -1,  1052,  1053,   104,     3,     4,     5,     6,     7,
                   1951:      8,   801,    -1,     3,     4,    13,     6,     7,     8,    -1,
                   1952:   1070,    -1,    -1,    -1,     4,     5,     6,     7,     8,    27,
                   1953:     -1,    11,  1082,    13,    32,    -1,    -1,    -1,    -1,    -1,
                   1954:     38,    39,    32,    41,    -1,    43,    44,    27,    46,    92,
                   1955:     -1,    -1,    32,    -1,    52,    -1,    46,    47,  1108,    39,
                   1956:     58,   742,   743,    64,    65,    66,    67,    68,    69,    70,
                   1957:     68,  1121,    -1,    -1,    -1,    -1,    -1,    75,   759,   760,
                   1958:     -1,    -1,    80,    -1,    -1,    -1,    -1,   483,    -1,   934,
                   1959:   1140,    -1,   773,   774,    92,    -1,    -1,    -1,    -1,    -1,
                   1960:     -1,    -1,    92,   801,    -1,    -1,   104,    97,    98,    99,
                   1961:    791,    91,    92,    -1,    -1,    -1,    -1,    -1,   963,    -1,
                   1962:    801,    -1,     0,     1,    -1,     3,     4,     5,     6,     7,
                   1963:      8,    -1,    -1,    -1,    -1,    13,    -1,   533,   534,    -1,
                   1964:    536,    -1,   823,   824,   934,    -1,    -1,    -1,    26,    27,
                   1965:     -1,    -1,   548,   549,    32,    -1,     3,     4,    36,    -1,
                   1966:     38,    39,    -1,    41,    42,    43,    -1,   563,    -1,    -1,
                   1967:     -1,    -1,    -1,   963,   570,    -1,    -1,    -1,    -1,    -1,
                   1968:     58,    -1,    -1,   579,   580,   581,    -1,    -1,    -1,    -1,
                   1969:     68,    38,    -1,    -1,    41,    -1,    43,    44,   594,    46,
                   1970:    596,    -1,    80,   599,   600,    52,   602,   603,    -1,    -1,
                   1971:     -1,    58,    -1,    -1,    92,    93,    94,    -1,    -1,    -1,
                   1972:     -1,    68,    -1,    -1,   102,    -1,   104,    -1,    75,    -1,
                   1973:     -1,    -1,    -1,    80,    -1,    -1,   934,    -1,    -1,    -1,
                   1974:     -1,    -1,    -1,    -1,    -1,    92,    -1,    -1,    -1,    -1,
                   1975:     -1,    -1,    -1,   934,    -1,    -1,    -1,   104,    -1,    -1,
                   1976:     -1,    -1,    -1,    -1,    -1,   963,    55,    56,    57,    58,
                   1977:     59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
                   1978:     69,    70,   963,    -1,   680,   681,    -1,    -1,   684,    -1,
                   1979:     -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,     3,
                   1980:      4,     5,     6,     7,     8,     9,    10,    -1,    12,    13,
                   1981:     14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
                   1982:     24,    25,    26,    27,    28,    29,    30,    -1,    32,    -1,
                   1983:     34,    35,    -1,    37,    38,    39,    -1,    -1,    -1,    43,
                   1984:     -1,    -1,    46,    47,    61,    62,    63,    64,    65,    66,
                   1985:     67,    68,    69,    70,    58,    -1,    -1,    -1,    -1,    -1,
                   1986:     -1,    -1,    66,    67,    68,    -1,    -1,    -1,    72,    73,
                   1987:     -1,    -1,    -1,   769,   770,   771,    80,    -1,    82,    -1,
                   1988:     84,    85,    86,    -1,    88,    89,    90,    -1,    92,    -1,
                   1989:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   102,   103,
                   1990:    104,   105,    -1,    -1,     1,    -1,     3,     4,     5,     6,
                   1991:      7,     8,     9,    10,    -1,    12,    13,    14,    -1,    16,
                   1992:     17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
                   1993:     27,    28,    29,    30,    -1,    32,    -1,    34,    35,    -1,
                   1994:     37,    38,    39,    -1,    -1,    -1,    43,    -1,    -1,    46,
                   1995:     47,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   1996:     -1,    58,     3,     4,    -1,    -1,    -1,    -1,   864,    66,
                   1997:     67,    68,    -1,    -1,    -1,    72,    73,    -1,    -1,    -1,
                   1998:     -1,    -1,    -1,    80,    -1,    82,    -1,    -1,    85,    -1,
                   1999:     -1,    88,    89,    90,    -1,    92,    -1,    38,    -1,    -1,
                   2000:     41,    -1,    43,    44,    -1,   102,   103,   104,   105,    -1,
                   2001:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,
                   2002:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,
                   2003:     -1,    -1,    -1,    -1,    75,    -1,    -1,    -1,    -1,    80,
                   2004:     -1,    -1,    -1,   939,   940,   941,    -1,    -1,    -1,    -1,
                   2005:     -1,    92,    -1,    -1,    -1,    -1,    -1,    -1,   954,    -1,
                   2006:     -1,   102,    -1,   104,    -1,    -1,   962,    -1,    -1,    -1,
                   2007:     -1,    -1,   968,   969,   970,   971,   972,   973,     1,    -1,
                   2008:      3,     4,     5,     6,     7,     8,     9,    10,    -1,    12,
                   2009:     13,    14,    -1,    16,    17,    18,    19,    20,    21,    22,
                   2010:     23,    24,    25,    26,    27,    28,    29,    30,    -1,    32,
                   2011:     -1,    34,    35,    -1,    37,    38,    39,    -1,    -1,    -1,
                   2012:     43,    -1,    -1,    46,    47,    -1,    -1,    -1,    -1,    -1,
                   2013:     -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,    -1,    -1,
                   2014:     -1,    -1,    -1,    66,    67,    68,    -1,    -1,    -1,    72,
                   2015:     73,    -1,    -1,    -1,    -1,    -1,    -1,    80,    -1,    82,
                   2016:     -1,    -1,    85,    -1,    -1,    88,    89,    90,    -1,    92,
                   2017:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   102,
                   2018:    103,   104,   105,     1,    -1,     3,     4,     5,     6,     7,
                   2019:      8,     9,    10,    -1,    12,    13,    14,    -1,    16,    17,
                   2020:     18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
                   2021:     28,    29,    30,    -1,    32,    -1,    34,    35,    -1,    37,
                   2022:     38,    39,    -1,    -1,    -1,    43,    -1,    -1,    46,    47,
                   2023:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2024:     58,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
                   2025:     68,    -1,    -1,    -1,    72,    73,    -1,    -1,    -1,    -1,
                   2026:     -1,    -1,    80,    -1,    82,    -1,    -1,    85,    -1,    -1,
                   2027:     88,    89,    90,    -1,    92,    -1,    -1,    -1,    -1,    -1,
                   2028:     -1,    -1,    -1,    -1,   102,   103,   104,   105,     1,    -1,
                   2029:      3,     4,     5,     6,     7,     8,     9,    10,    -1,    12,
                   2030:     13,    14,    -1,    16,    17,    18,    19,    20,    21,    22,
                   2031:     23,    24,    25,    26,    27,    28,    29,    30,    -1,    32,
                   2032:     -1,    34,    35,    -1,    37,    38,    39,    -1,    -1,    -1,
                   2033:     43,    -1,    -1,    46,    47,    -1,    -1,    -1,    -1,    -1,
                   2034:     -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,    -1,    -1,
                   2035:     -1,    -1,    -1,    66,    67,    68,    -1,    -1,    -1,    72,
                   2036:     73,    -1,    -1,    -1,    -1,    -1,    -1,    80,    -1,    82,
                   2037:     -1,    -1,    85,    -1,    -1,    88,    89,    90,    -1,    92,
                   2038:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   102,
                   2039:    103,   104,   105,     1,    -1,     3,     4,     5,     6,     7,
                   2040:      8,     9,    10,    -1,    12,    13,    14,    -1,    16,    17,
                   2041:     18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
                   2042:     28,    29,    30,    -1,    32,    -1,    34,    35,    -1,    37,
                   2043:     38,    39,    -1,    -1,    -1,    43,    -1,    -1,    46,    47,
                   2044:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2045:     58,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
                   2046:     68,    -1,    -1,    -1,    72,    73,    -1,    -1,    -1,    -1,
                   2047:     -1,    -1,    80,    -1,    82,    -1,    -1,    85,    -1,    -1,
                   2048:     88,    89,    90,    -1,    92,    -1,    -1,    -1,    -1,    -1,
                   2049:     -1,    -1,    -1,    -1,   102,   103,   104,   105,     1,    -1,
                   2050:      3,     4,     5,     6,     7,     8,     9,    10,    -1,    12,
                   2051:     13,    14,    -1,    16,    17,    18,    19,    20,    21,    22,
                   2052:     23,    24,    25,    26,    27,    28,    29,    30,    -1,    32,
                   2053:     -1,    34,    35,    -1,    37,    38,    39,    -1,    -1,    -1,
                   2054:     43,    -1,    -1,    46,    47,    -1,    -1,    -1,    -1,    -1,
                   2055:     -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,    -1,    -1,
                   2056:     -1,    -1,    -1,    66,    67,    68,    -1,    -1,    -1,    72,
                   2057:     73,    -1,    -1,    -1,    -1,    -1,    -1,    80,    -1,    82,
                   2058:     -1,    -1,    85,    -1,    -1,    88,    89,    90,    -1,    92,
                   2059:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   102,
                   2060:    103,   104,   105,     1,    -1,     3,     4,     5,     6,     7,
                   2061:      8,     9,    10,    -1,    12,    13,    14,    -1,    16,    17,
                   2062:     18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
                   2063:     28,    29,    30,    -1,    32,    -1,    34,    35,    -1,    37,
                   2064:     38,    39,    -1,    -1,    -1,    43,    -1,    -1,    46,    47,
                   2065:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2066:     58,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
                   2067:     68,    -1,    -1,    -1,    72,    73,    -1,    -1,    -1,    -1,
                   2068:     -1,    -1,    80,    -1,    82,    -1,    -1,    85,    -1,    -1,
                   2069:     88,    89,    90,    -1,    92,    -1,    -1,    -1,    -1,    -1,
                   2070:     -1,    -1,    -1,    -1,   102,    -1,   104,   105,     1,    -1,
                   2071:      3,     4,     5,     6,     7,     8,     9,    10,    -1,    12,
                   2072:     13,    14,    -1,    16,    17,    18,    19,    20,    21,    22,
                   2073:     23,    24,    25,    26,    27,    28,    29,    30,    -1,    32,
                   2074:     -1,    34,    35,    -1,    37,    38,    39,    -1,    -1,    -1,
                   2075:     43,    -1,    -1,    46,    47,    -1,    -1,    -1,    -1,    -1,
                   2076:     -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,    -1,    -1,
                   2077:     -1,    -1,    -1,    66,    67,    68,    -1,    -1,    -1,    72,
                   2078:     73,    -1,    -1,    -1,    -1,    -1,    -1,    80,    -1,    82,
                   2079:     -1,    -1,    85,    -1,    -1,    88,    89,    90,     1,    92,
                   2080:     -1,     4,     5,    -1,     7,     8,    -1,    -1,    -1,   102,
                   2081:     13,   104,   105,    60,    61,    62,    63,    64,    65,    66,
                   2082:     67,    68,    69,    70,    27,    -1,    -1,    -1,    -1,    32,
                   2083:     -1,    34,    35,    -1,    -1,    -1,    39,    40,    41,    -1,
                   2084:     -1,    -1,    -1,    -1,    -1,    48,    49,    50,    51,    -1,
                   2085:     -1,    54,    55,    56,    57,    58,    59,    60,    61,    62,
                   2086:     63,    64,    65,    66,    67,    68,    69,    70,    -1,    72,
                   2087:     73,    -1,    -1,    76,    77,    -1,    -1,    -1,    81,    -1,
                   2088:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,    92,
                   2089:      3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
                   2090:     13,   104,   105,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2091:     -1,    -1,    -1,    -1,    27,    28,    29,    30,    -1,    32,
                   2092:     -1,    34,    35,    -1,    37,    38,    39,    -1,    -1,    -1,
                   2093:     43,    49,    50,    51,    -1,    -1,    54,    55,    56,    57,
                   2094:     58,    59,    60,    61,    62,    58,    64,    65,    66,    67,
                   2095:     68,    69,    70,    66,    67,    68,    -1,    -1,    -1,    72,
                   2096:     73,    -1,    -1,    -1,    -1,    -1,    -1,    80,    -1,    -1,
                   2097:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,    92,
                   2098:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,
                   2099:     -1,   104,   105,     1,    -1,     3,     4,     5,     6,     7,
                   2100:      8,     9,    10,    11,    12,    13,    58,    59,    60,    61,
                   2101:     62,    63,    64,    65,    66,    67,    68,    69,    70,    27,
                   2102:     28,    29,    30,    -1,    32,    -1,    34,    35,    -1,    37,
                   2103:     38,    39,    -1,    -1,    -1,    43,    57,    58,    59,    60,
                   2104:     61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
                   2105:     58,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
                   2106:     68,    -1,    -1,    -1,    72,    73,    -1,    -1,    -1,    -1,
                   2107:     -1,    -1,    80,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2108:     -1,    -1,    -1,    91,    92,    -1,    -1,    -1,    -1,    -1,
                   2109:     -1,    -1,    -1,   101,    -1,    -1,   104,   105,     1,    -1,
                   2110:      3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
                   2111:     13,    59,    60,    61,    62,    63,    64,    65,    66,    67,
                   2112:     68,    69,    70,    -1,    27,    28,    29,    30,    -1,    32,
                   2113:     -1,    34,    35,    -1,    37,    38,    39,    -1,    -1,    -1,
                   2114:     43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2115:     -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,    -1,    -1,
                   2116:     -1,    -1,    -1,    66,    67,    68,    -1,    -1,    -1,    72,
                   2117:     73,    -1,    -1,    -1,    -1,    -1,    -1,    80,    -1,    -1,
                   2118:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,    92,
                   2119:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,
                   2120:     -1,   104,   105,     1,    -1,     3,     4,     5,     6,     7,
                   2121:      8,     9,    10,    11,    12,    13,    -1,    -1,    -1,    -1,
                   2122:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,
                   2123:     28,    29,    30,    -1,    32,    -1,    34,    35,    -1,    37,
                   2124:     38,    39,    -1,    -1,    -1,    43,    -1,    -1,    -1,    -1,
                   2125:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2126:     58,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
                   2127:     68,    -1,    -1,    -1,    72,    73,    -1,    -1,    -1,    -1,
                   2128:     -1,    -1,    80,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2129:     -1,    -1,    -1,    91,    92,    -1,    -1,    -1,    -1,    -1,
                   2130:     -1,    -1,    -1,   101,    -1,    -1,   104,   105,     1,    -1,
                   2131:      3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
                   2132:     13,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,
                   2133:      4,    -1,    -1,    -1,    27,    28,    29,    30,    -1,    32,
                   2134:     -1,    34,    35,    -1,    37,    38,    39,    -1,    -1,    -1,
                   2135:     43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2136:     -1,    -1,    -1,    -1,    38,    58,    -1,    41,    -1,    43,
                   2137:     -1,    -1,    -1,    66,    67,    68,    -1,    -1,    -1,    72,
                   2138:     73,    -1,    -1,    -1,    58,    -1,    -1,    80,     3,     4,
                   2139:     -1,    -1,    -1,     8,    68,    -1,    -1,    -1,    91,    92,
                   2140:     -1,    75,    -1,    -1,    -1,    -1,    80,    81,   101,    -1,
                   2141:     -1,   104,   105,     1,    -1,     3,     4,     5,    92,     7,
                   2142:      8,     9,    10,    38,    12,    13,    41,    -1,    43,    -1,
                   2143:    104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,
                   2144:     28,    29,    30,    58,    32,    -1,    34,    35,    -1,    37,
                   2145:     38,    39,    -1,    68,    -1,    43,    -1,    -1,    -1,    47,
                   2146:     75,    -1,    -1,    -1,    -1,    80,    -1,    -1,    -1,    -1,
                   2147:     58,    -1,    -1,    -1,    -1,    -1,    -1,    92,    66,    67,
                   2148:     68,    -1,    -1,    -1,    72,    73,    -1,    -1,    -1,   104,
                   2149:     -1,    -1,    80,    81,     1,    -1,     3,     4,     5,    -1,
                   2150:      7,     8,     9,    10,    92,    12,    13,    -1,    -1,    -1,
                   2151:     -1,    -1,    -1,    20,    -1,   103,   104,   105,    -1,    -1,
                   2152:     27,    28,    29,    30,    -1,    32,    -1,    34,    35,    -1,
                   2153:     37,    38,    39,    -1,    -1,    -1,    43,    -1,    -1,    -1,
                   2154:     47,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2155:     -1,    58,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
                   2156:     67,    68,    -1,    -1,    -1,    72,    73,    -1,    -1,    -1,
                   2157:     -1,    -1,    -1,    80,    -1,     1,    -1,     3,     4,     5,
                   2158:      6,     7,     8,     9,    10,    92,    12,    13,    -1,    -1,
                   2159:     -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105,    -1,
                   2160:     -1,    27,    28,    29,    30,    -1,    32,    -1,    34,    35,
                   2161:     -1,    37,    38,    39,    -1,    -1,    -1,    43,    -1,    -1,
                   2162:     -1,    47,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2163:     -1,    -1,    58,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2164:     66,    67,    68,    -1,    -1,    -1,    72,    73,    -1,    -1,
                   2165:     -1,    -1,    -1,    -1,    80,    -1,     1,    -1,     3,     4,
                   2166:      5,    -1,     7,     8,     9,    10,    92,    12,    13,    -1,
                   2167:     -1,    -1,    -1,    -1,    -1,    20,   102,    -1,   104,   105,
                   2168:     -1,    -1,    27,    28,    29,    30,    -1,    32,    -1,    34,
                   2169:     35,    -1,    37,    38,    39,    -1,    -1,    -1,    43,    -1,
                   2170:     -1,    -1,    47,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2171:     -1,    -1,    -1,    58,    -1,    -1,    -1,    -1,    -1,    -1,
                   2172:     -1,    66,    67,    68,    -1,    -1,    -1,    72,    73,    -1,
                   2173:     -1,    -1,    -1,    -1,    -1,    80,    -1,     1,    -1,     3,
                   2174:      4,     5,    -1,     7,     8,     9,    10,    92,    12,    13,
                   2175:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,
                   2176:    105,    -1,    -1,    27,    28,    29,    30,    -1,    32,    -1,
                   2177:     34,    35,    -1,    37,    38,    39,    -1,    -1,    -1,    43,
                   2178:     -1,    -1,    -1,    47,    -1,    -1,    -1,    -1,    -1,    -1,
                   2179:     -1,    -1,    -1,    -1,    58,    -1,    -1,    -1,    -1,    -1,
                   2180:     -1,    -1,    66,    67,    68,    -1,    -1,    -1,    72,    73,
                   2181:     -1,    -1,    -1,    -1,    -1,    -1,    80,    81,     1,    -1,
                   2182:      3,     4,     5,    -1,     7,     8,     9,    10,    92,    12,
                   2183:     13,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2184:    104,   105,    -1,    -1,    27,    28,    29,    30,    -1,    32,
                   2185:     -1,    34,    35,    -1,    37,    38,    39,    -1,    -1,    -1,
                   2186:     43,    -1,    -1,    -1,    47,    -1,    -1,    -1,    -1,    -1,
                   2187:     -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,    -1,    -1,
                   2188:     -1,    -1,    -1,    66,    67,    68,    -1,    -1,    -1,    72,
                   2189:     73,    -1,    -1,    -1,    -1,    -1,    -1,    80,    -1,     1,
                   2190:     -1,     3,     4,     5,    -1,     7,     8,     9,    10,    92,
                   2191:     12,    13,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2192:     -1,   104,   105,    -1,    -1,    27,    28,    29,    30,    -1,
                   2193:     32,    -1,    34,    35,    -1,    37,    38,    39,    -1,    -1,
                   2194:     -1,    43,    -1,    -1,    -1,    47,    -1,    -1,    -1,    -1,
                   2195:     -1,    -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,    -1,
                   2196:     -1,    -1,    -1,    -1,    66,    67,    68,    -1,    -1,    -1,
                   2197:     72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    80,    -1,
                   2198:      1,    -1,     3,     4,     5,    -1,     7,     8,     9,    10,
                   2199:     92,    12,    13,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2200:     -1,    -1,   104,   105,    -1,    -1,    27,    28,    29,    30,
                   2201:     -1,    32,    -1,    34,    35,    -1,    37,    38,    39,    -1,
                   2202:     -1,    -1,    43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2203:     -1,    52,    -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,
                   2204:     -1,    -1,    -1,    -1,    -1,    66,    67,    68,    -1,    -1,
                   2205:     -1,    72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    80,
                   2206:     -1,     1,    -1,     3,     4,     5,    -1,     7,     8,     9,
                   2207:     10,    92,    12,    13,    -1,    -1,    -1,    -1,    -1,    -1,
                   2208:     -1,    -1,    -1,   104,   105,    -1,    -1,    27,    28,    29,
                   2209:     30,    -1,    32,    -1,    34,    35,    -1,    37,    38,    39,
                   2210:     -1,    -1,    -1,    43,    -1,    -1,    -1,    -1,    -1,    -1,
                   2211:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    58,    -1,
                   2212:     -1,    -1,    -1,    -1,    -1,    -1,    66,    67,    68,    -1,
                   2213:     -1,    -1,    72,    73,    -1,    -1,    -1,    -1,    -1,    -1,
                   2214:     80,    -1,     1,    -1,     3,     4,     5,    -1,     7,     8,
                   2215:      9,    10,    92,    12,    13,    -1,    -1,    -1,    -1,    -1,
                   2216:     -1,    -1,   102,    -1,   104,   105,    -1,    -1,    27,    28,
                   2217:     29,    30,    -1,    32,    -1,    34,    35,    -1,    37,    38,
                   2218:     39,    -1,    -1,    -1,    43,    -1,    -1,    -1,    -1,    -1,
                   2219:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    58,
                   2220:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,    68,
                   2221:     -1,    -1,    -1,    72,    73,    -1,    -1,    -1,    -1,    -1,
                   2222:     -1,    80,    -1,     1,    -1,     3,     4,     5,    -1,     7,
                   2223:      8,     9,    10,    92,    12,    13,    -1,    -1,    -1,    -1,
                   2224:     -1,    -1,   101,    -1,    -1,   104,   105,    -1,    -1,    27,
                   2225:     28,    29,    30,    -1,    32,    -1,    34,    35,    -1,    37,
                   2226:     38,    39,    -1,    -1,    -1,    43,    -1,    -1,    -1,    -1,
                   2227:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2228:     58,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,
                   2229:     68,    -1,    -1,    -1,    72,    73,    -1,    -1,    -1,    -1,
                   2230:     -1,    -1,    80,    -1,    -1,    -1,     3,     4,     5,    -1,
                   2231:      7,     8,     9,    10,    92,    12,    13,    -1,    -1,    -1,
                   2232:     -1,    -1,    -1,    -1,    -1,    -1,   104,   105,    -1,    -1,
                   2233:     27,    28,    29,    30,    -1,    32,    -1,    34,    -1,    -1,
                   2234:     37,    38,    39,    -1,    -1,    -1,    43,     1,    -1,     3,
                   2235:      4,     5,     6,     7,     8,    -1,    -1,    -1,    -1,    13,
                   2236:     -1,    58,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,
                   2237:     67,    68,    26,    27,    -1,    72,    73,    -1,    32,    -1,
                   2238:     -1,    -1,    36,    80,    38,    39,    -1,    41,    42,    43,
                   2239:     -1,    -1,    -1,    -1,     1,    92,     3,     4,     5,     6,
                   2240:      7,     8,    -1,    -1,    58,    -1,    13,   104,   105,   106,
                   2241:     -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,    -1,    26,
                   2242:     27,    -1,    -1,    -1,    -1,    32,    80,    -1,    -1,    36,
                   2243:     -1,    38,    39,    -1,    41,    42,    43,    -1,    92,    93,
                   2244:     94,     3,     4,    -1,    -1,    -1,     8,    -1,   102,   103,
                   2245:    104,    58,     1,    -1,     3,     4,     5,     6,     7,     8,
                   2246:     -1,    68,    -1,    -1,    13,    -1,    -1,    -1,    -1,    -1,
                   2247:     -1,    -1,    -1,    80,    -1,    -1,    38,    -1,    27,    41,
                   2248:     -1,    43,    -1,    32,    33,    92,    93,    94,    -1,    38,
                   2249:     39,    -1,    41,    -1,    43,   102,    58,   104,    -1,    -1,
                   2250:     -1,    -1,    -1,    52,    -1,    -1,    68,    -1,     1,    58,
                   2251:      3,     4,     5,     6,     7,     8,    -1,    -1,    80,    68,
                   2252:     13,    -1,    -1,     3,     4,    -1,    -1,    -1,    -1,    -1,
                   2253:     92,    80,    -1,    -1,    27,    -1,    -1,    -1,    -1,    32,
                   2254:     33,    -1,   104,    92,    -1,    38,    39,    -1,    41,    -1,
                   2255:     43,    -1,    -1,   102,   103,   104,    -1,    -1,    38,    52,
                   2256:     -1,    41,    -1,    43,     1,    58,     3,     4,     5,     6,
                   2257:      7,     8,    -1,    -1,    -1,    68,    13,    -1,    58,    -1,
                   2258:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    80,    68,    -1,
                   2259:     27,    -1,    -1,    -1,    -1,    32,    33,    -1,    -1,    92,
                   2260:     80,    38,    39,    -1,    41,    -1,    43,    -1,    -1,    -1,
                   2261:    103,   104,    92,    -1,    -1,    52,    -1,    -1,    -1,    -1,
                   2262:     -1,    58,    -1,    -1,   104,    -1,    -1,    -1,    -1,    -1,
                   2263:     -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2264:     -1,    -1,    -1,    80,    -1,    -1,    -1,    -1,    -1,    -1,
                   2265:     -1,    -1,    -1,    -1,    -1,    92,    -1,    -1,    -1,    -1,
                   2266:     -1,    -1,    -1,    -1,    -1,    -1,   103,   104,     3,     4,
                   2267:      5,     6,     7,     8,     9,    10,    -1,    12,    13,    14,
                   2268:     -1,    16,    17,    18,    19,    20,    21,    22,    23,    24,
                   2269:     25,    26,    27,    28,    29,    30,    -1,    32,    -1,    34,
                   2270:     -1,    -1,    37,    38,    39,    -1,    -1,    -1,    43,    -1,
                   2271:     -1,    46,    47,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2272:     -1,    -1,    -1,    58,    -1,    -1,    -1,    -1,    -1,    -1,
                   2273:     -1,    66,    67,    68,    -1,    -1,    -1,    72,    73,    -1,
                   2274:     -1,    -1,    -1,    -1,    -1,    80,    -1,    82,    -1,    -1,
                   2275:     85,    -1,    -1,    88,    89,    90,    -1,    92,    -1,    -1,
                   2276:     -1,    -1,    -1,    -1,    -1,    -1,    -1,   102,   103,   104,
                   2277:    105,     3,     4,     5,     6,     7,     8,     9,    10,    -1,
                   2278:     12,    13,    14,    -1,    16,    17,    18,    19,    20,    21,
                   2279:     22,    23,    24,    25,    26,    27,    28,    29,    30,    -1,
                   2280:     32,    -1,    34,    -1,    -1,    37,    38,    39,    -1,    -1,
                   2281:     -1,    43,    -1,    -1,    46,    47,    -1,    -1,    -1,    -1,
                   2282:     -1,    -1,    -1,    -1,    -1,    -1,    58,     3,     4,    -1,
                   2283:     -1,    -1,    -1,    -1,    66,    67,    68,    -1,    -1,    -1,
                   2284:     72,    73,    -1,    -1,    -1,    -1,    -1,    -1,    80,    -1,
                   2285:     82,    -1,    -1,    85,    -1,    -1,    88,    89,    90,    -1,
                   2286:     92,    -1,    38,    -1,    -1,    41,    -1,    43,    -1,    -1,
                   2287:    102,    -1,   104,   105,     3,     4,     5,    -1,     7,     8,
                   2288:      9,    10,    58,    12,    13,    -1,    -1,    -1,    -1,    -1,
                   2289:     -1,    -1,    68,    -1,    -1,    -1,    -1,    -1,    27,    28,
                   2290:     29,    30,    -1,    32,    80,    34,    -1,    -1,    37,    38,
                   2291:     39,    -1,    -1,    -1,    43,    -1,    92,    -1,    -1,    -1,
                   2292:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   104,    58,
                   2293:     -1,    -1,     3,     4,    -1,    -1,    -1,    66,    67,    68,
                   2294:     -1,    -1,    -1,    72,    73,    -1,    -1,    -1,    -1,    -1,
                   2295:     -1,    80,    81,    -1,    -1,     3,     4,     5,    -1,     7,
                   2296:      8,     9,    10,    92,    12,    13,    -1,    38,    -1,    -1,
                   2297:     41,    -1,    43,    -1,    -1,   104,   105,    -1,    -1,    27,
                   2298:     28,    29,    30,    -1,    32,    -1,    34,    58,    -1,    37,
                   2299:     38,    39,    -1,    -1,    -1,    43,    -1,    68,    -1,    47,
                   2300:     -1,    -1,    -1,    -1,    75,    -1,    -1,    -1,    -1,    80,
                   2301:     58,    -1,    -1,     3,     4,    -1,    -1,    -1,    66,    67,
                   2302:     68,    92,    -1,    -1,    72,    73,    -1,    -1,    -1,    -1,
                   2303:     -1,    -1,    80,   104,    -1,    -1,     3,     4,     5,    -1,
                   2304:      7,     8,     9,    10,    92,    12,    13,    -1,    38,    -1,
                   2305:     -1,    41,    -1,    43,    -1,    -1,   104,   105,    -1,    -1,
                   2306:     27,    28,    29,    30,    -1,    32,    -1,    34,    58,    -1,
                   2307:     37,    38,    39,    -1,    -1,    -1,    43,    -1,    68,    -1,
                   2308:     -1,    -1,    -1,    -1,    -1,    75,    -1,    -1,    -1,    -1,
                   2309:     80,    58,    -1,    -1,     3,     4,    -1,    -1,    -1,    66,
                   2310:     67,    68,    92,    -1,    -1,    72,    73,    -1,    -1,    -1,
                   2311:     -1,    -1,    -1,    80,   104,    -1,    -1,     3,     4,     5,
                   2312:     -1,     7,     8,     9,    10,    92,    12,    13,    -1,    38,
                   2313:     -1,    -1,    41,    -1,    43,   102,    -1,   104,   105,    -1,
                   2314:     -1,    27,    28,    29,    30,    -1,    32,    -1,    34,    58,
                   2315:     -1,    37,    38,    39,    -1,    -1,    -1,    43,    -1,    68,
                   2316:     -1,    -1,    -1,    -1,    -1,    -1,    75,    -1,    -1,    -1,
                   2317:     -1,    80,    58,    -1,    -1,     3,     4,    -1,    -1,    -1,
                   2318:     66,    67,    68,    92,    -1,    -1,    72,    73,    -1,    -1,
                   2319:     -1,    -1,    -1,    -1,    80,   104,    -1,    -1,     3,     4,
                   2320:      5,    -1,     7,     8,     9,    10,    92,    12,    13,    -1,
                   2321:     38,    -1,    -1,    41,    -1,    43,   102,    -1,   104,   105,
                   2322:     -1,    -1,    27,    28,    29,    30,    -1,    32,    -1,    34,
                   2323:     58,    -1,    37,    38,    39,    -1,    -1,    -1,    43,    -1,
                   2324:     68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2325:     -1,    -1,    80,    58,    -1,    -1,    -1,    -1,    -1,    -1,
                   2326:     -1,    66,    67,    68,    92,    -1,    -1,    72,    73,    -1,
                   2327:     -1,    -1,    -1,    -1,    -1,    80,   104,    -1,    -1,     3,
                   2328:      4,     5,    -1,     7,     8,     9,    10,    92,    12,    13,
                   2329:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   104,
                   2330:    105,    -1,    -1,    27,    28,    29,    30,    -1,    32,    -1,
                   2331:     34,    -1,    -1,    37,    38,    39,    -1,    -1,    -1,    43,
                   2332:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2333:     -1,    -1,    -1,    -1,    58,    -1,    -1,    -1,    -1,    -1,
                   2334:     -1,    -1,    66,    67,    68,    -1,    -1,    -1,    72,    73,
                   2335:     -1,    -1,    -1,    -1,    -1,    -1,    80,    -1,    -1,    -1,
                   2336:      3,     4,     5,    -1,     7,     8,     9,    10,    92,    12,
                   2337:     13,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2338:    104,   105,    -1,    -1,    27,    28,    29,    30,    -1,    32,
                   2339:     -1,    34,    -1,    -1,    37,    38,    39,    -1,    -1,    -1,
                   2340:     43,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2341:     -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,    -1,    -1,
                   2342:     -1,    -1,    -1,    66,    67,    68,    -1,    -1,    -1,    72,
                   2343:     73,    -1,    -1,    -1,     3,     4,     5,    80,     7,     8,
                   2344:      9,    10,    -1,    12,    13,    -1,    -1,    -1,    -1,    92,
                   2345:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,    28,
                   2346:     -1,   104,   105,    32,    -1,    34,    -1,    -1,    37,    38,
                   2347:     39,    -1,    -1,    -1,    43,    -1,    -1,    -1,    -1,    -1,
                   2348:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    58,
                   2349:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    66,    67,    68,
                   2350:     -1,    -1,    -1,    72,    73,    -1,    -1,    -1,     3,     4,
                   2351:      5,    80,     7,     8,     9,    10,    -1,    12,    13,    -1,
                   2352:     -1,    -1,    -1,    92,    -1,    -1,    -1,    -1,    -1,    -1,
                   2353:     -1,    -1,    27,    28,    -1,   104,   105,    32,    -1,    34,
                   2354:     -1,    -1,    37,    38,    39,    -1,    -1,    -1,    43,    -1,
                   2355:     -1,     3,     4,     5,     6,     7,     8,    -1,    -1,    11,
                   2356:     -1,    13,    -1,    58,    -1,    -1,    -1,    -1,    -1,    -1,
                   2357:     -1,    66,    67,    68,    -1,    27,    -1,    72,    73,    -1,
                   2358:     32,    -1,    -1,    -1,    -1,    80,    38,    39,    -1,    41,
                   2359:     -1,    43,    -1,    -1,    -1,    -1,    -1,    92,    -1,    -1,
                   2360:     -1,    -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,   104,
                   2361:    105,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
                   2362:     -1,    -1,    -1,    75,    -1,    -1,    -1,    -1,    80,    81,
                   2363:     -1,     3,     4,     5,     6,     7,     8,    -1,    -1,    91,
                   2364:     92,    13,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2365:     -1,    -1,   104,    -1,    -1,    27,    -1,    -1,    -1,    -1,
                   2366:     32,    -1,    -1,    -1,    -1,    -1,    38,    39,    -1,    41,
                   2367:     -1,    43,    44,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2368:     -1,    -1,    -1,    -1,    -1,    -1,    58,     3,     4,     5,
                   2369:      6,     7,     8,    -1,    -1,    11,    68,    13,    -1,    -1,
                   2370:     -1,    -1,    -1,    75,    -1,    -1,    -1,    -1,    80,    -1,
                   2371:     -1,    27,    -1,    -1,    -1,    -1,    32,    -1,    -1,    -1,
                   2372:     92,    -1,    38,    39,    -1,    41,    -1,    43,    -1,    -1,
                   2373:    102,    -1,   104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2374:     -1,    -1,    58,     3,     4,     5,     6,     7,     8,    -1,
                   2375:     -1,    -1,    68,    13,    -1,    -1,    -1,    -1,    -1,    75,
                   2376:     -1,    -1,    -1,    -1,    80,    -1,    -1,    27,    -1,    -1,
                   2377:     -1,    -1,    32,    -1,    -1,    91,    92,    -1,    38,    39,
                   2378:     -1,    41,    -1,    43,    44,    -1,    -1,    -1,   104,    -1,
                   2379:      3,     4,     5,     6,     7,     8,    -1,    -1,    58,    -1,
                   2380:     13,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,
                   2381:     -1,    -1,    -1,    -1,    27,    75,    -1,    -1,    -1,    32,
                   2382:     80,    -1,    -1,    -1,    -1,    38,    39,    -1,    41,    -1,
                   2383:     43,    44,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2384:     -1,    -1,   102,    -1,   104,    58,     3,     4,     5,     6,
                   2385:      7,     8,    -1,    -1,    -1,    68,    13,    -1,    -1,    -1,
                   2386:     -1,    -1,    75,    -1,    -1,    -1,    -1,    80,    -1,    -1,
                   2387:     27,    -1,    -1,    -1,    -1,    32,    -1,    -1,    -1,    92,
                   2388:     -1,    38,    39,    -1,    41,    -1,    43,    -1,    -1,    -1,
                   2389:     -1,   104,    -1,    -1,    -1,    -1,     4,     5,     6,     7,
                   2390:      8,    58,    -1,    11,    -1,    13,    -1,    -1,    -1,    -1,
                   2391:     -1,    68,    -1,    -1,    -1,    -1,    -1,     4,     5,    27,
                   2392:      7,     8,    -1,    80,    32,    -1,    13,    -1,    -1,    -1,
                   2393:     -1,    39,    -1,    41,    -1,    92,    -1,    -1,    -1,    -1,
                   2394:     27,    -1,    -1,    -1,    -1,    32,    -1,   104,    -1,    -1,
                   2395:     58,    -1,    39,    -1,    41,    -1,    -1,    44,    -1,    -1,
                   2396:     68,    -1,    -1,    -1,    -1,    -1,    -1,    75,    -1,    -1,
                   2397:     -1,    58,    80,    81,    -1,    -1,    -1,    -1,    -1,    -1,
                   2398:     -1,    68,    -1,    91,    92,    -1,    -1,    -1,    75,    -1,
                   2399:     -1,    -1,    -1,    80,    81,    -1,    -1,    -1,    -1,    -1,
                   2400:     -1,    49,    50,    51,    -1,    92,    54,    55,    56,    57,
                   2401:     58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
                   2402:     68,    69,    70,    49,    50,    51,    -1,    -1,    54,    55,
                   2403:     56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
                   2404:     66,    67,    68,    69,    70,    -1,    -1,    -1,    -1,    -1,
                   2405:     -1,    -1,    -1,    48,    49,    50,    51,    -1,   106,    54,
                   2406:     55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
                   2407:     65,    66,    67,    68,    69,    70,   102,   103,    49,    50,
                   2408:     51,    52,    -1,    54,    55,    56,    57,    58,    59,    60,
                   2409:     61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
                   2410:     49,    50,    51,    -1,    -1,    54,    55,    56,    57,    58,
                   2411:     59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
                   2412:     69,    70,    51,    -1,    -1,    54,    55,    56,    57,    58,
                   2413:     59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
                   2414:     69,    70,    56,    57,    58,    59,    60,    61,    62,    63,
                   2415:     64,    65,    66,    67,    68,    69,    70
                   2416: };
                   2417: /* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
                   2418: #line 3 "bison.simple"
                   2419: 
                   2420: /* Skeleton output parser for bison,
                   2421:    Copyright (C) 1984, 1989, 1990 Bob Corbett and Richard Stallman
                   2422: 
                   2423:    This program is free software; you can redistribute it and/or modify
                   2424:    it under the terms of the GNU General Public License as published by
                   2425:    the Free Software Foundation; either version 1, or (at your option)
                   2426:    any later version.
                   2427: 
                   2428:    This program is distributed in the hope that it will be useful,
                   2429:    but WITHOUT ANY WARRANTY; without even the implied warranty of
                   2430:    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                   2431:    GNU General Public License for more details.
                   2432: 
                   2433:    You should have received a copy of the GNU General Public License
                   2434:    along with this program; if not, write to the Free Software
                   2435:    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
                   2436: 
                   2437: 
                   2438: #ifndef alloca
                   2439: #ifdef __GNUC__
                   2440: #define alloca __builtin_alloca
                   2441: #else /* not GNU C.  */
                   2442: #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__)
                   2443: #include <alloca.h>
                   2444: #else /* not sparc */
                   2445: #if defined (MSDOS) && !defined (__TURBOC__)
                   2446: #include <malloc.h>
                   2447: #else /* not MSDOS, or __TURBOC__ */
                   2448: #if defined(_AIX)
                   2449: #include <malloc.h>
                   2450:  #pragma alloca
                   2451: #endif /* not _AIX */
                   2452: #endif /* not MSDOS, or __TURBOC__ */
                   2453: #endif /* not sparc.  */
                   2454: #endif /* not GNU C.  */
                   2455: #endif /* alloca not defined.  */
                   2456: 
                   2457: /* This is the parser code that is written into each bison parser
                   2458:   when the %semantic_parser declaration is not specified in the grammar.
                   2459:   It was written by Richard Stallman by simplifying the hairy parser
                   2460:   used when %semantic_parser is specified.  */
                   2461: 
                   2462: /* Note: there must be only one dollar sign in this file.
                   2463:    It is replaced by the list of actions, each action
                   2464:    as one case of the switch.  */
                   2465: 
                   2466: #define yyerrok                (yyerrstatus = 0)
                   2467: #define yyclearin      (yychar = YYEMPTY)
                   2468: #define YYEMPTY                -2
                   2469: #define YYEOF          0
                   2470: #define YYACCEPT       return(0)
                   2471: #define YYABORT        return(1)
                   2472: #define YYERROR                goto yyerrlab1
                   2473: /* Like YYERROR except do call yyerror.
                   2474:    This remains here temporarily to ease the
                   2475:    transition to the new meaning of YYERROR, for GCC.
                   2476:    Once GCC version 2 has supplanted version 1, this can go.  */
                   2477: #define YYFAIL         goto yyerrlab
                   2478: #define YYRECOVERING()  (!!yyerrstatus)
                   2479: #define YYBACKUP(token, value) \
                   2480: do                                                             \
                   2481:   if (yychar == YYEMPTY && yylen == 1)                         \
                   2482:     { yychar = (token), yylval = (value);                      \
                   2483:       yychar1 = YYTRANSLATE (yychar);                          \
                   2484:       YYPOPSTACK;                                              \
                   2485:       goto yybackup;                                           \
                   2486:     }                                                          \
                   2487:   else                                                         \
                   2488:     { yyerror ("syntax error: cannot back up"); YYERROR; }     \
                   2489: while (0)
                   2490: 
                   2491: #define YYTERROR       1
                   2492: #define YYERRCODE      256
                   2493: 
                   2494: #ifndef YYPURE
                   2495: #define YYLEX          yylex()
                   2496: #endif
                   2497: 
                   2498: #ifdef YYPURE
                   2499: #ifdef YYLSP_NEEDED
                   2500: #define YYLEX          yylex(&yylval, &yylloc)
                   2501: #else
                   2502: #define YYLEX          yylex(&yylval)
                   2503: #endif
                   2504: #endif
                   2505: 
                   2506: /* If nonreentrant, generate the variables here */
                   2507: 
                   2508: #ifndef YYPURE
                   2509: 
                   2510: int    yychar;                 /*  the lookahead symbol                */
                   2511: YYSTYPE        yylval;                 /*  the semantic value of the           */
                   2512:                                /*  lookahead symbol                    */
                   2513: 
                   2514: #ifdef YYLSP_NEEDED
                   2515: YYLTYPE yylloc;                        /*  location data for the lookahead     */
                   2516:                                /*  symbol                              */
                   2517: #endif
                   2518: 
                   2519: int yynerrs;                   /*  number of parse errors so far       */
                   2520: #endif  /* not YYPURE */
                   2521: 
                   2522: #if YYDEBUG != 0
                   2523: int yydebug;                   /*  nonzero means print parse trace     */
                   2524: /* Since this is uninitialized, it does not stop multiple parsers
                   2525:    from coexisting.  */
                   2526: #endif
                   2527: 
                   2528: /*  YYINITDEPTH indicates the initial size of the parser's stacks      */
                   2529: 
                   2530: #ifndef        YYINITDEPTH
                   2531: #define YYINITDEPTH 200
                   2532: #endif
                   2533: 
                   2534: /*  YYMAXDEPTH is the maximum size the stacks can grow to
                   2535:     (effective only if the built-in stack extension method is used).  */
                   2536: 
                   2537: #if YYMAXDEPTH == 0
                   2538: #undef YYMAXDEPTH
                   2539: #endif
                   2540: 
                   2541: #ifndef YYMAXDEPTH
                   2542: #define YYMAXDEPTH 10000
                   2543: #endif
                   2544: 
                   2545: #if __GNUC__ > 1               /* GNU C and GNU C++ define this.  */
                   2546: #define __yy_bcopy(FROM,TO,COUNT)      __builtin_memcpy(TO,FROM,COUNT)
                   2547: #else                          /* not GNU C or C++ */
                   2548: #ifndef __cplusplus
                   2549: 
                   2550: /* This is the most reliable way to avoid incompatibilities
                   2551:    in available built-in functions on various systems.  */
                   2552: static void
                   2553: __yy_bcopy (from, to, count)
                   2554:      char *from;
                   2555:      char *to;
                   2556:      int count;
                   2557: {
                   2558:   register char *f = from;
                   2559:   register char *t = to;
                   2560:   register int i = count;
                   2561: 
                   2562:   while (i-- > 0)
                   2563:     *t++ = *f++;
                   2564: }
                   2565: 
                   2566: #else /* __cplusplus */
                   2567: 
                   2568: /* This is the most reliable way to avoid incompatibilities
                   2569:    in available built-in functions on various systems.  */
                   2570: static void
                   2571: __yy_bcopy (char *from, char *to, int count)
                   2572: {
                   2573:   register char *f = from;
                   2574:   register char *t = to;
                   2575:   register int i = count;
                   2576: 
                   2577:   while (i-- > 0)
                   2578:     *t++ = *f++;
                   2579: }
                   2580: 
                   2581: #endif
                   2582: #endif
                   2583: 
                   2584: #line 169 "bison.simple"
                   2585: int
                   2586: yyparse()
                   2587: {
                   2588:   register int yystate;
                   2589:   register int yyn;
                   2590:   register short *yyssp;
                   2591:   register YYSTYPE *yyvsp;
                   2592:   int yyerrstatus;     /*  number of tokens to shift before error messages enabled */
                   2593:   int yychar1;         /*  lookahead token as an internal (translated) token number */
                   2594: 
                   2595:   short        yyssa[YYINITDEPTH];     /*  the state stack                     */
                   2596:   YYSTYPE yyvsa[YYINITDEPTH];  /*  the semantic value stack            */
                   2597: 
                   2598:   short *yyss = yyssa;         /*  refer to the stacks thru separate pointers */
                   2599:   YYSTYPE *yyvs = yyvsa;       /*  to allow yyoverflow to reallocate them elsewhere */
                   2600: 
                   2601: #ifdef YYLSP_NEEDED
                   2602:   YYLTYPE yylsa[YYINITDEPTH];  /*  the location stack                  */
                   2603:   YYLTYPE *yyls = yylsa;
                   2604:   YYLTYPE *yylsp;
                   2605: 
                   2606: #define YYPOPSTACK   (yyvsp--, yysp--, yylsp--)
                   2607: #else
                   2608: #define YYPOPSTACK   (yyvsp--, yysp--)
                   2609: #endif
                   2610: 
                   2611:   int yystacksize = YYINITDEPTH;
                   2612: 
                   2613: #ifdef YYPURE
                   2614:   int yychar;
                   2615:   YYSTYPE yylval;
                   2616:   int yynerrs;
                   2617: #ifdef YYLSP_NEEDED
                   2618:   YYLTYPE yylloc;
                   2619: #endif
                   2620: #endif
                   2621: 
                   2622:   YYSTYPE yyval;               /*  the variable used to return         */
                   2623:                                /*  semantic values from the action     */
                   2624:                                /*  routines                            */
                   2625: 
                   2626:   int yylen;
                   2627: 
                   2628: #if YYDEBUG != 0
                   2629:   if (yydebug)
                   2630:     fprintf(stderr, "Starting parse\n");
                   2631: #endif
                   2632: 
                   2633:   yystate = 0;
                   2634:   yyerrstatus = 0;
                   2635:   yynerrs = 0;
                   2636:   yychar = YYEMPTY;            /* Cause a token to be read.  */
                   2637: 
                   2638:   /* Initialize stack pointers.
                   2639:      Waste one element of value and location stack
                   2640:      so that they stay on the same level as the state stack.  */
                   2641: 
                   2642:   yyssp = yyss - 1;
                   2643:   yyvsp = yyvs;
                   2644: #ifdef YYLSP_NEEDED
                   2645:   yylsp = yyls;
                   2646: #endif
                   2647: 
                   2648: /* Push a new state, which is found in  yystate  .  */
                   2649: /* In all cases, when you get here, the value and location stacks
                   2650:    have just been pushed. so pushing a state here evens the stacks.  */
                   2651: yynewstate:
                   2652: 
                   2653:   *++yyssp = yystate;
                   2654: 
                   2655:   if (yyssp >= yyss + yystacksize - 1)
                   2656:     {
                   2657:       /* Give user a chance to reallocate the stack */
                   2658:       /* Use copies of these so that the &'s don't force the real ones into memory. */
                   2659:       YYSTYPE *yyvs1 = yyvs;
                   2660:       short *yyss1 = yyss;
                   2661: #ifdef YYLSP_NEEDED
                   2662:       YYLTYPE *yyls1 = yyls;
                   2663: #endif
                   2664: 
                   2665:       /* Get the current used size of the three stacks, in elements.  */
                   2666:       int size = yyssp - yyss + 1;
                   2667: 
                   2668: #ifdef yyoverflow
                   2669:       /* Each stack pointer address is followed by the size of
                   2670:         the data in use in that stack, in bytes.  */
                   2671:       yyoverflow("parser stack overflow",
                   2672:                 &yyss1, size * sizeof (*yyssp),
                   2673:                 &yyvs1, size * sizeof (*yyvsp),
                   2674: #ifdef YYLSP_NEEDED
                   2675:                 &yyls1, size * sizeof (*yylsp),
                   2676: #endif
                   2677:                 &yystacksize);
                   2678: 
                   2679:       yyss = yyss1; yyvs = yyvs1;
                   2680: #ifdef YYLSP_NEEDED
                   2681:       yyls = yyls1;
                   2682: #endif
                   2683: #else /* no yyoverflow */
                   2684:       /* Extend the stack our own way.  */
                   2685:       if (yystacksize >= YYMAXDEPTH)
                   2686:        {
                   2687:          yyerror("parser stack overflow");
                   2688:          return 2;
                   2689:        }
                   2690:       yystacksize *= 2;
                   2691:       if (yystacksize > YYMAXDEPTH)
                   2692:        yystacksize = YYMAXDEPTH;
                   2693:       yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
                   2694:       __yy_bcopy ((char *)yyss1, (char *)yyss, size * sizeof (*yyssp));
                   2695:       yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
                   2696:       __yy_bcopy ((char *)yyvs1, (char *)yyvs, size * sizeof (*yyvsp));
                   2697: #ifdef YYLSP_NEEDED
                   2698:       yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
                   2699:       __yy_bcopy ((char *)yyls1, (char *)yyls, size * sizeof (*yylsp));
                   2700: #endif
                   2701: #endif /* no yyoverflow */
                   2702: 
                   2703:       yyssp = yyss + size - 1;
                   2704:       yyvsp = yyvs + size - 1;
                   2705: #ifdef YYLSP_NEEDED
                   2706:       yylsp = yyls + size - 1;
                   2707: #endif
                   2708: 
                   2709: #if YYDEBUG != 0
                   2710:       if (yydebug)
                   2711:        fprintf(stderr, "Stack size increased to %d\n", yystacksize);
                   2712: #endif
                   2713: 
                   2714:       if (yyssp >= yyss + yystacksize - 1)
                   2715:        YYABORT;
                   2716:     }
                   2717: 
                   2718: #if YYDEBUG != 0
                   2719:   if (yydebug)
                   2720:     fprintf(stderr, "Entering state %d\n", yystate);
                   2721: #endif
                   2722: 
                   2723:  yybackup:
                   2724: 
                   2725: /* Do appropriate processing given the current state.  */
                   2726: /* Read a lookahead token if we need one and don't already have one.  */
                   2727: /* yyresume: */
                   2728: 
                   2729:   /* First try to decide what to do without reference to lookahead token.  */
                   2730: 
                   2731:   yyn = yypact[yystate];
                   2732:   if (yyn == YYFLAG)
                   2733:     goto yydefault;
                   2734: 
                   2735:   /* Not known => get a lookahead token if don't already have one.  */
                   2736: 
                   2737:   /* yychar is either YYEMPTY or YYEOF
                   2738:      or a valid token in external form.  */
                   2739: 
                   2740:   if (yychar == YYEMPTY)
                   2741:     {
                   2742: #if YYDEBUG != 0
                   2743:       if (yydebug)
                   2744:        fprintf(stderr, "Reading a token: ");
                   2745: #endif
                   2746:       yychar = YYLEX;
                   2747:     }
                   2748: 
                   2749:   /* Convert token to internal form (in yychar1) for indexing tables with */
                   2750: 
                   2751:   if (yychar <= 0)             /* This means end of input. */
                   2752:     {
                   2753:       yychar1 = 0;
                   2754:       yychar = YYEOF;          /* Don't call YYLEX any more */
                   2755: 
                   2756: #if YYDEBUG != 0
                   2757:       if (yydebug)
                   2758:        fprintf(stderr, "Now at end of input.\n");
                   2759: #endif
                   2760:     }
                   2761:   else
                   2762:     {
                   2763:       yychar1 = YYTRANSLATE(yychar);
                   2764: 
                   2765: #if YYDEBUG != 0
                   2766:       if (yydebug)
                   2767:        {
                   2768:          fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
                   2769:          /* Give the individual parser a way to print the precise meaning
                   2770:             of a token, for further debugging info.  */
                   2771: #ifdef YYPRINT
                   2772:          YYPRINT (stderr, yychar, yylval);
                   2773: #endif
                   2774:          fprintf (stderr, ")\n");
                   2775:        }
                   2776: #endif
                   2777:     }
                   2778: 
                   2779:   yyn += yychar1;
                   2780:   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
                   2781:     goto yydefault;
                   2782: 
                   2783:   yyn = yytable[yyn];
                   2784: 
                   2785:   /* yyn is what to do for this token type in this state.
                   2786:      Negative => reduce, -yyn is rule number.
                   2787:      Positive => shift, yyn is new state.
                   2788:        New state is final state => don't bother to shift,
                   2789:        just return success.
                   2790:      0, or most negative number => error.  */
                   2791: 
                   2792:   if (yyn < 0)
                   2793:     {
                   2794:       if (yyn == YYFLAG)
                   2795:        goto yyerrlab;
                   2796:       yyn = -yyn;
                   2797:       goto yyreduce;
                   2798:     }
                   2799:   else if (yyn == 0)
                   2800:     goto yyerrlab;
                   2801: 
                   2802:   if (yyn == YYFINAL)
                   2803:     YYACCEPT;
                   2804: 
                   2805:   /* Shift the lookahead token.  */
                   2806: 
                   2807: #if YYDEBUG != 0
                   2808:   if (yydebug)
                   2809:     fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
                   2810: #endif
                   2811: 
                   2812:   /* Discard the token being shifted unless it is eof.  */
                   2813:   if (yychar != YYEOF)
                   2814:     yychar = YYEMPTY;
                   2815: 
                   2816:   *++yyvsp = yylval;
                   2817: #ifdef YYLSP_NEEDED
                   2818:   *++yylsp = yylloc;
                   2819: #endif
                   2820: 
                   2821:   /* count tokens shifted since error; after three, turn off error status.  */
                   2822:   if (yyerrstatus) yyerrstatus--;
                   2823: 
                   2824:   yystate = yyn;
                   2825:   goto yynewstate;
                   2826: 
                   2827: /* Do the default action for the current state.  */
                   2828: yydefault:
                   2829: 
                   2830:   yyn = yydefact[yystate];
                   2831:   if (yyn == 0)
                   2832:     goto yyerrlab;
                   2833: 
                   2834: /* Do a reduction.  yyn is the number of a rule to reduce with.  */
                   2835: yyreduce:
                   2836:   yylen = yyr2[yyn];
                   2837:   yyval = yyvsp[1-yylen]; /* implement default value of the action */
                   2838: 
                   2839: #if YYDEBUG != 0
                   2840:   if (yydebug)
                   2841:     {
                   2842:       int i;
                   2843: 
                   2844:       fprintf (stderr, "Reducing via rule %d (line %d), ",
                   2845:               yyn, yyrline[yyn]);
                   2846: 
                   2847:       /* Print the symboles being reduced, and their result.  */
                   2848:       for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
                   2849:        fprintf (stderr, "%s ", yytname[yyrhs[i]]);
                   2850:       fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
                   2851:     }
                   2852: #endif
                   2853: 
                   2854: 
                   2855:   switch (yyn) {
                   2856: 
                   2857: case 2:
                   2858: #line 293 "cp-parse.y"
                   2859: { finish_file (); ;
                   2860:     break;}
                   2861: case 3:
                   2862: #line 301 "cp-parse.y"
                   2863: { yyval.ttype = NULL_TREE; ;
                   2864:     break;}
                   2865: case 4:
                   2866: #line 302 "cp-parse.y"
                   2867: {yyval.ttype = NULL_TREE; ;
                   2868:     break;}
                   2869: case 5:
                   2870: #line 304 "cp-parse.y"
                   2871: {yyval.ttype = NULL_TREE; ;
                   2872:     break;}
                   2873: case 6:
                   2874: #line 308 "cp-parse.y"
                   2875: { have_extern_spec = 1; ;
                   2876:     break;}
                   2877: case 7:
                   2878: #line 311 "cp-parse.y"
                   2879: { have_extern_spec = 0; ;
                   2880:     break;}
                   2881: case 8:
                   2882: #line 316 "cp-parse.y"
                   2883: { if (pending_inlines) do_pending_inlines (); ;
                   2884:     break;}
                   2885: case 9:
                   2886: #line 318 "cp-parse.y"
                   2887: { if (pending_inlines) do_pending_inlines (); ;
                   2888:     break;}
                   2889: case 10:
                   2890: #line 320 "cp-parse.y"
                   2891: { if (pending_inlines) do_pending_inlines (); ;
                   2892:     break;}
                   2893: case 12:
                   2894: #line 323 "cp-parse.y"
                   2895: { if (pedantic)
                   2896:                    warning ("ANSI C forbids use of `asm' keyword");
                   2897:                  if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
                   2898:                  assemble_asm (yyvsp[-2].ttype); ;
                   2899:     break;}
                   2900: case 13:
                   2901: #line 328 "cp-parse.y"
                   2902: { pop_lang_context (); ;
                   2903:     break;}
                   2904: case 14:
                   2905: #line 330 "cp-parse.y"
                   2906: { pop_lang_context (); ;
                   2907:     break;}
                   2908: case 15:
                   2909: #line 332 "cp-parse.y"
                   2910: { if (pending_inlines) do_pending_inlines ();
                   2911:                  pop_lang_context (); ;
                   2912:     break;}
                   2913: case 16:
                   2914: #line 335 "cp-parse.y"
                   2915: { if (pending_inlines) do_pending_inlines ();
                   2916:                  pop_lang_context (); ;
                   2917:     break;}
                   2918: case 17:
                   2919: #line 341 "cp-parse.y"
                   2920: { push_lang_context (yyvsp[0].ttype); ;
                   2921:     break;}
                   2922: case 18:
                   2923: #line 346 "cp-parse.y"
                   2924: { begin_template_parm_list (); ;
                   2925:     break;}
                   2926: case 19:
                   2927: #line 348 "cp-parse.y"
                   2928: { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
                   2929:     break;}
                   2930: case 20:
                   2931: #line 353 "cp-parse.y"
                   2932: { yyval.ttype = process_template_parm (0, yyvsp[0].ttype); ;
                   2933:     break;}
                   2934: case 21:
                   2935: #line 355 "cp-parse.y"
                   2936: { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   2937:     break;}
                   2938: case 22:
                   2939: #line 366 "cp-parse.y"
                   2940: {
                   2941:                  if ((enum tag_types) TREE_INT_CST_LOW (yyvsp[-1].ttype) != class_type)
                   2942:                    error ("template type parameter must use keyword `class'");
                   2943:                  yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE);
                   2944:                ;
                   2945:     break;}
                   2946: case 23:
                   2947: #line 372 "cp-parse.y"
                   2948: {
                   2949:                  if ((enum tag_types) TREE_INT_CST_LOW (yyvsp[-3].ttype) != class_type)
                   2950:                    error ("template type parameter must use keyword `class'");
                   2951:                  warning ("restricted template type parameters not yet implemented");
                   2952:                  yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype);
                   2953:                ;
                   2954:     break;}
                   2955: case 24:
                   2956: #line 379 "cp-parse.y"
                   2957: {
                   2958:                  if ((enum tag_types) TREE_INT_CST_LOW (yyvsp[-2].ttype) != class_type)
                   2959:                    error ("template type parameter must use keyword `class'");
                   2960:                  warning ("restricted template type parameters not yet implemented");
                   2961:                  yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype);
                   2962:                ;
                   2963:     break;}
                   2964: case 27:
                   2965: #line 392 "cp-parse.y"
                   2966: { declare_overloaded (yyvsp[0].ttype); ;
                   2967:     break;}
                   2968: case 28:
                   2969: #line 394 "cp-parse.y"
                   2970: { declare_overloaded (yyvsp[0].ttype); ;
                   2971:     break;}
                   2972: case 29:
                   2973: #line 401 "cp-parse.y"
                   2974: { yychar = '{'; goto template1; ;
                   2975:     break;}
                   2976: case 31:
                   2977: #line 404 "cp-parse.y"
                   2978: { yychar = '{'; goto template1; ;
                   2979:     break;}
                   2980: case 33:
                   2981: #line 407 "cp-parse.y"
                   2982: { yychar = ':'; goto template1; ;
                   2983:     break;}
                   2984: case 35:
                   2985: #line 410 "cp-parse.y"
                   2986: {
                   2987:                  yychar = ':';
                   2988:                template1:
                   2989:                  if (current_aggr == exception_type_node)
                   2990:                    error ("template type must define an aggregate or union");
                   2991:                  /* Maybe pedantic warning for union?
                   2992:                     How about an enum? :-)  */
                   2993:                  end_template_decl (yyvsp[-2].ttype, yyvsp[-1].ttype, current_aggr);
                   2994:                  reinit_parse_for_template (yychar, yyvsp[-2].ttype, yyvsp[-1].ttype);
                   2995:                  yychar = YYEMPTY;
                   2996:                ;
                   2997:     break;}
                   2998: case 37:
                   2999: #line 423 "cp-parse.y"
                   3000: {
                   3001:                  end_template_decl (yyvsp[-2].ttype, yyvsp[-1].ttype, current_aggr);
                   3002:                  /* declare $2 as template name with $1 parm list */
                   3003:                ;
                   3004:     break;}
                   3005: case 38:
                   3006: #line 428 "cp-parse.y"
                   3007: {
                   3008:                  end_template_decl (yyvsp[-2].ttype, yyvsp[-1].ttype, current_aggr);
                   3009:                  /* declare $2 as template name with $1 parm list */
                   3010:                ;
                   3011:     break;}
                   3012: case 39:
                   3013: #line 435 "cp-parse.y"
                   3014: {
                   3015:                  tree d;
                   3016:                  int momentary;
                   3017: /*               current_declspecs = $<ttype>0;*/
                   3018:                  momentary = suspend_momentary ();
                   3019:                  d = start_decl (yyvsp[-4].ttype, /*current_declspecs*/0, 0, yyvsp[-3].ttype);
                   3020:                  finish_decl (d, NULL_TREE, yyvsp[-2].ttype);
                   3021: 
                   3022: #if 0 /* Need to sort out destructor templates, and not give warnings
                   3023:          for them.  */
                   3024:                  if (pedantic)
                   3025:                    error ("ANSI C forbids data definition with no type or storage class");
                   3026:                  else if (! flag_traditional && ! have_extern_spec)
                   3027:                    warning ("data definition has no type or storage class");
                   3028: #endif
                   3029:                  end_template_decl (yyvsp[-5].ttype, d, 0);
                   3030:                  if (yyvsp[0].itype != ';')
                   3031:                    reinit_parse_for_template (yyvsp[0].itype, yyvsp[-5].ttype, d);
                   3032:                  resume_momentary (momentary);
                   3033:                ;
                   3034:     break;}
                   3035: case 40:
                   3036: #line 458 "cp-parse.y"
                   3037: {
                   3038:                  tree d;
                   3039:                  int momentary;
                   3040: 
                   3041:                  current_declspecs = yyvsp[-5].ttype;
                   3042:                  momentary = suspend_momentary ();
                   3043:                  d = start_decl (yyvsp[-4].ttype, current_declspecs, 0, yyvsp[-3].ttype);
                   3044:                  finish_decl (d, NULL_TREE, yyvsp[-2].ttype);
                   3045:                  end_exception_decls ();
                   3046:                  end_template_decl (yyvsp[-6].ttype, d, 0);
                   3047:                  if (yyvsp[0].itype != ';')
                   3048:                    {
                   3049:                      reinit_parse_for_template (yyvsp[0].itype, yyvsp[-6].ttype, d);
                   3050:                      yychar = YYEMPTY;
                   3051:                    }
                   3052:                  note_list_got_semicolon (yyvsp[-5].ttype);
                   3053:                  resume_momentary (momentary);
                   3054:                ;
                   3055:     break;}
                   3056: case 41:
                   3057: #line 477 "cp-parse.y"
                   3058: {
                   3059:                  tree d = start_decl (yyvsp[-1].ttype, yyvsp[-2].ttype, 0, NULL_TREE);
                   3060:                  finish_decl (d, NULL_TREE, NULL_TREE);
                   3061:                  end_template_decl (yyvsp[-3].ttype, d, 0);
                   3062:                  if (yyvsp[0].itype != ';')
                   3063:                    reinit_parse_for_template (yyvsp[0].itype, yyvsp[-3].ttype, d);
                   3064:                ;
                   3065:     break;}
                   3066: case 42:
                   3067: #line 486 "cp-parse.y"
                   3068: { yyval.itype = '{'; ;
                   3069:     break;}
                   3070: case 43:
                   3071: #line 487 "cp-parse.y"
                   3072: { yyval.itype = ':'; ;
                   3073:     break;}
                   3074: case 44:
                   3075: #line 488 "cp-parse.y"
                   3076: { yyval.itype = ';'; ;
                   3077:     break;}
                   3078: case 45:
                   3079: #line 489 "cp-parse.y"
                   3080: { yyval.itype = '='; ;
                   3081:     break;}
                   3082: case 46:
                   3083: #line 490 "cp-parse.y"
                   3084: { yyval.itype = RETURN; ;
                   3085:     break;}
                   3086: case 47:
                   3087: #line 495 "cp-parse.y"
                   3088: { if (pedantic)
                   3089:                    error ("ANSI C forbids data definition with no type or storage class");
                   3090:                  else if (! flag_traditional && ! have_extern_spec)
                   3091:                    warning ("data definition has no type or storage class"); ;
                   3092:     break;}
                   3093: case 48:
                   3094: #line 500 "cp-parse.y"
                   3095: {;
                   3096:     break;}
                   3097: case 49:
                   3098: #line 503 "cp-parse.y"
                   3099: { tree d;
                   3100:                  d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
                   3101:                  finish_decl (d, NULL_TREE, NULL_TREE);
                   3102:                ;
                   3103:     break;}
                   3104: case 50:
                   3105: #line 508 "cp-parse.y"
                   3106: {
                   3107:                  end_exception_decls ();
                   3108:                  note_list_got_semicolon (yyval.ttype);
                   3109:                ;
                   3110:     break;}
                   3111: case 51:
                   3112: #line 514 "cp-parse.y"
                   3113: { tree d;
                   3114:                  d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
                   3115:                  finish_decl (d, NULL_TREE, NULL_TREE);
                   3116:                  end_exception_decls ();
                   3117:                  note_list_got_semicolon (yyval.ttype);
                   3118:                ;
                   3119:     break;}
                   3120: case 52:
                   3121: #line 521 "cp-parse.y"
                   3122: { error ("empty declaration"); ;
                   3123:     break;}
                   3124: case 53:
                   3125: #line 523 "cp-parse.y"
                   3126: {
                   3127:            tree t = yyval.ttype;
                   3128:            shadow_tag (t);
                   3129:            if (TREE_CODE (t) == TREE_LIST
                   3130:                && TREE_PURPOSE (t) == NULL_TREE)
                   3131:              {
                   3132:                t = TREE_VALUE (t);
                   3133:                if (TREE_CODE (t) == RECORD_TYPE)
                   3134:                  {
                   3135:                    if (CLASSTYPE_USE_TEMPLATE (t) == 0)
                   3136:                      CLASSTYPE_USE_TEMPLATE (t) = 2;
                   3137:                    else if (CLASSTYPE_USE_TEMPLATE (t) == 1)
                   3138:                      error ("override declaration for already-expanded template");
                   3139:                  }
                   3140:              }
                   3141:            note_list_got_semicolon (yyval.ttype);
                   3142:          ;
                   3143:     break;}
                   3144: case 57:
                   3145: #line 547 "cp-parse.y"
                   3146: {
                   3147:                  finish_function (lineno, 1);
                   3148:                  /* finish_function performs these three statements:
                   3149: 
                   3150:                     expand_end_bindings (getdecls (), 1, 0);
                   3151:                     poplevel (1, 1, 0);
                   3152: 
                   3153:                     expand_end_bindings (0, 0, 0);
                   3154:                     poplevel (0, 0, 1);
                   3155:                     */
                   3156:                  if (yyval.ttype) process_next_inline (yyval.ttype);
                   3157:                ;
                   3158:     break;}
                   3159: case 58:
                   3160: #line 560 "cp-parse.y"
                   3161: {
                   3162:                  finish_function (lineno, 1);
                   3163:                  /* finish_function performs these three statements:
                   3164: 
                   3165:                     expand_end_bindings (getdecls (), 1, 0);
                   3166:                     poplevel (1, 1, 0);
                   3167: 
                   3168:                     expand_end_bindings (0, 0, 0);
                   3169:                     poplevel (0, 0, 1);
                   3170:                     */
                   3171:                  if (yyval.ttype) process_next_inline (yyval.ttype);
                   3172:                ;
                   3173:     break;}
                   3174: case 59:
                   3175: #line 573 "cp-parse.y"
                   3176: { finish_function (lineno, 0);
                   3177:                  if (yyval.ttype) process_next_inline (yyval.ttype); ;
                   3178:     break;}
                   3179: case 60:
                   3180: #line 576 "cp-parse.y"
                   3181: { finish_function (lineno, 0);
                   3182:                  if (yyval.ttype) process_next_inline (yyval.ttype); ;
                   3183:     break;}
                   3184: case 61:
                   3185: #line 579 "cp-parse.y"
                   3186: { finish_function (lineno, 0);
                   3187:                  if (yyval.ttype) process_next_inline (yyval.ttype); ;
                   3188:     break;}
                   3189: case 62:
                   3190: #line 582 "cp-parse.y"
                   3191: {;
                   3192:     break;}
                   3193: case 63:
                   3194: #line 584 "cp-parse.y"
                   3195: {;
                   3196:     break;}
                   3197: case 64:
                   3198: #line 586 "cp-parse.y"
                   3199: {;
                   3200:     break;}
                   3201: case 65:
                   3202: #line 591 "cp-parse.y"
                   3203: { if (! start_function (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype, 0))
                   3204:                    YYERROR1;
                   3205:                  reinit_parse_for_function ();
                   3206:                  yyval.ttype = NULL_TREE; ;
                   3207:     break;}
                   3208: case 66:
                   3209: #line 596 "cp-parse.y"
                   3210: { if (! start_function (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype, 0))
                   3211:                    YYERROR1;
                   3212:                  reinit_parse_for_function ();
                   3213:                  yyval.ttype = NULL_TREE; ;
                   3214:     break;}
                   3215: case 67:
                   3216: #line 601 "cp-parse.y"
                   3217: { if (! start_function (NULL_TREE, yyval.ttype, yyvsp[0].ttype, 0))
                   3218:                    YYERROR1;
                   3219:                  reinit_parse_for_function ();
                   3220:                  yyval.ttype = NULL_TREE; ;
                   3221:     break;}
                   3222: case 68:
                   3223: #line 606 "cp-parse.y"
                   3224: { if (! start_function (NULL_TREE, build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype), yyvsp[0].ttype, 0))
                   3225:                    YYERROR1;
                   3226:                  reinit_parse_for_function ();
                   3227:                  yyval.ttype = NULL_TREE; ;
                   3228:     break;}
                   3229: case 69:
                   3230: #line 611 "cp-parse.y"
                   3231: { if (! start_function (NULL_TREE, build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype), yyvsp[0].ttype, 0))
                   3232:                    YYERROR1;
                   3233:                  reinit_parse_for_function ();
                   3234:                  yyval.ttype = NULL_TREE; ;
                   3235:     break;}
                   3236: case 70:
                   3237: #line 616 "cp-parse.y"
                   3238: { if (! start_function (NULL_TREE, build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[-1].ttype), yyvsp[0].ttype, 0))
                   3239:                    YYERROR1;
                   3240:                  reinit_parse_for_function ();
                   3241:                  yyval.ttype = NULL_TREE; ;
                   3242:     break;}
                   3243: case 71:
                   3244: #line 621 "cp-parse.y"
                   3245: { if (! start_function (NULL_TREE, build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[-1].ttype), yyvsp[0].ttype, 0))
                   3246:                    YYERROR1;
                   3247:                  reinit_parse_for_function ();
                   3248:                  yyval.ttype = NULL_TREE; ;
                   3249:     break;}
                   3250: case 72:
                   3251: #line 626 "cp-parse.y"
                   3252: { start_function (NULL_TREE, TREE_VALUE (yyval.ttype), NULL_TREE, 1);
                   3253:                  reinit_parse_for_function (); ;
                   3254:     break;}
                   3255: case 73:
                   3256: #line 633 "cp-parse.y"
                   3257: {
                   3258:                  tree decl = build_parse_node (CALL_EXPR, TREE_VALUE (yyval.ttype), yyvsp[-3].ttype, yyvsp[-1].ttype);
                   3259:                  yyval.ttype = start_method (TREE_CHAIN (yyval.ttype), decl, yyvsp[0].ttype);
                   3260:                  if (! yyval.ttype)
                   3261:                    YYERROR1;
                   3262:                  if (yychar == YYEMPTY)
                   3263:                    yychar = YYLEX;
                   3264:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3265:     break;}
                   3266: case 74:
                   3267: #line 642 "cp-parse.y"
                   3268: {
                   3269:                  tree decl = build_parse_node (CALL_EXPR, TREE_VALUE (yyval.ttype), empty_parms (), yyvsp[-1].ttype);
                   3270:                  yyval.ttype = start_method (TREE_CHAIN (yyval.ttype), decl, yyvsp[0].ttype);
                   3271:                  if (! yyval.ttype)
                   3272:                    YYERROR1;
                   3273:                  if (yychar == YYEMPTY)
                   3274:                    yychar = YYLEX;
                   3275:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3276:     break;}
                   3277: case 75:
                   3278: #line 651 "cp-parse.y"
                   3279: { yyval.ttype = start_method (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
                   3280:                  if (! yyval.ttype)
                   3281:                    YYERROR1;
                   3282:                  if (yychar == YYEMPTY)
                   3283:                    yychar = YYLEX;
                   3284:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3285:     break;}
                   3286: case 76:
                   3287: #line 658 "cp-parse.y"
                   3288: {
                   3289:                  tree decl = build_parse_node (CALL_EXPR, TREE_VALUE (yyval.ttype), yyvsp[-3].ttype, yyvsp[-1].ttype);
                   3290:                  yyval.ttype = start_method (TREE_CHAIN (yyval.ttype), decl, yyvsp[0].ttype);
                   3291:                  if (! yyval.ttype)
                   3292:                    YYERROR1;
                   3293:                  if (yychar == YYEMPTY)
                   3294:                    yychar = YYLEX;
                   3295:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3296:     break;}
                   3297: case 77:
                   3298: #line 667 "cp-parse.y"
                   3299: {
                   3300:                  tree decl = build_parse_node (CALL_EXPR, TREE_VALUE (yyval.ttype), empty_parms (), yyvsp[-1].ttype);
                   3301:                  yyval.ttype = start_method (TREE_CHAIN (yyval.ttype), decl, yyvsp[0].ttype);
                   3302:                  if (! yyval.ttype)
                   3303:                    YYERROR1;
                   3304:                  if (yychar == YYEMPTY)
                   3305:                    yychar = YYLEX;
                   3306:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3307:     break;}
                   3308: case 78:
                   3309: #line 676 "cp-parse.y"
                   3310: { yyval.ttype = start_method (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
                   3311:                  if (! yyval.ttype)
                   3312:                    YYERROR1;
                   3313:                  if (yychar == YYEMPTY)
                   3314:                    yychar = YYLEX;
                   3315:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3316:     break;}
                   3317: case 79:
                   3318: #line 683 "cp-parse.y"
                   3319: { yyval.ttype = start_method (NULL_TREE, yyval.ttype, yyvsp[0].ttype);
                   3320:                  if (! yyval.ttype)
                   3321:                    YYERROR1;
                   3322:                  if (yychar == YYEMPTY)
                   3323:                    yychar = YYLEX;
                   3324:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3325:     break;}
                   3326: case 80:
                   3327: #line 692 "cp-parse.y"
                   3328: {
                   3329:                  if (! current_function_parms_stored)
                   3330:                    store_parm_decls ();
                   3331:                  yyval.ttype = yyvsp[0].ttype;
                   3332:                ;
                   3333:     break;}
                   3334: case 81:
                   3335: #line 700 "cp-parse.y"
                   3336: { store_return_init (yyval.ttype, NULL_TREE); ;
                   3337:     break;}
                   3338: case 82:
                   3339: #line 702 "cp-parse.y"
                   3340: { store_return_init (yyval.ttype, yyvsp[-1].code); ;
                   3341:     break;}
                   3342: case 83:
                   3343: #line 704 "cp-parse.y"
                   3344: { store_return_init (yyval.ttype, yyvsp[-1].ttype); ;
                   3345:     break;}
                   3346: case 84:
                   3347: #line 706 "cp-parse.y"
                   3348: { store_return_init (yyval.ttype, NULL_TREE); ;
                   3349:     break;}
                   3350: case 85:
                   3351: #line 711 "cp-parse.y"
                   3352: {
                   3353:                  if (yyvsp[0].itype == 0)
                   3354:                    error ("no base initializers given following ':'");
                   3355:                  setup_vtbl_ptr ();
                   3356:                ;
                   3357:     break;}
                   3358: case 86:
                   3359: #line 720 "cp-parse.y"
                   3360: {
                   3361:                  if (! current_function_parms_stored)
                   3362:                    store_parm_decls ();
                   3363: 
                   3364:                  /* Flag that we are processing base and member initializers.  */
                   3365:                  current_vtable_decl = error_mark_node;
                   3366: 
                   3367:                  if (DECL_CONSTRUCTOR_P (current_function_decl))
                   3368:                    {
                   3369:                      /* Make a contour for the initializer list.  */
                   3370:                      pushlevel (0);
                   3371:                      clear_last_expr ();
                   3372:                      expand_start_bindings (0);
                   3373:                    }
                   3374:                  else if (current_class_type == NULL_TREE)
                   3375:                    error ("base initializers not allowed for non-member functions");
                   3376:                  else if (! DECL_CONSTRUCTOR_P (current_function_decl))
                   3377:                    error ("only constructors take base initializers");
                   3378:                ;
                   3379:     break;}
                   3380: case 87:
                   3381: #line 743 "cp-parse.y"
                   3382: { yyval.itype = 0; ;
                   3383:     break;}
                   3384: case 88:
                   3385: #line 745 "cp-parse.y"
                   3386: { yyval.itype = 1; ;
                   3387:     break;}
                   3388: case 91:
                   3389: #line 751 "cp-parse.y"
                   3390: {
                   3391:                  if (current_class_name && pedantic)
                   3392:                    warning ("old style base class initialization; use `%s (...)'",
                   3393:                             IDENTIFIER_POINTER (current_class_name));
                   3394:                  expand_member_init (C_C_D, NULL_TREE, yyvsp[-1].ttype);
                   3395:                ;
                   3396:     break;}
                   3397: case 92:
                   3398: #line 758 "cp-parse.y"
                   3399: {
                   3400:                  if (current_class_name && pedantic)
                   3401:                    warning ("old style base class initialization; use `%s (...)'",
                   3402:                             IDENTIFIER_POINTER (current_class_name));
                   3403:                  expand_member_init (C_C_D, NULL_TREE, void_type_node);
                   3404:                ;
                   3405:     break;}
                   3406: case 93:
                   3407: #line 765 "cp-parse.y"
                   3408: {
                   3409:                  expand_member_init (C_C_D, yyval.ttype, yyvsp[-1].ttype);
                   3410:                ;
                   3411:     break;}
                   3412: case 94:
                   3413: #line 769 "cp-parse.y"
                   3414: { expand_member_init (C_C_D, yyval.ttype, void_type_node); ;
                   3415:     break;}
                   3416: case 95:
                   3417: #line 771 "cp-parse.y"
                   3418: {
                   3419:                  do_member_init (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype);
                   3420:                ;
                   3421:     break;}
                   3422: case 96:
                   3423: #line 775 "cp-parse.y"
                   3424: {
                   3425:                  do_member_init (yyval.ttype, yyvsp[-1].ttype, void_type_node);
                   3426:                ;
                   3427:     break;}
                   3428: case 106:
                   3429: #line 799 "cp-parse.y"
                   3430: { yyval.ttype = build_parse_node (BIT_NOT_EXPR,yyvsp[0].ttype);;
                   3431:     break;}
                   3432: case 108:
                   3433: #line 802 "cp-parse.y"
                   3434: { yyval.ttype = hack_wrapper (yyval.ttype, NULL_TREE, yyvsp[0].ttype); ;
                   3435:     break;}
                   3436: case 109:
                   3437: #line 804 "cp-parse.y"
                   3438: { yyval.ttype = hack_wrapper (yyval.ttype, NULL_TREE, yyvsp[0].ttype); ;
                   3439:     break;}
                   3440: case 110:
                   3441: #line 806 "cp-parse.y"
                   3442: { yyval.ttype = hack_wrapper (yyval.ttype, NULL_TREE, yyvsp[0].ttype); ;
                   3443:     break;}
                   3444: case 111:
                   3445: #line 808 "cp-parse.y"
                   3446: { yyval.ttype = hack_wrapper (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   3447:     break;}
                   3448: case 112:
                   3449: #line 810 "cp-parse.y"
                   3450: { yyval.ttype = hack_wrapper (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   3451:     break;}
                   3452: case 113:
                   3453: #line 814 "cp-parse.y"
                   3454: { yyval.itype = 0; ;
                   3455:     break;}
                   3456: case 114:
                   3457: #line 816 "cp-parse.y"
                   3458: { yyval.itype = 1; ;
                   3459:     break;}
                   3460: case 115:
                   3461: #line 818 "cp-parse.y"
                   3462: { yyval.itype = 2; ;
                   3463:     break;}
                   3464: case 116:
                   3465: #line 823 "cp-parse.y"
                   3466: {
                   3467:                  if (yyvsp[0].ttype) 
                   3468:                    yyval.ttype = yyvsp[0].ttype;
                   3469:                  else if (yyval.ttype != error_mark_node)
                   3470:                    yyval.ttype = IDENTIFIER_TYPE_VALUE (yyval.ttype);
                   3471:                ;
                   3472:     break;}
                   3473: case 117:
                   3474: #line 833 "cp-parse.y"
                   3475: { yyval.ttype = lookup_template_class (yyval.ttype, yyvsp[-1].ttype); ;
                   3476:     break;}
                   3477: case 118:
                   3478: #line 839 "cp-parse.y"
                   3479: { yyungetc ('{', 1); yyval.ttype = 0; ;
                   3480:     break;}
                   3481: case 119:
                   3482: #line 840 "cp-parse.y"
                   3483: { yyungetc (':', 1); yyval.ttype = 0; ;
                   3484:     break;}
                   3485: case 120:
                   3486: #line 842 "cp-parse.y"
                   3487: { yyval.ttype = instantiate_class_template (yyvsp[0].ttype, 1); ;
                   3488:     break;}
                   3489: case 121:
                   3490: #line 847 "cp-parse.y"
                   3491: { yyval.ttype = instantiate_class_template (yyvsp[0].ttype, 1); ;
                   3492:     break;}
                   3493: case 122:
                   3494: #line 852 "cp-parse.y"
                   3495: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
                   3496:     break;}
                   3497: case 123:
                   3498: #line 854 "cp-parse.y"
                   3499: { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
                   3500:     break;}
                   3501: case 124:
                   3502: #line 859 "cp-parse.y"
                   3503: { yyval.ttype = groktypename (yyval.ttype); ;
                   3504:     break;}
                   3505: case 126:
                   3506: #line 865 "cp-parse.y"
                   3507: {
                   3508:                  tree t, decl, id, tmpl;
                   3509: 
                   3510:                  id = TREE_VALUE (yyvsp[-1].ttype);
                   3511:                  tmpl = TREE_PURPOSE (IDENTIFIER_TEMPLATE (id));
                   3512:                  t = xref_tag (DECL_TEMPLATE_INFO (tmpl)->aggr, id, yyvsp[0].ttype);
                   3513:                  set_current_level_tags_transparency (1);
                   3514:                  assert (TREE_CODE (t) == RECORD_TYPE);
                   3515:                  yyval.ttype = t;
                   3516: 
                   3517:                  /* Now, put a copy of the decl in global scope, to avoid
                   3518:                     recursive expansion.  */
                   3519:                  decl = IDENTIFIER_LOCAL_VALUE (id);
                   3520:                  if (!decl)
                   3521:                    decl = IDENTIFIER_CLASS_VALUE (id);
                   3522:                  /* Now, put a copy of the decl in global scope, to avoid
                   3523:                     recursive expansion.  */
                   3524:                   if (decl)
                   3525:                     {
                   3526:                      /* Need to copy it to clear the chain pointer,
                   3527:                         and need to get it into permanent storage.  */
                   3528:                      extern struct obstack permanent_obstack;
                   3529:                       assert (TREE_CODE (decl) == TYPE_DECL);
                   3530:                      push_obstacks (&permanent_obstack, &permanent_obstack);
                   3531:                       decl = copy_node (decl);
                   3532:                      if (DECL_LANG_SPECIFIC (decl))
                   3533:                        copy_lang_decl (decl);
                   3534:                      pop_obstacks ();
                   3535:                      pushdecl_top_level (decl);
                   3536:                    }
                   3537:                ;
                   3538:     break;}
                   3539: case 127:
                   3540: #line 897 "cp-parse.y"
                   3541: {
                   3542:                  extern void end_template_instantiation ();
                   3543:                  tree id, members;
                   3544: 
                   3545:                  yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-1].ttype, 0, 0);
                   3546: 
                   3547:                  pop_obstacks ();
                   3548:                  end_template_instantiation (yyvsp[-5].ttype, yyvsp[-3].ttype);
                   3549: 
                   3550:                   /* Now go after the methods & class data.  */
                   3551:                   instantiate_member_templates (yyvsp[-5].ttype);
                   3552:                ;
                   3553:     break;}
                   3554: case 128:
                   3555: #line 913 "cp-parse.y"
                   3556: { yyval.ttype = NULL_TREE; ;
                   3557:     break;}
                   3558: case 129:
                   3559: #line 915 "cp-parse.y"
                   3560: { yyval.ttype = yyvsp[0].ttype; ;
                   3561:     break;}
                   3562: case 130:
                   3563: #line 920 "cp-parse.y"
                   3564: { yyval.ttype = NULL_TREE; /* never used from here... */;
                   3565:     break;}
                   3566: case 131:
                   3567: #line 922 "cp-parse.y"
                   3568: { yyval.ttype = yyvsp[-1].ttype; /*???*/ ;
                   3569:     break;}
                   3570: case 132:
                   3571: #line 926 "cp-parse.y"
                   3572: { yyval.code = NEGATE_EXPR; ;
                   3573:     break;}
                   3574: case 133:
                   3575: #line 928 "cp-parse.y"
                   3576: { yyval.code = CONVERT_EXPR; ;
                   3577:     break;}
                   3578: case 134:
                   3579: #line 930 "cp-parse.y"
                   3580: { yyval.code = PREINCREMENT_EXPR; ;
                   3581:     break;}
                   3582: case 135:
                   3583: #line 932 "cp-parse.y"
                   3584: { yyval.code = PREDECREMENT_EXPR; ;
                   3585:     break;}
                   3586: case 136:
                   3587: #line 934 "cp-parse.y"
                   3588: { yyval.code = TRUTH_NOT_EXPR; ;
                   3589:     break;}
                   3590: case 137:
                   3591: #line 938 "cp-parse.y"
                   3592: { yyval.ttype = build_x_compound_expr (yyval.ttype); ;
                   3593:     break;}
                   3594: case 139:
                   3595: #line 945 "cp-parse.y"
                   3596: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
                   3597:     break;}
                   3598: case 140:
                   3599: #line 947 "cp-parse.y"
                   3600: { chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
                   3601:     break;}
                   3602: case 141:
                   3603: #line 949 "cp-parse.y"
                   3604: { chainon (yyval.ttype, build_tree_list (NULL_TREE, error_mark_node)); ;
                   3605:     break;}
                   3606: case 142:
                   3607: #line 954 "cp-parse.y"
                   3608: {
                   3609:                  if (TREE_CODE (yyval.ttype) == TYPE_EXPR)
                   3610:                    yyval.ttype = build_component_type_expr (C_C_D, yyval.ttype, NULL_TREE, 1);
                   3611:                ;
                   3612:     break;}
                   3613: case 143:
                   3614: #line 959 "cp-parse.y"
                   3615: { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
                   3616:     break;}
                   3617: case 144:
                   3618: #line 961 "cp-parse.y"
                   3619: { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
                   3620:     break;}
                   3621: case 145:
                   3622: #line 963 "cp-parse.y"
                   3623: { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
                   3624:     break;}
                   3625: case 146:
                   3626: #line 965 "cp-parse.y"
                   3627: { yyval.ttype = build_x_unary_op (yyval.ttype, yyvsp[0].ttype);
                   3628:                  if (yyvsp[-1].code == NEGATE_EXPR && TREE_CODE (yyvsp[0].ttype) == INTEGER_CST)
                   3629:                    TREE_NEGATED_INT (yyval.ttype) = 1;
                   3630:                ;
                   3631:     break;}
                   3632: case 147:
                   3633: #line 970 "cp-parse.y"
                   3634: { if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF
                   3635:                      && DECL_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1)))
                   3636:                    error ("sizeof applied to a bit-field");
                   3637:                  /* ANSI says arrays and functions are converted inside comma.
                   3638:                     But we can't really convert them in build_compound_expr
                   3639:                     because that would break commas in lvalues.
                   3640:                     So do the conversion here if operand was a comma.  */
                   3641:                  if (TREE_CODE (yyvsp[0].ttype) == COMPOUND_EXPR
                   3642:                      && (TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == ARRAY_TYPE
                   3643:                          || TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == FUNCTION_TYPE))
                   3644:                    yyvsp[0].ttype = default_conversion (yyvsp[0].ttype);
                   3645:                  yyval.ttype = c_sizeof (TREE_TYPE (yyvsp[0].ttype)); ;
                   3646:     break;}
                   3647: case 148:
                   3648: #line 983 "cp-parse.y"
                   3649: { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ttype)); ;
                   3650:     break;}
                   3651: case 149:
                   3652: #line 985 "cp-parse.y"
                   3653: { if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF
                   3654:                      && DECL_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1)))
                   3655:                    error ("`__alignof' applied to a bit-field");
                   3656:                  if (TREE_CODE (yyvsp[0].ttype) == INDIRECT_REF)
                   3657:                    {
                   3658:                      tree t = TREE_OPERAND (yyvsp[0].ttype, 0);
                   3659:                      tree best = t;
                   3660:                      int bestalign = TYPE_ALIGN (TREE_TYPE (TREE_TYPE (t)));
                   3661:                      while (TREE_CODE (t) == NOP_EXPR
                   3662:                             && TREE_CODE (TREE_TYPE (TREE_OPERAND (t, 0))) == POINTER_TYPE)
                   3663:                        {
                   3664:                          int thisalign;
                   3665:                          t = TREE_OPERAND (t, 0);
                   3666:                          thisalign = TYPE_ALIGN (TREE_TYPE (TREE_TYPE (t)));
                   3667:                          if (thisalign > bestalign)
                   3668:                            best = t, bestalign = thisalign;
                   3669:                        }
                   3670:                      yyval.ttype = c_alignof (TREE_TYPE (TREE_TYPE (best)));
                   3671:                    }
                   3672:                  else
                   3673:                    {
                   3674:                      /* ANSI says arrays and fns are converted inside comma.
                   3675:                         But we can't convert them in build_compound_expr
                   3676:                         because that would break commas in lvalues.
                   3677:                         So do the conversion here if operand was a comma.  */
                   3678:                      if (TREE_CODE (yyvsp[0].ttype) == COMPOUND_EXPR
                   3679:                          && (TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == ARRAY_TYPE
                   3680:                              || TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == FUNCTION_TYPE))
                   3681:                        yyvsp[0].ttype = default_conversion (yyvsp[0].ttype);
                   3682:                      yyval.ttype = c_alignof (TREE_TYPE (yyvsp[0].ttype));
                   3683:                    }
                   3684:                ;
                   3685:     break;}
                   3686: case 150:
                   3687: #line 1018 "cp-parse.y"
                   3688: { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ttype)); ;
                   3689:     break;}
                   3690: case 151:
                   3691: #line 1021 "cp-parse.y"
                   3692: { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE, yyval.ttype); ;
                   3693:     break;}
                   3694: case 152:
                   3695: #line 1023 "cp-parse.y"
                   3696: { yyval.ttype = build_new (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyval.ttype); ;
                   3697:     break;}
                   3698: case 153:
                   3699: #line 1025 "cp-parse.y"
                   3700: { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE, yyval.ttype); ;
                   3701:     break;}
                   3702: case 154:
                   3703: #line 1027 "cp-parse.y"
                   3704: { yyval.ttype = build_new (yyvsp[-3].ttype, yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
                   3705:     break;}
                   3706: case 155:
                   3707: #line 1033 "cp-parse.y"
                   3708: {
                   3709:                  tree absdcl, typename;
                   3710:                  static int gave_warning = 0;
                   3711: 
                   3712:                illegal_new_array:
                   3713:                  absdcl = build_parse_node (ARRAY_REF, yyvsp[-4].ttype, yyvsp[-1].ttype);
                   3714:                  typename = build_decl_list (yyvsp[-5].ttype, absdcl);
                   3715:                  warning ("array dimensions with parenthesized type is disallowed in standard C++");
                   3716:                  if (!gave_warning)
                   3717:                    {
                   3718:                      gave_warning++;
                   3719:                      warning ("  (per grammar in Ellis & Stroustrup [1990], chapter 17)");
                   3720:                      warning ("  try rewriting, perhaps with a typedef");
                   3721:                    }
                   3722:                  yyval.ttype = build_new (yyvsp[-7].ttype, typename, NULL_TREE, yyval.ttype);
                   3723:                ;
                   3724:     break;}
                   3725: case 156:
                   3726: #line 1050 "cp-parse.y"
                   3727: { goto illegal_new_array; ;
                   3728:     break;}
                   3729: case 157:
                   3730: #line 1053 "cp-parse.y"
                   3731: {
                   3732:                  yyval.ttype = build_new (yyvsp[-4].ttype, build_decl_list (yyvsp[-2].ttype, yyvsp[-1].ttype), NULL_TREE, yyval.ttype);
                   3733:                ;
                   3734:     break;}
                   3735: case 158:
                   3736: #line 1057 "cp-parse.y"
                   3737: { yyval.ttype = build_new (yyvsp[-4].ttype, build_decl_list (yyvsp[-2].ttype, yyvsp[-1].ttype), NULL_TREE, yyval.ttype); ;
                   3738:     break;}
                   3739: case 159:
                   3740: #line 1060 "cp-parse.y"
                   3741: { yyungetc (':', 1);
                   3742:                  yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE, yyval.ttype); ;
                   3743:     break;}
                   3744: case 160:
                   3745: #line 1064 "cp-parse.y"
                   3746: { tree expr = stabilize_reference (convert_from_reference (yyvsp[0].ttype));
                   3747:                  tree type = TREE_TYPE (expr);
                   3748: 
                   3749:                  if (integer_zerop (expr))
                   3750:                    yyval.ttype = build1 (NOP_EXPR, void_type_node, expr);
                   3751:                  else if (TREE_CODE (type) != POINTER_TYPE)
                   3752:                    {
                   3753:                      error ("non-pointer type to `delete'");
                   3754:                      yyval.ttype = error_mark_node;
                   3755:                      break;
                   3756:                    }
                   3757:                  yyval.ttype = build_delete (type, expr, integer_three_node,
                   3758:                                     LOOKUP_NORMAL|LOOKUP_HAS_IN_CHARGE,
                   3759:                                     TYPE_HAS_DESTRUCTOR (TREE_TYPE (type)) ? yyval.ttype : 0, 1);
                   3760:                ;
                   3761:     break;}
                   3762: case 161:
                   3763: #line 1080 "cp-parse.y"
                   3764: {
                   3765:                  tree exp = stabilize_reference (convert_from_reference (yyvsp[0].ttype));
                   3766:                  tree elt_size = c_sizeof (TREE_TYPE (exp));
                   3767: 
                   3768:                  if (yychar == YYEMPTY)
                   3769:                    yychar = YYLEX;
                   3770: 
                   3771:                  yyval.ttype = build_vec_delete (exp, NULL_TREE, elt_size, NULL_TREE,
                   3772:                                         integer_one_node, integer_two_node);
                   3773:                ;
                   3774:     break;}
                   3775: case 162:
                   3776: #line 1091 "cp-parse.y"
                   3777: {
                   3778:                  tree maxindex = build_binary_op (MINUS_EXPR, yyvsp[-2].ttype,
                   3779:                                                   integer_one_node);
                   3780:                  tree exp = stabilize_reference (convert_from_reference (yyvsp[0].ttype));
                   3781:                  tree elt_size = c_sizeof (TREE_TYPE (exp));
                   3782: 
                   3783:                  if (yychar == YYEMPTY)
                   3784:                    yychar = YYLEX;
                   3785: 
                   3786:                  warning ("use of array size with vector delete is anachronistic");
                   3787:                  yyval.ttype = build_vec_delete (exp, maxindex, elt_size, NULL_TREE,
                   3788:                                         integer_one_node, integer_two_node);
                   3789:                ;
                   3790:     break;}
                   3791: case 164:
                   3792: #line 1109 "cp-parse.y"
                   3793: { tree type = groktypename (yyvsp[-2].ttype);
                   3794:                  yyval.ttype = build_c_cast (type, yyvsp[0].ttype); ;
                   3795:     break;}
                   3796: case 165:
                   3797: #line 1112 "cp-parse.y"
                   3798: { tree type = groktypename (yyvsp[-5].ttype);
                   3799:                  tree init = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
                   3800:                  if (pedantic)
                   3801:                    warning ("ANSI C forbids constructor-expressions");
                   3802:                  /* Indicate that this was a GNU C constructor expression.  */
                   3803:                  TREE_HAS_CONSTRUCTOR (init) = 1;
                   3804:                  yyval.ttype = digest_init (type, init, 0);
                   3805:                  if (TREE_CODE (type) == ARRAY_TYPE && TYPE_SIZE (type) == 0)
                   3806:                    {
                   3807:                      int failure = complete_array_type (type, yyval.ttype, 1);
                   3808:                      if (failure)
                   3809:                        abort ();
                   3810:                    }
                   3811:                ;
                   3812:     break;}
                   3813: case 166:
                   3814: #line 1127 "cp-parse.y"
                   3815: { yyval.ttype = build_headof (yyvsp[-1].ttype); ;
                   3816:     break;}
                   3817: case 167:
                   3818: #line 1129 "cp-parse.y"
                   3819: { yyval.ttype = build_classof (yyvsp[-1].ttype); ;
                   3820:     break;}
                   3821: case 168:
                   3822: #line 1131 "cp-parse.y"
                   3823: { if (is_aggr_typedef (yyvsp[-1].ttype, 1))
                   3824:                    {
                   3825:                      tree type = IDENTIFIER_TYPE_VALUE (yyvsp[-1].ttype);
                   3826:                      yyval.ttype = CLASSTYPE_DOSSIER (type);
                   3827:                    }
                   3828:                  else
                   3829:                    yyval.ttype = error_mark_node;
                   3830:                ;
                   3831:     break;}
                   3832: case 170:
                   3833: #line 1144 "cp-parse.y"
                   3834: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3835:     break;}
                   3836: case 171:
                   3837: #line 1146 "cp-parse.y"
                   3838: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3839:     break;}
                   3840: case 172:
                   3841: #line 1148 "cp-parse.y"
                   3842: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3843:     break;}
                   3844: case 173:
                   3845: #line 1150 "cp-parse.y"
                   3846: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3847:     break;}
                   3848: case 174:
                   3849: #line 1152 "cp-parse.y"
                   3850: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3851:     break;}
                   3852: case 175:
                   3853: #line 1154 "cp-parse.y"
                   3854: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3855:     break;}
                   3856: case 176:
                   3857: #line 1156 "cp-parse.y"
                   3858: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3859:     break;}
                   3860: case 177:
                   3861: #line 1158 "cp-parse.y"
                   3862: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3863:     break;}
                   3864: case 178:
                   3865: #line 1160 "cp-parse.y"
                   3866: { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
                   3867:     break;}
                   3868: case 179:
                   3869: #line 1162 "cp-parse.y"
                   3870: { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
                   3871:     break;}
                   3872: case 180:
                   3873: #line 1164 "cp-parse.y"
                   3874: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3875:     break;}
                   3876: case 181:
                   3877: #line 1166 "cp-parse.y"
                   3878: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3879:     break;}
                   3880: case 182:
                   3881: #line 1168 "cp-parse.y"
                   3882: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3883:     break;}
                   3884: case 183:
                   3885: #line 1170 "cp-parse.y"
                   3886: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3887:     break;}
                   3888: case 184:
                   3889: #line 1172 "cp-parse.y"
                   3890: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3891:     break;}
                   3892: case 185:
                   3893: #line 1174 "cp-parse.y"
                   3894: { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
                   3895:     break;}
                   3896: case 186:
                   3897: #line 1176 "cp-parse.y"
                   3898: { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
                   3899:     break;}
                   3900: case 187:
                   3901: #line 1178 "cp-parse.y"
                   3902: { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   3903:     break;}
                   3904: case 188:
                   3905: #line 1180 "cp-parse.y"
                   3906: { yyval.ttype = build_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype); ;
                   3907:     break;}
                   3908: case 189:
                   3909: #line 1182 "cp-parse.y"
                   3910: { register tree rval;
                   3911:                  if (rval = build_opfncall (MODIFY_EXPR, LOOKUP_NORMAL, yyval.ttype, yyvsp[0].ttype, yyvsp[-1].code))
                   3912:                    yyval.ttype = rval;
                   3913:                  else
                   3914:                    yyval.ttype = build_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
                   3915:     break;}
                   3916: case 190:
                   3917: #line 1188 "cp-parse.y"
                   3918: { yyval.ttype = build_m_component_ref (yyval.ttype, build_indirect_ref (yyvsp[0].ttype, 0)); ;
                   3919:     break;}
                   3920: case 191:
                   3921: #line 1191 "cp-parse.y"
                   3922: { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
                   3923:     break;}
                   3924: case 192:
                   3925: #line 1207 "cp-parse.y"
                   3926: { yyval.ttype = do_identifier (yyval.ttype); ;
                   3927:     break;}
                   3928: case 193:
                   3929: #line 1209 "cp-parse.y"
                   3930: {
                   3931:                  tree op = yyval.ttype;
                   3932:                  if (TREE_CODE (op) != IDENTIFIER_NODE)
                   3933:                    yyval.ttype = op;
                   3934:                  else
                   3935:                    {
                   3936:                      yyval.ttype = lookup_name (op);
                   3937:                      if (yyval.ttype == NULL_TREE)
                   3938:                        {
                   3939:                          error ("operator %s not defined", operator_name_string (op));
                   3940:                          yyval.ttype = error_mark_node;
                   3941:                        }
                   3942:                    }
                   3943:                ;
                   3944:     break;}
                   3945: case 195:
                   3946: #line 1225 "cp-parse.y"
                   3947: { yyval.ttype = combine_strings (yyval.ttype); ;
                   3948:     break;}
                   3949: case 196:
                   3950: #line 1227 "cp-parse.y"
                   3951: { yyval.ttype = yyvsp[-1].ttype; ;
                   3952:     break;}
                   3953: case 197:
                   3954: #line 1229 "cp-parse.y"
                   3955: { yyval.ttype = error_mark_node; ;
                   3956:     break;}
                   3957: case 198:
                   3958: #line 1231 "cp-parse.y"
                   3959: { if (current_function_decl == 0)
                   3960:                    {
                   3961:                      error ("braced-group within expression allowed only inside a function");
                   3962:                      YYERROR;
                   3963:                    }
                   3964:                  keep_next_level ();
                   3965:                  yyval.ttype = expand_start_stmt_expr (); ;
                   3966:     break;}
                   3967: case 199:
                   3968: #line 1239 "cp-parse.y"
                   3969: { tree rtl_exp;
                   3970:                  if (pedantic)
                   3971:                    warning ("ANSI C forbids braced-groups within expressions");
                   3972:                  rtl_exp = expand_end_stmt_expr (yyvsp[-2].ttype);
                   3973:                  /* The statements have side effects, so the group does.  */
                   3974:                  TREE_SIDE_EFFECTS (rtl_exp) = 1;
                   3975: 
                   3976:                  /* Make a BIND_EXPR for the BLOCK already made.  */
                   3977:                  yyval.ttype = build (BIND_EXPR, TREE_TYPE (rtl_exp),
                   3978:                              NULL_TREE, rtl_exp, yyvsp[-1].ttype);
                   3979:                ;
                   3980:     break;}
                   3981: case 200:
                   3982: #line 1251 "cp-parse.y"
                   3983: { /* [eichin:19911016.1902EST] */
                   3984:                   extern struct pending_template* pending_templates;
                   3985:                   yyval.ttype = build_x_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype, current_class_decl); 
                   3986:                   /* here we instantiate_class_template as needed... */
                   3987:                   if (pending_templates) do_pending_templates ();
                   3988:                 ;
                   3989:     break;}
                   3990: case 201:
                   3991: #line 1256 "cp-parse.y"
                   3992: {
                   3993:                   if (TREE_CODE (yyvsp[-1].ttype) == CALL_EXPR
                   3994:                       && TREE_TYPE (yyvsp[-1].ttype) != void_type_node)
                   3995:                    yyval.ttype = require_complete_type (yyvsp[-1].ttype);
                   3996:                   else
                   3997:                     yyval.ttype = yyvsp[-1].ttype;
                   3998:                 ;
                   3999:     break;}
                   4000: case 202:
                   4001: #line 1264 "cp-parse.y"
                   4002: { 
                   4003:                 yyval.ttype = build_x_function_call (yyval.ttype, NULL_TREE, current_class_decl);
                   4004:                 if (TREE_CODE (yyval.ttype) == CALL_EXPR
                   4005:                     && TREE_TYPE (yyval.ttype) != void_type_node)
                   4006:                   yyval.ttype = require_complete_type (yyval.ttype);
                   4007:                 ;
                   4008:     break;}
                   4009: case 203:
                   4010: #line 1271 "cp-parse.y"
                   4011: {
                   4012:                do_array:
                   4013:                  {
                   4014:                    tree array_expr = yyval.ttype;
                   4015:                    tree index_exp = yyvsp[-1].ttype;
                   4016:                    tree type = TREE_TYPE (array_expr);
                   4017:                    if (type == error_mark_node || index_exp == error_mark_node)
                   4018:                      yyval.ttype = error_mark_node;
                   4019:                    else if (type == NULL_TREE)
                   4020:                      {
                   4021:                        /* Something has gone very wrong.  Assume we
                   4022:                           are mistakenly reducing an expression
                   4023:                           instead of a declaration.  */
                   4024:                        error ("parser may be lost: is there a '{' missing somewhere?");
                   4025:                        yyval.ttype = NULL_TREE;
                   4026:                      }
                   4027:                    else
                   4028:                      {
                   4029:                        if (TREE_CODE (type) == OFFSET_TYPE)
                   4030:                          type = TREE_TYPE (type);
                   4031:                        if (TREE_CODE (type) == REFERENCE_TYPE)
                   4032:                          type = TREE_TYPE (type);
                   4033: 
                   4034:                        if (TYPE_LANG_SPECIFIC (type)
                   4035:                            && TYPE_OVERLOADS_ARRAY_REF (type))
                   4036:                          yyval.ttype = build_opfncall (ARRAY_REF, LOOKUP_NORMAL, array_expr, index_exp);
                   4037:                        else if (TREE_CODE (type) == POINTER_TYPE
                   4038:                                 || TREE_CODE (type) == ARRAY_TYPE)
                   4039:                          yyval.ttype = build_array_ref (array_expr, index_exp);
                   4040:                        else
                   4041:                          {
                   4042:                            type = TREE_TYPE (index_exp);
                   4043:                            if (TREE_CODE (type) == OFFSET_TYPE)
                   4044:                              type = TREE_TYPE (type);
                   4045:                            if (TREE_CODE (type) == REFERENCE_TYPE)
                   4046:                              type = TREE_TYPE (type);
                   4047:                            
                   4048:                            if (TYPE_LANG_SPECIFIC (type)
                   4049:                                && TYPE_OVERLOADS_ARRAY_REF (type))
                   4050:                              error ("array expression backwards");
                   4051:                            else if (TREE_CODE (type) == POINTER_TYPE
                   4052:                                     || TREE_CODE (type) == ARRAY_TYPE)
                   4053:                              yyval.ttype = build_array_ref (index_exp, array_expr);
                   4054:                            else
                   4055:                              error("[] applied to non-pointer type");
                   4056:                          }
                   4057:                      }
                   4058:                  }
                   4059:                ;
                   4060:     break;}
                   4061: case 204:
                   4062: #line 1321 "cp-parse.y"
                   4063: { yyval.ttype = build_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
                   4064:     break;}
                   4065: case 205:
                   4066: #line 1323 "cp-parse.y"
                   4067: {
                   4068:                  tree basetype = yyvsp[-1].ttype;
                   4069:                  if (is_aggr_typedef (basetype, 1))
                   4070:                    {
                   4071:                      basetype = IDENTIFIER_TYPE_VALUE (basetype);
                   4072: 
                   4073:                      if (yyval.ttype == error_mark_node)
                   4074:                        ;
                   4075:                      else if (binfo_or_else (basetype, TREE_TYPE (yyval.ttype)))
                   4076:                        yyval.ttype = build_component_ref (build_scoped_ref (yyval.ttype, yyvsp[-1].ttype), yyvsp[0].ttype, NULL_TREE, 1);
                   4077:                      else
                   4078:                        yyval.ttype = error_mark_node;
                   4079:                    }
                   4080:                  else yyval.ttype = error_mark_node;
                   4081:                ;
                   4082:     break;}
                   4083: case 206:
                   4084: #line 1339 "cp-parse.y"
                   4085: { yyval.ttype = build_x_unary_op (POSTINCREMENT_EXPR, yyval.ttype); ;
                   4086:     break;}
                   4087: case 207:
                   4088: #line 1341 "cp-parse.y"
                   4089: { yyval.ttype = build_x_unary_op (POSTDECREMENT_EXPR, yyval.ttype); ;
                   4090:     break;}
                   4091: case 208:
                   4092: #line 1345 "cp-parse.y"
                   4093: { if (current_class_decl)
                   4094:                    {
                   4095: #ifdef WARNING_ABOUT_CCD
                   4096:                      TREE_USED (current_class_decl) = 1;
                   4097: #endif
                   4098:                      yyval.ttype = current_class_decl;
                   4099:                    }
                   4100:                  else if (current_function_decl
                   4101:                           && DECL_STATIC_FUNCTION_P (current_function_decl))
                   4102:                    {
                   4103:                      error ("`this' is unavailable for static member functions");
                   4104:                      yyval.ttype = error_mark_node;
                   4105:                    }
                   4106:                  else
                   4107:                    {
                   4108:                      if (current_function_decl)
                   4109:                        error ("invalid use of `this' in non-member function");
                   4110:                      else
                   4111:                        error ("invalid use of `this' at top level");
                   4112:                      yyval.ttype = error_mark_node;
                   4113:                    }
                   4114:                ;
                   4115:     break;}
                   4116: case 209:
                   4117: #line 1368 "cp-parse.y"
                   4118: {
                   4119:                  tree type;
                   4120:                  tree id = yyval.ttype;
                   4121: 
                   4122:                  /* This is a C cast in C++'s `functional' notation.  */
                   4123:                  if (yyvsp[-1].ttype == error_mark_node)
                   4124:                    {
                   4125:                      yyval.ttype = error_mark_node;
                   4126:                      break;
                   4127:                    }
                   4128: #if 0
                   4129:                  if (yyvsp[-1].ttype == NULL_TREE)
                   4130:                    {
                   4131:                      error ("cannot cast null list to type `%s'",
                   4132:                             IDENTIFIER_POINTER (TYPE_NAME (id)));
                   4133:                      yyval.ttype = error_mark_node;
                   4134:                      break;
                   4135:                    }
                   4136: #endif
                   4137:                  if (type == error_mark_node)
                   4138:                    yyval.ttype = error_mark_node;
                   4139:                  else
                   4140:                    {
                   4141:                      if (id == ridpointers[(int) RID_CONST])
                   4142:                        type = build_type_variant (integer_type_node, 1, 0);
                   4143:                      else if (id == ridpointers[(int) RID_VOLATILE])
                   4144:                        type = build_type_variant (integer_type_node, 0, 1);
                   4145:                      else if (id == ridpointers[(int) RID_FRIEND])
                   4146:                        {
                   4147:                          error ("cannot cast expression to `friend' type");
                   4148:                          yyval.ttype = error_mark_node;
                   4149:                          break;
                   4150:                        }
                   4151:                      else abort ();
                   4152:                      yyval.ttype = build_c_cast (type, build_compound_expr (yyvsp[-1].ttype));
                   4153:                    }
                   4154:                ;
                   4155:     break;}
                   4156: case 210:
                   4157: #line 1406 "cp-parse.y"
                   4158: { yyval.ttype = build_functional_cast (yyval.ttype, yyvsp[-1].ttype); ;
                   4159:     break;}
                   4160: case 211:
                   4161: #line 1408 "cp-parse.y"
                   4162: { yyval.ttype = build_functional_cast (yyval.ttype, NULL_TREE); ;
                   4163:     break;}
                   4164: case 212:
                   4165: #line 1410 "cp-parse.y"
                   4166: {
                   4167:                do_scoped_id:
                   4168:                  yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
                   4169:                  if (yychar == YYEMPTY)
                   4170:                    yychar = YYLEX;
                   4171:                  if (! yyval.ttype)
                   4172:                    {
                   4173:                      if (yychar == '(' || yychar == LEFT_RIGHT)
                   4174:                        yyval.ttype = implicitly_declare (yyvsp[0].ttype);
                   4175:                      else
                   4176:                        {
                   4177:                          if (IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) != error_mark_node)
                   4178:                            error ("undeclared variable `%s' (first use here)",
                   4179:                                   IDENTIFIER_POINTER (yyvsp[0].ttype));
                   4180:                          yyval.ttype = error_mark_node;
                   4181:                          /* Prevent repeated error messages.  */
                   4182:                          IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) = error_mark_node;
                   4183:                        }
                   4184:                    }
                   4185:                  else
                   4186:                    {
                   4187:                      assemble_external (yyval.ttype);
                   4188:                      TREE_USED (yyval.ttype) = 1;
                   4189:                    }
                   4190:                  if (TREE_CODE (yyval.ttype) == CONST_DECL)
                   4191:                    yyval.ttype = DECL_INITIAL (yyval.ttype);
                   4192:                    /* XXX CHS - should we set TREE_USED of the constant? */
                   4193:                ;
                   4194:     break;}
                   4195: case 213:
                   4196: #line 1439 "cp-parse.y"
                   4197: {
                   4198:                  if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
                   4199:                    goto do_scoped_id;
                   4200:                do_scoped_operator:
                   4201:                  yyval.ttype = yyvsp[0].ttype;
                   4202:                ;
                   4203:     break;}
                   4204: case 214:
                   4205: #line 1446 "cp-parse.y"
                   4206: { yyval.ttype = build_offset_ref (yyval.ttype, yyvsp[0].ttype); ;
                   4207:     break;}
                   4208: case 215:
                   4209: #line 1448 "cp-parse.y"
                   4210: { yyval.ttype = build_member_call (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
                   4211:     break;}
                   4212: case 216:
                   4213: #line 1450 "cp-parse.y"
                   4214: { yyval.ttype = build_member_call (yyval.ttype, yyvsp[-1].ttype, NULL_TREE); ;
                   4215:     break;}
                   4216: case 217:
                   4217: #line 1452 "cp-parse.y"
                   4218: { yyval.ttype = build_method_call (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE,
                   4219:                                          (LOOKUP_NORMAL|LOOKUP_AGGR)); ;
                   4220:     break;}
                   4221: case 218:
                   4222: #line 1455 "cp-parse.y"
                   4223: { yyval.ttype = build_method_call (yyval.ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE,
                   4224:                                          (LOOKUP_NORMAL|LOOKUP_AGGR)); ;
                   4225:     break;}
                   4226: case 219:
                   4227: #line 1458 "cp-parse.y"
                   4228: { yyval.ttype = build_scoped_method_call (yyval.ttype, yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
                   4229:     break;}
                   4230: case 220:
                   4231: #line 1460 "cp-parse.y"
                   4232: { yyval.ttype = build_scoped_method_call (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE); ;
                   4233:     break;}
                   4234: case 221:
                   4235: #line 1502 "cp-parse.y"
                   4236: { yyval.ttype = NULL_TREE; ;
                   4237:     break;}
                   4238: case 222:
                   4239: #line 1504 "cp-parse.y"
                   4240: { yyval.ttype = yyvsp[-1].ttype; ;
                   4241:     break;}
                   4242: case 223:
                   4243: #line 1506 "cp-parse.y"
                   4244: { yyval.ttype = void_type_node; ;
                   4245:     break;}
                   4246: case 224:
                   4247: #line 1508 "cp-parse.y"
                   4248: { yyval.ttype = combine_strings (yyvsp[-1].ttype); ;
                   4249:     break;}
                   4250: case 225:
                   4251: #line 1513 "cp-parse.y"
                   4252: { yyval.itype = 0; ;
                   4253:     break;}
                   4254: case 226:
                   4255: #line 1515 "cp-parse.y"
                   4256: { yyval.itype = 1; ;
                   4257:     break;}
                   4258: case 227:
                   4259: #line 1519 "cp-parse.y"
                   4260: { yyval.ttype = NULL_TREE; ;
                   4261:     break;}
                   4262: case 228:
                   4263: #line 1521 "cp-parse.y"
                   4264: { if (yyvsp[0].ttype)
                   4265:                    error ("extra `::' before `delete' ignored");
                   4266:                  yyval.ttype = error_mark_node;
                   4267:                ;
                   4268:     break;}
                   4269: case 230:
                   4270: #line 1531 "cp-parse.y"
                   4271: { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
                   4272:     break;}
                   4273: case 231:
                   4274: #line 1536 "cp-parse.y"
                   4275: {
                   4276:                  if (! current_function_parms_stored)
                   4277:                    store_parm_decls ();
                   4278:                  setup_vtbl_ptr ();
                   4279:                ;
                   4280:     break;}
                   4281: case 232:
                   4282: #line 1544 "cp-parse.y"
                   4283: {
                   4284:                  if (yyval.ttype == error_mark_node)
                   4285:                    ;
                   4286:                  else
                   4287:                    {
                   4288:                      tree type = TREE_TYPE (yyval.ttype);
                   4289: 
                   4290:                      if (! PROMOTES_TO_AGGR_TYPE (type, REFERENCE_TYPE))
                   4291:                        {
                   4292:                          error ("object in '.' expression is not of aggregate type");
                   4293:                          yyval.ttype = error_mark_node;
                   4294:                        }
                   4295:                    }
                   4296:                ;
                   4297:     break;}
                   4298: case 233:
                   4299: #line 1559 "cp-parse.y"
                   4300: {
                   4301:                  yyval.ttype = build_x_arrow (yyval.ttype, 0);
                   4302:                ;
                   4303:     break;}
                   4304: case 235:
                   4305: #line 1569 "cp-parse.y"
                   4306: {
                   4307:                  resume_momentary (yyvsp[-1].itype);
                   4308:                  note_list_got_semicolon (yyval.ttype);
                   4309:                ;
                   4310:     break;}
                   4311: case 236:
                   4312: #line 1575 "cp-parse.y"
                   4313: { tree d;
                   4314:                  int yes = suspend_momentary ();
                   4315:                  d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
                   4316:                  finish_decl (d, NULL_TREE, NULL_TREE);
                   4317:                  resume_momentary (yes);
                   4318:                  note_list_got_semicolon (yyval.ttype);
                   4319:                ;
                   4320:     break;}
                   4321: case 237:
                   4322: #line 1583 "cp-parse.y"
                   4323: { resume_momentary (yyvsp[-1].itype); ;
                   4324:     break;}
                   4325: case 238:
                   4326: #line 1586 "cp-parse.y"
                   4327: { tree d;
                   4328:                  int yes = suspend_momentary ();
                   4329:                  d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
                   4330:                  finish_decl (d, NULL_TREE, NULL_TREE);
                   4331:                  resume_momentary (yes);
                   4332:                ;
                   4333:     break;}
                   4334: case 239:
                   4335: #line 1593 "cp-parse.y"
                   4336: {
                   4337:                  shadow_tag (yyval.ttype);
                   4338:                  note_list_got_semicolon (yyval.ttype);
                   4339:                ;
                   4340:     break;}
                   4341: case 240:
                   4342: #line 1598 "cp-parse.y"
                   4343: { warning ("empty declaration"); ;
                   4344:     break;}
                   4345: case 243:
                   4346: #line 1608 "cp-parse.y"
                   4347: { yyval.ttype = yyvsp[0].ttype; ;
                   4348:     break;}
                   4349: case 244:
                   4350: #line 1610 "cp-parse.y"
                   4351: { yyval.ttype = yyvsp[0].ttype; ;
                   4352:     break;}
                   4353: case 245:
                   4354: #line 1619 "cp-parse.y"
                   4355: { yyval.ttype = list_hash_lookup_or_cons (yyval.ttype); ;
                   4356:     break;}
                   4357: case 246:
                   4358: #line 1621 "cp-parse.y"
                   4359: { yyval.ttype = hash_tree_chain (yyvsp[0].ttype, yyval.ttype); ;
                   4360:     break;}
                   4361: case 247:
                   4362: #line 1623 "cp-parse.y"
                   4363: { yyval.ttype = hash_tree_chain (yyval.ttype, yyvsp[0].ttype); ;
                   4364:     break;}
                   4365: case 248:
                   4366: #line 1625 "cp-parse.y"
                   4367: { yyval.ttype = hash_tree_chain (yyvsp[-1].ttype, hash_chainon (yyvsp[0].ttype, yyval.ttype)); ;
                   4368:     break;}
                   4369: case 249:
                   4370: #line 1631 "cp-parse.y"
                   4371: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
                   4372:     break;}
                   4373: case 250:
                   4374: #line 1633 "cp-parse.y"
                   4375: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
                   4376:     break;}
                   4377: case 251:
                   4378: #line 1635 "cp-parse.y"
                   4379: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   4380:     break;}
                   4381: case 252:
                   4382: #line 1637 "cp-parse.y"
                   4383: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   4384:     break;}
                   4385: case 253:
                   4386: #line 1646 "cp-parse.y"
                   4387: { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
                   4388:     break;}
                   4389: case 254:
                   4390: #line 1648 "cp-parse.y"
                   4391: { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
                   4392:     break;}
                   4393: case 255:
                   4394: #line 1650 "cp-parse.y"
                   4395: { yyval.ttype = hash_tree_chain (yyvsp[0].ttype, yyval.ttype); ;
                   4396:     break;}
                   4397: case 256:
                   4398: #line 1652 "cp-parse.y"
                   4399: { yyval.ttype = hash_tree_chain (yyvsp[0].ttype, yyval.ttype); ;
                   4400:     break;}
                   4401: case 257:
                   4402: #line 1664 "cp-parse.y"
                   4403: { yyval.ttype = get_decl_list (yyval.ttype); ;
                   4404:     break;}
                   4405: case 258:
                   4406: #line 1666 "cp-parse.y"
                   4407: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   4408:     break;}
                   4409: case 259:
                   4410: #line 1668 "cp-parse.y"
                   4411: { yyval.ttype = decl_tree_cons (NULL_TREE, yyval.ttype, yyvsp[0].ttype); ;
                   4412:     break;}
                   4413: case 260:
                   4414: #line 1670 "cp-parse.y"
                   4415: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[-1].ttype, hash_chainon (yyvsp[0].ttype, yyval.ttype)); ;
                   4416:     break;}
                   4417: case 261:
                   4418: #line 1675 "cp-parse.y"
                   4419: { yyval.ttype = get_decl_list (yyval.ttype); ;
                   4420:     break;}
                   4421: case 262:
                   4422: #line 1677 "cp-parse.y"
                   4423: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   4424:     break;}
                   4425: case 267:
                   4426: #line 1689 "cp-parse.y"
                   4427: { yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
                   4428:                  if (pedantic)
                   4429:                    warning ("ANSI C forbids `typeof'"); ;
                   4430:     break;}
                   4431: case 268:
                   4432: #line 1693 "cp-parse.y"
                   4433: { yyval.ttype = groktypename (yyvsp[-1].ttype);
                   4434:                  if (pedantic)
                   4435:                    warning ("ANSI C forbids `typeof'"); ;
                   4436:     break;}
                   4437: case 277:
                   4438: #line 1718 "cp-parse.y"
                   4439: { yyval.ttype = NULL_TREE; ;
                   4440:     break;}
                   4441: case 278:
                   4442: #line 1720 "cp-parse.y"
                   4443: { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype);
                   4444:                  yyval.ttype = yyvsp[-1].ttype;
                   4445:                  if (pedantic)
                   4446:                    warning ("ANSI C forbids use of `asm' keyword");
                   4447:                ;
                   4448:     break;}
                   4449: case 279:
                   4450: #line 1729 "cp-parse.y"
                   4451: { current_declspecs = yyvsp[-5].ttype;
                   4452:                  yyvsp[0].itype = suspend_momentary ();
                   4453:                  yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype); ;
                   4454:     break;}
                   4455: case 280:
                   4456: #line 1734 "cp-parse.y"
                   4457: { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype);
                   4458:                  yyval.itype = yyvsp[-2].itype; ;
                   4459:     break;}
                   4460: case 281:
                   4461: #line 1737 "cp-parse.y"
                   4462: { tree d;
                   4463:                  current_declspecs = yyvsp[-4].ttype;
                   4464:                  yyval.itype = suspend_momentary ();
                   4465:                  d = start_decl (yyvsp[-3].ttype, current_declspecs, 0, yyvsp[-2].ttype);
                   4466:                  finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
                   4467:     break;}
                   4468: case 282:
                   4469: #line 1746 "cp-parse.y"
                   4470: { yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype); ;
                   4471:     break;}
                   4472: case 283:
                   4473: #line 1749 "cp-parse.y"
                   4474: { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
                   4475:     break;}
                   4476: case 284:
                   4477: #line 1751 "cp-parse.y"
                   4478: { tree d = start_decl (yyval.itype, current_declspecs, 0, yyvsp[-2].ttype);
                   4479:                  finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
                   4480:     break;}
                   4481: case 285:
                   4482: #line 1757 "cp-parse.y"
                   4483: { current_declspecs = yyvsp[-5].ttype;
                   4484:                  yyvsp[0].itype = suspend_momentary ();
                   4485:                  yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype); ;
                   4486:     break;}
                   4487: case 286:
                   4488: #line 1762 "cp-parse.y"
                   4489: { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype);
                   4490:                  yyval.itype = yyvsp[-2].itype; ;
                   4491:     break;}
                   4492: case 287:
                   4493: #line 1765 "cp-parse.y"
                   4494: { tree d;
                   4495:                  current_declspecs = yyvsp[-4].ttype;
                   4496:                  yyval.itype = suspend_momentary ();
                   4497:                  d = start_decl (yyvsp[-3].ttype, current_declspecs, 0, yyvsp[-2].ttype);
                   4498:                  finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
                   4499:     break;}
                   4500: case 288:
                   4501: #line 1776 "cp-parse.y"
                   4502: { yyval.ttype = NULL_TREE; ;
                   4503:     break;}
                   4504: case 289:
                   4505: #line 1778 "cp-parse.y"
                   4506: { yyval.ttype = yyvsp[-2].ttype; ;
                   4507:     break;}
                   4508: case 292:
                   4509: #line 1788 "cp-parse.y"
                   4510: { warning ("`%s' attribute directive ignored",
                   4511:                   IDENTIFIER_POINTER (yyval.ttype)); ;
                   4512:     break;}
                   4513: case 293:
                   4514: #line 1791 "cp-parse.y"
                   4515: { /* if not "aligned(1)", then issue warning */
                   4516:          if (strcmp (IDENTIFIER_POINTER (yyval.ttype), "aligned") != 0
                   4517:              || TREE_CODE (yyvsp[-1].ttype) != INTEGER_CST
                   4518:              || TREE_INT_CST_LOW (yyvsp[-1].ttype) != 1)
                   4519:            warning ("`%s' attribute directive ignored",
                   4520:                     IDENTIFIER_POINTER (yyval.ttype)); ;
                   4521:     break;}
                   4522: case 294:
                   4523: #line 1798 "cp-parse.y"
                   4524: { warning ("`%s' attribute directive ignored",
                   4525:                   IDENTIFIER_POINTER (yyval.ttype)); ;
                   4526:     break;}
                   4527: case 295:
                   4528: #line 1804 "cp-parse.y"
                   4529: { ;
                   4530:     break;}
                   4531: case 296:
                   4532: #line 1806 "cp-parse.y"
                   4533: { ;
                   4534:     break;}
                   4535: case 298:
                   4536: #line 1812 "cp-parse.y"
                   4537: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
                   4538:                  TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1;
                   4539:                  if (pedantic)
                   4540:                    warning ("ANSI C forbids empty initializer braces"); ;
                   4541:     break;}
                   4542: case 299:
                   4543: #line 1817 "cp-parse.y"
                   4544: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
                   4545:                  TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
                   4546:     break;}
                   4547: case 300:
                   4548: #line 1820 "cp-parse.y"
                   4549: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
                   4550:                  TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
                   4551:     break;}
                   4552: case 301:
                   4553: #line 1823 "cp-parse.y"
                   4554: { yyval.ttype = NULL_TREE; ;
                   4555:     break;}
                   4556: case 302:
                   4557: #line 1830 "cp-parse.y"
                   4558: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
                   4559:     break;}
                   4560: case 303:
                   4561: #line 1832 "cp-parse.y"
                   4562: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   4563:     break;}
                   4564: case 304:
                   4565: #line 1835 "cp-parse.y"
                   4566: { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   4567:     break;}
                   4568: case 305:
                   4569: #line 1837 "cp-parse.y"
                   4570: { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
                   4571:     break;}
                   4572: case 306:
                   4573: #line 1839 "cp-parse.y"
                   4574: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
                   4575:     break;}
                   4576: case 307:
                   4577: #line 1841 "cp-parse.y"
                   4578: { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
                   4579:     break;}
                   4580: case 308:
                   4581: #line 1846 "cp-parse.y"
                   4582: { yyvsp[0].itype = suspend_momentary ();
                   4583:                  yyval.ttype = start_enum (yyvsp[-1].ttype); ;
                   4584:     break;}
                   4585: case 309:
                   4586: #line 1849 "cp-parse.y"
                   4587: { yyval.ttype = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
                   4588:                  resume_momentary (yyvsp[-4].itype);
                   4589:                  check_for_missing_semicolon (yyvsp[-3].ttype); ;
                   4590:     break;}
                   4591: case 310:
                   4592: #line 1853 "cp-parse.y"
                   4593: { yyval.ttype = finish_enum (start_enum (yyvsp[-2].ttype), NULL_TREE);
                   4594:                  check_for_missing_semicolon (yyval.ttype); ;
                   4595:     break;}
                   4596: case 311:
                   4597: #line 1856 "cp-parse.y"
                   4598: { yyvsp[0].itype = suspend_momentary ();
                   4599:                  yyval.ttype = start_enum (make_anon_name ()); ;
                   4600:     break;}
                   4601: case 312:
                   4602: #line 1859 "cp-parse.y"
                   4603: { yyval.ttype = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
                   4604:                  resume_momentary (yyvsp[-5].itype);
                   4605:                  check_for_missing_semicolon (yyvsp[-3].ttype); ;
                   4606:     break;}
                   4607: case 313:
                   4608: #line 1863 "cp-parse.y"
                   4609: { yyval.ttype = finish_enum (start_enum (make_anon_name()), NULL_TREE);
                   4610:                  check_for_missing_semicolon (yyval.ttype); ;
                   4611:     break;}
                   4612: case 314:
                   4613: #line 1866 "cp-parse.y"
                   4614: { yyval.ttype = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE); ;
                   4615:     break;}
                   4616: case 315:
                   4617: #line 1870 "cp-parse.y"
                   4618: {
                   4619:                  int semi;
                   4620: #if 0
                   4621:                  /* Need to rework class nesting in the
                   4622:                     presence of nested classes, etc.  */
                   4623:                  shadow_tag (CLASSTYPE_AS_LIST (yyval.ttype)); */
                   4624: #endif
                   4625:                  semi = yychar == ';';
                   4626:                  if (semi)
                   4627:                    note_got_semicolon (yyval.ttype);
                   4628:                  if (TREE_CODE (yyval.ttype) == ENUMERAL_TYPE)
                   4629:                    /* $$ = $1 from default rule.  */;
                   4630:                  else if (CLASSTYPE_DECLARED_EXCEPTION (yyval.ttype))
                   4631:                    {
                   4632:                      if (! semi)
                   4633:                        yyval.ttype = finish_exception (yyval.ttype, yyvsp[-1].ttype);
                   4634:                      else
                   4635:                        warning ("empty exception declaration\n");
                   4636:                    }
                   4637:                  else
                   4638:                    yyval.ttype = finish_struct (yyval.ttype, yyvsp[-1].ttype, semi, semi);
                   4639: 
                   4640:                  pop_obstacks ();
                   4641:                  if (! semi)
                   4642:                    check_for_missing_semicolon (yyval.ttype); ;
                   4643:     break;}
                   4644: case 316:
                   4645: #line 1896 "cp-parse.y"
                   4646: {
                   4647: #if 0
                   4648:   /* It's no longer clear what the following error is supposed to
                   4649:      accomplish.  If it turns out to be needed, add a comment why.  */
                   4650:                  if (TYPE_BINFO_BASETYPES (yyval.ttype) && !TYPE_SIZE (yyval.ttype))
                   4651:                    {
                   4652:                      error ("incomplete definition of type `%s'",
                   4653:                             TYPE_NAME_STRING (yyval.ttype));
                   4654:                      yyval.ttype = error_mark_node;
                   4655:                    }
                   4656: #endif
                   4657:                ;
                   4658:     break;}
                   4659: case 320:
                   4660: #line 1918 "cp-parse.y"
                   4661: { if (pedantic) warning ("comma at end of enumerator list"); ;
                   4662:     break;}
                   4663: case 322:
                   4664: #line 1923 "cp-parse.y"
                   4665: { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
                   4666:     break;}
                   4667: case 323:
                   4668: #line 1925 "cp-parse.y"
                   4669: { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   4670:     break;}
                   4671: case 324:
                   4672: #line 1927 "cp-parse.y"
                   4673: { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype));
                   4674:                ;
                   4675:     break;}
                   4676: case 325:
                   4677: #line 1930 "cp-parse.y"
                   4678: { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype));
                   4679:                ;
                   4680:     break;}
                   4681: case 326:
                   4682: #line 1933 "cp-parse.y"
                   4683: { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype));
                   4684:                ;
                   4685:     break;}
                   4686: case 327:
                   4687: #line 1936 "cp-parse.y"
                   4688: { error ("no body nor ';' separates two class, struct or union declarations");
                   4689:                ;
                   4690:     break;}
                   4691: case 328:
                   4692: #line 1942 "cp-parse.y"
                   4693: { aggr1: current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
                   4694:     break;}
                   4695: case 329:
                   4696: #line 1944 "cp-parse.y"
                   4697: { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
                   4698:     break;}
                   4699: case 330:
                   4700: #line 1946 "cp-parse.y"
                   4701: { yyungetc (':', 1); goto aggr1; ;
                   4702:     break;}
                   4703: case 331:
                   4704: #line 1948 "cp-parse.y"
                   4705: { yyungetc ('{', 1);
                   4706:                aggr2:
                   4707:                  current_aggr = yyval.ttype;
                   4708:                  yyval.ttype = yyvsp[-1].ttype; ;
                   4709:     break;}
                   4710: case 332:
                   4711: #line 1953 "cp-parse.y"
                   4712: { yyungetc (':', 1); goto aggr2; ;
                   4713:     break;}
                   4714: case 333:
                   4715: #line 1958 "cp-parse.y"
                   4716: { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
                   4717:     break;}
                   4718: case 334:
                   4719: #line 1963 "cp-parse.y"
                   4720: {
                   4721:                  yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE);
                   4722:                ;
                   4723:     break;}
                   4724: case 335:
                   4725: #line 1967 "cp-parse.y"
                   4726: {
                   4727:                  if (yyvsp[0].ttype)
                   4728:                    yyval.ttype = xref_tag (current_aggr, yyvsp[-2].ttype, yyvsp[0].ttype);
                   4729:                  else
                   4730:                    yyval.ttype = yyvsp[-1].ttype;
                   4731:                ;
                   4732:     break;}
                   4733: case 336:
                   4734: #line 1975 "cp-parse.y"
                   4735: {
                   4736:                  yyval.ttype = xref_defn_tag (current_aggr, yyvsp[0].ttype, NULL_TREE);
                   4737:                ;
                   4738:     break;}
                   4739: case 337:
                   4740: #line 1979 "cp-parse.y"
                   4741: {
                   4742:                  if (yyvsp[0].ttype)
                   4743:                    yyval.ttype = xref_defn_tag (current_aggr, yyvsp[-2].ttype, yyvsp[0].ttype);
                   4744:                  else
                   4745:                    yyval.ttype = yyvsp[-1].ttype;
                   4746:                ;
                   4747:     break;}
                   4748: case 338:
                   4749: #line 1988 "cp-parse.y"
                   4750: { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), NULL_TREE);
                   4751:                  yyungetc ('{', 1); ;
                   4752:     break;}
                   4753: case 341:
                   4754: #line 1996 "cp-parse.y"
                   4755: { yyval.ttype = NULL_TREE; ;
                   4756:     break;}
                   4757: case 342:
                   4758: #line 1998 "cp-parse.y"
                   4759: { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
                   4760:     break;}
                   4761: case 343:
                   4762: #line 2000 "cp-parse.y"
                   4763: { yyval.ttype = yyvsp[0].ttype; ;
                   4764:     break;}
                   4765: case 345:
                   4766: #line 2006 "cp-parse.y"
                   4767: { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
                   4768:     break;}
                   4769: case 346:
                   4770: #line 2011 "cp-parse.y"
                   4771: { if (! is_aggr_typedef (yyval.ttype, 1))
                   4772:                    yyval.ttype = NULL_TREE;
                   4773:                  else yyval.ttype = build_tree_list ((tree)visibility_default, yyval.ttype); ;
                   4774:     break;}
                   4775: case 347:
                   4776: #line 2015 "cp-parse.y"
                   4777: { if (! is_aggr_typedef (yyvsp[0].ttype, 1))
                   4778:                    yyval.ttype = NULL_TREE;
                   4779:                  else yyval.ttype = build_tree_list ((tree) yyval.ttype, yyvsp[0].ttype); ;
                   4780:     break;}
                   4781: case 350:
                   4782: #line 2027 "cp-parse.y"
                   4783: {
                   4784:                  if (yyval.itype == visibility_protected)
                   4785:                    {
                   4786:                      warning ("`protected' visibility not implemented");
                   4787:                      yyval.itype = visibility_public;
                   4788:                    }
                   4789:                ;
                   4790:     break;}
                   4791: case 351:
                   4792: #line 2035 "cp-parse.y"
                   4793: { if (yyval.ttype != ridpointers[(int)RID_VIRTUAL])
                   4794:                    sorry ("non-virtual visibility");
                   4795:                  yyval.itype = visibility_default_virtual; ;
                   4796:     break;}
                   4797: case 352:
                   4798: #line 2039 "cp-parse.y"
                   4799: { int err = 0;
                   4800:                  if (yyvsp[0].itype == visibility_protected)
                   4801:                    {
                   4802:                      warning ("`protected' visibility not implemented");
                   4803:                      yyvsp[0].itype = visibility_public;
                   4804:                      err++;
                   4805:                    }
                   4806:                  else if (yyvsp[0].itype == visibility_public)
                   4807:                    {
                   4808:                      if (yyvsp[-1].itype == visibility_private)
                   4809:                        {
                   4810:                        mixed:
                   4811:                          error ("base class cannot be public and private");
                   4812:                        }
                   4813:                      else if (yyvsp[-1].itype == visibility_default_virtual)
                   4814:                        yyval.itype = visibility_public_virtual;
                   4815:                    }
                   4816:                  else /* $2 == visibility_priavte */
                   4817:                    {
                   4818:                      if (yyvsp[-1].itype == visibility_public)
                   4819:                        goto mixed;
                   4820:                      else if (yyvsp[-1].itype == visibility_default_virtual)
                   4821:                        yyval.itype = visibility_private_virtual;
                   4822:                    }
                   4823:                ;
                   4824:     break;}
                   4825: case 353:
                   4826: #line 2065 "cp-parse.y"
                   4827: { if (yyvsp[0].ttype != ridpointers[(int)RID_VIRTUAL])
                   4828:                    sorry ("non-virtual visibility");
                   4829:                  if (yyval.itype == visibility_public)
                   4830:                    yyval.itype = visibility_public_virtual;
                   4831:                  else if (yyval.itype == visibility_private)
                   4832:                    yyval.itype = visibility_private_virtual; ;
                   4833:     break;}
                   4834: case 354:
                   4835: #line 2074 "cp-parse.y"
                   4836: { tree t;
                   4837:                  push_obstacks_nochange ();
                   4838:                  end_temporary_allocation ();
                   4839: 
                   4840:                  if (! IS_AGGR_TYPE (yyvsp[-1].ttype))
                   4841:                    {
                   4842:                      yyvsp[-1].ttype = make_lang_type (RECORD_TYPE);
                   4843:                      TYPE_NAME (yyvsp[-1].ttype) = get_identifier ("erroneous type");
                   4844:                    }
                   4845:                  if (TYPE_SIZE (yyvsp[-1].ttype))
                   4846:                    duplicate_tag_error (yyvsp[-1].ttype);
                   4847:                   if (TYPE_SIZE (yyvsp[-1].ttype) || TYPE_BEING_DEFINED (yyvsp[-1].ttype))
                   4848:                     {
                   4849:                       t = make_lang_type (TREE_CODE (yyvsp[-1].ttype));
                   4850:                       pushtag (DECL_NAME (TYPE_NAME (yyvsp[-1].ttype)), t);
                   4851:                       yyvsp[-1].ttype = t;
                   4852:                     }
                   4853:                  pushclass (yyvsp[-1].ttype, 0);
                   4854:                  TYPE_BEING_DEFINED (yyvsp[-1].ttype) = 1;
                   4855:                  t = DECL_NAME (TYPE_NAME (yyvsp[-1].ttype));
                   4856:                  if (IDENTIFIER_TEMPLATE (t))
                   4857:                    overload_template_name (t, 1);
                   4858:                ;
                   4859:     break;}
                   4860: case 355:
                   4861: #line 2101 "cp-parse.y"
                   4862: { yyval.ttype = NULL_TREE; ;
                   4863:     break;}
                   4864: case 356:
                   4865: #line 2103 "cp-parse.y"
                   4866: { yyval.ttype = build_tree_list ((tree)visibility_default, yyval.ttype); ;
                   4867:     break;}
                   4868: case 357:
                   4869: #line 2105 "cp-parse.y"
                   4870: { yyval.ttype = chainon (yyval.ttype, build_tree_list ((tree) yyvsp[-2].itype, yyvsp[0].ttype)); ;
                   4871:     break;}
                   4872: case 359:
                   4873: #line 2111 "cp-parse.y"
                   4874: { if (yyval.ttype == void_type_node) yyval.ttype = NULL_TREE; ;
                   4875:     break;}
                   4876: case 360:
                   4877: #line 2113 "cp-parse.y"
                   4878: { if (yyvsp[0].ttype != NULL_TREE && yyvsp[0].ttype != void_type_node)
                   4879:                    yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
                   4880:     break;}
                   4881: case 361:
                   4882: #line 2116 "cp-parse.y"
                   4883: { if (pedantic)
                   4884:                    warning ("extra semicolon in struct or union specified"); ;
                   4885:     break;}
                   4886: case 362:
                   4887: #line 2122 "cp-parse.y"
                   4888: {
                   4889:                do_components:
                   4890:                  if (yyvsp[-1].ttype == void_type_node)
                   4891:                    /* We just got some friends.
                   4892:                       They have been recorded elsewhere.  */
                   4893:                    yyval.ttype = NULL_TREE;
                   4894:                  else if (yyvsp[-1].ttype == NULL_TREE)
                   4895:                    {
                   4896:                      tree t = groktypename (build_decl_list (yyval.ttype, NULL_TREE));
                   4897:                      if (t == NULL_TREE)
                   4898:                        {
                   4899:                          error ("error in component specification");
                   4900:                          yyval.ttype = NULL_TREE;
                   4901:                        }
                   4902:                      else if (TREE_CODE (t) == UNION_TYPE)
                   4903:                        {
                   4904:                          /* handle anonymous unions */
                   4905:                          if (CLASSTYPE_METHOD_VEC (t))
                   4906:                            sorry ("methods in anonymous unions");
                   4907:                          yyval.ttype = build_lang_field_decl (FIELD_DECL, NULL_TREE, t);
                   4908:                        }
                   4909:                      else if (TREE_CODE (t) == ENUMERAL_TYPE)
                   4910:                        yyval.ttype = grok_enum_decls (t, NULL_TREE);
                   4911:                      else if (TREE_CODE (t) == RECORD_TYPE)
                   4912:                        {
                   4913:                          if (TYPE_LANG_SPECIFIC (t)
                   4914:                              && CLASSTYPE_DECLARED_EXCEPTION (t))
                   4915:                            shadow_tag (yyval.ttype);
                   4916:                          yyval.ttype = NULL_TREE;
                   4917:                        }
                   4918:                      else if (t != void_type_node)
                   4919:                        {
                   4920:                          error ("empty component declaration");
                   4921:                          yyval.ttype = NULL_TREE;
                   4922:                        }
                   4923:                      else yyval.ttype = NULL_TREE;
                   4924:                    }
                   4925:                  else
                   4926:                    {
                   4927:                      tree t = TREE_TYPE (yyvsp[-1].ttype);
                   4928:                      if (TREE_CODE (t) == ENUMERAL_TYPE && TREE_NONLOCAL_FLAG (t))
                   4929:                        yyval.ttype = grok_enum_decls (t, yyvsp[-1].ttype);
                   4930:                      else
                   4931:                        yyval.ttype = yyvsp[-1].ttype;
                   4932:                    }
                   4933:                  end_exception_decls ();
                   4934:                ;
                   4935:     break;}
                   4936: case 363:
                   4937: #line 2170 "cp-parse.y"
                   4938: { yyval.ttype = groktypefield (yyval.ttype, yyvsp[-2].ttype); ;
                   4939:     break;}
                   4940: case 364:
                   4941: #line 2172 "cp-parse.y"
                   4942: { error ("missing ';' before right brace");
                   4943:                  yyungetc ('}', 0);
                   4944:                  yyval.ttype = groktypefield (yyval.ttype, yyvsp[-2].ttype); ;
                   4945:     break;}
                   4946: case 365:
                   4947: #line 2176 "cp-parse.y"
                   4948: { yyval.ttype = groktypefield (yyval.ttype, empty_parms ()); ;
                   4949:     break;}
                   4950: case 366:
                   4951: #line 2178 "cp-parse.y"
                   4952: { error ("missing ';' before right brace");
                   4953:                  yyungetc ('}', 0);
                   4954:                  yyval.ttype = groktypefield (yyval.ttype, empty_parms ()); ;
                   4955:     break;}
                   4956: case 367:
                   4957: #line 2182 "cp-parse.y"
                   4958: { goto do_components; ;
                   4959:     break;}
                   4960: case 368:
                   4961: #line 2185 "cp-parse.y"
                   4962: { yyval.ttype = grokfield (yyvsp[-1].ttype, yyval.ttype, 0, 0, 0, 0); ;
                   4963:     break;}
                   4964: case 369:
                   4965: #line 2187 "cp-parse.y"
                   4966: { error ("missing ';' before right brace");
                   4967:                  yyungetc ('}', 0);
                   4968:                  goto do_components; ;
                   4969:     break;}
                   4970: case 370:
                   4971: #line 2191 "cp-parse.y"
                   4972: { yyval.ttype = groktypefield (yyval.ttype, yyvsp[-2].ttype); ;
                   4973:     break;}
                   4974: case 371:
                   4975: #line 2193 "cp-parse.y"
                   4976: { error ("missing ';' before right brace");
                   4977:                  yyungetc ('}', 0);
                   4978:                  yyval.ttype = groktypefield (yyval.ttype, yyvsp[-2].ttype); ;
                   4979:     break;}
                   4980: case 372:
                   4981: #line 2197 "cp-parse.y"
                   4982: { yyval.ttype = groktypefield (yyval.ttype, empty_parms ()); ;
                   4983:     break;}
                   4984: case 373:
                   4985: #line 2199 "cp-parse.y"
                   4986: { error ("missing ';' before right brace");
                   4987:                  yyungetc ('}', 0);
                   4988:                  yyval.ttype = groktypefield (yyval.ttype, empty_parms ()); ;
                   4989:     break;}
                   4990: case 374:
                   4991: #line 2203 "cp-parse.y"
                   4992: { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ;
                   4993:     break;}
                   4994: case 375:
                   4995: #line 2205 "cp-parse.y"
                   4996: { error ("missing ';' before right brace");
                   4997:                  yyungetc ('}', 0);
                   4998:                  yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ;
                   4999:     break;}
                   5000: case 376:
                   5001: #line 2209 "cp-parse.y"
                   5002: { yyval.ttype = NULL_TREE; ;
                   5003:     break;}
                   5004: case 377:
                   5005: #line 2214 "cp-parse.y"
                   5006: { yyval.ttype = finish_method (yyval.ttype); ;
                   5007:     break;}
                   5008: case 378:
                   5009: #line 2216 "cp-parse.y"
                   5010: { yyval.ttype = finish_method (yyval.ttype); ;
                   5011:     break;}
                   5012: case 379:
                   5013: #line 2218 "cp-parse.y"
                   5014: { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, NULL_TREE, NULL_TREE); ;
                   5015:     break;}
                   5016: case 380:
                   5017: #line 2220 "cp-parse.y"
                   5018: { error ("missing ';' before right brace");
                   5019:                  yyungetc ('}', 0);
                   5020:                  yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, NULL_TREE, NULL_TREE); ;
                   5021:     break;}
                   5022: case 381:
                   5023: #line 2227 "cp-parse.y"
                   5024: { yyval.ttype = NULL_TREE; ;
                   5025:     break;}
                   5026: case 383:
                   5027: #line 2230 "cp-parse.y"
                   5028: {
                   5029:                  /* In this context, void_type_node encodes
                   5030:                     friends.  They have been recorded elsewhere.  */
                   5031:                  if (yyval.ttype == void_type_node)
                   5032:                    yyval.ttype = yyvsp[0].ttype;
                   5033:                  else
                   5034:                    yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
                   5035:                ;
                   5036:     break;}
                   5037: case 384:
                   5038: #line 2242 "cp-parse.y"
                   5039: { current_declspecs = yyvsp[-3].ttype;
                   5040:                  yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype, NULL_TREE, yyvsp[0].ttype); ;
                   5041:     break;}
                   5042: case 385:
                   5043: #line 2245 "cp-parse.y"
                   5044: { current_declspecs = yyvsp[-5].ttype;
                   5045:                  yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-3].ttype, yyvsp[0].ttype, yyvsp[-2].ttype); ;
                   5046:     break;}
                   5047: case 386:
                   5048: #line 2248 "cp-parse.y"
                   5049: { current_declspecs = yyvsp[-3].ttype;
                   5050:                  yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[0].ttype); ;
                   5051:     break;}
                   5052: case 387:
                   5053: #line 2251 "cp-parse.y"
                   5054: { current_declspecs = yyvsp[-2].ttype;
                   5055:                  yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[0].ttype); ;
                   5056:     break;}
                   5057: case 388:
                   5058: #line 2254 "cp-parse.y"
                   5059: { current_declspecs = yyvsp[-2].ttype;
                   5060:                  yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
                   5061:     break;}
                   5062: case 389:
                   5063: #line 2260 "cp-parse.y"
                   5064: { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype, NULL_TREE, yyvsp[0].ttype); ;
                   5065:     break;}
                   5066: case 390:
                   5067: #line 2262 "cp-parse.y"
                   5068: { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-3].ttype, yyvsp[0].ttype, yyvsp[-2].ttype); ;
                   5069:     break;}
                   5070: case 391:
                   5071: #line 2264 "cp-parse.y"
                   5072: { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[0].ttype); ;
                   5073:     break;}
                   5074: case 392:
                   5075: #line 2266 "cp-parse.y"
                   5076: { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[0].ttype); ;
                   5077:     break;}
                   5078: case 393:
                   5079: #line 2268 "cp-parse.y"
                   5080: { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
                   5081:     break;}
                   5082: case 395:
                   5083: #line 2278 "cp-parse.y"
                   5084: { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
                   5085:     break;}
                   5086: case 396:
                   5087: #line 2283 "cp-parse.y"
                   5088: { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE); ;
                   5089:     break;}
                   5090: case 397:
                   5091: #line 2285 "cp-parse.y"
                   5092: { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype); ;
                   5093:     break;}
                   5094: case 398:
                   5095: #line 2290 "cp-parse.y"
                   5096: { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
                   5097:     break;}
                   5098: case 399:
                   5099: #line 2292 "cp-parse.y"
                   5100: { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
                   5101:     break;}
                   5102: case 400:
                   5103: #line 2297 "cp-parse.y"
                   5104: { yyval.ttype = NULL_TREE; ;
                   5105:     break;}
                   5106: case 402:
                   5107: #line 2300 "cp-parse.y"
                   5108: { yyval.ttype = yyvsp[0].ttype; ;
                   5109:     break;}
                   5110: case 403:
                   5111: #line 2305 "cp-parse.y"
                   5112: { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
                   5113:     break;}
                   5114: case 404:
                   5115: #line 2307 "cp-parse.y"
                   5116: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   5117:     break;}
                   5118: case 405:
                   5119: #line 2312 "cp-parse.y"
                   5120: { yyval.ttype = NULL_TREE; ;
                   5121:     break;}
                   5122: case 406:
                   5123: #line 2314 "cp-parse.y"
                   5124: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   5125:     break;}
                   5126: case 407:
                   5127: #line 2322 "cp-parse.y"
                   5128: { yyval.itype = suspend_momentary (); ;
                   5129:     break;}
                   5130: case 408:
                   5131: #line 2323 "cp-parse.y"
                   5132: { resume_momentary (yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
                   5133:     break;}
                   5134: case 409:
                   5135: #line 2329 "cp-parse.y"
                   5136: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5137:     break;}
                   5138: case 410:
                   5139: #line 2331 "cp-parse.y"
                   5140: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5141:     break;}
                   5142: case 411:
                   5143: #line 2333 "cp-parse.y"
                   5144: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
                   5145:     break;}
                   5146: case 412:
                   5147: #line 2335 "cp-parse.y"
                   5148: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, NULL_TREE, NULL_TREE); ;
                   5149:     break;}
                   5150: case 413:
                   5151: #line 2337 "cp-parse.y"
                   5152: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
                   5153:     break;}
                   5154: case 414:
                   5155: #line 2339 "cp-parse.y"
                   5156: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
                   5157:     break;}
                   5158: case 415:
                   5159: #line 2341 "cp-parse.y"
                   5160: { yyval.ttype = yyvsp[-1].ttype; ;
                   5161:     break;}
                   5162: case 416:
                   5163: #line 2343 "cp-parse.y"
                   5164: { yyval.ttype = make_pointer_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
                   5165:     break;}
                   5166: case 417:
                   5167: #line 2345 "cp-parse.y"
                   5168: { see_typename (); ;
                   5169:     break;}
                   5170: case 419:
                   5171: #line 2348 "cp-parse.y"
                   5172: { yyval.ttype = make_reference_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
                   5173:     break;}
                   5174: case 420:
                   5175: #line 2350 "cp-parse.y"
                   5176: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5177:     break;}
                   5178: case 421:
                   5179: #line 2352 "cp-parse.y"
                   5180: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5181:     break;}
                   5182: case 423:
                   5183: #line 2358 "cp-parse.y"
                   5184: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5185:     break;}
                   5186: case 424:
                   5187: #line 2360 "cp-parse.y"
                   5188: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5189:     break;}
                   5190: case 425:
                   5191: #line 2362 "cp-parse.y"
                   5192: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
                   5193:     break;}
                   5194: case 426:
                   5195: #line 2364 "cp-parse.y"
                   5196: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, NULL_TREE, NULL_TREE); ;
                   5197:     break;}
                   5198: case 427:
                   5199: #line 2366 "cp-parse.y"
                   5200: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
                   5201:     break;}
                   5202: case 428:
                   5203: #line 2368 "cp-parse.y"
                   5204: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
                   5205:     break;}
                   5206: case 429:
                   5207: #line 2370 "cp-parse.y"
                   5208: { yyval.ttype = yyvsp[-1].ttype; ;
                   5209:     break;}
                   5210: case 430:
                   5211: #line 2372 "cp-parse.y"
                   5212: { see_typename (); ;
                   5213:     break;}
                   5214: case 432:
                   5215: #line 2375 "cp-parse.y"
                   5216: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5217:     break;}
                   5218: case 433:
                   5219: #line 2377 "cp-parse.y"
                   5220: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5221:     break;}
                   5222: case 434:
                   5223: #line 2385 "cp-parse.y"
                   5224: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5225:     break;}
                   5226: case 435:
                   5227: #line 2387 "cp-parse.y"
                   5228: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5229:     break;}
                   5230: case 436:
                   5231: #line 2389 "cp-parse.y"
                   5232: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
                   5233:     break;}
                   5234: case 437:
                   5235: #line 2391 "cp-parse.y"
                   5236: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, NULL_TREE, NULL_TREE); ;
                   5237:     break;}
                   5238: case 438:
                   5239: #line 2393 "cp-parse.y"
                   5240: { yyval.ttype = yyvsp[-1].ttype; ;
                   5241:     break;}
                   5242: case 439:
                   5243: #line 2395 "cp-parse.y"
                   5244: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5245:     break;}
                   5246: case 440:
                   5247: #line 2397 "cp-parse.y"
                   5248: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5249:     break;}
                   5250: case 441:
                   5251: #line 2399 "cp-parse.y"
                   5252: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
                   5253:     break;}
                   5254: case 442:
                   5255: #line 2401 "cp-parse.y"
                   5256: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
                   5257:     break;}
                   5258: case 443:
                   5259: #line 2403 "cp-parse.y"
                   5260: { see_typename (); ;
                   5261:     break;}
                   5262: case 444:
                   5263: #line 2407 "cp-parse.y"
                   5264: { see_typename (); ;
                   5265:     break;}
                   5266: case 445:
                   5267: #line 2410 "cp-parse.y"
                   5268: {
                   5269:                destructor_name:
                   5270:                  see_typename ();
                   5271:                  yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype);
                   5272:                ;
                   5273:     break;}
                   5274: case 446:
                   5275: #line 2416 "cp-parse.y"
                   5276: { goto destructor_name; ;
                   5277:     break;}
                   5278: case 447:
                   5279: #line 2418 "cp-parse.y"
                   5280: { goto destructor_name; ;
                   5281:     break;}
                   5282: case 448:
                   5283: #line 2420 "cp-parse.y"
                   5284: {
                   5285:                  see_typename ();
                   5286:                  yyval.ttype = build_parse_node (WRAPPER_EXPR, yyvsp[0].ttype);
                   5287:                ;
                   5288:     break;}
                   5289: case 449:
                   5290: #line 2425 "cp-parse.y"
                   5291: {
                   5292:                  see_typename ();
                   5293:                  yyval.ttype = build_parse_node (WRAPPER_EXPR,
                   5294:                                 build_parse_node (COND_EXPR, yyvsp[0].ttype, NULL_TREE, NULL_TREE));
                   5295:                ;
                   5296:     break;}
                   5297: case 450:
                   5298: #line 2431 "cp-parse.y"
                   5299: { see_typename ();
                   5300:                  yyval.ttype = build_parse_node (ANTI_WRAPPER_EXPR, yyvsp[0].ttype); ;
                   5301:     break;}
                   5302: case 451:
                   5303: #line 2434 "cp-parse.y"
                   5304: { see_typename ();
                   5305:                  if (TREE_CODE (yyval.ttype) != SCOPE_REF)
                   5306:                    yyval.ttype = build_push_scope (yyval.ttype, yyvsp[0].ttype);
                   5307:                  else if (TREE_OPERAND (yyval.ttype, 1) == NULL_TREE)
                   5308:                    TREE_OPERAND (yyval.ttype, 1) = yyvsp[0].ttype;
                   5309:                  else
                   5310:                    yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
                   5311:                ;
                   5312:     break;}
                   5313: case 452:
                   5314: #line 2443 "cp-parse.y"
                   5315: { yyval.ttype = build_push_scope (yyval.ttype, yyvsp[0].ttype); ;
                   5316:     break;}
                   5317: case 453:
                   5318: #line 2445 "cp-parse.y"
                   5319: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype)); ;
                   5320:     break;}
                   5321: case 454:
                   5322: #line 2447 "cp-parse.y"
                   5323: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype)); ;
                   5324:     break;}
                   5325: case 455:
                   5326: #line 2449 "cp-parse.y"
                   5327: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-2].ttype, empty_parms (), yyvsp[0].ttype)); ;
                   5328:     break;}
                   5329: case 456:
                   5330: #line 2451 "cp-parse.y"
                   5331: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, NULL_TREE, NULL_TREE)); ;
                   5332:     break;}
                   5333: case 457:
                   5334: #line 2454 "cp-parse.y"
                   5335: { yyval.ttype = build_push_scope (yyval.ttype, yyvsp[0].ttype); ;
                   5336:     break;}
                   5337: case 458:
                   5338: #line 2456 "cp-parse.y"
                   5339: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype)); ;
                   5340:     break;}
                   5341: case 459:
                   5342: #line 2458 "cp-parse.y"
                   5343: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype)); ;
                   5344:     break;}
                   5345: case 460:
                   5346: #line 2460 "cp-parse.y"
                   5347: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-2].ttype, empty_parms (), yyvsp[0].ttype)); ;
                   5348:     break;}
                   5349: case 461:
                   5350: #line 2462 "cp-parse.y"
                   5351: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, NULL_TREE, NULL_TREE)); ;
                   5352:     break;}
                   5353: case 462:
                   5354: #line 2464 "cp-parse.y"
                   5355: { yyval.ttype = build_parse_node (SCOPE_REF, NULL_TREE, yyvsp[0].ttype); ;
                   5356:     break;}
                   5357: case 463:
                   5358: #line 2468 "cp-parse.y"
                   5359: { yyval.ttype = resolve_scope_to_name (NULL_TREE, yyval.ttype); ;
                   5360:     break;}
                   5361: case 464:
                   5362: #line 2470 "cp-parse.y"
                   5363: {
                   5364:                   if (yyval.ttype == error_mark_node)
                   5365:                     /* leave it alone */;
                   5366:                   else
                   5367:                    {
                   5368:                      yyval.ttype = resolve_scope_to_name (NULL_TREE, TYPE_IDENTIFIER (yyval.ttype));
                   5369:                    }
                   5370:                   if (yyvsp[0].itype) popclass (1);
                   5371:                ;
                   5372:     break;}
                   5373: case 467:
                   5374: #line 2501 "cp-parse.y"
                   5375: { see_typename ();
                   5376:                  yyval.ttype = yyvsp[-1].ttype; ;
                   5377:     break;}
                   5378: case 468:
                   5379: #line 2505 "cp-parse.y"
                   5380: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5381:     break;}
                   5382: case 469:
                   5383: #line 2507 "cp-parse.y"
                   5384: { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
                   5385:     break;}
                   5386: case 470:
                   5387: #line 2509 "cp-parse.y"
                   5388: { see_typename (); ;
                   5389:     break;}
                   5390: case 471:
                   5391: #line 2511 "cp-parse.y"
                   5392: { yyval.ttype = yyvsp[-1].ttype; ;
                   5393:     break;}
                   5394: case 472:
                   5395: #line 2513 "cp-parse.y"
                   5396: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5397:     break;}
                   5398: case 473:
                   5399: #line 2515 "cp-parse.y"
                   5400: { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
                   5401:     break;}
                   5402: case 474:
                   5403: #line 2517 "cp-parse.y"
                   5404: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5405:     break;}
                   5406: case 475:
                   5407: #line 2519 "cp-parse.y"
                   5408: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
                   5409:     break;}
                   5410: case 476:
                   5411: #line 2521 "cp-parse.y"
                   5412: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
                   5413:     break;}
                   5414: case 477:
                   5415: #line 2523 "cp-parse.y"
                   5416: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
                   5417:     break;}
                   5418: case 478:
                   5419: #line 2525 "cp-parse.y"
                   5420: { yyval.ttype = build_parse_node (CALL_EXPR, NULL_TREE, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5421:     break;}
                   5422: case 479:
                   5423: #line 2527 "cp-parse.y"
                   5424: { yyval.ttype = build_parse_node (CALL_EXPR, NULL_TREE, empty_parms (), yyvsp[0].ttype); ;
                   5425:     break;}
                   5426: case 480:
                   5427: #line 2529 "cp-parse.y"
                   5428: { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
                   5429:     break;}
                   5430: case 481:
                   5431: #line 2531 "cp-parse.y"
                   5432: { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
                   5433:     break;}
                   5434: case 482:
                   5435: #line 2536 "cp-parse.y"
                   5436: { tree t;
                   5437:                  t = yyval.ttype;
                   5438:                  while (TREE_OPERAND (t, 1))
                   5439:                    t = TREE_OPERAND (t, 1);
                   5440:                  TREE_OPERAND (t, 1) = build_parse_node (INDIRECT_REF, 0);
                   5441:                ;
                   5442:     break;}
                   5443: case 483:
                   5444: #line 2543 "cp-parse.y"
                   5445: { tree t;
                   5446:                  t = yyval.ttype;
                   5447:                  while (TREE_OPERAND (t, 1))
                   5448:                    t = TREE_OPERAND (t, 1);
                   5449:                  TREE_OPERAND (t, 1) = build_parse_node (INDIRECT_REF, yyvsp[0].ttype);
                   5450:                ;
                   5451:     break;}
                   5452: case 484:
                   5453: #line 2550 "cp-parse.y"
                   5454: { tree t;
                   5455:                  t = yyval.ttype;
                   5456:                  while (TREE_OPERAND (t, 1))
                   5457:                    t = TREE_OPERAND (t, 1);
                   5458:                  TREE_OPERAND (t, 1) = build_parse_node (ADDR_EXPR, 0);
                   5459:                ;
                   5460:     break;}
                   5461: case 485:
                   5462: #line 2557 "cp-parse.y"
                   5463: { tree t;
                   5464:                  t = yyval.ttype;
                   5465:                  while (TREE_OPERAND (t, 1))
                   5466:                    t = TREE_OPERAND (t, 1);
                   5467:                  TREE_OPERAND (t, 1) = build_parse_node (ADDR_EXPR, yyvsp[0].ttype);
                   5468:                ;
                   5469:     break;}
                   5470: case 486:
                   5471: #line 2567 "cp-parse.y"
                   5472: { tree t;
                   5473:                  t = yyval.ttype;
                   5474:                  while (TREE_OPERAND (t, 1))
                   5475:                    t = TREE_OPERAND (t, 1);
                   5476:                  TREE_OPERAND (t, 1) = build_parse_node (INDIRECT_REF, yyvsp[0].ttype);
                   5477:                ;
                   5478:     break;}
                   5479: case 487:
                   5480: #line 2574 "cp-parse.y"
                   5481: { tree t;
                   5482:                  t = yyval.ttype;
                   5483:                  while (TREE_OPERAND (t, 1))
                   5484:                    t = TREE_OPERAND (t, 1);
                   5485:                  TREE_OPERAND (t, 1) = build_parse_node (ADDR_EXPR, yyvsp[0].ttype);
                   5486:                ;
                   5487:     break;}
                   5488: case 493:
                   5489: #line 2601 "cp-parse.y"
                   5490: {
                   5491:                  pushlevel (0);
                   5492:                  clear_last_expr ();
                   5493:                  push_momentary ();
                   5494:                  expand_start_bindings (0);
                   5495:                  stmt_decl_msg = 0;
                   5496:                ;
                   5497:     break;}
                   5498: case 494:
                   5499: #line 2614 "cp-parse.y"
                   5500: {;
                   5501:     break;}
                   5502: case 496:
                   5503: #line 2619 "cp-parse.y"
                   5504: { yyval.ttype = convert (void_type_node, integer_zero_node); ;
                   5505:     break;}
                   5506: case 497:
                   5507: #line 2621 "cp-parse.y"
                   5508: { pop_implicit_try_blocks (NULL_TREE);
                   5509:                  expand_end_bindings (getdecls (), kept_level_p (), 1);
                   5510:                  yyval.ttype = poplevel (kept_level_p (), 1, 0);
                   5511:                  pop_momentary (); ;
                   5512:     break;}
                   5513: case 498:
                   5514: #line 2626 "cp-parse.y"
                   5515: { pop_implicit_try_blocks (NULL_TREE);
                   5516:                  expand_end_bindings (getdecls (), kept_level_p (), 1);
                   5517:                  yyval.ttype = poplevel (kept_level_p (), 0, 0);
                   5518:                  pop_momentary (); ;
                   5519:     break;}
                   5520: case 499:
                   5521: #line 2634 "cp-parse.y"
                   5522: { emit_line_note (input_filename, lineno);
                   5523:                  expand_start_cond (truthvalue_conversion (yyvsp[-1].ttype), 0);
                   5524:                  stmt_decl_msg = "if"; ;
                   5525:     break;}
                   5526: case 500:
                   5527: #line 2638 "cp-parse.y"
                   5528: { stmt_decl_msg = 0; ;
                   5529:     break;}
                   5530: case 501:
                   5531: #line 2643 "cp-parse.y"
                   5532: { finish_stmt (); ;
                   5533:     break;}
                   5534: case 502:
                   5535: #line 2645 "cp-parse.y"
                   5536: { if (stmt_decl_msg)
                   5537:                    error ("declaration after %s invalid", stmt_decl_msg);
                   5538:                  stmt_decl_msg = 0;
                   5539:                  finish_stmt (); ;
                   5540:     break;}
                   5541: case 503:
                   5542: #line 2650 "cp-parse.y"
                   5543: {
                   5544:                  tree expr = yyvsp[-1].ttype;
                   5545:                  emit_line_note (input_filename, lineno);
                   5546:                  /* Do default conversion if safe and possibly important,
                   5547:                     in case within ({...}).  */
                   5548:                  if ((TREE_CODE (TREE_TYPE (expr)) == ARRAY_TYPE
                   5549:                       && lvalue_p (expr))
                   5550:                      || TREE_CODE (TREE_TYPE (expr)) == FUNCTION_TYPE)
                   5551:                    expr = default_conversion (expr);
                   5552:                  cplus_expand_expr_stmt (expr);
                   5553:                  clear_momentary ();
                   5554:                  finish_stmt (); ;
                   5555:     break;}
                   5556: case 504:
                   5557: #line 2663 "cp-parse.y"
                   5558: { expand_start_else ();
                   5559:                  stmt_decl_msg = "else"; ;
                   5560:     break;}
                   5561: case 505:
                   5562: #line 2666 "cp-parse.y"
                   5563: { expand_end_cond ();
                   5564:                  stmt_decl_msg = 0;
                   5565:                  finish_stmt (); ;
                   5566:     break;}
                   5567: case 506:
                   5568: #line 2670 "cp-parse.y"
                   5569: { expand_end_cond ();
                   5570:                  stmt_decl_msg = 0;
                   5571:                  finish_stmt (); ;
                   5572:     break;}
                   5573: case 507:
                   5574: #line 2674 "cp-parse.y"
                   5575: { emit_nop ();
                   5576:                  emit_line_note (input_filename, lineno);
                   5577:                  expand_start_loop (1); ;
                   5578:     break;}
                   5579: case 508:
                   5580: #line 2678 "cp-parse.y"
                   5581: { expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[-1].ttype));
                   5582:                  stmt_decl_msg = "while"; ;
                   5583:     break;}
                   5584: case 509:
                   5585: #line 2681 "cp-parse.y"
                   5586: { 
                   5587:                  expand_end_loop ();
                   5588:                  stmt_decl_msg = 0;
                   5589:                  finish_stmt (); ;
                   5590:     break;}
                   5591: case 510:
                   5592: #line 2686 "cp-parse.y"
                   5593: { emit_nop ();
                   5594:                  emit_line_note (input_filename, lineno);
                   5595:                  expand_start_loop_continue_elsewhere (1);
                   5596:                  stmt_decl_msg = "do"; ;
                   5597:     break;}
                   5598: case 511:
                   5599: #line 2691 "cp-parse.y"
                   5600: { stmt_decl_msg = 0;
                   5601:                  expand_loop_continue_here (); ;
                   5602:     break;}
                   5603: case 512:
                   5604: #line 2694 "cp-parse.y"
                   5605: { emit_line_note (input_filename, lineno);
                   5606:                  expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[-2].ttype));
                   5607:                  expand_end_loop ();
                   5608:                  clear_momentary ();
                   5609:                  finish_stmt (); ;
                   5610:     break;}
                   5611: case 513:
                   5612: #line 2700 "cp-parse.y"
                   5613: { emit_nop ();
                   5614:                  emit_line_note (input_filename, lineno);
                   5615:                  if (yyvsp[0].ttype) cplus_expand_expr_stmt (yyvsp[0].ttype);
                   5616:                  expand_start_loop_continue_elsewhere (1); ;
                   5617:     break;}
                   5618: case 514:
                   5619: #line 2705 "cp-parse.y"
                   5620: { emit_line_note (input_filename, lineno);
                   5621:                  if (yyvsp[-1].ttype) expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[-1].ttype)); ;
                   5622:     break;}
                   5623: case 515:
                   5624: #line 2710 "cp-parse.y"
                   5625: { push_momentary ();
                   5626:                  stmt_decl_msg = "for"; ;
                   5627:     break;}
                   5628: case 516:
                   5629: #line 2713 "cp-parse.y"
                   5630: { emit_line_note (input_filename, lineno);
                   5631:                  expand_loop_continue_here ();
                   5632:                  if (yyvsp[-3].ttype) cplus_expand_expr_stmt (yyvsp[-3].ttype);
                   5633:                  pop_momentary ();
                   5634:                  expand_end_loop ();
                   5635:                  stmt_decl_msg = 0;
                   5636:                  finish_stmt (); ;
                   5637:     break;}
                   5638: case 517:
                   5639: #line 2721 "cp-parse.y"
                   5640: { emit_nop ();
                   5641:                  emit_line_note (input_filename, lineno);
                   5642:                  expand_start_loop_continue_elsewhere (1); ;
                   5643:     break;}
                   5644: case 518:
                   5645: #line 2725 "cp-parse.y"
                   5646: { emit_line_note (input_filename, lineno);
                   5647:                  if (yyvsp[-1].ttype) expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[-1].ttype)); ;
                   5648:     break;}
                   5649: case 519:
                   5650: #line 2730 "cp-parse.y"
                   5651: { push_momentary ();
                   5652:                  stmt_decl_msg = "for";
                   5653:                  yyvsp[0].itype = lineno; ;
                   5654:     break;}
                   5655: case 520:
                   5656: #line 2734 "cp-parse.y"
                   5657: { emit_line_note (input_filename, yyvsp[-2].itype);
                   5658:                  expand_loop_continue_here ();
                   5659:                  if (yyvsp[-3].ttype) cplus_expand_expr_stmt (yyvsp[-3].ttype);
                   5660:                  pop_momentary ();
                   5661:                  expand_end_loop ();
                   5662:                  pop_implicit_try_blocks (NULL_TREE);
                   5663:                  if (yyvsp[-8].itype)
                   5664:                    {
                   5665:                      register keep = yyvsp[-8].itype > 0;
                   5666:                      if (keep) expand_end_bindings (0, keep, 1);
                   5667:                      poplevel (keep, 1, 0);
                   5668:                      pop_momentary ();
                   5669:                    }
                   5670:                  stmt_decl_msg = 0;
                   5671:                  finish_stmt ();
                   5672:                ;
                   5673:     break;}
                   5674: case 521:
                   5675: #line 2751 "cp-parse.y"
                   5676: { emit_line_note (input_filename, lineno);
                   5677:                  c_expand_start_case (yyvsp[-1].ttype);
                   5678:                  /* Don't let the tree nodes for $3 be discarded by
                   5679:                     clear_momentary during the parsing of the next stmt.  */
                   5680:                  push_momentary ();
                   5681:                  stmt_decl_msg = "switch"; ;
                   5682:     break;}
                   5683: case 522:
                   5684: #line 2758 "cp-parse.y"
                   5685: { expand_end_case (yyvsp[-3].ttype);
                   5686:                  pop_momentary ();
                   5687:                  stmt_decl_msg = 0;
                   5688:                  finish_stmt (); ;
                   5689:     break;}
                   5690: case 523:
                   5691: #line 2763 "cp-parse.y"
                   5692: { register tree value = yyvsp[-1].ttype;
                   5693:                  register tree label
                   5694:                    = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
                   5695: 
                   5696:                  /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
                   5697:                     Strip such NOP_EXPRs.  */
                   5698:                  if (TREE_CODE (value) == NOP_EXPR
                   5699:                      && TREE_TYPE (value) == TREE_TYPE (TREE_OPERAND (value, 0)))
                   5700:                    value = TREE_OPERAND (value, 0);
                   5701: 
                   5702:                  if (TREE_READONLY_DECL_P (value))
                   5703:                    {
                   5704:                      value = decl_constant_value (value);
                   5705:                      /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
                   5706:                         Strip such NOP_EXPRs.  */
                   5707:                      if (TREE_CODE (value) == NOP_EXPR
                   5708:                          && TREE_TYPE (value) == TREE_TYPE (TREE_OPERAND (value, 0)))
                   5709:                        value = TREE_OPERAND (value, 0);
                   5710:                    }
                   5711:                  value = fold (value);
                   5712: 
                   5713:                  if (TREE_CODE (value) != INTEGER_CST
                   5714:                      && value != error_mark_node)
                   5715:                    {
                   5716:                      error ("case label does not reduce to an integer constant");
                   5717:                      value = error_mark_node;
                   5718:                    }
                   5719:                  else
                   5720:                    /* Promote char or short to int.  */
                   5721:                    value = default_conversion (value);
                   5722:                  if (value != error_mark_node)
                   5723:                    {
                   5724:                      tree duplicate;
                   5725:                      int success = pushcase (value, label, &duplicate);
                   5726:                      if (success == 1)
                   5727:                        error ("case label not within a switch statement");
                   5728:                      else if (success == 2)
                   5729:                        {
                   5730:                          error ("duplicate case value");
                   5731:                          error_with_decl (duplicate, "this is the first entry for that value");
                   5732:                        }
                   5733:                      else if (success == 3)
                   5734:                        warning ("case value out of range");
                   5735:                      else if (success == 5)
                   5736:                        error ("case label within scope of cleanup or variable array");
                   5737:                    }
                   5738:                  define_case_label (label);
                   5739:                ;
                   5740:     break;}
                   5741: case 525:
                   5742: #line 2813 "cp-parse.y"
                   5743: { register tree value1 = yyvsp[-3].ttype;
                   5744:                  register tree value2 = yyvsp[-1].ttype;
                   5745:                  register tree label
                   5746:                    = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
                   5747: 
                   5748:                  if (pedantic)
                   5749:                    {
                   5750:                      error ("ANSI C does not allow range expressions in switch statement");
                   5751:                      value1 = error_mark_node;
                   5752:                      value2 = error_mark_node;
                   5753:                      break;
                   5754:                    }
                   5755:                  /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
                   5756:                     Strip such NOP_EXPRs.  */
                   5757:                  if (TREE_CODE (value1) == NOP_EXPR
                   5758:                      && TREE_TYPE (value1) == TREE_TYPE (TREE_OPERAND (value1, 0)))
                   5759:                    value1 = TREE_OPERAND (value1, 0);
                   5760: 
                   5761:                  if (TREE_READONLY_DECL_P (value1))
                   5762:                    {
                   5763:                      value1 = decl_constant_value (value1);
                   5764:                      /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
                   5765:                         Strip such NOP_EXPRs.  */
                   5766:                      if (TREE_CODE (value1) == NOP_EXPR
                   5767:                          && TREE_TYPE (value1) == TREE_TYPE (TREE_OPERAND (value1, 0)))
                   5768:                        value1 = TREE_OPERAND (value1, 0);
                   5769:                    }
                   5770:                  value1 = fold (value1);
                   5771: 
                   5772:                  /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
                   5773:                     Strip such NOP_EXPRs.  */
                   5774:                  if (TREE_CODE (value2) == NOP_EXPR
                   5775:                      && TREE_TYPE (value2) == TREE_TYPE (TREE_OPERAND (value2, 0)))
                   5776:                    value2 = TREE_OPERAND (value2, 0);
                   5777: 
                   5778:                  if (TREE_READONLY_DECL_P (value2))
                   5779:                    {
                   5780:                      value2 = decl_constant_value (value2);
                   5781:                      /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
                   5782:                         Strip such NOP_EXPRs.  */
                   5783:                      if (TREE_CODE (value2) == NOP_EXPR
                   5784:                          && TREE_TYPE (value2) == TREE_TYPE (TREE_OPERAND (value2, 0)))
                   5785:                        value2 = TREE_OPERAND (value2, 0);
                   5786:                    }
                   5787:                  value2 = fold (value2);
                   5788: 
                   5789: 
                   5790:                  if (TREE_CODE (value1) != INTEGER_CST
                   5791:                      && value1 != error_mark_node)
                   5792:                    {
                   5793:                      error ("case label does not reduce to an integer constant");
                   5794:                      value1 = error_mark_node;
                   5795:                    }
                   5796:                  if (TREE_CODE (value2) != INTEGER_CST
                   5797:                      && value2 != error_mark_node)
                   5798:                    {
                   5799:                      error ("case label does not reduce to an integer constant");
                   5800:                      value2 = error_mark_node;
                   5801:                    }
                   5802:                  if (value1 != error_mark_node
                   5803:                      && value2 != error_mark_node)
                   5804:                    {
                   5805:                      tree duplicate;
                   5806:                      int success = pushcase_range (value1, value2, label);
                   5807:                      if (success == 1)
                   5808:                        error ("case label not within a switch statement");
                   5809:                      else if (success == 2)
                   5810:                        {
                   5811:                          error ("duplicate (or overlapping) case value");
                   5812:                          error_with_decl (duplicate, "this is the first entry overlapping that value");
                   5813:                        }
                   5814:                      else if (success == 3)
                   5815:                        warning ("case value out of range");
                   5816:                      else if (success == 4)
                   5817:                        warning ("empty range specified");
                   5818:                      else if (success == 5)
                   5819:                        error ("case label within scope of cleanup or variable array");
                   5820:                    }
                   5821:                  define_case_label (label);
                   5822:                ;
                   5823:     break;}
                   5824: case 527:
                   5825: #line 2895 "cp-parse.y"
                   5826: {
                   5827:                  tree duplicate;
                   5828:                  register tree label
                   5829:                    = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
                   5830:                  int success = pushcase (NULL_TREE, label, &duplicate);
                   5831:                  if (success == 1)
                   5832:                    error ("default label not within a switch statement");
                   5833:                  else if (success == 2)
                   5834:                    {
                   5835:                      error ("multiple default labels in one switch");
                   5836:                      error_with_decl (duplicate, "this is the first default label");
                   5837:                    }
                   5838:                  define_case_label (NULL_TREE);
                   5839:                ;
                   5840:     break;}
                   5841: case 529:
                   5842: #line 2911 "cp-parse.y"
                   5843: { emit_line_note (input_filename, lineno);
                   5844:                  if ( ! expand_exit_something ())
                   5845:                    error ("break statement not within loop or switch"); ;
                   5846:     break;}
                   5847: case 530:
                   5848: #line 2915 "cp-parse.y"
                   5849: { emit_line_note (input_filename, lineno);
                   5850:                  if (! expand_continue_loop (0))
                   5851:                    error ("continue statement not within a loop"); ;
                   5852:     break;}
                   5853: case 531:
                   5854: #line 2919 "cp-parse.y"
                   5855: { emit_line_note (input_filename, lineno);
                   5856:                  c_expand_return (NULL_TREE); ;
                   5857:     break;}
                   5858: case 532:
                   5859: #line 2922 "cp-parse.y"
                   5860: { emit_line_note (input_filename, lineno);
                   5861:                  c_expand_return (yyvsp[-1].ttype);
                   5862:                  finish_stmt ();
                   5863:                ;
                   5864:     break;}
                   5865: case 533:
                   5866: #line 2927 "cp-parse.y"
                   5867: { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
                   5868:                  emit_line_note (input_filename, lineno);
                   5869:                  expand_asm (yyvsp[-2].ttype);
                   5870:                  finish_stmt ();
                   5871:                ;
                   5872:     break;}
                   5873: case 534:
                   5874: #line 2934 "cp-parse.y"
                   5875: { if (TREE_CHAIN (yyvsp[-4].ttype)) yyvsp[-4].ttype = combine_strings (yyvsp[-4].ttype);
                   5876:                  emit_line_note (input_filename, lineno);
                   5877:                  c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
                   5878:                                         yyvsp[-6].ttype == ridpointers[(int)RID_VOLATILE],
                   5879:                                         input_filename, lineno);
                   5880:                  finish_stmt ();
                   5881:                ;
                   5882:     break;}
                   5883: case 535:
                   5884: #line 2943 "cp-parse.y"
                   5885: { if (TREE_CHAIN (yyvsp[-6].ttype)) yyvsp[-6].ttype = combine_strings (yyvsp[-6].ttype);
                   5886:                  emit_line_note (input_filename, lineno);
                   5887:                  c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
                   5888:                                         yyvsp[-8].ttype == ridpointers[(int)RID_VOLATILE],
                   5889:                                         input_filename, lineno);
                   5890:                  finish_stmt ();
                   5891:                ;
                   5892:     break;}
                   5893: case 536:
                   5894: #line 2953 "cp-parse.y"
                   5895: { if (TREE_CHAIN (yyvsp[-8].ttype)) yyvsp[-8].ttype = combine_strings (yyvsp[-8].ttype);
                   5896:                  emit_line_note (input_filename, lineno);
                   5897:                  c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype,
                   5898:                                         yyvsp[-10].ttype == ridpointers[(int)RID_VOLATILE],
                   5899:                                         input_filename, lineno);
                   5900:                  finish_stmt ();
                   5901:                ;
                   5902:     break;}
                   5903: case 537:
                   5904: #line 2961 "cp-parse.y"
                   5905: { tree decl;
                   5906:                  emit_line_note (input_filename, lineno);
                   5907:                  decl = lookup_label (yyvsp[-1].ttype);
                   5908:                  TREE_USED (decl) = 1;
                   5909:                  expand_goto (decl); ;
                   5910:     break;}
                   5911: case 538:
                   5912: #line 2967 "cp-parse.y"
                   5913: { finish_stmt (); ;
                   5914:     break;}
                   5915: case 539:
                   5916: #line 2969 "cp-parse.y"
                   5917: { error ("label must be followed by statement");
                   5918:                  yyungetc ('}', 0);
                   5919:                  finish_stmt (); ;
                   5920:     break;}
                   5921: case 540:
                   5922: #line 2973 "cp-parse.y"
                   5923: { finish_stmt (); ;
                   5924:     break;}
                   5925: case 541:
                   5926: #line 2976 "cp-parse.y"
                   5927: { cplus_expand_throw (NULL_TREE); ;
                   5928:     break;}
                   5929: case 542:
                   5930: #line 2977 "cp-parse.y"
                   5931: { cplus_expand_throw (yyvsp[-1].ttype); ;
                   5932:     break;}
                   5933: case 543:
                   5934: #line 2979 "cp-parse.y"
                   5935: { cplus_expand_raise (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, 0);
                   5936:                  finish_stmt (); ;
                   5937:     break;}
                   5938: case 544:
                   5939: #line 2982 "cp-parse.y"
                   5940: { cplus_expand_raise (yyvsp[-2].ttype, NULL_TREE, NULL_TREE, 0);
                   5941:                  finish_stmt (); ;
                   5942:     break;}
                   5943: case 545:
                   5944: #line 2985 "cp-parse.y"
                   5945: { cplus_expand_raise (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, 0);
                   5946:                  finish_stmt (); ;
                   5947:     break;}
                   5948: case 546:
                   5949: #line 2988 "cp-parse.y"
                   5950: { cplus_expand_raise (yyvsp[-2].ttype, NULL_TREE, NULL_TREE, 0);
                   5951:                  finish_stmt (); ;
                   5952:     break;}
                   5953: case 547:
                   5954: #line 2991 "cp-parse.y"
                   5955: { cplus_expand_reraise (yyvsp[-1].ttype);
                   5956:                  finish_stmt (); ;
                   5957:     break;}
                   5958: case 548:
                   5959: #line 2994 "cp-parse.y"
                   5960: {
                   5961:                  tree decl = cplus_expand_end_try (yyvsp[-3].itype);
                   5962:                  yyvsp[-2].ttype = current_exception_type;
                   5963:                  yyvsp[0].ttype = current_exception_decl;
                   5964:                  yyval.ttype = current_exception_object;
                   5965:                  cplus_expand_start_except (yyvsp[-1].ttype, decl);
                   5966:                  pushlevel (0);
                   5967:                  clear_last_expr ();
                   5968:                  push_momentary ();
                   5969:                  expand_start_bindings (0);
                   5970:                  stmt_decl_msg = 0;
                   5971:                ;
                   5972:     break;}
                   5973: case 549:
                   5974: #line 3007 "cp-parse.y"
                   5975: {
                   5976:                  tree decls = getdecls ();
                   5977:                  /* If there is a default exception to handle,
                   5978:                     handle it here.  */
                   5979:                  if (yyvsp[-1].ttype)
                   5980:                    {
                   5981:                      tree decl = build_decl (CPLUS_CATCH_DECL, NULL_TREE, 0);
                   5982:                      tree block;
                   5983: 
                   5984:                      pushlevel (1);
                   5985:                      expand_start_bindings (0);
                   5986:                      expand_expr (yyvsp[-1].ttype, 0, 0, 0);
                   5987:                      expand_end_bindings (0, 1, 0);
                   5988:                      block = poplevel (1, 0, 0);
                   5989: 
                   5990:                      /* This is a catch block.  */
                   5991:                      TREE_LANG_FLAG_2 (block) = 1;
                   5992:                      BLOCK_VARS (block) = decl;
                   5993:                    }
                   5994: 
                   5995:                  expand_end_bindings (decls, decls != 0, 1);
                   5996:                  poplevel (decls != 0, 1, 0);
                   5997:                  pop_momentary ();
                   5998:                  current_exception_type = yyvsp[-5].ttype;
                   5999:                  current_exception_decl = yyvsp[-3].ttype;
                   6000:                  current_exception_object = yyvsp[-2].ttype;
                   6001:                  cplus_expand_end_except (yyvsp[-1].ttype);
                   6002:                ;
                   6003:     break;}
                   6004: case 550:
                   6005: #line 3036 "cp-parse.y"
                   6006: {
                   6007:                  cplus_expand_end_try (yyvsp[-1].itype);
                   6008:                  /* These are the important actions of
                   6009:                     `cplus_expand_end_except' which we must emulate.  */
                   6010:                  if (expand_escape_except ())
                   6011:                    expand_end_except ();
                   6012:                  expand_end_bindings (0, 0, 1);
                   6013:                  poplevel (0, 0, 0);
                   6014:                ;
                   6015:     break;}
                   6016: case 551:
                   6017: #line 3046 "cp-parse.y"
                   6018: {
                   6019:                  tree decl = cplus_expand_end_try (yyvsp[-2].itype);
                   6020:                  yyvsp[-1].ttype = current_exception_type;
                   6021:                  yyvsp[0].ttype = current_exception_decl;
                   6022:                  yyval.ttype = current_exception_object;
                   6023:                  cplus_expand_start_except (NULL, decl);
                   6024:                  pushlevel (0);
                   6025:                  clear_last_expr ();
                   6026:                  push_momentary ();
                   6027:                  expand_start_bindings (0);
                   6028:                  stmt_decl_msg = 0;
                   6029:                ;
                   6030:     break;}
                   6031: case 552:
                   6032: #line 3059 "cp-parse.y"
                   6033: {
                   6034:                  tree decls = getdecls ();
                   6035:                  /* If there is a default exception to handle,
                   6036:                     handle it here.  */
                   6037:                  if (yyvsp[0].ttype)
                   6038:                    {
                   6039:                      tree decl = build_decl (CPLUS_CATCH_DECL, NULL_TREE, 0);
                   6040:                      tree block;
                   6041: 
                   6042:                      pushlevel (1);
                   6043:                      expand_start_bindings (0);
                   6044:                      expand_expr (yyvsp[0].ttype, 0, 0, 0);
                   6045:                      expand_end_bindings (0, 1, 0);
                   6046:                      block = poplevel (1, 0, 0);
                   6047: 
                   6048:                      /* This is a catch block.  */
                   6049:                      TREE_LANG_FLAG_2 (block) = 1;
                   6050:                      BLOCK_VARS (block) = decl;
                   6051:                    }
                   6052: 
                   6053:                  expand_end_bindings (decls, decls != 0, 1);
                   6054:                  poplevel (decls != 0, 1, 0);
                   6055:                  pop_momentary ();
                   6056:                  current_exception_type = yyvsp[-3].ttype;
                   6057:                  current_exception_decl = yyvsp[-2].ttype;
                   6058:                  current_exception_object = yyvsp[-1].ttype;
                   6059:                  cplus_expand_end_except (yyvsp[0].ttype);
                   6060:                ;
                   6061:     break;}
                   6062: case 553:
                   6063: #line 3088 "cp-parse.y"
                   6064: { tree name = get_identifier ("(compiler error)");
                   6065:                  tree orig_ex_type = current_exception_type;
                   6066:                  tree orig_ex_decl = current_exception_decl;
                   6067:                  tree orig_ex_obj = current_exception_object;
                   6068:                  tree decl = cplus_expand_end_try (yyvsp[-2].itype), decls;
                   6069: 
                   6070:                  /* Start hidden EXCEPT.  */
                   6071:                  cplus_expand_start_except (name, decl);
                   6072:                  pushlevel (0);
                   6073:                  clear_last_expr ();
                   6074:                  push_momentary ();
                   6075:                  expand_start_bindings (0);
                   6076:                  stmt_decl_msg = 0;
                   6077: 
                   6078:                  /* This sets up the reraise.  */
                   6079:                  cplus_expand_reraise (yyvsp[0].ttype);
                   6080: 
                   6081:                  decls = getdecls ();
                   6082:                  expand_end_bindings (decls, decls != 0, 1);
                   6083:                  poplevel (decls != 0, 1, 0);
                   6084:                  pop_momentary ();
                   6085:                  current_exception_type = orig_ex_type;
                   6086:                  current_exception_decl = orig_ex_decl;
                   6087:                  current_exception_object = orig_ex_obj;
                   6088:                  /* This will reraise for us.  */
                   6089:                  cplus_expand_end_except (error_mark_node);
                   6090:                  if (yychar == YYEMPTY)
                   6091:                    yychar = YYLEX;
                   6092:                  if (yychar != ';')
                   6093:                    error ("missing ';' after reraise statement");
                   6094:                ;
                   6095:     break;}
                   6096: case 554:
                   6097: #line 3120 "cp-parse.y"
                   6098: { yyerror ("`except' missing after `try' statement");
                   6099:                  /* Terminate the binding contour started by special
                   6100:                     code in `.pushlevel'.  Automagically pops off
                   6101:                     the conditional we started for `try' stmt.  */
                   6102:                  cplus_expand_end_try (yyvsp[0].itype);
                   6103:                  expand_end_bindings (0, 0, 1);
                   6104:                  poplevel (0, 0, 0);
                   6105:                  pop_momentary ();
                   6106:                  YYERROR; ;
                   6107:     break;}
                   6108: case 555:
                   6109: #line 3135 "cp-parse.y"
                   6110: {
                   6111:                  yyval.itype = 1;
                   6112:                  pop_implicit_try_blocks (NULL_TREE);
                   6113:                ;
                   6114:     break;}
                   6115: case 556:
                   6116: #line 3140 "cp-parse.y"
                   6117: {
                   6118:                  yyval.itype = 1;
                   6119:                  pop_implicit_try_blocks (NULL_TREE);
                   6120:                ;
                   6121:     break;}
                   6122: case 557:
                   6123: #line 3145 "cp-parse.y"
                   6124: {
                   6125:                  yyval.itype = 0;
                   6126:                  pop_implicit_try_blocks (NULL_TREE);
                   6127:                ;
                   6128:     break;}
                   6129: case 558:
                   6130: #line 3153 "cp-parse.y"
                   6131: { tree label;
                   6132:                do_label:
                   6133:                  label = define_label (input_filename, lineno, yyvsp[-1].ttype);
                   6134:                  if (label)
                   6135:                    expand_label (label);
                   6136:                ;
                   6137:     break;}
                   6138: case 559:
                   6139: #line 3160 "cp-parse.y"
                   6140: { goto do_label; ;
                   6141:     break;}
                   6142: case 560:
                   6143: #line 3162 "cp-parse.y"
                   6144: { tree label = define_label (input_filename, lineno, yyvsp[0].ttype);
                   6145:                  if (label)
                   6146:                    expand_label (label);
                   6147:                ;
                   6148:     break;}
                   6149: case 561:
                   6150: #line 3168 "cp-parse.y"
                   6151: { cplus_expand_start_try (0); ;
                   6152:     break;}
                   6153: case 563:
                   6154: #line 3174 "cp-parse.y"
                   6155: {
                   6156:                  yyval.itype = 1;
                   6157:                  pop_implicit_try_blocks (NULL_TREE);
                   6158:                ;
                   6159:     break;}
                   6160: case 564:
                   6161: #line 3179 "cp-parse.y"
                   6162: {
                   6163:                  yyval.itype = 1;
                   6164:                  pop_implicit_try_blocks (NULL_TREE);
                   6165:                ;
                   6166:     break;}
                   6167: case 565:
                   6168: #line 3184 "cp-parse.y"
                   6169: {
                   6170:                  yyval.itype = 0;
                   6171:                  pop_implicit_try_blocks (NULL_TREE);
                   6172:                ;
                   6173:     break;}
                   6174: case 567:
                   6175: #line 3191 "cp-parse.y"
                   6176: { cplus_expand_start_try (0); ;
                   6177:     break;}
                   6178: case 569:
                   6179: #line 3195 "cp-parse.y"
                   6180: { yyval.ttype = NULL_TREE; ;
                   6181:     break;}
                   6182: case 570:
                   6183: #line 3197 "cp-parse.y"
                   6184: {
                   6185:                  tree type = lookup_exception_type (current_class_type, current_class_name, yyvsp[0].ttype);
                   6186:                  if (type == NULL_TREE)
                   6187:                    {
                   6188:                      error ("`%s' is not an exception type",
                   6189:                             IDENTIFIER_POINTER (TREE_VALUE (yyvsp[0].ttype)));
                   6190:                      current_exception_type = NULL_TREE;
                   6191:                      TREE_TYPE (current_exception_object) = error_mark_node;
                   6192:                    }
                   6193:                  else
                   6194:                    {
                   6195:                      current_exception_type = type;
                   6196:                      /* In-place union.  */
                   6197:                      TREE_TYPE (current_exception_object) = type;
                   6198:                    }
                   6199:                  yyvsp[0].ttype = cplus_expand_start_catch (yyvsp[0].ttype);
                   6200:                  pushlevel (1);
                   6201:                  expand_start_bindings (0);
                   6202:                ;
                   6203:     break;}
                   6204: case 571:
                   6205: #line 3217 "cp-parse.y"
                   6206: {
                   6207:                  expand_end_bindings (0, 1, 0);
                   6208:                  yyvsp[0].ttype = poplevel (1, 0, 0);
                   6209: 
                   6210:                  cplus_expand_end_catch (0);
                   6211: 
                   6212:                  /* Mark this as a catch block.  */
                   6213:                  TREE_LANG_FLAG_2 (yyvsp[0].ttype) = 1;
                   6214:                  if (yyvsp[-2].ttype != error_mark_node)
                   6215:                    {
                   6216:                      tree decl = build_decl (CPLUS_CATCH_DECL, DECL_NAME (yyvsp[-2].ttype), 0);
                   6217:                      DECL_RTL (decl) = DECL_RTL (yyvsp[-2].ttype);
                   6218:                      TREE_CHAIN (decl) = BLOCK_VARS (yyvsp[0].ttype);
                   6219:                      BLOCK_VARS (yyvsp[0].ttype) = decl;
                   6220:                    }
                   6221:                ;
                   6222:     break;}
                   6223: case 572:
                   6224: #line 3234 "cp-parse.y"
                   6225: {
                   6226:                  if (yyvsp[-1].ttype)
                   6227:                    error ("duplicate default in exception handler");
                   6228:                  current_exception_type = NULL_TREE;
                   6229:                  /* Takes it right out of scope.  */
                   6230:                  TREE_TYPE (current_exception_object) = error_mark_node;
                   6231: 
                   6232:                  if (! expand_catch_default ())
                   6233:                    compiler_error ("default catch botch");
                   6234: 
                   6235:                  /* The default exception is handled as the
                   6236:                     last in the chain of exceptions handled.  */
                   6237:                  do_pending_stack_adjust ();
                   6238:                  start_sequence ();
                   6239:                  yyvsp[-1].ttype = make_node (RTL_EXPR);
                   6240:                  TREE_TYPE (yyvsp[-1].ttype) = void_type_node;
                   6241:                ;
                   6242:     break;}
                   6243: case 573:
                   6244: #line 3252 "cp-parse.y"
                   6245: {
                   6246:                  do_pending_stack_adjust ();
                   6247:                  if (! expand_catch (NULL_TREE))
                   6248:                    compiler_error ("except nesting botch");
                   6249:                  if (! expand_end_catch ())
                   6250:                    compiler_error ("except nesting botch");
                   6251:                  RTL_EXPR_SEQUENCE (yyvsp[-3].ttype) = (struct rtx_def *)get_insns ();
                   6252:                  if (yyvsp[0].ttype)
                   6253:                    {
                   6254:                      /* Mark this block as the default catch block.  */
                   6255:                      TREE_LANG_FLAG_1 (yyvsp[0].ttype) = 1;
                   6256:                      TREE_LANG_FLAG_2 (yyvsp[0].ttype) = 1;
                   6257:                    }
                   6258:                  end_sequence ();
                   6259:                ;
                   6260:     break;}
                   6261: case 574:
                   6262: #line 3271 "cp-parse.y"
                   6263: { yyval.ttype = NULL_TREE; ;
                   6264:     break;}
                   6265: case 576:
                   6266: #line 3276 "cp-parse.y"
                   6267: { yyval.ttype = NULL_TREE; ;
                   6268:     break;}
                   6269: case 577:
                   6270: #line 3278 "cp-parse.y"
                   6271: {
                   6272:                  extern tree ansi_expand_start_catch ();
                   6273:                  extern tree cplus_exception_name ();
                   6274:                  tree type = groktypename (yyvsp[-2].ttype);
                   6275:                  current_exception_type = type;
                   6276:                  /* In-place union.  */
                   6277:                  if (yyvsp[-1].ttype)
                   6278:                    {
                   6279:                      tree tmp;
                   6280:                      tmp = pushdecl (build_decl (VAR_DECL, yyvsp[-1].ttype, type));
                   6281:                      current_exception_object =
                   6282:                          build1 (INDIRECT_REF, type, tmp);
                   6283:                     }
                   6284:                  yyvsp[-2].ttype = ansi_expand_start_catch(type);
                   6285:                  pushlevel (1);
                   6286:                  expand_start_bindings (0);
                   6287:                ;
                   6288:     break;}
                   6289: case 578:
                   6290: #line 3296 "cp-parse.y"
                   6291: {
                   6292:                  expand_end_bindings (0, 1, 0);
                   6293:                  yyvsp[0].ttype = poplevel (1, 0, 0);
                   6294: 
                   6295:                  cplus_expand_end_catch (0);
                   6296: 
                   6297:                  /* Mark this as a catch block.  */
                   6298:                  TREE_LANG_FLAG_2 (yyvsp[0].ttype) = 1;
                   6299:                  if (yyvsp[-4].ttype != error_mark_node)
                   6300:                    {
                   6301:                      tree decl = build_decl (CPLUS_CATCH_DECL, DECL_NAME (yyvsp[-4].ttype), 0);
                   6302:                      DECL_RTL (decl) = DECL_RTL (yyvsp[-4].ttype);
                   6303:                      TREE_CHAIN (decl) = BLOCK_VARS (yyvsp[0].ttype);
                   6304:                      BLOCK_VARS (yyvsp[0].ttype) = decl;
                   6305:                    }
                   6306:                ;
                   6307:     break;}
                   6308: case 579:
                   6309: #line 3316 "cp-parse.y"
                   6310: { yyval.ttype = NULL_TREE; ;
                   6311:     break;}
                   6312: case 580:
                   6313: #line 3318 "cp-parse.y"
                   6314: { yyval.ttype = yyvsp[-1].ttype; ;
                   6315:     break;}
                   6316: case 581:
                   6317: #line 3320 "cp-parse.y"
                   6318: { yyval.ttype = NULL_TREE; ;
                   6319:     break;}
                   6320: case 582:
                   6321: #line 3325 "cp-parse.y"
                   6322: { yyval.itype = 0; ;
                   6323:     break;}
                   6324: case 583:
                   6325: #line 3327 "cp-parse.y"
                   6326: { yyval.itype = 0; ;
                   6327:     break;}
                   6328: case 584:
                   6329: #line 3329 "cp-parse.y"
                   6330: { yyval.itype = 1; ;
                   6331:     break;}
                   6332: case 585:
                   6333: #line 3331 "cp-parse.y"
                   6334: { yyval.itype = -1; ;
                   6335:     break;}
                   6336: case 586:
                   6337: #line 3338 "cp-parse.y"
                   6338: { if (pedantic)
                   6339:                    warning ("ANSI C forbids use of `asm' keyword");
                   6340:                  emit_line_note (input_filename, lineno); ;
                   6341:     break;}
                   6342: case 587:
                   6343: #line 3342 "cp-parse.y"
                   6344: { if (pedantic)
                   6345:                    warning ("ANSI C forbids use of `asm' keyword");
                   6346:                  emit_line_note (input_filename, lineno); ;
                   6347:     break;}
                   6348: case 588:
                   6349: #line 3349 "cp-parse.y"
                   6350: { yyval.ttype = NULL_TREE; ;
                   6351:     break;}
                   6352: case 590:
                   6353: #line 3352 "cp-parse.y"
                   6354: { yyval.ttype = NULL_TREE; ;
                   6355:     break;}
                   6356: case 591:
                   6357: #line 3358 "cp-parse.y"
                   6358: { yyval.ttype = NULL_TREE; ;
                   6359:     break;}
                   6360: case 594:
                   6361: #line 3365 "cp-parse.y"
                   6362: { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
                   6363:     break;}
                   6364: case 595:
                   6365: #line 3370 "cp-parse.y"
                   6366: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
                   6367:     break;}
                   6368: case 596:
                   6369: #line 3375 "cp-parse.y"
                   6370: { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
                   6371:     break;}
                   6372: case 597:
                   6373: #line 3377 "cp-parse.y"
                   6374: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   6375:     break;}
                   6376: case 598:
                   6377: #line 3386 "cp-parse.y"
                   6378: {
                   6379:                  if (strict_prototype)
                   6380:                    yyval.ttype = void_list_node;
                   6381:                  else
                   6382:                    yyval.ttype = NULL_TREE;
                   6383:                ;
                   6384:     break;}
                   6385: case 599:
                   6386: #line 3393 "cp-parse.y"
                   6387: {
                   6388:                  yyval.ttype = chainon (yyval.ttype, void_list_node);
                   6389:                  TREE_PARMLIST (yyval.ttype) = 1;
                   6390:                ;
                   6391:     break;}
                   6392: case 600:
                   6393: #line 3398 "cp-parse.y"
                   6394: {
                   6395:                  TREE_PARMLIST (yyval.ttype) = 1;
                   6396:                ;
                   6397:     break;}
                   6398: case 601:
                   6399: #line 3403 "cp-parse.y"
                   6400: {
                   6401:                  TREE_PARMLIST (yyval.ttype) = 1;
                   6402:                ;
                   6403:     break;}
                   6404: case 602:
                   6405: #line 3407 "cp-parse.y"
                   6406: {
                   6407:                  yyval.ttype = NULL_TREE;
                   6408:                ;
                   6409:     break;}
                   6410: case 603:
                   6411: #line 3411 "cp-parse.y"
                   6412: {
                   6413:                  TREE_PARMLIST (yyval.ttype) = 1;
                   6414:                ;
                   6415:     break;}
                   6416: case 604:
                   6417: #line 3415 "cp-parse.y"
                   6418: {
                   6419:                  TREE_PARMLIST (yyval.ttype) = 1;
                   6420:                ;
                   6421:     break;}
                   6422: case 605:
                   6423: #line 3419 "cp-parse.y"
                   6424: {
                   6425:                  /* This helps us recover from really nasty
                   6426:                     parse errors, for example, a missing right
                   6427:                     parenthesis.  */
                   6428:                  yyerror ("possibly missing ')'");
                   6429:                  yyval.ttype = chainon (yyval.ttype, void_list_node);
                   6430:                  TREE_PARMLIST (yyval.ttype) = 1;
                   6431:                  yyungetc (':', 0);
                   6432:                  yychar = ')';
                   6433:                ;
                   6434:     break;}
                   6435: case 606:
                   6436: #line 3434 "cp-parse.y"
                   6437: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
                   6438:     break;}
                   6439: case 607:
                   6440: #line 3436 "cp-parse.y"
                   6441: { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyval.ttype); ;
                   6442:     break;}
                   6443: case 608:
                   6444: #line 3438 "cp-parse.y"
                   6445: { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
                   6446:     break;}
                   6447: case 609:
                   6448: #line 3440 "cp-parse.y"
                   6449: { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
                   6450:     break;}
                   6451: case 610:
                   6452: #line 3442 "cp-parse.y"
                   6453: { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
                   6454:     break;}
                   6455: case 611:
                   6456: #line 3444 "cp-parse.y"
                   6457: { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
                   6458:     break;}
                   6459: case 612:
                   6460: #line 3465 "cp-parse.y"
                   6461: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype);
                   6462:                  see_typename (); ;
                   6463:     break;}
                   6464: case 613:
                   6465: #line 3468 "cp-parse.y"
                   6466: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype);
                   6467:                  see_typename (); ;
                   6468:     break;}
                   6469: case 616:
                   6470: #line 3475 "cp-parse.y"
                   6471: { yyval.ttype = yyvsp[0].ttype; ;
                   6472:     break;}
                   6473: case 617:
                   6474: #line 3479 "cp-parse.y"
                   6475: { see_typename (); ;
                   6476:     break;}
                   6477: case 618:
                   6478: #line 3483 "cp-parse.y"
                   6479: { dont_see_typename (); ;
                   6480:     break;}
                   6481: case 619:
                   6482: #line 3487 "cp-parse.y"
                   6483: {
                   6484:          if (yyvsp[-1].ttype == error_mark_node)
                   6485:             yyval.itype = 0;
                   6486:           else
                   6487:             {
                   6488:               yyval.itype = 1;
                   6489:               pushclass (yyvsp[-1].ttype, 1);
                   6490:             }
                   6491:         ;
                   6492:     break;}
                   6493: case 620:
                   6494: #line 3500 "cp-parse.y"
                   6495: {
                   6496:                  warning ("type specifier omitted for parameter");
                   6497:                  yyval.ttype = build_tree_list (TREE_PURPOSE (TREE_VALUE (yyvsp[-2].ttype)), yyval.ttype);
                   6498:                ;
                   6499:     break;}
                   6500: case 621:
                   6501: #line 3508 "cp-parse.y"
                   6502: { yyval.ttype = NULL_TREE; ;
                   6503:     break;}
                   6504: case 622:
                   6505: #line 3510 "cp-parse.y"
                   6506: { yyval.ttype = yyvsp[0].ttype; ;
                   6507:     break;}
                   6508: case 623:
                   6509: #line 3512 "cp-parse.y"
                   6510: { yyval.ttype = yyvsp[-1].ttype; ;
                   6511:     break;}
                   6512: case 624:
                   6513: #line 3517 "cp-parse.y"
                   6514: { yyval.ttype = void_list_node; ;
                   6515:     break;}
                   6516: case 625:
                   6517: #line 3519 "cp-parse.y"
                   6518: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
                   6519:     break;}
                   6520: case 626:
                   6521: #line 3521 "cp-parse.y"
                   6522: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
                   6523:     break;}
                   6524: case 627:
                   6525: #line 3523 "cp-parse.y"
                   6526: { yyval.ttype = build_decl_list (void_type_node, yyvsp[0].ttype); ;
                   6527:     break;}
                   6528: case 628:
                   6529: #line 3525 "cp-parse.y"
                   6530: { yyval.ttype = build_decl_list (void_type_node, yyvsp[0].ttype); ;
                   6531:     break;}
                   6532: case 629:
                   6533: #line 3527 "cp-parse.y"
                   6534: { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
                   6535:     break;}
                   6536: case 631:
                   6537: #line 3533 "cp-parse.y"
                   6538: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
                   6539:     break;}
                   6540: case 633:
                   6541: #line 3539 "cp-parse.y"
                   6542: {
                   6543:                  TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
                   6544:                  yyval.ttype = yyvsp[0].ttype;
                   6545:                ;
                   6546:     break;}
                   6547: case 635:
                   6548: #line 3548 "cp-parse.y"
                   6549: {
                   6550:                  TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
                   6551:                  yyval.ttype = yyvsp[0].ttype;
                   6552:                ;
                   6553:     break;}
                   6554: case 636:
                   6555: #line 3556 "cp-parse.y"
                   6556: { yyval.ttype = ansi_opname[MULT_EXPR]; ;
                   6557:     break;}
                   6558: case 637:
                   6559: #line 3558 "cp-parse.y"
                   6560: { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
                   6561:     break;}
                   6562: case 638:
                   6563: #line 3560 "cp-parse.y"
                   6564: { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
                   6565:     break;}
                   6566: case 639:
                   6567: #line 3562 "cp-parse.y"
                   6568: { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
                   6569:     break;}
                   6570: case 640:
                   6571: #line 3564 "cp-parse.y"
                   6572: { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
                   6573:     break;}
                   6574: case 641:
                   6575: #line 3566 "cp-parse.y"
                   6576: { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
                   6577:     break;}
                   6578: case 642:
                   6579: #line 3568 "cp-parse.y"
                   6580: { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
                   6581:     break;}
                   6582: case 643:
                   6583: #line 3570 "cp-parse.y"
                   6584: { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
                   6585:     break;}
                   6586: case 644:
                   6587: #line 3572 "cp-parse.y"
                   6588: { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
                   6589:     break;}
                   6590: case 645:
                   6591: #line 3574 "cp-parse.y"
                   6592: { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
                   6593:     break;}
                   6594: case 646:
                   6595: #line 3576 "cp-parse.y"
                   6596: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
                   6597:     break;}
                   6598: case 647:
                   6599: #line 3578 "cp-parse.y"
                   6600: { yyval.ttype = ansi_opname[LT_EXPR]; ;
                   6601:     break;}
                   6602: case 648:
                   6603: #line 3580 "cp-parse.y"
                   6604: { yyval.ttype = ansi_opname[GT_EXPR]; ;
                   6605:     break;}
                   6606: case 649:
                   6607: #line 3582 "cp-parse.y"
                   6608: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
                   6609:     break;}
                   6610: case 650:
                   6611: #line 3584 "cp-parse.y"
                   6612: { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
                   6613:     break;}
                   6614: case 651:
                   6615: #line 3586 "cp-parse.y"
                   6616: {
                   6617:                  yyval.ttype = ansi_opname [MODIFY_EXPR];
                   6618:                  if (current_class_type)
                   6619:                    {
                   6620:                      TYPE_HAS_ASSIGNMENT (current_class_type) = 1;
                   6621:                      TYPE_GETS_ASSIGNMENT (current_class_type) = 1;
                   6622:                    }
                   6623:                ;
                   6624:     break;}
                   6625: case 652:
                   6626: #line 3595 "cp-parse.y"
                   6627: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
                   6628:     break;}
                   6629: case 653:
                   6630: #line 3597 "cp-parse.y"
                   6631: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
                   6632:     break;}
                   6633: case 654:
                   6634: #line 3599 "cp-parse.y"
                   6635: { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
                   6636:     break;}
                   6637: case 655:
                   6638: #line 3601 "cp-parse.y"
                   6639: { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
                   6640:     break;}
                   6641: case 656:
                   6642: #line 3603 "cp-parse.y"
                   6643: { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
                   6644:     break;}
                   6645: case 657:
                   6646: #line 3605 "cp-parse.y"
                   6647: { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
                   6648:     break;}
                   6649: case 658:
                   6650: #line 3607 "cp-parse.y"
                   6651: { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
                   6652:     break;}
                   6653: case 659:
                   6654: #line 3609 "cp-parse.y"
                   6655: { yyval.ttype = ansi_opname[COND_EXPR]; ;
                   6656:     break;}
                   6657: case 660:
                   6658: #line 3611 "cp-parse.y"
                   6659: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
                   6660:     break;}
                   6661: case 661:
                   6662: #line 3613 "cp-parse.y"
                   6663: { yyval.ttype = ansi_opname[COMPONENT_REF];
                   6664:                  if (current_class_type)
                   6665:                    {
                   6666:                      tree t = current_class_type;
                   6667:                      while (t)
                   6668:                        {
                   6669:                          TYPE_OVERLOADS_ARROW (t) = 1;
                   6670:                          t = TYPE_NEXT_VARIANT (t);
                   6671:                        }
                   6672:                    }
                   6673:                ;
                   6674:     break;}
                   6675: case 662:
                   6676: #line 3625 "cp-parse.y"
                   6677: { yyval.ttype = ansi_opname[MEMBER_REF];
                   6678:                  if (current_class_type)
                   6679:                    {
                   6680:                      tree t = current_class_type;
                   6681:                      while (t)
                   6682:                        {
                   6683:                          TYPE_OVERLOADS_ARROW (t) = 1;
                   6684:                          t = TYPE_NEXT_VARIANT (t);
                   6685:                        }
                   6686:                    }
                   6687:                ;
                   6688:     break;}
                   6689: case 663:
                   6690: #line 3637 "cp-parse.y"
                   6691: {
                   6692:                  if (yychar == YYEMPTY)
                   6693:                    yychar = YYLEX;
                   6694:                  if (yychar == '(' || yychar == LEFT_RIGHT)
                   6695:                    {
                   6696:                      yyval.ttype = ansi_opname[METHOD_CALL_EXPR];
                   6697:                      if (current_class_type)
                   6698:                        {
                   6699:                          tree t = current_class_type;
                   6700:                          while (t)
                   6701:                            {
                   6702:                              TYPE_OVERLOADS_METHOD_CALL_EXPR (t) = 1;
                   6703:                              t = TYPE_NEXT_VARIANT (t);
                   6704:                            }
                   6705:                        }
                   6706:                    }
                   6707:                  else
                   6708:                    {
                   6709:                      yyval.ttype = build_parse_node (CALL_EXPR, ansi_opname[COMPONENT_REF], void_list_node, yyvsp[0].ttype);
                   6710:                      if (current_class_type)
                   6711:                        {
                   6712:                          tree t = current_class_type;
                   6713:                          while (t)
                   6714:                            {
                   6715:                              TYPE_OVERLOADS_ARROW (t) = 1;
                   6716:                              t = TYPE_NEXT_VARIANT (t);
                   6717:                            }
                   6718:                        }
                   6719:                    }
                   6720:                ;
                   6721:     break;}
                   6722: case 664:
                   6723: #line 3668 "cp-parse.y"
                   6724: { yyval.ttype = ansi_opname[CALL_EXPR];
                   6725:                  if (current_class_type)
                   6726:                    {
                   6727:                      tree t = current_class_type;
                   6728:                      while (t)
                   6729:                        {
                   6730:                          TYPE_OVERLOADS_CALL_EXPR (t) = 1;
                   6731:                          t = TYPE_NEXT_VARIANT (t);
                   6732:                        }
                   6733:                    }
                   6734:                ;
                   6735:     break;}
                   6736: case 665:
                   6737: #line 3680 "cp-parse.y"
                   6738: { yyval.ttype = ansi_opname[ARRAY_REF];
                   6739:                  if (current_class_type)
                   6740:                    {
                   6741:                      tree t = current_class_type;
                   6742:                      while (t)
                   6743:                        {
                   6744:                          TYPE_OVERLOADS_ARRAY_REF (t) = 1;
                   6745:                          t = TYPE_NEXT_VARIANT (t);
                   6746:                        }
                   6747:                    }
                   6748:                ;
                   6749:     break;}
                   6750: case 666:
                   6751: #line 3692 "cp-parse.y"
                   6752: {
                   6753:                  yyval.ttype = ansi_opname[NEW_EXPR];
                   6754:                  if (current_class_type)
                   6755:                    {
                   6756:                      tree t = current_class_type;
                   6757:                      while (t)
                   6758:                        {
                   6759:                          TREE_GETS_NEW (t) = 1;
                   6760:                          t = TYPE_NEXT_VARIANT (t);
                   6761:                        }
                   6762:                    }
                   6763:                ;
                   6764:     break;}
                   6765: case 667:
                   6766: #line 3705 "cp-parse.y"
                   6767: {
                   6768:                  yyval.ttype = ansi_opname[DELETE_EXPR];
                   6769:                  if (current_class_type)
                   6770:                    {
                   6771:                      tree t = current_class_type;
                   6772:                      while (t)
                   6773:                        {
                   6774:                          TREE_GETS_DELETE (t) = 1;
                   6775:                          t = TYPE_NEXT_VARIANT (t);
                   6776:                        }
                   6777:                    }
                   6778:                ;
                   6779:     break;}
                   6780: case 668:
                   6781: #line 3721 "cp-parse.y"
                   6782: {
                   6783:                  yyval.ttype = build1 (TYPE_EXPR, yyvsp[-1].ttype, yyvsp[0].ttype);
                   6784:                ;
                   6785:     break;}
                   6786: case 669:
                   6787: #line 3725 "cp-parse.y"
                   6788: { yyval.ttype = ansi_opname[ERROR_MARK]; ;
                   6789:     break;}
                   6790: }
                   6791:    /* the action file gets copied in in place of this dollarsign */
                   6792: #line 440 "bison.simple"
                   6793: 
                   6794:   yyvsp -= yylen;
                   6795:   yyssp -= yylen;
                   6796: #ifdef YYLSP_NEEDED
                   6797:   yylsp -= yylen;
                   6798: #endif
                   6799: 
                   6800: #if YYDEBUG != 0
                   6801:   if (yydebug)
                   6802:     {
                   6803:       short *ssp1 = yyss - 1;
                   6804:       fprintf (stderr, "state stack now");
                   6805:       while (ssp1 != yyssp)
                   6806:        fprintf (stderr, " %d", *++ssp1);
                   6807:       fprintf (stderr, "\n");
                   6808:     }
                   6809: #endif
                   6810: 
                   6811:   *++yyvsp = yyval;
                   6812: 
                   6813: #ifdef YYLSP_NEEDED
                   6814:   yylsp++;
                   6815:   if (yylen == 0)
                   6816:     {
                   6817:       yylsp->first_line = yylloc.first_line;
                   6818:       yylsp->first_column = yylloc.first_column;
                   6819:       yylsp->last_line = (yylsp-1)->last_line;
                   6820:       yylsp->last_column = (yylsp-1)->last_column;
                   6821:       yylsp->text = 0;
                   6822:     }
                   6823:   else
                   6824:     {
                   6825:       yylsp->last_line = (yylsp+yylen-1)->last_line;
                   6826:       yylsp->last_column = (yylsp+yylen-1)->last_column;
                   6827:     }
                   6828: #endif
                   6829: 
                   6830:   /* Now "shift" the result of the reduction.
                   6831:      Determine what state that goes to,
                   6832:      based on the state we popped back to
                   6833:      and the rule number reduced by.  */
                   6834: 
                   6835:   yyn = yyr1[yyn];
                   6836: 
                   6837:   yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
                   6838:   if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
                   6839:     yystate = yytable[yystate];
                   6840:   else
                   6841:     yystate = yydefgoto[yyn - YYNTBASE];
                   6842: 
                   6843:   goto yynewstate;
                   6844: 
                   6845: yyerrlab:   /* here on detecting error */
                   6846: 
                   6847:   if (! yyerrstatus)
                   6848:     /* If not already recovering from an error, report this error.  */
                   6849:     {
                   6850:       ++yynerrs;
                   6851: 
                   6852: #ifdef YYERROR_VERBOSE
                   6853:       yyn = yypact[yystate];
                   6854: 
                   6855:       if (yyn > YYFLAG && yyn < YYLAST)
                   6856:        {
                   6857:          int size = 0;
                   6858:          char *msg;
                   6859:          int x, count;
                   6860: 
                   6861:          count = 0;
                   6862:          for (x = 0; x < (sizeof(yytname) / sizeof(char *)); x++)
                   6863:            if (yycheck[x + yyn] == x)
                   6864:              size += strlen(yytname[x]) + 15, count++;
                   6865:          msg = (char *) malloc(size + 15);
                   6866:          if (msg != 0)
                   6867:            {
                   6868:              strcpy(msg, "parse error");
                   6869: 
                   6870:              if (count < 5)
                   6871:                {
                   6872:                  count = 0;
                   6873:                  for (x = 0; x < (sizeof(yytname) / sizeof(char *)); x++)
                   6874:                    if (yycheck[x + yyn] == x)
                   6875:                      {
                   6876:                        strcat(msg, count == 0 ? ", expecting `" : " or `");
                   6877:                        strcat(msg, yytname[x]);
                   6878:                        strcat(msg, "'");
                   6879:                        count++;
                   6880:                      }
                   6881:                }
                   6882:              yyerror(msg);
                   6883:              free(msg);
                   6884:            }
                   6885:          else
                   6886:            yyerror ("parse error; also virtual memory exceeded");
                   6887:        }
                   6888:       else
                   6889: #endif /* YYERROR_VERBOSE */
                   6890:        yyerror("parse error");
                   6891:     }
                   6892: 
                   6893: yyerrlab1:   /* here on error raised explicitly by an action */
                   6894: 
                   6895:   if (yyerrstatus == 3)
                   6896:     {
                   6897:       /* if just tried and failed to reuse lookahead token after an error, discard it.  */
                   6898: 
                   6899:       /* return failure if at end of input */
                   6900:       if (yychar == YYEOF)
                   6901:        YYABORT;
                   6902: 
                   6903: #if YYDEBUG != 0
                   6904:       if (yydebug)
                   6905:        fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
                   6906: #endif
                   6907: 
                   6908:       yychar = YYEMPTY;
                   6909:     }
                   6910: 
                   6911:   /* Else will try to reuse lookahead token
                   6912:      after shifting the error token.  */
                   6913: 
                   6914:   yyerrstatus = 3;             /* Each real token shifted decrements this */
                   6915: 
                   6916:   goto yyerrhandle;
                   6917: 
                   6918: yyerrdefault:  /* current state does not do anything special for the error token. */
                   6919: 
                   6920: #if 0
                   6921:   /* This is wrong; only states that explicitly want error tokens
                   6922:      should shift them.  */
                   6923:   yyn = yydefact[yystate];  /* If its default is to accept any token, ok.  Otherwise pop it.*/
                   6924:   if (yyn) goto yydefault;
                   6925: #endif
                   6926: 
                   6927: yyerrpop:   /* pop the current state because it cannot handle the error token */
                   6928: 
                   6929:   if (yyssp == yyss) YYABORT;
                   6930:   yyvsp--;
                   6931:   yystate = *--yyssp;
                   6932: #ifdef YYLSP_NEEDED
                   6933:   yylsp--;
                   6934: #endif
                   6935: 
                   6936: #if YYDEBUG != 0
                   6937:   if (yydebug)
                   6938:     {
                   6939:       short *ssp1 = yyss - 1;
                   6940:       fprintf (stderr, "Error: state stack now");
                   6941:       while (ssp1 != yyssp)
                   6942:        fprintf (stderr, " %d", *++ssp1);
                   6943:       fprintf (stderr, "\n");
                   6944:     }
                   6945: #endif
                   6946: 
                   6947: yyerrhandle:
                   6948: 
                   6949:   yyn = yypact[yystate];
                   6950:   if (yyn == YYFLAG)
                   6951:     goto yyerrdefault;
                   6952: 
                   6953:   yyn += YYTERROR;
                   6954:   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
                   6955:     goto yyerrdefault;
                   6956: 
                   6957:   yyn = yytable[yyn];
                   6958:   if (yyn < 0)
                   6959:     {
                   6960:       if (yyn == YYFLAG)
                   6961:        goto yyerrpop;
                   6962:       yyn = -yyn;
                   6963:       goto yyreduce;
                   6964:     }
                   6965:   else if (yyn == 0)
                   6966:     goto yyerrpop;
                   6967: 
                   6968:   if (yyn == YYFINAL)
                   6969:     YYACCEPT;
                   6970: 
                   6971: #if YYDEBUG != 0
                   6972:   if (yydebug)
                   6973:     fprintf(stderr, "Shifting error token, ");
                   6974: #endif
                   6975: 
                   6976:   *++yyvsp = yylval;
                   6977: #ifdef YYLSP_NEEDED
                   6978:   *++yylsp = yylloc;
                   6979: #endif
                   6980: 
                   6981:   yystate = yyn;
                   6982:   goto yynewstate;
                   6983: }
                   6984: #line 3728 "cp-parse.y"
                   6985: 
                   6986: 
                   6987: #if YYDEBUG != 0
                   6988: db_yyerror (s, yyps, yychar)
                   6989:      char *s;
                   6990:      short *yyps;
                   6991:      int yychar;
                   6992: {
                   6993:   FILE *yyout;
                   6994:   char buf[1024];
                   6995:   int st;
                   6996: 
                   6997:   yyerror (s);
                   6998:   printf ("State is %d, input token number is %d.\n", *yyps, yychar);
                   6999: 
                   7000: #ifdef PARSE_OUTPUT
                   7001:   if (*yyps < 1) fatal ("Cannot start from here");
                   7002:   else if ((yyout = fopen (PARSE_OUTPUT, "r")) == NULL)
                   7003:     error ("cannot open file %s", PARSE_OUTPUT);
                   7004:   else
                   7005:     {
                   7006:       printf ("That is to say,\n\n");
                   7007:       while (fgets(buf, sizeof (buf)-1, yyout))
                   7008:        {
                   7009:          if (buf[0] != 's') continue;
                   7010:          st = atoi (buf+6);
                   7011:          if (st != *yyps) continue;
                   7012:          printf ("%s", buf);
                   7013:          while (fgets (buf, sizeof (buf)-1, yyout))
                   7014:            {
                   7015:              if (buf[0] == 's') break;
                   7016:              printf ("%s", buf);
                   7017:            }
                   7018:          break;
                   7019:        }
                   7020:       printf ("With the token %s\n", yytname[YYTRANSLATE (yychar)]);
                   7021:       fclose (yyout);
                   7022:     }
                   7023: #endif
                   7024: }
                   7025: #endif
                   7026: 
                   7027: void
                   7028: yyerror (string)
                   7029:      char *string;
                   7030: {
                   7031:   extern int end_of_file;
                   7032:   extern char *token_buffer;
                   7033:   extern int input_redirected ();
                   7034:   char buf[200];
                   7035: 
                   7036:   strcpy (buf, string);
                   7037: 
                   7038:   /* We can't print string and character constants well
                   7039:      because the token_buffer contains the result of processing escapes.  */
                   7040:   if (end_of_file)
                   7041:     strcat (buf, input_redirected ()
                   7042:            ? " at end of saved text"
                   7043:            : " at end of input");
                   7044:   else if (token_buffer[0] == 0)
                   7045:     strcat (buf, " at null character");
                   7046:   else if (token_buffer[0] == '"')
                   7047:     strcat (buf, " before string constant");
                   7048:   else if (token_buffer[0] == '\'')
                   7049:     strcat (buf, " before character constant");
                   7050:   else if (token_buffer[0] < 040 || (unsigned char) token_buffer[0] >= 0177)
                   7051:     sprintf (buf + strlen (buf), " before character 0%o",
                   7052:             (unsigned char) token_buffer[0]);
                   7053:   else
                   7054:     strcat (buf, " before `%s'");
                   7055: 
                   7056:   error (buf, token_buffer);
                   7057: }
                   7058: 
                   7059: static
                   7060: #ifdef __GNUC__
                   7061: __inline
                   7062: #endif
                   7063: void
                   7064: yyprint (file, yychar, yylval)
                   7065:      FILE *file;
                   7066:      int yychar;
                   7067:      YYSTYPE yylval;
                   7068: {
                   7069:   tree t;
                   7070:   switch (yychar)
                   7071:     {
                   7072:     case IDENTIFIER:
                   7073:     case TYPENAME:
                   7074:     case TYPESPEC:
                   7075:     case PTYPENAME:
                   7076:     case IDENTIFIER_DEFN:
                   7077:     case TYPENAME_DEFN:
                   7078:     case PTYPENAME_DEFN:
                   7079:     case TYPENAME_COLON:
                   7080:     case TYPENAME_ELLIPSIS:
                   7081:     case SCOPED_TYPENAME:
                   7082:     case SCSPEC:
                   7083:       t = yylval.ttype;
                   7084:     print_id:
                   7085:       assert (TREE_CODE (t) == IDENTIFIER_NODE);
                   7086:       if (IDENTIFIER_POINTER (t))
                   7087:          fprintf (file, " `%s'", IDENTIFIER_POINTER (t));
                   7088:       break;
                   7089:     case AGGR:
                   7090:       if (yylval.ttype == class_type_node)
                   7091:        fprintf (file, " `class'");
                   7092:       else if (yylval.ttype == record_type_node)
                   7093:        fprintf (file, " `struct'");
                   7094:       else if (yylval.ttype == union_type_node)
                   7095:        fprintf (file, " `union'");
                   7096:       else if (yylval.ttype == enum_type_node)
                   7097:        fprintf (file, " `enum'");
                   7098:       else
                   7099:        abort ();
                   7100:       break;
                   7101:     case PRE_PARSED_CLASS_DECL:
                   7102:       t = yylval.ttype;
                   7103:       assert (TREE_CODE (t) == TREE_LIST);
                   7104:       t = TREE_VALUE (t);
                   7105:       goto print_id;
                   7106:     }
                   7107: }
                   7108: 
                   7109: static int *reduce_count;
                   7110: int *token_count;
                   7111: 
                   7112: #define REDUCE_LENGTH (sizeof (yyr2) / sizeof (yyr2[0]))
                   7113: #define TOKEN_LENGTH (256 + sizeof (yytname) / sizeof (yytname[0]))
                   7114: 
                   7115: int *
                   7116: init_parse ()
                   7117: {
                   7118: #ifdef GATHER_STATISTICS
                   7119:   reduce_count = (int *)malloc (sizeof (int) * (REDUCE_LENGTH + 1));
                   7120:   bzero (reduce_count, sizeof (int) * (REDUCE_LENGTH + 1));
                   7121:   reduce_count += 1;
                   7122:   token_count = (int *)malloc (sizeof (int) * (TOKEN_LENGTH + 1));
                   7123:   bzero (token_count, sizeof (int) * (TOKEN_LENGTH + 1));
                   7124:   token_count += 1;
                   7125: #endif
                   7126:   return token_count;
                   7127: }
                   7128: 
                   7129: #ifdef GATHER_STATISTICS
                   7130: void
                   7131: yyhook (yyn)
                   7132:      int yyn;
                   7133: {
                   7134:   reduce_count[yyn] += 1;
                   7135: }
                   7136: #endif
                   7137: 
                   7138: static int
                   7139: reduce_cmp (p, q)
                   7140:      int *p, *q;
                   7141: {
                   7142:   return reduce_count[*q] - reduce_count[*p];
                   7143: }
                   7144: 
                   7145: static int
                   7146: token_cmp (p, q)
                   7147:      int *p, *q;
                   7148: {
                   7149:   return token_count[*q] - token_count[*p];
                   7150: }
                   7151: 
                   7152: void
                   7153: print_parse_statistics ()
                   7154: {
                   7155: #if YYDEBUG != 0
                   7156:   int i;
                   7157:   int maxlen = REDUCE_LENGTH;
                   7158:   unsigned *sorted;
                   7159:   
                   7160:   if (reduce_count[-1] == 0)
                   7161:     return;
                   7162: 
                   7163:   if (TOKEN_LENGTH > REDUCE_LENGTH)
                   7164:     maxlen = TOKEN_LENGTH;
                   7165:   sorted = (unsigned *) alloca (sizeof (int) * maxlen);
                   7166: 
                   7167:   for (i = 0; i < TOKEN_LENGTH; i++)
                   7168:     sorted[i] = i;
                   7169:   qsort (sorted, TOKEN_LENGTH, sizeof (int), token_cmp);
                   7170:   for (i = 0; i < TOKEN_LENGTH; i++)
                   7171:     {
                   7172:       int index = sorted[i];
                   7173:       if (token_count[index] == 0)
                   7174:        break;
                   7175:       if (token_count[index] < token_count[-1])
                   7176:        break;
                   7177:       fprintf (stderr, "token %d, `%s', count = %d\n",
                   7178:               index, yytname[YYTRANSLATE (index)], token_count[index]);
                   7179:     }
                   7180:   fprintf (stderr, "\n");
                   7181:   for (i = 0; i < REDUCE_LENGTH; i++)
                   7182:     sorted[i] = i;
                   7183:   qsort (sorted, REDUCE_LENGTH, sizeof (int), reduce_cmp);
                   7184:   for (i = 0; i < REDUCE_LENGTH; i++)
                   7185:     {
                   7186:       int index = sorted[i];
                   7187:       if (reduce_count[index] == 0)
                   7188:        break;
                   7189:       if (reduce_count[index] < reduce_count[-1])
                   7190:        break;
                   7191:       fprintf (stderr, "rule %d, line %d, count = %d\n",
                   7192:               index, yyrline[index], reduce_count[index]);
                   7193:     }
                   7194:   fprintf (stderr, "\n");
                   7195: #endif
                   7196: }
                   7197: 
                   7198: 
                   7199: /* Sets the value of the 'yydebug' varable to VALUE.
                   7200:    This is a function so we don't have to have YYDEBUG defined
                   7201:    in order to build the compiler.  */
                   7202: void
                   7203: set_yydebug (value)
                   7204:      int value;
                   7205: {
                   7206: #if YYDEBUG != 0
                   7207:   yydebug = value;
                   7208: #else
                   7209:   warning ("YYDEBUG not defined.");
                   7210: #endif
                   7211: }
                   7212: 
                   7213: #ifdef SPEW_DEBUG
                   7214: const char *
                   7215: debug_yytranslate (value)
                   7216:     int value;
                   7217: {
                   7218: #if YYDEBUG != 0
                   7219:   return yytname[YYTRANSLATE (value)];
                   7220: #else
                   7221:   return "YYDEBUG not defined.";
                   7222: #endif
                   7223: }
                   7224: 
                   7225: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.